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

1948 Commits

Author SHA1 Message Date
M1nd3r
a49bbd83b3 WIP: try simplify message handler, might break something
[no changelog]
2025-01-27 07:25:51 +01:00
M1nd3r
caa01b303f chore: fix incomplete enum change
[no changelog]
2025-01-27 07:25:51 +01:00
M1nd3r
ffacb53e41 chore(core): remove TODO comment from received_message_handler
[no changelog]
2025-01-27 07:25:51 +01:00
M1nd3r
6a65f0b6d6 chore(core): remove management session code from handle_ThpCreateNewSession
[no changelog]
2025-01-27 07:25:51 +01:00
M1nd3r
b08091b31e fixup! fixup! fixup! wip: single packet decryption (not finished) [no changelog] 2025-01-27 07:25:51 +01:00
M1nd3r
835d839107 chore(core): make wipe device proceed even if sending of success message fails
[no changelog]
2025-01-27 07:25:51 +01:00
M1nd3r
1fee27660e fixup! fixup! wip: single packet decryption (not finished) [no changelog] 2025-01-27 07:25:51 +01:00
M1nd3r
5b8a5f635b fixup! wip: single packet decryption (not finished) [no changelog] 2025-01-27 07:25:51 +01:00
M1nd3r
46df1e9084 wip: single packet decryption (not finished)
[no changelog]
2025-01-27 07:25:51 +01:00
M1nd3r
65c4c48b6a fix: return InvalidSessionError when trying to access cache of Seedless session
[no changelog]
2025-01-27 07:25:51 +01:00
M1nd3r
e8c7b6b4c3 wip buffer locking-
[no changelog]
2025-01-27 07:25:51 +01:00
M1nd3r
502cf5d31a wip - change session behavior
[no changelog]
2025-01-27 07:25:51 +01:00
M1nd3r
d3f7b4a165 wip 2025-01-27 07:25:51 +01:00
M1nd3r
6448f9da06 fixup! feat(core): implement THP 2025-01-27 07:25:51 +01:00
M1nd3r
c58ae0f888 wip 2025-01-27 07:25:51 +01:00
M1nd3r
fc05006d07 refactor(core): move handling of ThpCreateNewSession message into base.py
[no changelog]
2025-01-27 07:25:51 +01:00
M1nd3r
bc49a29a5c refactor(core): move wire buffer handling completely to memory_manager
[no changelog]
2025-01-27 07:25:51 +01:00
M1nd3r
7130d0baeb refactor(core): move exclude list from wipe to wipe_cache
[no changelog]
2025-01-27 07:25:51 +01:00
M1nd3r
92371bd39d refactor(core): clean channel and received_message_handler
[no changelog]
2025-01-27 07:25:51 +01:00
M1nd3r
5ec76106aa refactor(core): improve readability and logging in channel.py
[no changelog]
2025-01-27 07:25:51 +01:00
M1nd3r
bc5f17c42c refactor(core): improve readability of channel_manager
[no changelog]
2025-01-27 07:25:51 +01:00
M1nd3r
ea0a98da7c feat(core): implement THP 2025-01-27 07:25:50 +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
tychovrahe
e4f4985584 refactor(core): split polling can_read and reading from USB
[no changelog]
2025-01-13 17:42:30 +01:00
obrusvit
862c987779 refactor(core): consistent naming of UI layouts
- UI layouts name changes:
  - model_tt -> layout_bolt
  - model_tr -> layout_samson
  - model_mercury -> layout_quicksilver
- rust features `model_xyz` freed for different use, now it's
`layout_xyz`
- input_flow function names are based on UI layout and not internal
model name (i.e. quicksilver instead of t3t1)
- directory names and commentary changed accordingly

[no changelog]
2025-01-09 22:57:14 +01:00
matejcik
e0b4cab2db fix(core): retry creation of homescreen layout
For reasons unknown, a previous homescreen layout can sometimes survive
a GC cycle in main's unimport loop. Two homescreen layouts can't exist
simultaneously, so creating a new one would fail.

It _seems_ that after restarting the session, the homescreen object
still exists but is not reachable anymore, so a second GC cycle properly
disposes of it.

So what we do is simply catch the possible MemoryError, invoke GC
explicitly, and try again.
2025-01-03 14:15:14 +01:00
Ondřej Vejpustek
1a62cc8a59 fix(core): fix serialization of signatures and witnesses in multisig
[no changelog]
2025-01-02 15:07:25 +01:00
Andrew Kozlik
01a1f479a0 feat(core): Implement entropy check workflow in ResetDevice. 2025-01-02 13:44:36 +01:00
Andrew Kozlik
df97d8d958 feat(common): Add messages for entropy check workflow.
[no changelog]
2025-01-02 13:44:36 +01:00
obrusvit
e9ecbbc5e8 refactor(core): consistent use of confirm_address
- use `confirm_address` trait fn in both `confirm_output` and
`confirm_address` layout functions

