Martin Milata
241fcc0044
feat(core): homescreen streaming
...
[no changelog]
2025-05-14 23:57:03 +02:00
Martin Milata
846dd3b934
refactor(common/protob): rename TranslationDataRequest to DataChunkRequest
...
[no changelog]
2025-05-14 23:57:03 +02:00
Roman Zeyde
78227ed20f
perf(core): remove more local imports from Bitcoin signing flow
...
[no changelog]
2025-05-13 11:58:36 +03:00
Martin Milata
46c53bc30c
feat(core): add Capability.NFC to Features
2025-05-13 10:48:13 +02:00
Martin Milata
a04525c6de
feat(core): add Capability.BLE to Features
2025-05-13 10:48:13 +02:00
Roman Zeyde
3a7850f6a0
chore: remove BNB Beacon Chain support
2025-05-13 09:04:48 +03:00
Roman Zeyde
bff1ba454b
fix(core): clear loop.this_task
before restart
...
[no changelog]
2025-05-10 11:19:51 +03:00
Roman Zeyde
1f8ebc3562
fix(core): use bool
for _ignore_loader_messages
...
Since `trezor.pin` is persisted across sessions, it should use constant-size globals.
[no changelog]
2025-05-10 10:28:23 +03:00
tychovrahe
3fe0c90c1c
feat(core): change internal communication with NRF to SPI only
...
[no changelog]
2025-05-07 16:36:40 +02:00
tychovrahe
54202b9f53
feat(nordic): send busy response when trezor is not listening to BLE messages
...
[no changelog]
2025-05-07 16:08:46 +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
ed89a99fa6
fix(core): handle empty 'info_items' in Caesar 'confirm_value'
...
[no changelog]
(cherry picked from commit bf2a588a25
)
2025-05-06 08:41:40 +02:00
Roman Zeyde
bf2a588a25
fix(core): handle empty 'info_items' in Caesar 'confirm_value'
...
[no changelog]
2025-05-05 15:31:11 +03:00
Roman Zeyde
d3df16e84e
fix(core): propagate exceptions via unimport.__exit__
...
[no changelog]
2025-05-02 10:45:55 +03:00
Ioan Bizău
23058e10df
chore(build): update definitions timestamps
2025-04-30 09:15:20 +02:00
matejcik
17990e1c80
style: fix linter complaints
2025-04-29 14:54:41 +02:00
matejcik
4e7d265312
fix(core/solana): fix UI for Solana transactions after recent changes
2025-04-29 14:54:41 +02:00
matejcik
7e10e25514
fix(core/solana): improve token info display
2025-04-29 14:54:41 +02:00
matejcik
dd5a3365a9
fix(core/solana): avoid looking at not-exposed instruction ids
2025-04-29 14:54:41 +02:00
matejcik
e4e6d60e64
refactor(core/solana): restructure programs.json and related code
2025-04-29 14:54:41 +02:00
Eugene Rossokha
e3af93e89f
feat(core): display correct rent information
2025-04-29 14:54:41 +02:00
Eugene Rossokha
ffbdea202a
feat(core): add loadable solana tokens
2025-04-29 14:54:41 +02:00
Eugene Rossokha
1d444c3845
fix(core): add display_name for missing token_mint
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
M1nd3r
b6e0940ad7
chore(core): simplify exception func in log.py
...
[no changelog]
2025-04-28 23:52:47 +02:00
Roman Zeyde
09a323e578
fix(core): remove debug-related data from PYOPT=1 firmware builds
...
It reduces T3T1 release universal firmware size by ~2kB:
```
Memory region Used Size Region Size %age Used
FLASH: 1580304 B 1664 KB 92.74%
```
Before this PR:
```
Memory region Used Size Region Size %age Used
FLASH: 1578256 B 1664 KB 92.62%
```
(Tested with `TREZOR_MODEL=T3T1 PYOPT=1 make -C core build_firmware`)
[no changelog]
2025-04-24 17:27:21 +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
a787d21b3f
fix(core): preallocate save_screen_directory
to allow heap checking
...
Otherwise, free heap memory will decrease after handling `DebugLinkRecordScreen`.
[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
Pavol Rusnak
9037c398eb
chore(crypto): use new email for stick
2025-04-20 22:04:38 +02:00
Roman Zeyde
c48cfbc59e
chore(core): update coverage
to 5.5
...
Because `coverage` 4.5.4 requires Python <=3.8 (EOL).
[no changelog]
2025-04-16 15:14:53 +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
07ad01220c
perf(core): remove imports from hot path
...
[no changelog]
2025-04-10 14:19:34 +03:00
Martin Milata
93f23e6318
feat(core): start BLE advertising on boot
...
[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
tychovrahe
4adf6d087d
feat(core): add BLE unpair command & message
...
[no changelog]
2025-04-03 16:17:12 +02:00
Roman Zeyde
a91d18ba2c
perf(core): intern module presizing identifiers
...
[no changelog]
2025-04-03 12:58:43 +03:00
Roman Zeyde
9769109229
perf(core): add __init__.py
to apps.management
module
...
Otherwise, its name is not interned by `all_modules.py.mako`.
[no changelog]
2025-04-03 12:58:43 +03: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
tychovrahe
aa682bcc6e
fix(core): generate coin support for discovery kits
...
[no changelog]
2025-03-27 15:46:46 +01:00
Roman Zeyde
aecaf306f3
fix(core): don't handle nostr-related messages in BTC-only firmware
...
[no changelog]
2025-03-27 12:30:02 +02:00
Roman Zeyde
3a24945de9
fix(core): allow firmware upgrade even if language change failed
2025-03-26 13:12:38 +02:00
Roman Zeyde
8b4936926c
fix(core): preallocate storage.debug.reset_internal_entropy
...
It should allow GC to cleanup `int_entropy`, which can be
allocated in random heap position, causing fragmentation.
[no changelog]
2025-03-25 12:05:52 +02:00
Roman Zeyde
f942d13748
fix(core): alloc GC to free _previous_remaining
in trezor.pin
...
[no changelog]
2025-03-25 12:05:52 +02:00
tychovrahe
283561c073
fix(core: fix homescreen ble checker task
...
[no changelog]
2025-03-23 17:04:05 +01:00
Roman Zeyde
52f5593f28
feat(core): add BLE checker task to Homescreen
...
[no changelog]
2025-03-20 15:22:32 +02:00
Roman Zeyde
2f97b61870
fix(core): correct confirmation title on Caesar
2025-03-18 12:32:36 +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
41096b5ffd
fix(core): use smaller button for upgrade cancellation
2025-03-13 12:07:07 +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
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
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
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
1954c7cbc2
feat(core): confirm multiple Solana Deactivate/Withdraw instructions
...
[no changelog]
2025-02-28 13:51:37 +02: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
Roman Zeyde
ee1cc4ae81
fix(core): confirm only visible Solana staking instructions
...
[no changelog]
2025-02-26 15:25:31 +02:00
obrusvit
331f71dc91
chore(common): set definitions timestamp
2025-02-26 01:24:30 +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
Roman Zeyde
1857612a37
feat(core): add Solana staking layouts
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
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
matejcik
02190b5871
fix(core): do not repeat "cancel backup check" twice on screen
2025-02-20 16:09:14 +01:00
matejcik
87b7eccb6a
fix(core): do not use local import for RecoveryAborted
...
This side-steps a double-import problem that is triggered when we
perform an unimport in a particularly unfortunate order. (don't ask)
The root cause of the problem still exists: we can get into a situation
where a live recovery_homescreen is running from an unimported module,
meaning that any new import of anything from the recovery_device
namespace will _also_ be a double-import. We don't have a fix for that
situation yet, so instead we avoid this particular local import, which
would cause homescreen_dialog to have its own copy of the `recover`
module.
2025-02-20 16:09:14 +01:00
matejcik
2ee0f7028c
fix(core): update exception name in layout shutdown reporting
...
also return after the exception branch, so that the "value" is not
reported twice, once as an exception and a second time as a "non-none
return"
2025-02-20 16:09:14 +01:00
Ioan Bizău
609e14264f
fix(core/ui): back button
...
[no changelog]
2025-02-19 16:14:08 +01:00
Roman Zeyde
f4ebc0d9d8
docs(core): fix get_bytes_as_str
docstring
...
[no changelog]
2025-02-18 11:56:42 +01:00
obrusvit
c69d2c9aff
Merge branch 'release/25.02' into obrusvit/merge-release-25.02
2025-02-13 11:42:08 +01:00
Ioan Bizău
b8e2709ca8
fix(core): fix br_code inconsistency in sign-tx
...
[no changelog]
2025-02-11 16:10:58 +01:00
Ioan Bizău
c8210056da
fix(core/ui): fix back button
...
[no changelog]
2025-02-11 16:10:58 +01:00
Ioan Bizău
d487f97ecf
feat(core): show ETH account info on model T
2025-02-11 16:10:58 +01:00
Roman Zeyde
061e71213e
test(core): don't fetch full DebugLinkState
by default
...
In case the main workflow is restarting after a `DebugLinkDecision`,
sending the response of `DebugLinkGetState` may get interrupted.
We are making the state fetching explicit, in order to avoid the
"restart" race condition (as described in #4401 ).
Following the above change, text-based layout recording is removed.
[no changelog]
2025-02-07 11:21:44 +01:00
obrusvit
cf5b89f90a
refactor(core): get rid of font IDs in micropython
...
- application layer should not deal with fonts at all
- distinction between MONO and others is preserved by bool argument in
`should_show_more` interpreted as `is_data`
[no changelog]
2025-02-06 13:32:29 +01:00
tychovrahe
566f82ccd8
refactor(core): make homescreen max size model dependent
...
[no changelog]
2025-02-06 12:40:23 +01:00
obrusvit
fa9e5338c3
chore(common): set definition timestamps
...
[no changelog]
2025-01-29 11:55:35 +01:00
tomasklim
78768950fd
chore(core): use label for evm networks generation
2025-01-28 14:17:46 +01:00
obrusvit
15967a312b
fix(core): explicitly delete keyboard layout
...
- seems that keyboard LayoutObj was not properly deallocated resulting
in MemoryError. Fix by calling the dunder `del` method explicitly fixes
the issue
- the problem was on Model T (Bolt), but applying it for all layouts to
prevent similar problem
2025-01-27 23:43:33 +01:00
tychovrahe
69a61e98e0
feat(core): adjust codec_v1 to work with differently sized RX and TX packets
...
[no changelog]
2025-01-23 16:46:12 +01:00
tychovrahe
5fd773757c
fix(core): fix fading issues
2025-01-23 15:24:00 +01:00
Ioan Bizău
5a13b4560d
fix(core): get rid of colon in some TS5 descriptions
...
[no changelog]
2025-01-23 12:46:54 +01:00
Ioan Bizău
e99beaf486
refactor(core): merge confirm_blob and confirm_value
...
[no changelog]
2025-01-23 12:46:54 +01:00
obrusvit
00740b560c
refactor(core): consistent naming of UI layouts
...
- follow-up on 862c987779
- layout_bolt stays the same
- layout_samson -> layout_caesar
- layout_quicksilver -> layout_delizia
- use super for importing rust modules in layout code
[no changelog]
2025-01-20 12:29:24 +01:00
matejcik
38e362cd5b
fix(core): improve ButtonRequest.name in backup confirmation
...
[no changelog]
2025-01-17 11:28:12 +01:00
matejcik
8b6d8e7572
fix(all): make more protobuf fields required
...
[no changelog]
2025-01-17 11:28:12 +01:00
tychovrahe
b2a4db1463
feat(core): expose BLE functionality to micropython
...
[no changelog]
2025-01-14 09:15:12 +01:00
tychovrahe
eef2f4113f
refactor(core): improve USB events handling, more extensible implementation
...
[no changelog]
2025-01-13 18:46:11 +01:00