1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-07-29 18:08:19 +00:00
Commit Graph

5238 Commits

Author SHA1 Message Date
obrusvit
cb9eb28dc9 feat(eckhart): adjust bld menu border
[no changelog]
2025-07-11 22:19:53 +02:00
obrusvit
db706eeaae feat(eckhart): add bootloader specific icons
[no changelog]
2025-07-11 22:19:53 +02:00
obrusvit
e2cade035c chore(eckhart): remove unused bootloader icons
[no changelog]
2025-07-11 22:19:53 +02:00
Roman Zeyde
69eb5ea5f2 fix(core): restart homescreen after silently loading translations
Otherwise, the screen keeps showing "Changing language".
2025-07-11 20:50:23 +03:00
M1nd3r
be287648d0 chore(core, tests): add MockAsync and await_result_patched
[no changelog]
2025-07-11 15:36:51 +02:00
tychovrahe
b081f67786 feat(core/bootloader): autodim & autosuspend bootloader on inactivity
[no changelog]
2025-07-11 14:46:47 +02:00
Ioan Bizău
4b1dacdaca feat(caesar): add menu to confirm_with_info
[no changelog]
2025-07-11 10:07:19 +02:00
Ondřej Vejpustek
9237012371 feat(core/prodtest): mock tropic prodtest commands
[no changelog]
2025-07-10 20:22:12 +02:00
tychovrahe
e8044df48c fix(core/bootloader): simplify wireless setup flow
[no changelog]
2025-07-10 15:06:29 +03:00
Roman Zeyde
953b0e23d1 test(core): visit Delizia menu during tests
Currently, only shows the menu (without visiting its children).
Enabled by returning `has_menu=True` via LayoutContent JSON.

Also, reduce the number of `debuglink.read_layout()` calls in tests.