[no changelog]
2024-12-19 00:09:20 +01:00
obrusvit
0e1696b3ed chore(core): cleanup warnings and clippy errors
[no changelog]
2024-12-19 00:09:20 +01:00
obrusvit
9caf540e16 refactor(core): remove trezorui2 module
- also remove "check" scripts which seem outdated

[no changelog]
2024-12-19 00:09:20 +01:00
obrusvit
dd9ac038d0 refactor(core): port functions to FirmwareUI
- keyboards
- standalone functions
  - disable_animations
  - check_homescreen_format
- confirm_action
- selectors
- confirm_firmware_update
- show_homescreen/lockscreen
- confirm_homescreen
- confirm_homescreen of mercury changed according to Figma
- set_brightness
- show_wait_text
- show_progress
- request_number
- show_checklist
- show_mismatch
- confirm_reset
- tutorial
- confirm_coinjoin
- confirm_modify_output/fee
- show_group_share_success
- show_remaining_shares
- show_success/warning/error/danger
- show_simple
- continue_recovery
  - confirm_recovery of model_t and model_r merged with
flow_continue_recovery of mercury into a continue_recovery_homepage
trait function, parameters renamed to be more descriptive
- show_share_words moved and refactored
  - model_t version was moved from using plain Paragraph to a dedicated
component `ShareWords` so that it's consistent with other models. This
allowed to move formatting to Rust and allowed the trait function to
have `words` parameter of type `Vec<TString, 33>`
  - model_r ShareWords::render slightly refactored to be consistent with
the new model_t version
  - mercury uses a unique version. The reason is that mercury SwipeFlow
contains also the initial screen with instructions and prompt screen at
the end.
- confirm_with_info
- show_info_with_cancel
- confirm_blob
- confirm_value
- confirm_properties
- confirm_more
- confirm_address
- prompt_backub
- confirm_emphasized
- show_address_details
- confirm_summary
- TR removed:
  - confirm_output_address and confirm_output_amount replaced with
confirm_blob. UI diff is minimal.
  - confirm_joint_total, replaced a TR-specific function with a generic
`confirm_properties` with no UI changes
- confirm_multiple_pages_texts
  - the function is TR specific and is used only in confirm_set_new_pin,
it would be better to use something different
- remaining mercury flows with no counterpart
  - confirm_blob_intro
  - flow_confirm_set_new_pin
  - flow_confirm_output
  - flow_get_address

[no changelog]
2024-12-19 00:09:20 +01:00
obrusvit
b2c6b09bfc feat(core): introduce FirmwareUI trait
- the commit introduces a trait defining high level UI building blocks,
common for all models.
- trezorui_api module exposes these functions to MicroPython world.
- `show_info` is implemented as a first function.

[no changelog]
2024-12-19 00:09:20 +01:00
obrusvit
091a0e8550 feat(core): introduce trezorui_api
- the new module is the place for type definitions of the interface
between rust and micropython world.
- the new module will replace `trezorui2` with `trezorui_api`

[no changelog]
2024-12-19 00:09:20 +01:00
Lukas Bielesch
6de0e5de0f chore(core): change display orientation labels [no changelog] 2024-12-09 15:03:57 +01:00
obrusvit
61ebb19515 refactor(core): mercury confirm_summary
- old confirm_total removed
- flow_confirm_summary refactored to confirm_summary

[no changelog]
2024-12-04 14:47:53 +01:00
obrusvit
af6240b52c refactor(core): model_r confirm_summary
- altcoin_tx_summary removed and replaced with confirm_summary

[no changelog]
2024-12-04 14:47:53 +01:00
obrusvit
6e94748e92 refactor(core): model_t confirm_summary
- model_t confirm_total refactored to confirm_summary
- parameter set changed to pave the way for unification across models

[no changelog]
2024-12-04 14:47:53 +01:00
matejcik
331e07b1e0 feat(core): disable animations in debug firmware by default
This makes it possible to run HW tests on the T3T1 where animations mess
things up. It also speeds up HW tests on other models slightly.

export TREZOR_DISABLE_ANIMATION=0 to build a debug firmware with
animations enabled
2024-12-03 11:02:17 +01:00
Ioan Bizău
13df961317 refactor(core/ui): introduce show_danger
This is a unified interface for flow_warning_hi_prio,
which was available only on Mercury before.

[no changelog]
2024-12-02 22:28:00 +01:00
Ioan Bizău
5c8ee873c6 chore(core/ui): remove new_confirm_address on Mercury
[no changelog]
2024-12-02 19:52:56 +01:00