Lukas Bielesch
6cc9c62941
chore(core): new entry in DebugLinkDecision message
...
- new optional enum TouchEventType in DebugLinkDecision message
- add new hold_touch debuglink function
- new pin tests utilizing hold_touch function
2025-07-16 13:40:04 +02:00
Andrew Kozlik
3d15c36afc
feat(core): Implement PaymentNotification validation.
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
9599e4d48c
feat(common): Add PaymentRequest field to Ethereum signing.
2025-07-10 10:10:14 +02:00
Andrew Kozlik
b83857c0e5
feat(core): Add FIDO attestation key masking in firmware.
...
[no changelog]
2025-07-08 22:27:55 +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
Roman Zeyde
958418976e
feat(core): implement hierarchical information menus for Caesar
...
[no changelog]
2025-07-01 11:15:09 +03:00
Martin Milata
95ecbbed8b
feat(common): add Trezor Host Protocol protobuf definitions
...
[no changelog]
2025-06-13 15:58:33 +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
90bd4735c2
perf(core): benchmark log
...
[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
Martin Milata
c3afe4c67b
feat(core): BLE pairing flow
...
[no changelog]
2025-06-05 15:53:23 +02:00
Martin Milata
6d0bcca70c
fix(core): emulator build with PYOPT=1
...
[no changelog]
2025-06-05 15:29:27 +02:00
tychovrahe
baa6317113
fix(core): fix lockable bootloader logic in secret and MPU
...
Also, fix firmware build with `DISABLE_OPTIGA=1`.
[no changelog]
2025-05-30 19:28:46 +03:00
Lukas Bielesch
994b61e38b
fix(eckhart): fix failing gen_check and rust tests
2025-05-30 17:38:16 +02:00
obrusvit
62933d2d62
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-05-30 17:38:16 +02:00
tychovrahe
6bb3c0cf1d
feat(core): update storage to use privileged BHK
2025-05-30 13:12:58 +02:00
tychovrahe
70e5561c3f
feat(core): adjust bootloader locking for tropic-enabled models
...
[no changelog]
2025-05-27 13:38:56 +02:00
M1nd3r
60129f8369
fix(core): add MP_ERROR_TEXT to elligator2
...
[no changelog]
2025-05-25 14:45:09 +02:00
Ioan Bizău
0ba8173424
feat(core): introduce a flow for ethereum approve
2025-05-21 11:54:21 +02:00
Roman Zeyde
1010be428a
chore(core): use MP_ERROR_TEXT()
macro for exception messages
...
[no changelog]
2025-05-15 09:55:40 +03:00
Martin Milata
241fcc0044
feat(core): homescreen streaming
...
[no changelog]
2025-05-14 23:57:03 +02:00
Roman Zeyde
7cdb0cf244
feat(vendor): update MicroPython to allow excluding line numbers from bytecode
...
Setting `MICROPY_ENABLE_SOURCE_LINE=0` helps reducing the debug firmware size by ~2%:
```
$ TREZOR_MODEL=T3T1 MICROPY_ENABLE_SOURCE_LINE=0 PYOPT=0 make -C core build_firmware
<snip>
FLASH: 1,629,456 B 1664 KB 95.63%
```
Before this PR:
```
FLASH: 1,662,224 B 1664 KB 97.55%
```
[no changelog]
2025-05-13 17:07:37 +03:00
Roman Zeyde
3a7850f6a0
chore: remove BNB Beacon Chain support
2025-05-13 09:04:48 +03:00
Roman Zeyde
7661c13a22
feat(vendor): reimplement utils.presize_module()
in C
...
[no changelog]
2025-05-07 12:18:52 +03:00
Roman Zeyde
ffea765a85
fix(core): disable check_free_heap
also in debug firmware
...
Currently, it may misdetect on-heap buffers' data as valid heap
pointers (resulting in `gc_mark_subtree` false-positives).
[no changelog]
2025-05-07 10:37:38 +03:00
cepetr
010c5adf89
refactor(core): remove firmware_calc_hash callback
...
[no changelog]
2025-05-06 16:33:36 +02:00
Eugene Rossokha
e3af93e89f
feat(core): display correct rent information
2025-04-29 14:54:41 +02:00
M1nd3r
b420f1d434
chore(core): add wire logging with interface
...
[no changelog]
2025-04-28 23:52:47 +02: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
75700d9f7f
fix(core): dump allocated QSTRs also in debug firmware
...
Otherwise, it's hard to understand which QSTR causes the assertion error.
[no changelog]
2025-04-17 15:59:08 +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
Roman Zeyde
c2dd63a6bd
chore(core): move core/prof
into core/src/prof
...
It would allow interning profiling-related QSTRs in debug emulator builds.
[no changelog]
2025-04-14 22:40:52 +03:00
Roman Zeyde
c90b30fbf7
chore(core): intern Monero-related QSTRs
...
[no changelog]
2025-04-14 22:39:24 +03:00
Roman Zeyde
599c17cd29
build(core): refactor qstrdefsport.h
generation
...
Allow excluding debug-related QSTRs.
[no changelog]
2025-04-14 22:39:24 +03:00
cepetr
8a636bd9cf
fix(core): make mod_trezorio_poll return False only on timeout
...
[no changelog]
2025-04-14 12:30:52 +02: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
Roman Zeyde
8df465d7e8
build(core): replace all_modules.py
by qstrdefsport.h
...
[no changelog]
2025-04-07 20:19:31 +03:00
Roman Zeyde
879cc69c63
perf(core): intern non-alphanumeric characters
...
It was found by running `micropython.mem_info()` with the following patch:
```diff
diff --git a/py/gc.c b/py/gc.c
index 604334c95..bff62b754 100644
--- a/py/gc.c
+++ b/py/gc.c
@@ -840,6 +840,7 @@ void gc_dump_info(void) {
(uint)info.total, (uint)info.used, (uint)info.free);
mp_printf(&mp_plat_print, " No. of 1-blocks: %u, 2-blocks: %u, max blk sz: %u, max free sz: %u\n",
(uint)info.num_1block, (uint)info.num_2block, (uint)info.max_block, (uint)info.max_free);
+ qstr_dump_data();
}
void gc_dump_alloc_table(void) {
```
New QSTR definitions:
```
$ tail -n4 ./core/build/unix/genhdr/qstrdefs.generated.h
QDEF(MP_QSTR__paren_close_, 46476, 1, ")")
QDEF(MP_QSTR__paren_open_, 46477, 1, "(")
QDEF(MP_QSTR__lt_, 46489, 1, "<")
QDEF(MP_QSTR__semicolon_, 46494, 1, ";")
```
[no changelog]
2025-04-07 20:19:31 +03:00
tychovrahe
51ff4f5946
feat(core): add unpair command to BLE
...
[no changelog]
2025-04-03 16:17:12 +02:00
Roman Zeyde
08bcedcaa5
fix(core): correct __main__
dict size retrieval in firmware
...
Otherwise, it fails to boot.
[no changelog]
2025-04-03 14:45:13 +03: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