[no changelog]
2025-07-10 12:12:06 +03:00
Roman Zeyde
502f5e95a4 feat(core): update menu layout in Delizia
[no changelog]
2025-07-10 11:35:26 +03:00
Roman Zeyde
c6d8fd6c77 feat(core): support scrollable menus in Delizia
[no changelog]
2025-07-10 11:35:26 +03:00
Roman Zeyde
8e1d90f27e feat(core): add Delizia menu up/down icons
[no changelog]
2025-07-10 11:35:26 +03:00
Ioan Bizău
327ccd38e4 Revert "feat: Make payment request protobuf fields optional."
This reverts commit 4a4cc34d65.
2025-07-10 10:10:14 +02:00
Andrew Kozlik
3d15c36afc feat(core): Implement PaymentNotification validation. 2025-07-10 10:10:14 +02:00
Andrew Kozlik
8ffeb6e387 feat(common): Add PaymentNotification protobuf message. 2025-07-10 10:10:14 +02:00
Andrew Kozlik
8103bd1aa2 feat(core): Implement payment requests in Ripple signing. 2025-07-10 10:10:14 +02:00
Andrew Kozlik
70ef22b865 feat(common): Add PaymentRequest field to Ripple signing. 2025-07-10 10:10:14 +02:00
Andrew Kozlik
96afce1e0c feat(core): Set mac field in altcoin Address response messages. 2025-07-10 10:10:14 +02:00
Andrew Kozlik
e67dc16840 feat(core): Access SLIP-21 keychain in Cardano. 2025-07-10 10:10:14 +02:00
Andrew Kozlik
c1cfd66b6d feat(common): Add mac field to altcoin Address response messages. 2025-07-10 10:10:14 +02:00
Andrew Kozlik
2602fa7751 feat: Make payment request protobuf fields optional. 2025-07-10 10:10:14 +02:00
Andrew Kozlik
65a200d39c feat: Add "text details" memo to payment requests. 2025-07-10 10:10:14 +02:00
Andrew Kozlik
cd1b194be8 feat(core): Include address_n in address MAC. 2025-07-10 10:10:14 +02:00
Andrew Kozlik
f699ecf65e feat(common): Add address_n field to PaymentRequest memos. 2025-07-10 10:10:14 +02:00
Andrew Kozlik
1decb527ab feat(tests): Support non-bitcoinlike coins in make_payment_request. 2025-07-10 10:10:14 +02:00
Andrew Kozlik
e2c69033dd feat(core): Implement payment requests in Ethereum signing. 2025-07-10 10:10:14 +02:00
Andrew Kozlik
9599e4d48c feat(common): Add PaymentRequest field to Ethereum signing. 2025-07-10 10:10:14 +02:00
Andrew Kozlik
1202780427 refactor(core): Move PaymentRequestVerifier to common. 2025-07-10 10:10:14 +02:00
Andrew Kozlik
635f74f407 refactor: Move TxAckPaymentRequest to common messages as PaymentRequest. 2025-07-10 10:10:14 +02:00
Andrew Kozlik
913ba93616 feat(core): Add mac to EthereumAddress. 2025-07-10 10:10:14 +02:00
Ondřej Vejpustek
9f606ec922 feat(core/prodtest): add optiga-pair command 2025-07-09 14:38:14 +02:00
Ondřej Vejpustek
c8bf5be9b8 feat(core/prodtest): add secrets-write command 2025-07-09 14:38:14 +02:00
Lukas Bielesch
34921907b0 fix(core/eckhart): fix slip39 overflow bug
[no changelog]
2025-07-09 09:51:25 +02:00
Andrew Kozlik
b83857c0e5 feat(core): Add FIDO attestation key masking in firmware.
[no changelog]
2025-07-08 22:27:55 +02:00
Andrew Kozlik
36c284b3c2 feat(core): Add FIDO attestation key masking in prodtest.
[no changelog]
2025-07-08 22:27:55 +02:00
tychovrahe
ff4ff75f61 chore(core): udpate T3W1 embedded nrf application
[no changelog]
2025-07-08 18:58:21 +03:00
tychovrahe
5c0768a201 fix(core,nordic): fix suspending & resuming ble/nrf drivers
[no changelog]
2025-07-08 18:58:21 +03:00
Martin Milata
1faad192d8 feat(core): use random suffix for BLE name when pairing
[no changelog]
2025-07-08 15:10:32 +02:00
Ioan Bizău
00d8683e77 feat(delizia): allow external menu on confirm_value
[no changelog]
2025-07-08 09:59:26 +02:00
cepetr
5a29fed99f fix(core): fix displaying RSOD in bootloader on t3w1
[no changelog]
2025-07-08 09:16:54 +02:00
Ioan Bizău
566f6fe7cb refactor(delizia): use external menu on confirm_action
[no changelog]
2025-07-07 15:54:07 +02:00
Ioan Bizău
1e7108f6d2 refactor(core/ui): allow custom exception on menu cancelation
[no changelog]
2025-07-07 15:54:07 +02:00
Roman Zeyde
2c50db3cde fix(core): allow menu details to be generic awaitables
Also, remove `ButtonRequest`-related code from `show_menu()`
and fix `show_properties()` return value type annotation.

[no changelog]
2025-07-07 14:55:13 +03:00
Roman Zeyde
75596715de refactor(core): use new-style menu for set_brightness Delizia flow
[no changelog]
2025-07-07 14:55:13 +03:00
Roman Zeyde
4ebe1de056 fix(core): don't ignore ActionCancelled exception from menu
In Delizia, it should be possible to cancel the flow using the menu.

[no changelog]
2025-07-07 14:55:13 +03:00
Roman Zeyde
5f2da19424 chore(core): remove Cargo.lock generated by rust-analyzer
[no changelog]
2025-07-07 12:03:26 +03:00
M1nd3r
f27a95fe48 chore(core): change THP credential key's derivation path
[no changelog]
2025-07-04 18:09:48 +02:00
Roman Zeyde
c563595f8d feat(core): implement UIDelizia::select_menu()
[no changelog]
2025-07-04 15:45:11 +03:00
Roman Zeyde
36ad0cf7ce feat(core): implement UIDelizia::show_properties()
[no changelog]
2025-07-04 15:45:11 +03:00
Roman Zeyde
4222ca4b01 fix(core): add optional cancel text to FirmwareUI::select_menu()
Also, rename `page_counter` to `current`.

