1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-16 19:38:09 +00:00
Commit Graph

3705 Commits

Author SHA1 Message Date
obrusvit
50dc265162 feat(core/mercury): impl flow_request_passphrase
This commit replaces request_passphrase with flow_request_passphrase.
The added benefit is that the user is prompted for confirmation if they
want to proceed with an empty passphrase.
2024-08-22 00:47:15 +02:00
obrusvit
60ad7219fe refactor(core): use PromptMsg instead of Option<>
PromptScreen now uses dedicated PromptMsg with Confirmed and Cancelled
values instead of empty Option<>. This change affects only mercury code.

This is more explicit and enables "yes" or "no" prompts screens.
Otherwise, the "no" option was handled by the 'x' button handled by
Frame.

[no changelog]
2024-08-22 00:47:15 +02:00
obrusvit
2b4d6eb798 feat(core/mercury): passphrase confirm empty btn
[no changelog]
2024-08-22 00:47:15 +02:00
obrusvit
15526343c9 feat(core/mercury): introduce binary_selection
This commit adds a Component which prompts a user with a pair of two
buttons - left and right. The Component is parametrized by the buttons
contents and styles.

[no changelog]
2024-08-22 00:47:15 +02:00
obrusvit
d99a94758b feat(core/mercury): allow passphrase in FlowStore
[no changelog]
2024-08-22 00:47:15 +02:00
obrusvit
2203d9be1a feat(core/ui): introduce FlowMsg::Text option
This commit allows flows to work with ShortString which can be converted
to micropython as str.

