1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-07-21 22:18:36 +00:00
Commit Graph

354 Commits

Author SHA1 Message Date
Martin Milata
5194e1e10b feat(common): allow multiple wire id enums
[no changelog]
2025-07-03 00:09:25 +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
958418976e feat(core): implement hierarchical information menus for Caesar
[no changelog]
2025-07-01 11:15:09 +03:00
Lukas Bielesch
4d2c676f3c chore(core/eckhart): Update ETH approve flow
[no changelog]
2025-06-30 23:49:47 +02:00
Lukas Bielesch
a56c5448e9 chore(core): new FwUI function for public key 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
Lukas Bielesch
a403524f72 chore(core): add compulsory data param to props
[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
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
Roman Zeyde
f331b133e3 feat(core): join active workflows before restart
It should support asynchronous "success" confirmation layouts
for address, public key and signature confirmation flows.

[no changelog]
2025-06-20 14:07:52 +03:00
Roman Zeyde
23cde4ed72 Revert "feat(core): send address & public key response before showing StatusScreen"
This reverts commit 946fc89449.
2025-06-20 14:07:52 +03:00
obrusvit
2196a5f785 refactor(core): cleanup homescreen params
- rename FirmwareUI::show_homescreen param name from `hold` to
  `lockable` because hold or hold_to_lock no longer covers all layouts
- cleanup uPy notification params

[no changelog]
2025-06-13 19:36:51 +02:00
obrusvit
17d6dd4a55 chore(core): remove battery from show_device_menu
- the battery status changes are now propagated into Components by
Event::PM

[no changelog]
2025-06-11 23:39:28 +02:00
obrusvit
f04edf3a28 feat(core): battery updates in FW event loop
[no changelog]
2025-06-11 23:39:28 +02:00
Roman Zeyde
30840d7cbf perf(core): rewrite trezor.log and trezor.wire_log in Rust
Requires https://github.com/trezor/micropython/pull/26.

[no changelog]
2025-06-11 10:26:09 +03:00
Roman Zeyde
6f28b96733 test(core): collect GC statistics via new debug RPC
[no changelog]
2025-06-10 12:16:12 +03:00
Lukas Bielesch
8cfa6a3693 chore(eckhart): update shamir wallet creation
[no changelog]
2025-06-09 08:52:32 +02:00
Martin Milata
99f56a09d0 refactor(core/ui): parametrize show_pairing_code
[no changelog]
2025-06-05 15:53:23 +02:00
Martin Milata
f077f2d1c1 feat(core/ui): eckhart: BLE event handling
[no changelog]
2025-06-05 15:53:23 +02:00
Roman Zeyde
64241033cb chore(core): move coverage-related Rust code into a separate module
Also, exclude it from non-debug builds.

[no changelog]
2025-05-30 19:26:51 +03:00
obrusvit
bd89e13493 refactor(core): return uPy Obj from DeviceMenu
[no changelog]
2025-05-30 17:38:16 +02:00
Lukas Bielesch
a57fc3f8ed feat(core): update number input screen
- add time-handling functions
- add option to show time units
- add hold functionality to increment/decrement buttons
- add new device-menu actions
2025-05-30 17:38:16 +02:00
Lukas Bielesch
2963065afc feat(eckhart): confirm_signverify, confirm_blob, ethereum, solana and nostr support 2025-05-30 17:38:16 +02:00
Ioan Bizău
b1dce3974f feat(eckhart): introduce the device menu
- also add layouts for device pairing
- send device name and version to the device menu
2025-05-30 17:38:16 +02:00
Lukas Bielesch
c777caf087 feat(eckhart): receive address flow
- add new action bar mode
- full-screen QR screen component
- show danger flow
- update address warnings
2025-05-30 17:38:16 +02:00
Lukas Bielesch
fa806f27eb feat(eckhart): ShareWords screen and flow 2025-05-30 17:38:16 +02:00
obrusvit
f1e23d2e97 feat(eckhart): implement hold to confirm anim
- HoldToConfirmAnim is driven by the ActionBar in case the right_button
is configured with `long_press`
- HoldToConfirmAnim optionally draws an Header overaly with custom text
- disabling animations is respected
- easing function is not yet finalized
- a few minor fixes along the way
2025-05-30 17:38:16 +02:00
Ioan Bizău
83b86298bf fix(core/ui): use subtitle on Delizia confirm_properties
[no changelog]
2025-05-28 11:18:00 +02:00
Roman Zeyde
946fc89449 feat(core): send address & public key response before showing StatusScreen
Co-authored-by: matejcik <ja@matejcik.cz>
2025-05-21 16:37:38 +03:00
Ioan Bizău
0ba8173424 feat(core): introduce a flow for ethereum approve 2025-05-21 11:54:21 +02:00
Roman Zeyde
7661c13a22 feat(vendor): reimplement utils.presize_module() in C
[no changelog]
2025-05-07 12:18:52 +03:00
Roman Zeyde
41db573ef9 feat(core): check that GC restores free heap memory
Enabled only for frozen debug builds.

[no changelog]
2025-04-24 16:26:36 +03:00
Roman Zeyde
46d6732462 feat(core): don't use heap for storing coverage data
[no changelog]
2025-04-24 07:39:46 +03:00
Roman Zeyde
d50181b7f9 fix(core): check QSTR run-time allocations only for frozen debug builds
[no changelog]
2025-04-15 14:22:47 +03:00
Martin Milata
2a40d91790 refactor(core): convert modtrezorio.ble to rust
[no changelog]
2025-04-15 13:08:37 +02:00
Roman Zeyde
9bd81926af feat(core): check for runtime QSTR allocations
[no changelog]
2025-04-14 22:42:16 +03:00
Martin Milata
23cc83f3ba refactor(core): ble: expose connection state in micropython
[no changelog]
2025-04-09 21:25:37 +02:00
Martin Milata
fe20466ed7 fix(core): modtrezorio-ble cleanup
[no changelog]
2025-04-09 21:25:37 +02:00
tychovrahe
1fc6feda80 fix(core): make ble_event upy api function optional
[no changelog]
2025-04-03 16:17:12 +02:00
tychovrahe
51ff4f5946 feat(core): add unpair command to BLE
[no changelog]
2025-04-03 16:17:12 +02:00
Martin Milata
469f093b8a feat(core): include pairing code in BLE_ALLOW_PAIRING command
[no changelog]
2025-04-02 17:08:34 +02:00
Martin Milata
88706d12f8 feat(core): ble: expose allow/reject pairing in micropython
[no changelog]
2025-04-02 17:08:34 +02:00
Roman Zeyde
e6f96974de feat(core): check for sys.modules and main globals reallocations
Rewrite the static comparison in `utils.unimport_end()` in C.

[no changelog]
2025-04-02 16:01:51 +03:00
Roman Zeyde
ad73e41080 feat(core): support USB/BLE sessions
All interfaces are sharing a single 8kB buffer.
It is reallocated once per session and is acquired by the first active session.
Other concurrent sessions will respond with an "Another session in progress" error.

[no changelog]
2025-03-31 13:20:53 +03:00
Roman Zeyde
1e3b02771b fix(core): don't use 'static lifetime for BLEEvent
[no changelog]
2025-03-21 17:13:27 +02:00
Roman Zeyde
9926df6ab5 fix(core): add LayoutObj.ble_event mock
[no changelog]
2025-03-20 15:22:32 +02:00
Roman Zeyde
5fd168c363 feat(core): dump GC arena on OOM
Enabled for debug firmware and non-frozen emulator.

JSON dump can be extracted from debug log and analyzed using:

$ awk '/^\[$/,/^\]$/' <debug.log >dump.json
$ core/tools/analyze-memory-dump.py dump.json

[no changelog]
2025-03-17 20:17:42 +02:00
Roman Zeyde
2333a6a262 feat(core): log GC info in case of OOM
Enabled on debug firmware and non-frozen emulator.

[no changelog]
2025-03-17 20:17:42 +02:00
Ioan Bizău
3efa0480c6 feat(core): add libtropic to the unix build
[no changelog]
2025-03-13 15:08:48 +01:00