[no changelog]
2025-07-04 15:45:11 +03:00
Roman Zeyde
1ee00763e0 feat(core): add a helper for creating single-page flow on Delizia
[no changelog]
2025-07-04 15:45:11 +03:00
Roman Zeyde
62f71b41a7 refactor(core): use explicit Properties type for menus
In Delizia, `paragraphs` and `data` will not be using the same layout.

[no changelog]
2025-07-04 15:42:38 +03:00
Roman Zeyde
7996599d4d chore(core): avoid unused variable warning when building without BLE
[no changelog]
2025-07-04 15:38:54 +03:00
Roman Zeyde
de536bcdce chore(core): remove unused ShowInfoParams field
[no changelog]
2025-07-04 15:38:54 +03:00
Roman Zeyde
09be64d1e7 fix(core): don't send ButtonRequests during menu handling
Use `LayoutContent.page_count()` instead of `ButtonRequest.pages`.

[no changelog]
2025-07-04 15:38:54 +03:00
Martin Milata
5194e1e10b feat(common): allow multiple wire id enums
[no changelog]
2025-07-03 00:09:25 +02:00
Martin Milata
ad9989f3a1 refactor(common/protob): split ThpMessageType off MessageType
[no changelog]

Co-authored-by: M1nd3r <petrsedlacek.km@seznam.cz>
2025-07-03 00:09:25 +02:00
Martin Milata
f849bb952c refactor(common/protob): make some THP fields required
[no changelog]

Co-authored-by: M1nd3r <petrsedlacek.km@seznam.cz>
2025-07-03 00:09:25 +02:00
tychovrahe
0584bf9ac5 chore: add T3W1 precompiled radio test binary
[no changelog]
2025-07-02 16:21:58 +02:00
tychovrahe
df95670930 fix(core/bootloader): set advertising name when turning of pairing mode
[no changelog]
2025-07-02 15:10:42 +02:00
tychovrahe
03fd6a5de8 feat(core/bootloader): prepare wireless setup bootloader workflow
[no changelog]
2025-07-02 15:10:42 +02:00
tychovrahe
6ba7fa24a2 feat(core/bootloader): add random part to device BLE name when pairing
[no changelog]
2025-07-02 15:10:42 +02:00
tychovrahe
c3cfb0af2f chore(core): add BLE to bootloader emulator
[no changelog]
2025-07-02 15:10:42 +02:00
tychovrahe
ac5fa0a5d8 fix(core): add timeout to nrf uart communication
[no changelog]
2025-07-02 14:41:21 +02:00
Roman Zeyde
6443f489f5 feat(core): use multi-item menus for Solana staking 2025-07-02 12:09:42 +03:00
Roman Zeyde
47265ce850 test(core): expose whether Caesar Flow has a menu via LayoutContent
It is used to improve UI tests' coverage for new info menus.