[no changelog]
2024-08-22 00:47:15 +02:00
Ondřej Vejpustek
eef4319cda chore(crypto,legacy,core): add comments about prefixes
[no changelog]
2024-08-21 17:19:24 +02:00
Ondřej Vejpustek
20f75e001b fix(core,legacy): fix curve25519 public key prefix 2024-08-21 17:19:24 +02:00
Ondřej Vejpustek
59a005bf99 refactor(crypto): change ed25519 and curve25519 public key prefix
[no changelog]
2024-08-21 17:19:24 +02:00
Ondřej Vejpustek
865ca5f0a9 fix(crypto): fix fingerprints for curve25519 and ed25519 2024-08-21 17:19:24 +02:00
Ondřej Vejpustek
5912c1e820 refactor(crypto): use boolean to indicate public key is set
[no changelog]
2024-08-21 17:19:24 +02:00
Martin Milata
4868a04107 docs(core): changelog: 2.8.1 not released for T2B1 2024-08-21 10:33:10 +02:00
Martin Milata
c07ba50ce0 Merge branch 'release/24.08.01' 2024-08-21 09:55:29 +02:00
tychovrahe
dc276d1520 fix(core/bootloader): fix firmware update on stm32u5a
[no changelog]
2024-08-20 13:12:18 +02:00
tychovrahe
a265b0f176 fix(core/bootloader): evaluate model before vendor header signature when installing firmware 2024-08-20 12:22:35 +02:00
tychovrahe
5417ec15df fix(core): introduce ui_overlay feature - fixes T3T1 bootloader compilation with new rendering
[no changelog]
2024-08-19 12:17:11 +02:00
tychovrahe
77eeabf7f5 fix(core/prodtest): fix expected param numbers for TOUCH_IDLE command
[no changelog]
2024-08-19 12:16:58 +02:00
tychovrahe
4b68431f7c feat(core): tune consumption mask protection on T3B1
[no changelog]
2024-08-07 18:11:43 +02:00
tychovrahe
c42c268e05 fix(core): fix dma2d includes and initialization with respect to new rendering
[no changelog]
2024-08-07 18:11:29 +02:00
tychovrahe
171961829a fix(core): fix gfx_clear
[no changelog]
2024-08-07 18:11:29 +02:00
vdovhanych
bb92a6b56a chore: fix hardcoded x86 build 2024-08-06 15:34:29 +02:00
Ondřej Vejpustek
aedef2d69d refactor(core/tests): create template for solana
[no changelog]
2024-08-06 13:48:20 +02:00
Ondřej Vejpustek
90eef5331a refactor(core/solana): use local constants
[no changelog]
2024-08-06 13:48:20 +02:00
Ondřej Vejpustek
1c5d47a875 refactor(core/solana): use variables instead of literals
[no changelog]
2024-08-06 13:48:20 +02:00
matejcik
c6093c7a1a chore(core): include signed translations for 2.8.1 2024-08-06 13:28:00 +02:00
matejcik
632b956155 docs(core): added Solana fix to changelog 2024-08-05 15:53:52 +02:00
Ondřej Vejpustek
5bba2e0aad feat(core): improve optiga initialization error handling
[no changelog]
2024-08-01 23:04:20 +02:00
tychovrahe
7307c47b94 chore(core): support new rendering on T3B1
[no changelog]
2024-08-01 16:17:12 +02:00
tychovrahe
182f8d9774 chore(core): fix unused warning
[no changelog]
2024-08-01 16:17:12 +02:00
tychovrahe
effd81ed3b chore(core): fix xframebuffer conditionals
[no changelog]
2024-08-01 16:17:12 +02:00
matejcik
ee6ab8effb docs(core): generate changelog for 2.8.1 2024-08-01 16:09:03 +02:00
Martin Milata
8cffddb957 chore(common): set definition timestamp to the current signed definitions
[no changelog]
2024-08-01 15:54:27 +02:00
tychovrahe
4397978563 chore(core): add T3B1 binaries
[no changelog]
2024-08-01 13:29:38 +02:00
Martin Milata
c3161f8b18 chore(core): bump version to 2.8.2
[no changelog]
2024-07-31 14:15:42 +00:00
Ondřej Vejpustek
52437b1fc8 feat(core): improve optiga initialization error handling
[no changelog]
2024-07-31 14:55:30 +02:00
Andrew Kozlik
13de099bc1 refactor(core): Improve parameter naming in ed25519_sign_ext().
[no changelog]
2024-07-31 13:34:34 +02:00
Andrew Kozlik
6ed8aad608 fix(core): Remove bias in ed25519.generate_secret()
[no changelog]
2024-07-31 13:34:34 +02:00
tychovrahe
b37971eea4 feat(core/prodtest): add commands to read bootloader and boardloader versions 2024-07-31 13:05:06 +02:00
tychovrahe
e30fe7769a feat(core/prodtest): add more touch layer tests 2024-07-31 13:05:06 +02:00
obrusvit
fbf380caba refactor(core/mercury): init Paragraphs from Vec
[no changelog]
2024-07-31 11:52:47 +02:00
obrusvit
71b2c986f8 feat(core/ui): send BR from rust during recovery
[no changelog]
2024-07-31 11:36:32 +02:00
obrusvit
510230628b feat(core): allow BR from rust on every Attach
This commit allows creating a rust flow in which a component sends the
configured ButtonRequest repeatedly on every Event::Attach.

This is necessary in recovery homescreen flow where we want to send
ButtonRequest also after restarting the device.

[no changelog]
2024-07-31 11:36:32 +02:00
obrusvit
11308f578d feat(core/ui): T3T1 instruction screens between shares
Changes the content and visual appearance of the screens between shares
during multi-share (shamir) recovery. Context menu with the option to
cancel is added to the screen.
2024-07-31 11:36:32 +02:00
Martin Milata
6c75d9f97a docs(core): fix 2.8.0 changelog 2024-07-31 08:56:47 +00:00
Ioan Bizău
4afaf4c41e Revert "fix(core/translations): remove unbreakable spaces for now"
This reverts commit cca066c476.

