1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-30 01:58:11 +00:00
Commit Graph

3606 Commits

Author SHA1 Message Date
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
Andrew Kozlik
4d4ee99716 fix(core): Increase Optiga MAX_RETRY_READ_MS to 6 sec. 2024-06-25 11:09:40 +02:00
tychovrahe
95c2cb2008 fix(core/mercury): show coinjoin authorized notification 2024-06-24 21:43:08 +02:00
tychovrahe
60add32e3b fix(core): T2B1 - left align title when changing homescreen
[no changelog]
2024-06-24 21:43:08 +02:00
tychovrahe
9ab2ba9157 feat(core/mercury): animated device label on homescreen/lockscreen 2024-06-24 21:43:08 +02:00
tychovrahe
3a3259b574 feat(core/mercury): change homescreen flow 2024-06-24 21:43:08 +02:00
Andrew Kozlik
f396d00c67 fix(core): Fix style and unix build.
[no changelog]
2024-06-24 16:04:03 +02:00
Andrew Kozlik
da068fb32e fixup! feat(core): Rework Optiga PIN slot configuration. 2024-06-21 18:55:01 +02:00
Andrew Kozlik
f393064ce7 feat(core): Improve PIN progress precision. 2024-06-21 18:55:01 +02:00
Andrew Kozlik
509e291118 feat(core): Rework Optiga PIN slot configuration. 2024-06-21 18:55:01 +02:00
Andrew Kozlik
9c50e15cf7 chore: Bump firmware and fix versions due to storage upgrade. 2024-06-21 18:55:01 +02:00
Andrew Kozlik
183e53d3c2 feat(storage): Rework PIN processing and upgrade storage. 2024-06-21 18:55:01 +02:00
Andrew Kozlik
7b636df35f feat(core): Rework Optiga PIN processing. 2024-06-21 18:55:01 +02:00
cepetr
a8f808822c fix(core/rust): shorten the ANIM_FRAME_TIMER deadline
[no changelog]
2024-06-19 16:40:23 +02:00
cepetr
bb310ad60d fix(core): improve framebuffer switching
[no changelog]
2024-06-19 16:40:23 +02:00
obrusvit
ed624e1cb8 feat(core/ui): use numerals in T3T1 checklist
[no changelog]
2024-06-19 16:02:24 +02:00
cepetr
bfedb96071 refactor(core/embed): prepare haptic driver for low power mode
[no changelog]
2024-06-19 14:05:35 +02:00
cepetr
3460c4b891 refactor(core/embed): prepare touch drivers for low power mode
[no changelog]
2024-06-19 14:03:38 +02:00
cepetr
089dc84f38 refactor(core/embed): remove unnecessary call to usb_stop
[no changelog]
2024-06-19 11:57:18 +02:00
cepetr
d8d6410284 refactor(core/embed): remove global deps from usb class drivers
[no changelog]
2024-06-19 11:57:18 +02:00
cepetr
baff1691a0 feat(core/embed): prepare usb driver for low power mode
[no changelog]
2024-06-19 11:57:18 +02:00
cepetr
a705335fe1 fix(core/embed): fix disc2 target build
[no changelog]
2024-06-19 11:57:18 +02:00
cepetr
0bc1d1f706 refactor(core/embed): refactor usb driver
[no changelog]
2024-06-19 11:48:06 +02:00
cepetr
8e429b0352 refactor(core/embed): move usb driver to its own folder
[no changelog]
2024-06-19 11:48:06 +02:00
cepetr
f5d35da635 fix(core/embed): fix random delays in usb driver
[no changelog]
2024-06-19 11:45:06 +02:00
obrusvit
a01a787113 refactor(core): remove StringType
This commit removes the last usage of StringType. In the future, we use
TString.