[no changelog]
2025-07-02 12:09:42 +03:00
Roman Zeyde
f6ec199732 fix(core): return SimpleChoice items' count in ButtonRequest.pages
[no changelog]
2025-07-02 12:09:42 +03:00
tychovrahe
c3410adea6 chore(core/tools): remove obsolete python 3.7 support from tools/alloc.py
[no changelog]
2025-07-02 10:52:01 +02:00
tychovrahe
981ddb046f style: allow python style check in tools
[no changelog]
2025-07-02 10:52:01 +02:00
tychovrahe
438fb2554c chore(core): update embedded QA bootloader for T3W1 and embedded nRF firmware
[no changelog]
2025-07-01 21:18:10 +02:00
tychovrahe
12b4d46691 feat(nordic,core): change device code to single byte value
[no changelog]
2025-07-01 21:18:10 +02:00
tychovrahe
ab4d9d49bd feat(nordic,core): enable multiple BLE connection to allow easy connection switching
[no changelog]
2025-07-01 21:18:10 +02:00
tychovrahe
62fbc019b9 fix(core): improve reliability of nrf update
[no changelog]
2025-07-01 19:25:48 +02:00
tychovrahe
d5d921d3d4 feat(core/prodtest): add nrf update command & script
[no changelog]
2025-07-01 19:25:48 +02:00
Ioan Bizău
18733451e9 release: sign translations 2025-07-01 12:30:13 +02:00
tychovrahe
351c6da4be perf(core/bootloader): lazy initialize display in bootloader
[no changelog]
2025-07-01 12:24:52 +02:00
tychovrahe
fc125f7e87 perf(core/bootloader): remove tropic from bootloader
[no changelog]
2025-07-01 12:24:52 +02:00
tychovrahe
fdc9cfdc94 perf(core/bootloader): remove optiga from bootloader
[no changelog]
2025-07-01 12:24:52 +02:00
tychovrahe
f966119817 fix(core/bootloader): close booloader BLE pairing mode dialog on disconnect
[no changelog]
2025-07-01 12:24:35 +02:00
Roman Zeyde
a4ea85bd75 feat(core): support external menu for Caesar confirm_summary
[no changelog]
2025-07-01 11:15:11 +03:00
Roman Zeyde
67f2883718 feat(core): implement multi-line selection layout for Caesar
Also refactor choice-related layout logic, while avoiding UI fixture diffs.

[no changelog]
2025-07-01 11:15:11 +03:00
Roman Zeyde
958418976e feat(core): implement hierarchical information menus for Caesar
[no changelog]
2025-07-01 11:15:09 +03:00
Roman Zeyde
2818bb3e5f chore(core): remove unused ChoiceItem::with_font() method
[no changelog]
2025-07-01 11:14:36 +03:00
Roman Zeyde
f7e9148218 feat(core): allow splitting text into lines according to max_width
It will be used by multi-line select menus.

[no changelog]
2025-07-01 11:14:36 +03:00
Roman Zeyde
31482b0825 feat(core): add Rect::split_center_by_height() method
[no changelog]
2025-07-01 11:14:36 +03:00
Lukas Bielesch
da5b526630 chore(core/eckhart): unify action bar cancel styles
[no changelog]
2025-07-01 08:10:23 +02:00
Lukas Bielesch
b6a447460b fix(rust): fix clippy warnings
[no changelog]
2025-07-01 08:10:23 +02:00
Lukas Bielesch
367bf53ff2 feat(core/delizia): add provider address in eth approve
when approving known contract, the provider address can be shown in the menu
2025-06-30 23:49:47 +02:00
Lukas Bielesch
4d2c676f3c chore(core/eckhart): Update ETH approve flow
[no changelog]
2025-06-30 23:49:47 +02:00
Lukas Bielesch
4c709bdb53 chore(core/eckhart): increase font for keypad input
- passphrase, pin, mnemonic keyboards
[no changelog]
2025-06-30 22:55:42 +02:00
Roman Zeyde
4aadfa1f4f ci(core): make sure emulators are not failing on startup
[no changelog]
2025-06-30 18:43:42 +03:00
Lukas Bielesch
a56c5448e9 chore(core): new FwUI function for public key 2025-06-30 10:42:08 +02:00
Lukas Bielesch
59d5f14ad7 chore(core): increase ParagraphVecLong size 2025-06-30 10:42:08 +02:00
Lukas Bielesch
aa74ab922d chore(core/eckhart): update show_address flow 2025-06-30 10:42:08 +02:00
Andrew Kozlik
0c5e71e973 feat(core): Support pairing secret derivation from master key in prodtest.
[no changelog]
2025-06-28 09:52:37 +02:00
Andrew Kozlik
d933598df4 feat(core): Implement derivation from master key in secret API.
[no changelog]
2025-06-28 09:52:37 +02:00
tychovrahe
32c4d9f105 refactor(core/bootloader): remove obsolete antiglitch protection
[no changelog]
2025-06-27 16:50:59 +02:00
tychovrahe
a09e6f04d4 fix(core/prodtest): fix prodtest mpu setting
[no changelog]