[no changelog]
2024-07-30 18:48:01 +03:00
Ioan Bizău
5188dfc83d feat(core): deal with non-breaking spaces
[no changelog]
2024-07-30 18:48:01 +03:00
Ioan Bizău
a35e9ba5fa chore(core/translations): use ASCII apostrophe in French
[no changelog]
2024-07-30 17:56:57 +03:00
cepetr
470d6ec24e fix(core/embed): fix too frequent reading of touch panel registers
[no changelog]
2024-07-30 16:53:52 +02:00
Ioan Bizău
33f5d47330 chore(core): rename "hidden wallet" -> "passphrase wallet"
[no changelog]
2024-07-29 17:45:28 +03:00
tychovrahe
79feb690ad fix(core/mercury): prefer vertical swipes over horizontal 2024-07-29 15:47:24 +02:00
Ioan Bizău
6f96585d4b feat(core): make brightness an u8
[no changelog]
2024-07-29 13:30:34 +03:00
tychovrahe
a15dd6598f fix(core/mercury): improve share words swiping animation 2024-07-29 09:07:35 +02:00
obrusvit
008490bf4b refactor(core/mercury): unify confirm TOS
[no changelog]
2024-07-28 23:14:12 +02:00
obrusvit
f41176af02 feat(core/mercury): change FW update UI
This commit changes the UI of confirming interaction-less firmware
update.
2024-07-28 22:11:30 +02:00
Ioan Bizău
53799cdee8 fix(core/ui): fix cancel in ethereum sign tx flow
[no changelog]
2024-07-26 10:15:40 +03:00
Martin Milata
888e384f79 refactor(core/mercury): remove unnecessary Child
[no changelog]
2024-07-25 21:09:43 +00:00
tychovrahe
1212a7319a fix(core): T3T1: adjust touch coordinates 2024-07-25 12:37:21 +03:00
tychovrahe
edd5351732 fix(core): fix missing touch events when PRESS_DOWN is missed
[no changelog]
2024-07-25 12:37:21 +03:00
obrusvit
fa9e2c0702 fix(core): templates for SLIP39 checklist
The commmit fixes translation strings templates for non-en langs.

[no changelog]
2024-07-22 12:09:16 +02:00
obrusvit
c6df2179d6 fix(core): show correct word count in more info
Make translated strings describing recovery shares templated so that we
can show correct number of words (i.e. 20 or 33) in more info.
2024-07-22 12:09:16 +02:00
obrusvit
0d987a68f4 fix(core/mercury): multi-share backup more info
The commit fixes More Info screen hidden behind context menu during a
prompt for number of shares and shares threshold. It removes wrong title
and enables changing the info text based on currently selected number.
2024-07-22 12:09:16 +02:00
matejcik
b567a91c22 chore(core): changelogs and bump versions of boardloader, bootloader, prodtest 2024-07-19 22:06:52 +03:00
M1nd3r
27fc3a6614 test(core): unify noqa style
[no changelog]
2024-07-19 17:47:59 +02:00
obrusvit
bd6c954a4f fix(core): add inverted exclamation mark for ES
[no changelog]
2024-07-19 15:05:36 +02:00
obrusvit
958d08cc91 fix(core/mercury): small copy change in tutorial
[no changelog]
2024-07-19 15:05:36 +02:00
Ioan Bizău
522d33a71f refactor(core): send out ButtonRequest name
[no changelog]
2024-07-19 11:28:07 +03:00
Ioan Bizău
1ef88117fe fix: make sure storage.cache import is correctly retained
[no changelog]
2024-07-19 11:24:50 +03:00
Ioan Bizău
c7ec093863 feat(core): make "experimental features" storage field public to get rid of the cached field
[no changelog]
2024-07-19 11:24:50 +03:00
Ioan Bizău
7a32ebf2b6 refactor(core): use set-/get_bool in storage cache
[no changelog]
2024-07-19 11:24:50 +03:00
obrusvit
108d9c737e feat(core/mercury): add rounded overlay to keypads
Make the corner keys of passphrase and mnemonic keyboards rounded by an
overlay, similarly to PIN keyboard.

