1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-30 10:08:18 +00:00
Commit Graph

3037 Commits

Author SHA1 Message Date
matejcik
3b88116bba feat(core/rust): add trezorcrypto bindings
for now, we use sha256 and a little of ed25519 for CoSi purposes

also add the Merkle root algorithm
2024-02-12 14:49:32 +01:00
matejcik
76296ad417 refactor(core/rust): move InputStream to its own module 2024-02-12 14:49:32 +01:00
matejcik
055662ea27 chore(common): deprecate language fields in ApplySettings, ResetDevice, RecoveryDevice 2024-02-12 14:49:32 +01:00
grdddj
b8ea21d24a feat(all): implement translations into Trezor
Co-authored-by matejcik <ja@matejcik.cz>
2024-02-12 14:49:32 +01:00
Martin Milata
bb29c1e5f8 fix(core/bitcoin): display descriptors for taproot XPUBs 2024-02-07 16:30:10 +01:00
Martin Milata
3c7a6dd68a fix(core): handle uncaught exceptions from main.py
[no changelog]
2024-02-05 16:53:49 +01:00
grdddj
dba4bf9e38 feat(core): improve the design of TT locking loader on homescreen
[no changelog]
2024-02-05 14:46:40 +01:00
grdddj
76c547bb91 feat(core): add loader to homescreen when locking the device for TS3 2024-02-05 14:46:40 +01:00
cepetr
5d8e56ac2a refactor(core): shrink size of Paragraphs struct
[no changelog]
2024-02-05 14:10:54 +01:00
Ondrej Mikle
269d98d43e chore(core): make jlink flashing work together with FW integrity, but avoid erasing sectors unnecessarily
[no changelog]
2024-02-05 12:26:36 +01:00
stevenbooke
ed1785a985 fix(core): fix sed script syntax 2024-02-02 13:01:12 +01:00
matejcik
7958061705 build(core): optimize qstr and module collection
Run the preprocessor on each file separately.
This allows parallelization and doesn't need to re-run for all files if just a small number is changed.

Replace simple extractors with one-liners which are generally going to be faster.
2024-02-01 15:50:07 +01:00
matejcik
1d6fafa0ff build(core): use the right number of jobs 2024-02-01 15:50:07 +01:00
matejcik
66213823ea build(core): SCons "go fast" button
some pretty safe & reasonable defaults to speed up SCons:

- look at timestamps to figure out whether a file has changed
- but only if the timestamp is older than 10 secs (which should avoid any problems with 1s precision of mtime, as well as clock drifts etc)
- implicit cache is something to do with parsing C files for dependencies