[no changelog]
2024-06-19 09:14:51 +02:00
matejcik
4e788aa2f5 fix(core/rust): more careful management of ShortString capacity 2024-06-19 09:14:51 +02:00
matejcik
8cf039740f style(core/rust): rustfmt 2024-06-19 09:14:51 +02:00
matejcik
8e52081d8a refactor(core/rust): unify String usage 2024-06-19 09:14:51 +02:00
matejcik
da37bce59d refactor(core/rust): drop ui::macros
removing inttostr!, build_string!, and relocating include_res!
2024-06-19 09:14:51 +02:00
matejcik
8134490e2e feat(core): introduce uformat!, use uDebug in favor of Debug
now that we have ufmt, this is just much nicer
2024-06-19 09:14:51 +02:00
matejcik
b406fc22f3 refactor(core/rust): clean up macro namespace 2024-06-19 09:14:51 +02:00
matejcik
567de6579e chore(core/rust): drop cstr_core dependency
now that we have c"..." literals in Rust
2024-06-19 09:14:51 +02:00
matejcik
ce2436245d chore(core/translations): add signatures for translation versions 2.7.1 and 2.7.2 2024-06-18 13:24:40 +02:00
matejcik
81d5cc29d5 fix(core/translations): properly update stored json version 2024-06-18 13:24:35 +02:00
Martin Milata
f2a2ddfd8d Merge branch 'release/24.06' 2024-06-17 22:14:02 +02:00
cepetr
ba56ff8483 refactor(core/embed): replace ensure(secfalse,... with error_shutdown
[no changelog]
2024-06-17 16:57:33 +02:00
cepetr
0f1cac9695 refactor(core): optimize assert/fatal_error for reduced flash footprint
[no changelog]
2024-06-17 16:57:33 +02:00
cepetr
06faae8f82 refactor(core/rust): replace panic! by fatal_error!
[no changelog]
2024-06-17 16:57:33 +02:00
cepetr
f5203011c5 feat(core/rust): introduce dbg_print and improve errors printing
[no changelog]
2024-06-17 16:57:33 +02:00
cepetr
5fc3c6e617 refactor(core): improve and simplify error handling
[no changelog]
2024-06-17 16:57:33 +02:00
Martin Milata
e7f083c3ca chore(core): bump version to 2.7.3
[no changelog]
2024-06-11 11:11:30 +00:00
tychovrahe
dfe6826101 fix(core): add missing swipe right to address QR screen - mercury ui 2024-06-10 14:50:28 +02:00
tychovrahe
84c182fdac fix(core): reduce animation frame requests when swiping
[no changelog]
2024-06-10 14:49:52 +02:00
matejcik
df051077ea chore(core/prodtest): bump version after release 2024-06-10 11:20:15 +02:00
matejcik
f556a1b4cc docs(core/prodtest): update changelog for v0.2.7 2024-06-10 11:17:20 +02:00
tychovrahe
b0b2ffd38f feat(core/prodtest): add reboot command 2024-06-10 11:10:33 +02:00
tychovrahe
000aa4ed21 fix(core/prodtest): fix touch_version command 2024-06-10 11:10:33 +02:00
matejcik
da75d8f4b6 chore(common): make unused fields optional
[no changelog]
2024-06-10 11:06:06 +02:00
Marek Polak
e90cf36624 chore(tests): remove params for unused checks
[no changelog]

(cherry picked from commit ff659a82d1)
2024-06-07 16:59:04 +02:00
Marek Polak
9a22d570f2 chore(core): remove unused checks
[no changelog]

(cherry picked from commit 8a7db4f1d3)
2024-06-07 16:59:04 +02:00
Marek Polak
ff659a82d1 chore(tests): remove params for unused checks
[no changelog]
2024-06-07 16:58:17 +02:00
Marek Polak
8a7db4f1d3 chore(core): remove unused checks
[no changelog]
2024-06-07 16:58:17 +02:00
Martin Milata
912535f6d2 Bump release version to 2.7.2 2024-06-07 16:04:56 +02:00
Ioan Bizău
731d6d0cdc chore(core): update copy and translate
[no changelog]

(cherry picked from commit b28e29cf4f)
2024-06-07 15:03:37 +02:00
Martin Milata
1d3ebd61c4 fix(core/ui): T3T1: wrong XPUB title
[no changelog]

(cherry picked from commit 3760dd307c)
2024-06-07 15:03:26 +02:00
tychovrahe
a3b6788967 fix(core): fix bootloader unlock check on STM32U5, fw only
[no changelog]

(cherry picked from commit 5a8989f00d)
2024-06-07 15:03:20 +02:00
obrusvit
c1e8c652a6 fix(core): TS3 device freeze
[no changelog]

(cherry picked from commit b560ce53c0)
2024-06-07 14:55:55 +02:00
obrusvit
b560ce53c0 fix(core): TS3 device freeze
[no changelog]
2024-06-07 14:35:08 +02:00
tychovrahe
5a8989f00d fix(core): fix bootloader unlock check on STM32U5, fw only
[no changelog]
2024-06-07 14:24:20 +02:00
Martin Milata
eff46b0d5c chore(core): bump version to 2.7.2
[no changelog]
2024-06-06 21:17:54 +00:00
Ioan Bizău
b28e29cf4f chore(core): update copy and translate
[no changelog]
2024-06-06 21:29:29 +02:00
Martin Milata
3760dd307c fix(core/ui): T3T1: wrong XPUB title
[no changelog]
2024-06-06 14:43:51 +00:00
Martin Milata
924492ce1b chore(common): set definition timestamp to the current signed definitions
[no changelog]
2024-06-06 14:30:14 +02:00
Martin Milata
d6186f105f docs(core): changelog for 2.7.1 2024-06-06 14:28:19 +02:00
matejcik
2bf2549a31 style(core): make newer pyrights happier 2024-06-06 14:00:13 +02:00
Martin Milata
cca066c476 fix(core/translations): remove unbreakable spaces for now 2024-06-06 14:00:13 +02:00
Martin Milata
e0dfa15e89 fix(core/ui): T3T1 confirm_action: hold implies prompt_screen 2024-06-06 14:00:13 +02:00
matejcik
ffe07f2ca6 feat(core): improve repeated backup
* allow upgrading from Single to Basic
* do not skip confirmation screen when sending BackupDevice from Suite
2024-06-06 14:00:13 +02:00
obrusvit
7b291725e2 fix: TypeError from SwipeUpScreen
This allows cancellable homescreen.

This commit also adds cancel to recovery homescreen.
2024-06-06 14:00:13 +02:00
obrusvit
e30de62adc tests: fix input_flows
Reset/recovery tests after adding Wallet created screen and separate
backup intro.

Regen signatures.json after rebase.

[no changelog]
2024-06-06 14:00:13 +02:00
obrusvit
fd59c2ce88 feat(core/ui): T3T1 backup cannot be skipped
This commit disallows the user to exit backup flow once initiated.

It also ensurer the  intro screen is shown when initiating backup via
protobuf msg after it was previously skipped during wallet creation.

[no changelog]
2024-06-06 14:00:13 +02:00
obrusvit
25a9ef3cf5 feat(core/ui): info screens before ShareWords
Inform the user about possible repeated words in 1-of-1 SLIP39.

Instruct the user to "repeat for all shares".

[no changelog]
2024-06-06 14:00:13 +02:00
obrusvit
d4b854a95e refactor(core): sync layout code
Refactor mercury layout code according to recent changes in model_t
layout code.

[no changelog]
2024-06-06 14:00:13 +02:00
obrusvit
936fe1aea9 feat(core/ui): T3T1 separate wallet created screen
Commit adds separate call of success screen after wallet is created.
This is to ensure the success is shown even when skip_backup is set in
the protob msg.

[no changelog]
2024-06-06 14:00:13 +02:00
obrusvit
dd70b438d3 feat(core/ui): default button active style
[no changelog]
2024-06-06 14:00:13 +02:00
obrusvit
5bd6996ae4 feat(core/ui): show success screens between shares
This commit also adds minor improvements to reset flow.

[no changelog]
2024-06-06 14:00:13 +02:00
obrusvit
72bdea6754 chore(core): remove BIG font from lang jsons
Foreign characters are not needed at the moment as the font is used only
in ShareWords.

[no changelog]
2024-06-06 14:00:13 +02:00
obrusvit
66495f3b8e chore(core): update lang jsons
Translations delivered from diff of en.json by the translation agency.

en.json is sorted.

[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
6911870654 fix(core/ui): T3T1: ethereum signtx hold
[no changelog]
2024-06-06 14:00:13 +02:00
tychovrahe
09fc0ebf3e fix(core): add missing tap to confirm screens to mercury
[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
b567d15732 perf(core/ui): T3T1: reduce ParagraphSources to save flash
[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
b64c8ef6a2 perf(core/ui): remove Child from T3T1 Frame
[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
320fa06122 fix(core/ui): T3T1: prompt screen for confirm_action
[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
4d6af487f4 fix(core/ui): T3T1: remove ButtonPage, Dialog, IconDialog
[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
e268f79749 fix(core/ui): T3T1: improve passphrase prompt
[no changelog]
2024-06-06 14:00:13 +02:00
tychovrahe
9ee670a440 feat(core): change default homescreen image for mercury
the default homescreen is rendered algorithmically, when changing homescreen to default we now use text message due to lack of scaling

[no changelog]
2024-06-06 14:00:13 +02:00
tychovrahe
0cd36cd41b fix(core): fix lockscreen animation cutting from right and bottom
[no changelog]
2024-06-06 14:00:13 +02:00
tychovrahe
2f6ade5911 feat(core): word quiz enter animation
[no changelog]
2024-06-06 14:00:13 +02:00
tychovrahe
6ad41aa06e feat(core): improve hold to confirm animation
[no changelog]
2024-06-06 14:00:13 +02:00
tychovrahe
a66dd78ef7 fix(core): fix missing hold to confirm screen
[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
9cd933b88e perf(core/ui): save flash by forbidding some inlining
[no changelog]
2024-06-06 14:00:13 +02:00
matejcik
d1cf36097a refactor(core): optimize repeated code for swipe directions 2024-06-06 14:00:13 +02:00
matejcik
fbfb000d62 refactor(core): optimize copyabilitity in swipe_detect 2024-06-06 14:00:13 +02:00
tychovrahe
a67bc19bac feat(core) screen transitions for mercury UI
[no changelog]
2024-06-06 14:00:13 +02:00
Ioan Bizău
ed58409888 chore(core): update tests 2024-06-05 12:35:09 +03:00
matejcik
cab6fd0799 refactor(core/wire): move restarting control to handle_single_message
that way it is possible to avoid restarting if we failed to find a
handler for a message (makes it faster with no ill effects because
"failed to find handler" (a) shouldn't happen and (b) doesn't cause any
significant fragmentation)
2024-06-05 12:35:09 +03:00
Ioan Bizău
8870869f93 chore(core): rename recovery type & kind and tweak feature flags 2024-06-05 12:35:09 +03:00
matejcik
49daeaa746 refactor(core): introduce wire filters 2024-06-05 12:35:09 +03:00
Ioan Bizău
8ef7dfab0d feat(core): implement repeated backup 2024-06-05 12:35:09 +03:00