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
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
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
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
Andrew Kozlik
91ee49c20b
chore(core, crypto): Remove unused function mnemonic_generate().
...
[no changelog]
2025-02-26 17:20:58 +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