[no changelog]
2024-07-18 23:57:13 +02:00
M1nd3r
e34a027291 style(core): fix indentation in crc32 documentation
[no changelog]
2024-07-18 14:40:43 +02:00
tychovrahe
a700ff8dff refactor(core): extract non-generic code from SwipeContent
[no changelog]
2024-07-18 09:12:35 +02:00
tychovrahe
df018a2af8 refactor(core/mercury): extract non-generic code from confirm action
[no changelog]
2024-07-17 20:57:58 +02:00
tychovrahe
873658104d refactor(core/mercury): extract non-generic code from frame component
[no changelog]
2024-07-17 20:23:19 +02:00
tychovrahe
f2bdd6e189 fix(core/mercury): change status screen - display message in center after animation
Because some messages didn't fit the title
2024-07-17 20:23:19 +02:00
tychovrahe
747303fd39 fix(core/mercury): fix trace impl for TapToConfirm and HoldToConfirm
[no changelog]
2024-07-17 20:23:19 +02:00
tychovrahe
905beb6ede refactor(core/mercury): extract swipe cover rendering from frame
[no changelog]
2024-07-17 20:23:19 +02:00
tychovrahe
e6a2a3b263 refactor(core/mercury): extract frame header to separate component
[no changelog]
2024-07-17 20:23:19 +02:00
Ioan Bizău
7d90552d81 refactor(core/ui): new Mercury design for number input slider 2024-07-17 17:10:05 +03:00
Ioan Bizău
7404436305 refactor(core/ui): optimize brightness settings for Mercury 2024-07-17 17:10:05 +03:00
tychovrahe
2994317dcd fix(core/mercury): homescreen attach animation, resume animations after an interrupt from workflow 2024-07-16 23:12:32 +02:00
tychovrahe
6b3aa768bd fix(core/mercury): remove universal backlight fading 2024-07-16 23:12:32 +02:00
matejcik
759ce5bc14 fix(core): queue events from iface if all tasks waiting on that iface are gone
this juuust might fix unexplained freezes on hardware
2024-07-16 23:12:32 +02:00
tychovrahe
ff869dd864 feat(core/mercury): pin entry animation
[no changelog]
2024-07-16 23:12:32 +02:00
tychovrahe
b99325a764 feat(core/mercury): menu animation 2024-07-16 23:12:32 +02:00
Martin Milata
7e26e1df15 chore(core/rust): drop unused ui_bounds
[no changelog]
2024-07-16 16:23:19 +00:00
tychovrahe
354dad617d fix(core): fix vector table alignment on STM32U5
[no changelog]
2024-07-16 16:38:48 +02:00
tychovrahe
03199cd553 fix(core): include QA bootloader when building for fw for device with DEV bootloader
[no changelog]
2024-07-16 15:56:28 +02:00
tychovrahe
655478c3e0 fix(core): fix missing TS3 font in bootloader
[no changelog]
2024-07-16 15:56:28 +02:00
tychovrahe
7c94080227 refactor(core): move vendor headers to model specific directories
[no changelog]
2024-07-16 15:56:28 +02:00
tychovrahe
15b42afc55 feat(core): add temporary DEVICE_CERT_CHAIN for T3B1
[no changelog]
2024-07-16 15:56:28 +02:00
tychovrahe
11b1d5ca41 chore(core): add T3B1 production keys
[no changelog]
2024-07-16 15:56:28 +02:00
tychovrahe
78b4017859 feat(core): add support for T3B1 2024-07-16 15:56:28 +02:00
matejcik
3884abde64 chore(core/rust): remove warnings in translations 2024-07-16 13:29:56 +02:00
matejcik
3fcb0acaff refactor(core/rust): refactor SwipeFlow
* remove SwipeStore in favor of Vec<dyn FlowComponent>
* unify state and controllers
* implement tighter coupling between controller/states and pages of the
flow
2024-07-16 13:29:56 +02:00
matejcik
4c10a4f643 chore(core/rust): publish the ConcreteRenderer types for each renderer version
we need them to be able to spell out a concrete type of the argument to
`render()`
2024-07-16 13:29:56 +02:00
Ioan Bizău
a64b22cdef feat(core): add progress indicator when formatting SD cards 2024-07-15 13:32:06 +03:00
matejcik
8fa602cefe chore(core): add signature for 2.8.0 translation blobs 2024-07-15 09:52:36 +02:00
Martin Milata
8869b16c83 chore: generate-changelog.py adjustments
- add T3T1 to the list of core hardware
- add flag for regenerating model-specific changelogs in case the main
  one is manually edited
- generate headings in the same format as currently used in
  core/CHANGELOG.md
2024-07-12 20:43:26 +00:00
tychovrahe
e3b9548506 chore(core): add TS5 background image for emulator
[no changelog]
2024-07-12 15:38:33 +02:00
matejcik
52333d5b04 debug(core): make C impl of __fatal_error print to stderr
Previously, any C assertion or other case of __fatal_error would only
show the RSOD, but not print to emulator output.