see https://github.com/SCons/scons/wiki/GoFastButton
2024-02-01 15:50:07 +01:00
cepetr
6331076444 refactor(core/embed): move TOIF format definition to rust
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
8eb1f9b309 refactor(core/embed): delete unused utf8 functions
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
3b9dd55788 refactor(core/embed): introduce display_utils.c
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
cc6ed93b32 refactor(core/embed): move toif image routines
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
446c3b77b4 refactor(core/embed): move&rename display terminal functions
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
139701fb1a refactor(core/embed): move&rename display_font_xxx routines
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
3031ec5d87 refactor(core/embed): move&rename display_utf8_substr()
[no changelog]
2024-01-26 11:30:40 +01:00
tychovrahe
63ee6f2ad2 perf(core): change 4bpp font format to allow dma2d rendering
[no changelog]
2024-01-11 12:22:08 +01:00
gabrielkerekes
1f4f1263aa chore: add changelog 2024-01-10 13:45:24 +01:00
gabrielkerekes
0de1768dc0 fix(solana): fix Memo, multisig and polish instructions UI 2024-01-10 13:45:24 +01:00
tychovrahe
1c0da78536 chore(core): fix rust warnings and clippy errors
[no changelog]
2024-01-09 21:39:58 +01:00
tychovrahe
82cd9ca34e fix(core): fixed fading glitch when changing display orientation
[no changelog]
2024-01-09 11:45:04 +01:00
tychovrahe
ef5c743c35 fix(core): fixed blank display delay on startup when display orientation is set to other than north 2024-01-09 11:45:04 +01:00
grdddj
c2eaaaf8b5 fix(core): add missing semicolon into the passphrase entry for TS3 2024-01-03 14:51:56 +01:00
Martin Milata
f4d3a7456a Merge branch 'release/23.12' 2023-12-20 17:23:49 +01:00
Pavol Rusnak
b0fd7223ea
Merge branch 'matejcik/prodtest-23-12' 2023-12-20 17:12:10 +01:00
matejcik
b21d1b1f50 chore(core/prodtest): bump version after release 2023-12-20 15:50:46 +01:00
matejcik
8f19767285 chore(core): include production-signed prodtest vendor header 2023-12-20 09:46:52 +01:00
matejcik
8c7fc45991 Revert "tmp: use unsigned prodtest header for reproducible build of the prodtest binary"
This reverts commit a3d2ff6f86.
2023-12-20 09:46:35 +01:00
matejcik
a3d2ff6f86 tmp: use unsigned prodtest header for reproducible build of the prodtest binary 2023-12-18 15:08:59 +01:00
tychovrahe
fd5bfbf115 refactor(core): improve flexibility of sd card and touch driver pin selection, display rotation and touch coords transformation
[no changelog]
2023-12-18 14:41:44 +01:00
tychovrahe
d15ee71279 refactor(core): add flexible HSE settings
[no changelog]
2023-12-18 14:41:44 +01:00
tychovrahe
2fa69c3c0d refactor(core): extract backlight pwm settings to board definition
[no changelog]
2023-12-18 14:41:44 +01:00
cepetr
6e1fe31e3f chore(core): optimize stack usage during blurring
[no changelog]
2023-12-18 10:01:30 +01:00
Andrew Kozlik
c1fa1c0cbc chore(core): Fix common name in emulator device certificate.
[no changelog]
2023-12-15 11:18:22 +01:00
Andrew Kozlik
fb80dd5a36 fix(core/prodtest): Fix Optiga metadata version information handling.
[no changelog]
2023-12-15 11:18:22 +01:00
Andrew Kozlik
8de2d8989d feat(core/prodtest): Check device certificate chain integrity using authority key identifier.
[no changelog]
2023-12-15 11:18:22 +01:00
Andrew Kozlik
a1be6f8aef fix(core/prodtest): Configure metadata correctly before checking device certificate.
[no changelog]
2023-12-15 11:18:22 +01:00
tychovrahe
d0a702eef4 fix(core): fix large area marquee rendering
[no changelog]
2023-12-14 17:35:27 +01:00
overcat
579cc0d882 feat(common & core & legacy & python/stellar): add support for ClaimClaimableBalanceOp. 2023-12-11 11:14:33 +01:00
Andrew Kozlik
cbea765e38 feat(core/prodtest): Verify device certificate chain in CERTDEV WRITE.
[no changelog]
2023-12-08 12:30:28 +01:00
Andrew Kozlik
3a5aecf6cd feat(core/prodtest): Add SEC READ command.
[no changelog]
2023-12-08 12:30:28 +01:00
Martin Milata
18ccbcddd4 chore(core): bump version to 2.6.5
[no changelog]
2023-12-07 14:10:07 +01:00
Martin Milata
42e9ed0e09 docs(core): fix changelog for T2T1 2023-12-06 14:19:19 +01:00
Martin Milata
1f693d3561 docs(core): changelog for 2.6.4 2023-12-06 12:56:02 +01:00
Martin Milata
0199f9c26c chore(common): set definition timestamp to the current signed definitions
[no changelog]
2023-12-06 12:50:32 +01:00
gabrielkerekes
b85395434f chore(solana): add changelog 2023-12-05 22:11:41 +01:00
gabrielkerekes
63e35e13ed fix(solana): modify Trezor R confirm_value to align messages with Trezor T 2023-12-05 22:11:41 +01:00
gabrielkerekes
6aa5ac869a feat(solana): add additional info with token account 2023-12-05 22:11:41 +01:00
gabrielkerekes
6912bf6e7f fix(core): update confirm_value to allow showing info 2023-12-05 22:11:41 +01:00
gabrielkerekes
cb9bd7c699 chore(solana): add README 2023-12-05 22:11:41 +01:00
gabrielkerekes
68c0e6c43e feat(solana): add sign_tx implementation 2023-12-05 22:11:41 +01:00
gabrielkerekes
081995788e feat(core): add read_uint64_le to common/readers
- will be needed for solana tx parsing
2023-12-05 22:11:41 +01:00
gabrielkerekes
b3f4b6ac2b feat(solana): add solana templates
- code is broken because depending modules are added in the next commit
2023-12-05 22:11:41 +01:00
gabrielkerekes
bf45d51af6 feat(solana): basic sign_tx setup and support 2023-12-05 22:11:41 +01:00
gabrielkerekes
44dc417c0e feat(solana): add get_address 2023-12-05 22:11:41 +01:00
gabrielkerekes
ec4a607dbe feat(solana): add get_public_key 2023-12-05 22:11:41 +01:00
gabrielkerekes
50861eb019 feat(solana): basic Solana setup 2023-12-05 22:11:41 +01:00
gabrielkerekes
a8096652e0 refactor(core): make ethereum summary reusable for more coins
- and use it for Solana
2023-12-05 22:11:41 +01:00
grdddj
747fd17214 fix(core): correct action of left button in Ethereum summary
[no changelog]
2023-12-05 18:22:58 +01:00
grdddj
087becd2ca chore(core): change Go to bootloader screen text 2023-12-05 08:54:35 +01:00
grdddj
8a6934e844 fix(core): completely repaint layouts before showing them in a loop
[no changelog]
2023-12-04 13:15:57 +01:00
grdddj
9a53ba9f44 fix(core): unify button requests in modify amount flow
[no changelog]
2023-12-04 13:15:57 +01:00
grdddj
5b52db1ed3 chore(core): decrease code-size a little bit
[no changelog]
2023-12-04 13:15:57 +01:00
grdddj
9db8ff1fae fix(core): unify sent button requests in ETH send flow
Makes sure T2B1 will send the same ButtonRequests as T2T1.
Does it by splitting the Rust layout into two separate dialogs.

