1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-03-13 06:36:06 +00:00
Commit Graph

4440 Commits

Author SHA1 Message Date
obrusvit
28db570956 feat(eckhart): initial commit
- build
- directory structure
- bootloader UI and assets copied from delizia
- FirmwareUI trait functions are empty
- Python layout functions are copied from delizia except some of more
complicated ones which raise NotImplemented for now
2025-03-11 23:56:17 +01:00
cepetr
b5053d9f6e
fix(core): add kernel access to assets by default (#4759)
[no changelog]
2025-03-11 07:58:57 +01:00
obrusvit
29d69db300 Merge branch 'release/25.03' into obrusvit/merge-release-25.03 2025-03-10 11:17:26 +01:00
Roman Zeyde
2400fcb95d fix(core): scope Cardano confirmation to allow GC
Otherwise, we may run out of heap due to recursion.

[no changelog]
2025-03-09 21:48:30 +02:00
tychovrahe
103568e2e5 feat(core/prodtest): show device ID in prodtest QR code 2025-03-08 12:26:41 +01:00
tychovrahe
661a30e390 feat(core/prodtest): support writing device ID into OTP memory 2025-03-08 12:26:41 +01:00
tychovrahe
ee9f42a8b2 fix(core/prodtest): add early return in case of otp batch reading error
[no changelog]
2025-03-08 12:26:41 +01:00
tychovrahe
6db5eaf850 fix(core/prodtest): fix otp device variant lock check
[no changelog]
2025-03-08 12:26:41 +01:00
kopecdav
f2054ff409 feat(core/prodtest): Introduce unit test extension into prodtest [no changelog] 2025-03-07 17:24:24 +01:00
obrusvit
acdf549fc4 chore(core): bump version to 2.8.10
[no changelog]
2025-03-07 11:44:29 +01:00
obrusvit
813620a4c5 chore(core): include signed translations for 2.8.9 2025-03-06 16:10:20 +01:00
Roman Zeyde
f67a506e9c fix(core): use correct fonts for staking confirmation on Delizia
[no changelog]
2025-03-05 12:23:03 +02:00
Roman Zeyde
0d522be842 fix(core): use TEXT_MONO_GREY_LIGHT for chunkified data on Delizia
[no changelog]
2025-03-05 10:35:41 +02:00
tychovrahe
46ec7298af chore(core): drop support for T3W1 rev A0 board
[no changelog]
2025-03-05 09:19:27 +01:00
tychovrahe
9c451bd6ea fix(core): fix BLE issue command return value
[no changelog]
2025-03-05 09:19:16 +01:00
cepetr
486bbca959 feat(core): double glyphs on t3w1 terminal
[no changelog]
2025-03-05 08:33:15 +01:00
Roman Zeyde
6f3e5a6cd7 feat(core): estimate workflow stack usage
By zeroing the stack memory before the workflow runs,
we can estimate how much of it has been used (by reading
the stack memory and looking for the first non-zero value).

[no changelog]
2025-03-04 14:18:15 +02:00
Andrew Kozlik
b2701596cc chore: Add emulator warnings.
[no changelog]
2025-03-04 12:49:30 +01:00
Roman Zeyde
e08b15ecaf feat(core): use Account info instead of Send from in Delizia staking UI
[no changelog]
2025-03-04 13:35:08 +02:00
Roman Zeyde
7be53c4172 fix(core): update Czech translations for Ethereum
* "Přednostní poplatek" -> "Poplatek za prioritu"
* "Zrušit stakování" -> "Zrušit stakování"

[no changelog]
2025-03-04 12:45:21 +02:00
tychovrahe
4394992b81 chore(core): unify comment style in startup_init.c
[no changelog]
2025-03-04 11:23:55 +01:00
tychovrahe
4de403bbe1 feat(core): enable LSE on T3W1
[no changelog]
2025-03-04 11:23:55 +01:00
tychovrahe
d1c1503fa4 feat(core/prodtest): add tamper testing function
[no changelog]
2025-03-04 11:23:55 +01:00
tychovrahe
d535e725c0 fix(core): fix tamper setting
[no changelog]
2025-03-04 11:23:55 +01:00
cepetr
bf119fbee4 feat(core): improve display/dma2d syscall verifiers
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
8574289493 chore(core): remove unused display function
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
45417bf3bd feat(core): reduce overhead of syscall invocation
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
19ba854c69 feat(code): introduce dma2d syscalls
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
39245206f4 fix(core): fix coreapp applet memory definition
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
2961f6caf9 refactor(core): improve frame buffer interface
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
8b525de3c9 fix(core): fix jpeg decoder syscalls verifiers
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
80ce57c5c4 fix(rust): fix drawing of 1px bar shape
[no changelog]
2025-03-04 08:07:56 +01:00
cepetr
c0134518da fix(core): fix t3w1 revA prodtest build
[no changelog]
2025-03-04 08:07:56 +01:00
obrusvit
fad9682201 fix(core): fix delizia set brightness setting
[no changelog]

(cherry picked from commit 55101b8013)
2025-03-03 16:00:31 +01:00
obrusvit
55101b8013 fix(core): fix delizia set brightness setting
[no changelog]
2025-03-03 15:59:59 +01:00
matejcik
5f94715ca7 fix(core/rust): correctly extend SwipeAttach animation duration
so that it covers the interval from the Attach event until timer running
out.

Without this change, it is possible to slip in a TouchStart event before
the animation timer has had a chance to start, and lose the matching
TouchEnd.

(cherry picked from commit f59deebfba)
2025-03-03 15:55:15 +01:00
matejcik
f59deebfba fix(core/rust): correctly extend SwipeAttach animation duration
so that it covers the interval from the Attach event until timer running
out.

Without this change, it is possible to slip in a TouchStart event before
the animation timer has had a chance to start, and lose the matching
TouchEnd.
2025-03-03 15:42:09 +01:00
tychovrahe
dcf9002f00 feat(core/prodtest): add hw-revision command and driver 2025-03-03 13:28:10 +01:00
tychovrahe
a22c15663c chore(core): fix typo
[no changelog]
2025-03-03 13:28:10 +01:00
Roman Zeyde
9b11cc7577 feat(core): use SwipeFlow::add_page to reduce stack usage
[no changelog]
2025-03-03 13:28:33 +02:00
tychovrahe
587b5e8eb8 fix(core): fix jump to old bootloader
Initialize systick before jump, as the old bootloaders may not initialize systick on start and rely on systick running from boardloader or firmware. Only relevant for F4, otherwise we are jumping through reset.

[no changelog]
2025-02-28 16:17:06 +01:00
tychovrahe
511a4f3b93 fix(core/prodtest): fix touch draw test
[no changelog]
2025-02-28 15:32:49 +01:00
tychovrahe
a77f1f1a99 fix(core): fix jump to old bootloader
Initialize systick before jump, as the old bootloaders may not initialize systick on start and rely on systick running from boardloader or firmware. Only relevant for F4, otherwise we are jumping through reset.

[no changelog]

(cherry picked from commit 0536ed6f50)
2025-02-28 15:22:32 +01:00
Ioan Bizău
dcf65b1d8f chore(core): remove unnecessary check
[no changelog]
2025-02-28 14:15:45 +01:00
Ioan Bizău
d0681212b0 fix(core): use BIP-340 to sign Nostr events
[no changelog]
2025-02-28 14:15:45 +01:00
Ioan Bizău
50879cd4da chore(core/nostr): remove Nostr from production build
[no changelog]
2025-02-28 14:15:45 +01:00
Ioan Bizău
aabd4ee9b7 feat(core/ui): add basic confirmation for Nostr signing
[no changelog]
2025-02-28 14:15:45 +01:00
Ioan Bizău
073038771e feat(core): introduce Nostr
[no changelog]
2025-02-28 14:15:45 +01:00
Roman Zeyde
0b5dbcae1b feat(core): confirm multiple Solana Deactivate/Withdraw instructions
[no changelog]

(cherry picked from commit 1954c7cbc2)
2025-02-28 12:56:10 +01:00
Roman Zeyde
9321227ddb fix(core): fix ExtraInfo menu cancellation
[no changelog]

(cherry picked from commit ac49c3e284)
2025-02-28 12:55:47 +01:00
Roman Zeyde
1954c7cbc2 feat(core): confirm multiple Solana Deactivate/Withdraw instructions
[no changelog]
2025-02-28 13:51:37 +02:00
Roman Zeyde
ac49c3e284 fix(core): fix ExtraInfo menu cancellation
[no changelog]
2025-02-28 13:51:37 +02:00
Roman Zeyde
da6d4afc7d fix(core): use SwipeFlow::add_page to save stack memory
[no changelog]

(cherry picked from commit bd496a9e95)
2025-02-27 18:25:54 +01:00
Roman Zeyde
674342b594 fix(core): use SwipeFlow::add_page to save stack memory
[no changelog]
2025-02-27 18:20:20 +02:00
tychovrahe
323107e6a8 fix(core): fix jpeg blurring and dimming area
[no changelog]
2025-02-27 10:12:53 +01:00
tychovrahe
4af18b66eb fix(core): fix rendering of outlined Bars
[no changelog]
2025-02-27 10:12:34 +01:00
Roman Zeyde
8568378a8a fix(core): confirm only visible Solana staking instructions
[no changelog]

(cherry picked from commit ee1cc4ae81)
2025-02-26 20:47:18 +01:00
Andrew Kozlik
91ee49c20b chore(core, crypto): Remove unused function mnemonic_generate().
[no changelog]
2025-02-26 17:20:58 +01:00
Roman Zeyde
ee1cc4ae81 fix(core): confirm only visible Solana staking instructions
[no changelog]
2025-02-26 15:25:31 +02:00
cepetr
f5a51b0671 feat(core): enable hw decoding of grayscale JPEGs
[no changelog]
2025-02-26 12:06:44 +01:00
tychovrahe
4221b8514b feat(core/prodtest): implement NRF test functions
[no changelog]
2025-02-26 10:27:14 +01:00
tychovrahe
c97dd18c2d fix(core): fix NRF communication long message check
[no changelog]
2025-02-26 10:27:14 +01:00
tychovrahe
93f20bead1 feat(core/prodtest): add BLE testing
[no changelog]
2025-02-26 10:27:14 +01:00
tychovrahe
1fd83a9584 fix(core): fix nrf reboot function
[no changelog]
2025-02-26 10:27:14 +01:00
cepetr
c57a59d123 feat(rust): introduce info overlay rendering
[no changelog]
2025-02-26 09:56:08 +01:00
cepetr
c72d85296d refactor(rust): improve time module
[no changelog]
2025-02-26 09:56:08 +01:00
tychovrahe
10f3011663 feat(core/prodtest): add touch-draw command to prodtest
[no changelog]
2025-02-26 08:53:36 +01:00
tychovrahe
32bf5d82ff feat(core/prodtest): add tropic01 HAL integration and basic production tests
[no changelog]
2025-02-26 08:53:16 +01:00
obrusvit
2c94dc24df docs(core): fix entries in changelog 2025-02-26 02:03:27 +01:00
obrusvit
f88ce9ac9a docs(core): changelog for 2.8.9
- command: ./tools/changelog.py generate --date "19th March 2025" core
2.8.9
2025-02-26 01:47:11 +01:00
obrusvit
331f71dc91 chore(common): set definitions timestamp 2025-02-26 01:24:30 +01:00
matejcik
cd6ad7312e fix(core): delizia tutorial should allow swipe-up from confirmation screens 2025-02-26 01:17:11 +01:00
matejcik
2dc14ad1e0 fix(core): modify Delizia tutorial to account for tap-to-continue 2025-02-26 01:17:11 +01:00
matejcik
6441d41646 fix(core): change "Swipe up" to "Tap to continue" everywhere 2025-02-26 01:17:11 +01:00
matejcik
f04b022662 refactor(core/rust): add a helper for a swipeup-footer 2025-02-26 01:17:11 +01:00
matejcik
b015eac9f7 style(core/rust): fix clippy complaints 2025-02-26 01:17:11 +01:00
matejcik
18fc7e1f82 refactor(core/rust): remove internal pager from SwipePage 2025-02-26 01:17:11 +01:00
matejcik
6906b532bb feat(core/rust): enlarge delizia footer touch area to make it easier to hit 2025-02-26 01:17:11 +01:00
matejcik
1f0ec4d3c0 fix(core/rust): respond to the correct button in Address info 2025-02-26 01:17:11 +01:00
matejcik
741731638b refactor(core/rust): force recalculate Paragraphs visibility when updating content 2025-02-26 01:17:11 +01:00
matejcik
2982f6db37 refactor(core/rust): propagate footer button message everywhere
this generally simplifies the mappings of Frame messages, but also
relies on the button actions being properly set up.
2025-02-26 01:17:11 +01:00
matejcik
f0746e44fe feat(core/rust): delizia hotfix - make footer act as a swipe-up button
We introduce a new variant FlowMsg::Next, used only internally (for
now). Sending FlowMsg::Next indicates we want to proceed to the next
screen of the flow.

If there is internal pagination, Next will play a simulated swipe to the
child component.
2025-02-26 01:17:11 +01:00
matejcik
51e796ee30 feat(core/rust): introduce trait PaginateFull throughout Delizia
PaginateFull uses Pager instead of reporting just the total number of
pages. Delizia will rely on this trait; going forward, we'll want
PaginateFull to replace Paginate, but this refactor would be too big if
we also needed to include Caesar and Bolt in it
2025-02-26 01:17:11 +01:00
matejcik
6c8391ab18 feat(core/rust): introduce Pager 2025-02-26 01:17:11 +01:00
Ioan Bizău
6c38f0d63d feat(core): friendlier way to confirm long messages 2025-02-25 22:51:16 +01:00
Ioan Bizău
64b9084b6c feat(core/ui): ability to cancel recovery on word count selector 2025-02-25 20:30:39 +01:00
matejcik
6d7b039e6a chore(core): update bundled bootloader for T3T1 to version 2.1.10 2025-02-25 18:53:21 +01:00
kopecdav
bdc8dbffe3 feat(core): Introduce nfc commands in prodtest & update NFC library [no changelog] 2025-02-25 18:29:54 +01:00
kopecdav
fc2cf1535e feat(core): Update NFC library and introduce NDEF parser [no changelog] 2025-02-25 18:29:54 +01:00
kopecdav
3ff18fb9bc refactor(core): Refactor DSI variable in RFAL library to avoid colision with STM HAL drivers. [no changelog] 2025-02-25 18:29:54 +01:00
kopecdav
e672cb08b4 feat(core): Introduce nfc module with rfal library [no changelog] 2025-02-25 18:29:54 +01:00
Roman Zeyde
1857612a37 feat(core): add Solana staking layouts 2025-02-25 11:55:03 +01:00
Roman Zeyde
19c9e502d7 feat(core): add new translation entries for Solana staking layouts
[no changelog]
2025-02-25 11:55:03 +01:00
Roman Zeyde
803955b047 feat(core): add description to Delizia confirm_output()
It will allow confirming the vote account for Solana staking.

[no changelog]
2025-02-25 11:55:03 +01:00
Roman Zeyde
8a5373c733 feat(core): add extra info item to summary menu on Delizia
It will allow confirming the blockhash for Solana transactions.

Also, simplify arguments passing into `new_confirm_output()`.

[no changelog]
2025-02-25 11:55:03 +01:00
Roman Zeyde
2284b338c8 feat(core): skip empty fee entry in UICaesar::confirm_summary
Otherwise, we may get an additional empty confirmation screen.

[no changelog]
2025-02-25 11:55:03 +01:00
Roman Zeyde
d33244912b refactor(core): separate base and priority Solana fees
Move fee calculation into `Transaction` class.

Also, replace floating-point division by integer division in fee calculation.

[no changelog]
2025-02-25 11:55:03 +01:00
kopecdav
9f03e0c37b feat(core): Add prodtest function which prints simple text log on the screen [no changelog] 2025-02-21 10:15:12 +01:00
matejcik
0c77c5102a fix(core): update translated strings to fit the button on Delizia 2025-02-20 16:09:14 +01:00
matejcik
61a3382abd fix(core/rust): increase capacity of debug error message
slicing the str like before is wrong because we may just happen to hit
in the middle of an utf8 sequence, which will cause a silent panic.
this way we at least get a visible panic: either "Text too long: <full
text>", or "unwrap failed" if the text doesn't fit into the 128-byte
string instance
2025-02-20 16:09:14 +01:00