That is (a) mildly annoying, and (b) would not work in the weird case in
Rust unit tests where graphics are not available.
2024-07-12 09:46:50 +02:00
matejcik
863dee1a43 refactor(core/rust): reorganize LayoutObj
* move most actual functionality to LayoutObjInner
* subsume features of top-level Root and Child into LayoutObjInner
(saving ~7 kB of flash because LayoutObjInner is not generic)
* make use of GcBox to drop the top-level component
2024-07-12 09:46:50 +02:00
matejcik
2a896c44f6 feat(core/rust): introduce GcBox 2024-07-12 09:46:50 +02:00
Martin Milata
a05ed10f1a fix(core): emulator: coverage data atexit handler
Partially reverts 5fc3c6e617.

[no changelog]
2024-07-11 17:33:15 +00:00
matejcik
ca1c5c4e33 feat(core/translations): cli.py merge command 2024-07-11 12:59:43 +00:00
Martin Milata
1c9f925418 fix(core/translations): remove unbreakable spaces for now
[no changelog]
2024-07-11 12:59:43 +00:00
Martin Milata
9304f6aa80 chore(core): update translations
jq --sort-keys -s '.[0] * .[1]' es.json es-ES_diff_tutorial.json > es.json.tmp && mv es.json.tmp es.json

