1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-02-02 02:41:28 +00:00
Commit Graph

1943 Commits

Author SHA1 Message Date
M1nd3r
fa21c19a49 fixup! fixup! fixup! fixup! fixup! wip: single packet decryption (not finished) [no changelog] 2025-01-17 12:46:29 +01:00
M1nd3r
3bac688fca fixup! fixup! fixup! fixup! wip: single packet decryption (not finished) [no changelog] 2025-01-17 12:46:29 +01:00
M1nd3r
7d84ff1e72 WIP: try simplify message handler, might break something
[no changelog]
2025-01-17 12:46:28 +01:00
M1nd3r
ea96290c28 chore: fix incomplete enum change
[no changelog]
2025-01-17 12:46:28 +01:00
M1nd3r
3f80b67235 chore(core): remove TODO comment from received_message_handler
[no changelog]
2025-01-17 12:46:28 +01:00
M1nd3r
447f1457ec chore(core): remove management session code from handle_ThpCreateNewSession
[no changelog]
2025-01-17 12:46:28 +01:00
M1nd3r
48f254fb73 fixup! fixup! fixup! wip: single packet decryption (not finished) [no changelog] 2025-01-17 12:46:28 +01:00
M1nd3r
6d9ba9ff03 chore(core): make wipe device proceed even if sending of success message fails
[no changelog]
2025-01-17 12:46:28 +01:00
M1nd3r
d5199c9805 fixup! fixup! wip: single packet decryption (not finished) [no changelog] 2025-01-17 12:46:28 +01:00
M1nd3r
5c5c8df83e fixup! wip: single packet decryption (not finished) [no changelog] 2025-01-17 12:46:28 +01:00
M1nd3r
7d3a45fc99 wip: single packet decryption (not finished)
[no changelog]
2025-01-17 12:46:28 +01:00
M1nd3r
9074721532 fix: return InvalidSessionError when trying to access cache of Seedless session
[no changelog]
2025-01-17 12:46:28 +01:00
M1nd3r
96525e5647 wip buffer locking-
[no changelog]
2025-01-17 12:46:28 +01:00
M1nd3r
04317406f7 wip - change session behavior
[no changelog]
2025-01-17 12:46:28 +01:00
M1nd3r
42d8d71499 wip 2025-01-17 12:46:28 +01:00
M1nd3r
f7be8faf10 fixup! feat(core): implement THP 2025-01-17 12:46:28 +01:00
M1nd3r
614c987737 wip 2025-01-17 12:46:28 +01:00
M1nd3r
1932926414 refactor(core): move handling of ThpCreateNewSession message into base.py
[no changelog]
2025-01-17 12:46:28 +01:00
M1nd3r
6db9ad86b6 refactor(core): move wire buffer handling completely to memory_manager
[no changelog]
2025-01-17 12:46:28 +01:00
M1nd3r
0bc65c80d3 refactor(core): move exclude list from wipe to wipe_cache
[no changelog]
2025-01-17 12:46:28 +01:00
M1nd3r
e9d23d2353 refactor(core): clean channel and received_message_handler
[no changelog]
2025-01-17 12:46:28 +01:00
M1nd3r
2c2252a9d6 refactor(core): improve readability and logging in channel.py
[no changelog]
2025-01-17 12:46:28 +01:00
M1nd3r
c6c7281fdc refactor(core): improve readability of channel_manager
[no changelog]
2025-01-17 12:46:28 +01:00
M1nd3r
8e2c82f146 feat(core): implement THP 2025-01-17 11:20:14 +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
M1nd3r
01cf58f2a1 docs(core): add and modify docs to context and cache
[no changelog]
2024-12-02 12:39:15 +01:00
M1nd3r
b1f07fec4f chore(core): update core to reflect cache and context refactor
[no changelog]
2024-12-02 12:39:15 +01:00
M1nd3r
8eb62fdeca refactor(core): abstract cache and context
[no changelog]
2024-12-02 12:39:15 +01:00
M1nd3r
0643d95a67 style: fix article
[no changelog]
2024-12-02 12:39:15 +01:00
Ondřej Vejpustek
ae32a23002 fix(core): disallow per-node paths in change outputs 2024-12-02 12:21:24 +01:00