[no changelog]
2023-12-04 13:15:57 +01:00
grdddj
01eb896817 chore(core): hardcode ETH and Gwei units in ETH send summary
[no changelog]
2023-12-01 14:42:08 +01:00
Andrew Kozlik
d670a0bdfa feat(core): Fix malformed signatures from Optiga. 2023-12-01 00:09:17 +01:00
tychovrahe
a2f72b1055 feat(core): optimize boot time by drawing full logo sooner and shortening the enforced delay proportionally
[no changelog]
2023-11-30 16:46:04 +01:00
matejcik
c5fc92e36a fix(core): restore filled-lock display time 2023-11-30 16:46:04 +01:00
tychovrahe
7b442a2b20 fix(core): improve T2B1 homescreen checks
[no changelog]
2023-11-30 13:42:02 +01:00
matejcik
ba6cce2bbc fix(core/rust): make Toif constructor return a Result instead of Option
which is slightly more correct
2023-11-30 13:42:02 +01:00
matejcik
d674634c86 chore(core/rust): bump cstr_core, enable nightly features
So that cstr! can be used in const contexts. This is not critical but it's nice-to-have as long as we are on nightly anyway.
2023-11-30 13:42:02 +01:00
matejcik
c8fa687c1e fix(core/ui): fix skipped confirm_address on TS3 2023-11-30 09:27:57 +01:00
grdddj
4b87bc56d8 feat(core): set maximum number of chunkified lines to 4
[no changelog]
2023-11-27 16:03:16 +01:00
tychovrahe
47f8a430e6 refactor(core): remove residual usage of old flash api
[no changelog]
2023-11-22 11:45:54 +01:00
tychovrahe
c48c86d61f fix(core): add missing display_refresh calls in TT UI
[no changelog]
2023-11-22 10:26:50 +01:00
tychovrahe
c2de5506bc fix(core): add boundaries check for icon rendering (framebuffer variant)
[no changelog]
2023-11-22 10:26:50 +01:00
grdddj
1968599bbc fix(core): fix the chunkification of longer Cardano addresses in send flow
[no changelog]
2023-11-22 09:00:58 +01:00
Martin Milata
5725050be1 build(core): fix CI bootloader build for T2B1
[no changelog]
2023-11-14 18:37:03 +01:00
Martin Milata
75b3e54480 Merge branch 'release/23.11' 2023-11-14 13:26:03 +01:00
tychovrahe
bf2697a619 feat(core): compress embedded bootloader
[no changelog]
2023-11-14 13:25:00 +01:00
Martin Milata
1c69644fe0 build(core): add flag for disabling optiga on debug builds
[skip_ci]
2023-11-14 12:47:22 +01:00
Martin Milata
ebeea4a209 build(core): more deterministic bootloader_hashes.py
[no changelog]
2023-11-08 15:39:24 +01:00
grdddj
388354b83b chore(core): replace master branch comparison with main branch
[no changelog]
2023-11-08 10:42:24 +01:00
Martin Milata
ba25084904 chore(core): add unsafe vendor header for T2B1
[no changelog]
2023-11-03 14:50:39 +01:00
Martin Milata
0db3d7c12c chore(core): update btconly vendor header for T2B1
[no changelog]
2023-11-03 14:50:39 +01:00
Martin Milata
c61e2293ad chore(core): bump version to 2.6.4
[no changelog]
2023-11-03 13:00:02 +01:00
Martin Milata
2c7cc6e025 chore(common): set definition timestamp to the current signed definitions
[no changelog]
2023-11-02 12:39:43 +01:00
Martin Milata
86b3d8fc6c docs(core): changelog for 2.6.3 2023-11-02 12:22:09 +01:00
Martin Milata
b0ca820983 chore(core): add signed vendor headers for TS3 2023-11-02 12:17:13 +01:00
matejcik
f3393211d4 build(core): clarify vendor header selection logic 2023-11-02 12:17:13 +01:00
matejcik
e43b57f499 chore(core): add btc-only vendor header 2023-11-02 12:17:13 +01:00
matejcik
43ffbadbb9 chore(core): regenerate T2B1 vendor headers 2023-11-02 12:17:13 +01:00
matejcik
1df7428359 chore(core): update T2B1 vendor header configuration 2023-11-02 12:17:13 +01:00
Martin Milata
a6600fc7e9 feat(core): include signed bootloaders 2.1.4
For T2B1 and T2T1.
2023-11-02 11:53:53 +01:00
matejcik
3a28ab4c11 feat(core): make lockscreen blank for T2B1
also allow soft-locking even when PIN is not set
2023-11-01 16:45:29 +01:00
Martin Milata
29d0b4836f docs(core): differentiate changelog entries between models
[no changelog]
2023-11-01 16:21:57 +01:00
matejcik
1e29ce9fb4 chore(core/bootloader): bump version after release 2023-11-01 13:46:50 +01:00
matejcik
0953d2f6aa docs(core/bootloader): changelog for 2.1.4 2023-11-01 13:46:50 +01:00
matejcik
297b2bade7 feat(core/bootloader_emu): add ILU support 2023-10-31 14:57:05 +01:00
matejcik
5ee05ff391 feat(core/bootloader_emu): add support for setting device variant 2023-10-31 14:57:05 +01:00
tychovrahe
10021bf364 chore(core): fix gen and style problems
[no changelog]
2023-10-31 13:32:20 +01:00
matejcik
c5817bed6d chore(core): embed QA bootloaders 2.1.4 2023-10-27 16:46:22 +02:00
matejcik
ec2302d442 fix(core): disallow ILU when the installed firmware is not official
It would be nice to hide this behind a compile-time flag, but doesn't seem worth introducing one just for it.
2023-10-27 16:41:56 +02:00
Ondrej Mikle
a4079d0cc5 chore(core/bootloader): make cstyle check work 2023-10-27 16:41:56 +02:00
Ondrej Mikle
6658ad84d1 fix(core/bootloader): explicit casts on version compare to control signed/unsigned arithmetic mix 2023-10-27 16:41:56 +02:00
cepetr
02f34a2748 feat(core/bootloader): check firmware padding 2023-10-27 16:41:56 +02:00
cepetr
da7125f427 feat(core/bootloader): make firmware flashing more safe 2023-10-27 16:41:56 +02:00
cepetr
ba83a7e644 feat(core): introduce interaction-less upgrade 2023-10-27 16:15:15 +02:00
Martin Milata
9c5d3b4831 fix(core/ui): T2T1: nudge page_prev_ellipsis to the right
[no changelog]
2023-10-27 11:50:12 +02:00
Martin Milata
18d6b4d647 fix(core/ui): T2T1: update sign message layout 2023-10-26 18:29:52 +02:00
Martin Milata
9e33eb3e48 fix(core/ui): T2T1: display coinjoin icon on lockscreen
[no changelog]
2023-10-26 13:35:43 +02:00
grdddj
02ec0ac43c feat(core): support recipient address chunkification in Ethereum sign flow
[no changelog]
2023-10-25 11:49:43 +02:00
grdddj
37fcbceded feat(core): make middle-click unlock the device for T2B1
[no changelog]
2023-10-23 14:53:01 +02:00
tychovrahe
8a4f376f20 refactor(core): prepare fw for differently sized fw chunks
[no changelog]
2023-10-20 16:33:53 +02:00
David Misiak
a945de85a5 chore(cardano): update ui tests, add changelog 2023-10-19 09:55:30 +02:00
David Misiak
90d3035590 feat(cardano): allow address_index in staking paths 2023-10-19 09:55:30 +02:00
David Misiak
8cb6b08377 fix(cardano): warn about unknown token decimals 2023-10-19 09:55:30 +02:00
tychovrahe
a16fbe6237 fix(core/prodtest): fix failing optiga communication
[no changelog]
2023-10-18 13:15:49 +02:00
Martin Milata
f26a2e909e fix(core/ui): wording in recovery flow
[no changelog]
2023-10-18 12:04:52 +02:00
Martin Milata
7f86858709 fix(core/ui): flickering at the end of PIN loader 2023-10-17 20:39:50 +02:00
Martin Milata
a353c35b78 fix(core/ui): draw hold-to-confirm loader over dialog title
[no changelog]
2023-10-16 13:18:50 +02:00
Martin Milata
d99e1eedd2 refactor(core/ui): clear display on rust side
[no changelog]
2023-10-16 13:18:50 +02:00
Martin Milata
d8e7c00087 refactor(core/ui): pagination and buttons on TT 2023-10-16 13:18:50 +02:00
matejcik
4f2c639ed7 feat(core): T2B1 final design for emulator 2023-10-12 12:58:37 +02:00
Martin Milata
fca82273cf Merge branch 'release/23.09' 2023-10-11 23:34:06 +02:00
tychovrahe
df42c99bc9 feat(core): add basic support for efficient frame buffer graphics
[no changelog]
2023-10-10 19:01:43 +02:00
matejcik
d9112b5a8d chore(core/prodtest): bump version after release 2023-10-06 10:49:29 +02:00
matejcik
06f77f745f docs(core/prodtest): introduce changelog 2023-10-06 10:49:29 +02:00
matejcik
11b12ea258 chore(core/prodtest): bump prodtest version 2023-10-06 10:49:29 +02:00
cepetr
6668f47666 docs(prodtest): document prodtest protocol
[no changelog]
2023-10-06 10:03:29 +02:00
cepetr
03464bea4d feat(prodtest): make prodtest welcome screen white (T2B1 only)
[no changelog]
2023-10-06 10:03:29 +02:00
Andrew Kozlik
3ca8f26fd0 feat(core): Implement Optiga counter operations. 2023-10-04 11:22:46 +02:00
Andrew Kozlik
1fa2929607 feat(core): Distinguish Optiga errors from invalid PIN. 2023-10-04 11:22:46 +02:00
Andrew Kozlik
4c7979ae30 feat(core): Propagate Optiga errors. 2023-10-04 11:22:46 +02:00
matejcik
240f4f56cd fix(core/optiga): add correct key usage to OID_PIN_CMAC 2023-10-04 11:22:46 +02:00
matejcik
3c413ecf02 fix(storage): correctly fail when Optiga operations fail 2023-10-04 11:22:46 +02:00
tychovrahe
6e5967af25 fix(core): adjust T2B1 display SPI baudrate
[no changelog]
2023-10-02 22:14:58 +02:00
grdddj
532f368a14 feat(core): not allowing to send empty PIN in T2B1
[no changelog]
2023-10-02 22:14:58 +02:00
tychovrahe
c937f21447 refactor(core): change the way USE_OPTIGA is added to build
[no changelog]
2023-10-02 20:59:50 +02:00
Andrew Kozlik
cb21ca8dc5 feat(core): Implement Optiga counter operations. 2023-10-02 20:26:00 +02:00
Andrew Kozlik
aed5912fbf feat(core): Distinguish Optiga errors from invalid PIN. 2023-10-02 20:26:00 +02:00
Andrew Kozlik
68876170fe feat(core): Propagate Optiga errors. 2023-10-02 20:26:00 +02:00
Martin Milata
f226c9599b fix(core/ui): better contrast for bip39 keyboard button
[no changelog]
2023-10-02 19:04:28 +02:00
matejcik
e28dff677c fix(core/optiga): add correct key usage to OID_PIN_CMAC 2023-10-02 16:57:15 +02:00
matejcik
9d86352352 fix(storage): correctly fail when Optiga operations fail 2023-10-02 16:57:15 +02:00