[no changelog]
2024-07-11 12:59:43 +00:00
Martin Milata
700512901b docs(core): fix 2.8.0 release date 2024-07-10 11:38:16 +00:00
Martin Milata
98dca4db4c Merge branch 'release/24.07' 2024-07-10 12:24:18 +02:00
Andrew Kozlik
e84f969f4f feat(core): Implement DebugLinkOptigaSetSecMax. 2024-07-09 16:52:50 +02:00
Andrew Kozlik
b71a809da3 feat(common): Add DebugLinkOptigaSetSecMax message.
[no changelog]
2024-07-09 16:52:50 +02:00
Andrew Kozlik
a4cf0b2c72 feat(core): Show PIN initialization progress when Optiga throttling delays are active 2024-07-09 16:52:50 +02:00
Andrew Kozlik
9420b38a35 feat(core): Account for Optiga throttling delay in PIN countdown. 2024-07-09 16:52:50 +02:00
matejcik
d82d5a1fe5 build(core): fix build for GCC13
we need to cherry-pick two commits into the micropython submodule, and
adapt one of the fixes
2024-07-09 14:14:13 +02:00
mgiannopoulos24
25cb005693
fix(core): add missing filename argument (#4003)
* Code improvement on printf
2024-07-09 14:12:07 +02:00
tychovrahe
3bc9e23260 feat(core): add support for 32bit colors in UI
[no changelog]
2024-07-09 11:44:21 +02:00
tychovrahe
6667f96911 fix(core): fix T2B1 display orientation south 2024-07-08 17:40:14 +02:00
cepetr
59961984c3 feat(core/embed): prepare backlight driver for low power mode
[no changelog]
2024-07-08 12:05:20 +02:00
cepetr
68911c972b chore(core/embed): remove unused code
[no changelog]
2024-07-08 12:04:49 +02:00
cepetr
076b476cf5 fix(core/embed): fix memory clearing in u5 boardloader
[no changelog]
2024-07-08 12:04:49 +02:00
cepetr
0ea965d07e fix(core/embed): fix touch driver on dev kits
[no changelog]
2024-07-08 12:04:29 +02:00
obrusvit
4fe4bb0bed chore(core): remove some unused assets and code
Removing model_t leftovers from mercury code.

[no changelog]
2024-07-03 14:16:10 +02:00
Andrew Kozlik
ff653f038e feat(core): Optimize Optiga counter initialization.
[no changelog]
2024-07-01 18:05:20 +02:00
Andrew Kozlik
869b6fe6dc refactor(core): Use remaining PIN attempts in Optiga API.
[no changelog]
2024-07-01 18:05:20 +02:00
Andrew Kozlik
fc09379877 refactor(core): Clean up Optiga error handling.
[no changelog]
2024-07-01 18:05:20 +02:00
Martin Milata
99c3d35e07 chore(core): bump version to 2.8.1
[no changelog]
2024-07-01 11:57:32 +00:00
Martin Milata
dd4671a510 docs(core): changelog for 2.8.0 2024-07-01 11:56:56 +02:00
Martin Milata
54441182ea chore(common): set definition timestamp to the current signed definitions
[no changelog]
2024-07-01 11:49:31 +02:00
gabrielkerekes
6f76ac3be6 fix(solana): allow AToken Create instruction to contain an optional rent_sysvar account
This is needed because some dApps (https://jup.ag/perps or http://solend.fi/) include the rent_sysvar account although it's not required anymore (it's also not a part of the [official docs](https://docs.rs/spl-associated-token-account/latest/spl_associated_token_account/instruction/enum.AssociatedTokenAccountInstruction.html#variant.Create)).
2024-07-01 09:46:40 +00:00
tychovrahe
23d31cc8b3 fix(core): fix lockscreen Not connected label hiding
[no changelog]
2024-07-01 09:07:07 +00:00
Martin Milata
106edd4309 feat(core/ui): T3T1: tutorial flow
[no changelog]
2024-07-01 09:35:11 +02:00
tychovrahe
b4200162ab fix(core): fix doubled touch clicks
[no changelog]
2024-07-01 09:33:40 +02:00
tychovrahe
283baa412a fix(core): fix backlight fading when first painting a layout
[no changelog]
2024-07-01 09:33:40 +02:00
tychovrahe
d08f5d05aa fix(core/mercury): improve handling and visual of swipes when displaying words 2024-07-01 09:33:40 +02:00
tychovrahe
e5fc1e1d42 fix(core/mercury): fix swipe animation when repeatedly touching display while the transition is already in effect 2024-07-01 09:33:40 +02:00
tychovrahe
56385f79c7 fix(core/mercury): disallow swipes when touch starts too close to an edge of the display 2024-07-01 09:33:40 +02:00
tychovrahe
bfbcecc085 fix(core/mercury): fix swipe effect duration when swipe is cancelled 2024-07-01 09:33:40 +02:00
tychovrahe
272b668feb fix(core/mercury): remove instant lock-trigger swipe behavior
[no changelog]
2024-07-01 09:33:40 +02:00
tychovrahe
a0e33d61bd fix(core/mercury): fix share words hold to confirm swipe effect 2024-07-01 09:33:40 +02:00
tychovrahe
e89ae8246d fix(core/mercury): do not block swipe on button press, abort press on swipe lock instead 2024-07-01 09:33:40 +02:00
tychovrahe
a4ff76e840 fix(core/mercury): adjust swipe effect direction when animating transition through python 2024-07-01 09:33:40 +02:00
obrusvit
2de8acc141 chore(core): remove CoSi functionality
trezorctl CoSi feature is removed from all models
2024-07-01 09:32:38 +02:00
obrusvit
665854cd9b chore(core): update translations
Translated copy for additional wallet backup info and some leftovers
from previous PRs.

[no changelog]
2024-06-30 12:07:09 +02:00
obrusvit
7adceec596 feat: use alternative numeral glyphs for T3T1
Numeral chars 0-9 mapped to glyphs indices 1298-1307.
This commit does not modify gen_font.py, see issue for that.
2024-06-30 12:07:09 +02:00
obrusvit
c73115df7b feat(core/ui): add PageCounter to T3T1 Footer
PageCounter sub-component is used within Footer to indicate progress in
screens, rendered e.g. as "1 / 20" for the first word in wallet backup.
2024-06-30 12:07:09 +02:00
obrusvit
aaa2ece3ba feat(core/ui): highlight repeated words on T3T1
ShowShareWords flow now informs the user if the word is repeated. The
most typical usecase in 1-of-1 shamir (SingleShare) where 3rd and 4th
word is "academic".
2024-06-30 12:07:09 +02:00
matejcik
6338ba994a docs(core): update Optiga-related changelogs 2024-06-25 13:37:54 +02:00
matejcik
8a3133bacc fix(core): include valid staging certificate for T3T1 emulator 2024-06-25 13:35:16 +02:00
Andrew Kozlik
4ee81daee7 feat(core): Add optiga_sec field to Features
[no changelog]
2024-06-25 12:45:00 +02:00
Andrew Kozlik
ca4bfa2ebd feat(core): Implement optiga.get_sec()
[no changelog]
2024-06-25 12:45:00 +02:00