(cherry picked from commit 48459a09dd)
2025-06-26 17:08:58 +02:00
tychovrahe
48459a09dd fix(core/prodtest): fix prodtest mpu setting
[no changelog]
2025-06-26 17:04:47 +02:00
Lukas Bielesch
b2c8f23cc7 chore(core/prodtest): bump version to 0.3.1
[no changelog]
2025-06-26 13:51:00 +02:00
Lukas Bielesch
9b51d51773 chore(translations): alphabetically reorder json entries
[no changelog]
2025-06-26 13:51:00 +02:00
Lukas Bielesch
0b4520c8d0 chore(core): bump version to 2.9.1
[no changelog]
2025-06-26 13:51:00 +02:00
kopecdav
d0c1458a19 feat(core/prodtest): add pm-new-soc-estimate command.
[no changelog]
2025-06-26 13:36:09 +02:00
kopecdav
d6e0a02ac7 fix(core): fix soc limit during battery initialization
[no changelog]
2025-06-26 13:36:09 +02:00
Roman Zeyde
e33d1938e6 chore(core): remove unused import in bl_confirm.rs
[no changelog]
2025-06-26 13:38:45 +03:00
Roman Zeyde
17c866fb7c chore(core): remove unused ChoiceItem method
[no changelog]
2025-06-26 13:38:45 +03:00
Lukas Bielesch
e2b8206b9b fix(build): T2B1 changelog 2025-06-26 10:38:39 +02:00
tychovrahe
3fa5d4e71a feat(core/bootloader): add restart button after unlock/wipe device success
[no changelog]
2025-06-26 09:37:44 +02:00
tychovrahe
a2596ef28d fix(core/bootloader): fix overflow wipe progress calculation
[no changelog]
2025-06-26 09:37:44 +02:00
Ondřej Vejpustek
b1b4095ad0 feat(core/prodtest): support eddsa
[no changelog]
2025-06-25 15:41:03 +02:00
Ondřej Vejpustek
be7236076f feat(core/prodtest): parse algorithm identifier
[no changelog]
2025-06-25 15:41:03 +02:00
Ondřej Vejpustek
a684d6f1ed refactor(core/prodtest): check subject common name 2025-06-25 15:41:03 +02:00
Ondřej Vejpustek
f55d5e5c5e refactor(core/prodtest): extract verify_signature
[no changelog]
2025-06-25 15:41:03 +02:00
Ondřej Vejpustek
54c5b41c4f refactor(core/prodtest): factor out check_cert_chain
[no changelog]
2025-06-25 15:41:03 +02:00
kopecdav
980d685653 fix(core/tools): fix combine tool script.
[no changelog]
2025-06-25 14:28:34 +02:00
kopecdav
0f6f9bc074 feat(core/prodtest): update wpc-info command to return machine readable data.
[no changelog]
2025-06-25 14:28:34 +02:00
cepetr
bec455c9e5 feat(core): manage background ops during suspend
[no changelog]
2025-06-25 10:54:20 +02:00
cepetr
995caca9c7 feat(core): add rtc wake-up callback
[no changelog]
2025-06-25 10:54:20 +02:00
cepetr
4672745a5b feat(core/prodtest): improve pm-suspend command
[no changelog]
2025-06-25 10:54:20 +02:00
cepetr
efa64647f4 refactor(core): move stwlc38 io to the board definition
[no changelog]
2025-06-25 10:54:20 +02:00
cepetr
0eb08f09fa feat(core): wake up on power-up
[no changelog]
2025-06-25 10:54:20 +02:00
cepetr
95c9bf4148 feat(core): pm_suspend with wakeup flags
[no changelog]
2025-06-25 10:54:20 +02:00
cepetr
564743ef7e refactor(core): introduce suspend module
[no changelog]
2025-06-25 10:54:20 +02:00
cepetr
b35c7b40ba fix(core): fix rtc wake-up from suspend mode
[no changelog]
2025-06-25 10:54:20 +02:00
Roman Zeyde
1fc9d6e90f build(core): fix T2B1 build
[no changelog]
2025-06-25 09:43:49 +03:00
cepetr
e6e7d84c44 fix(core): fix RSOD handling in secmon
[no changelog]
2025-06-25 08:31:58 +02:00
tychovrahe
243f04fbf2 fix(core): remove unnecessary fading
[no changelog]
2025-06-24 19:17:17 +02:00
tychovrahe
e281f145b3 fix(core): remove boot stage 1 from Eckhart UI
[no changelog]
2025-06-24 19:17:17 +02:00
tychovrahe
e53cddf65e refactor(core): make secret api more versatile, secret layout model dependent
[no changelog]
2025-06-24 19:16:55 +02:00
Lukas Bielesch
bd822f82df chore(build): changelog 2025-06-24 17:44:27 +02:00
Lukas Bielesch
b5403f9fdb chore(build): update definitions timestamps 2025-06-24 16:44:10 +02:00
Lukas Bielesch
2a6189c3ae chore(translations): add missing foreign translations
- fix typo in translation key
[no changelog]
2025-06-24 16:36:01 +02:00
tychovrahe
8c187c7c31 fix(core): reboot device after bootloader upgrade
[no changelog]
2025-06-24 14:58:11 +02:00
tychovrahe
548f29eb3f fix(core): RSOD on attempted illegal bootloader downgrade
[no changelog]
2025-06-24 14:58:11 +02:00
tychovrahe
2d35af7105 fix(core): check bootloader integrity before update
[no changelog]
2025-06-24 14:58:11 +02:00
tychovrahe
a3c1f197ce feat(core/prodtest): add command for bootloader update, along with script for sending the data 2025-06-24 14:58:11 +02:00
tychovrahe
9f2dec6169 refactor(core): update bootloader from coreapp, using syscalls (and smcalls)
[no changelog]
2025-06-24 14:58:11 +02:00
Ioan Bizău
f5123c8b3f chore(core): add 1inch and LiFI addresses
[no changelog]
2025-06-24 13:56:03 +02:00
Lukas Bielesch
a403524f72 chore(core): add compulsory data param to props
[no changelog]
2025-06-24 12:08:42 +02:00
Lukas Bielesch
5ade9204e4 feat(core): add new data mono fonts
[no changelog]
2025-06-24 12:08:42 +02:00
Ioan Bizău
320ee7b044 refactor(core): separate BLE and THP pairing code screens
[no changelog]
2025-06-24 10:27:17 +02:00
Ioan Bizău
785f52f082 refactor(eckhart): move pairing cancel button to menu
[no changelog]
2025-06-24 10:27:17 +02:00
Lukas Bielesch
a7f6bf5bda chore(core/eckhart): update warnings 2025-06-23 15:48:23 +02:00
Lukas Bielesch
f32d747f88 chore(core): promote multiple_accounts_warning to danger
- for eckhart and delizia layouts
2025-06-23 15:48:23 +02:00
Lukas Bielesch
5272f2af8f chore(core/eckhart): fix send title
[no changelog]
2025-06-23 15:48:23 +02:00
Lukas Bielesch
590dcb9e56 chore(core/translations): ensure consistent German translation for 'labeling'
[no changelog]
2025-06-23 12:44:59 +02:00
obrusvit
3bf0aaf08e feat(eckhart): implement hold_danger
[no changelog]
2025-06-23 12:03:25 +02:00
obrusvit
ee8bba40b2 feat(core): allow ProgressLayout with danger
- adds `danger` parameter to `show_progress` which can be used by
individual layout implementations to render a loader with a sever color
- this feature is used for wipe device handler
- this feature is implemented for Eckhart layout in this commit

[no changelog]
2025-06-23 12:03:25 +02:00
obrusvit
c73351f6df refactor(core): update some Eckhart FW text styles
[no changelog]
2025-06-23 10:16:32 +02:00