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

3842 Commits

Author SHA1 Message Date
cepetr
a5ddd13e8f fix(core): fix handover to bootloader
[no changelog]
2024-09-26 09:55:21 +02:00
tychovrahe
2530312091 fix(core): reboot immediately in boardloader if BHK is locked
[no changelog]
2024-09-26 09:54:45 +02:00
cepetr
454b8140ec fix(core): fix slow jpeg decoding
[no changelog]
2024-09-25 12:46:57 +02:00
tychovrahe
e13d4a45a6 chore(core): remove residual support for T1B1 in core
[no changelog]
2024-09-25 09:18:01 +02:00
cepetr
ab96ce7954 fix(core/embed): fix firmware invalidation
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
dfd17578b6 refactor(core): migrate coreapp into firmware
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
0c98f578ad fix(core): support 32 bit colors in terminal
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
0b8d42358e chore(core): remove flash otp interface from python
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
e9c025751c fix(core): fix storage offsets
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
57f72d5aa7 fix(core): use secure-unprivileged SAES XOR key for storage encryption
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
28f420189a refactor(core): combined build of coreapp + kernel, linker scripts refactoring
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
35c6f52133 refactor(core/embed): introduce system, tasks, applets and emergency mode
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
1c991339ce refactor(core/embed): split firmware into kernel & coreapp
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
7f3cff04f1 refactor(core/embed): introduce new mpu driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
8fab22522a refactor(core/embed): moving specific algorithms into fwutils
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
ae4e195d6e refactor(core/embed): simplify bootutils api
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
33a94d945d chore(core/embed): remove unused legacy i2c driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
2540b91823 refactor(core/embed): use new i2c driver in stmpe811 touch driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
fdd6a2a40e refactor(core/embed): use new i2c driver in sitronix touch driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
b93c16d8a7 refactor(core/embed): use new i2c driver in optiga driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
caede8e3ee refactor(core/embed): use new i2c driver in drv2625 driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
35937a9bfe refactor(core/embed): use new i2c driver in ft6x36 driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
ed74f8302f refactor(embed/core): replace enable/disable_irq by irq_lock/unlock
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
91649dc7cb feat(core/embed): introduce non-blocking i2c drivers
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
9e4a6d08e5 feat(code/embed): introduce ARRAY_LENGTH macro
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
a6741556d0 fix(core/embed): fix prodtest build
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
5210d2fa50 fix(embed/core): fix stack protection on STM32U5
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
0b93d0d848 fix(core/embed): make HardFault processing safer
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
2bb5b5c0ce refactor(core/embed): introduce fwutils module
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
0e45f92d3b refactor(core/embed): move __stack_chk_fail to a better location
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
b1a41ded79 refactor(core/embed): improve bootuils api
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
0666e6ea9a refactor(core/embed): rename boot_args to bootuils
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
5f97f5a8ea refactor(core/embed): make i2c header common for all platforms
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
741b30f7a2 chore(embed/core): add include guard to translations.h
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
2fd5aca05c refactor(core/embed): remove supervise module
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
1443f86983 feat(core/embed): introduce systick and systimer drivers
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
58d9f6115e fix(core/embed): fix aborting of bg_copy operation
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
d7462e93bb refactor(core/embed): remove FlashOTP module
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
a3fcc62655 refactor(core/build): remove hardcoded build path
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
4312c08612 refactor(core/embed): extract hw entropy logic to its own module
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
d87a250905 fix(core/embed): fix display initialization on T3T1 in boardloader
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
e106df766e refactor(core/embed): add initialized flag to display drivers
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
3f0770b4e1 fix(core/embed): fix backlight pwm settings during display deinit
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
33c2bcbe52 refactor(core/embed): simplify ensure_compatible_settings
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
1d8b29e746 refactor(core/embed): improve display driver init/deinit
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
d558950950 refactor(core/embed): simplify irq priorities
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
3fb55a373d refactor(core/embed): remove unnecessary sync from sdcard driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
20814f7ae6 refactor(core/embed): remove unnecessary pendsv exception handling
[no changelog]
2024-09-24 12:21:53 +02:00
Ioan Bizău
a59ded586e chore(core/translations): shorten a couple of menu item translations
[no changelog]
2024-09-24 11:57:34 +03:00
Ioan Bizău
6da38f4cf3 feat(core): show account info in ETH send/stake flow 2024-09-24 11:57:34 +03:00
matejcik
53c52cbf48 chore(core/bootloader): bump version 2024-09-23 09:32:57 +02:00
matejcik
33519dac50 docs(core/bootloader): changelog for bl 2.1.9 2024-09-23 09:32:57 +02:00
tychovrahe
c67d185da5 fix(core/bootloader): fix ignoring disconnected touch in production mode
[no changelog]
2024-09-20 15:13:36 +02:00
tychovrahe
12c3dc5ff8 chore(core): fix typos in touch.h
[no changelog]
2024-09-20 15:13:36 +02:00
tychovrahe
02533aa27a fix(core): fix bootloader_ci production build
[no changelog]
2024-09-18 08:27:32 +02:00
tychovrahe
6658c42a95 fix(core): use new rendering in changing_text
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
23d68eb0bb fix(core): fix model T new-rendering loader
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
c6a1eba4b6 fix(core): fix fading on model T bootloader
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
1dc5c4c03f fix(core): fix model_tr icons for new rendering
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
41273a25ed fix(core): fix blending mono 4 on mono 8 canvas
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
24c0552a43 feat(core): switch to new rendering everywhere
[no changelog]
2024-09-17 17:46:11 +02:00
Ioan Bizău
32be89a29a refactor(core): use code to append colon to strings
[no changelog]
2024-09-17 01:44:20 +02:00
Ioan Bizău
74fb627733 chore(core/translations): remove spaces before punctuation in fr
[no changelog]
2024-09-17 01:44:20 +02:00
Ioan Bizău
1c7bfdb04c refactor(core): use a template to add colon to strings
[no changelog]
2024-09-17 01:44:20 +02:00
Martin Milata
24a15c3a05 Merge branch 'release/24.09' 2024-09-16 13:43:03 +02:00
Martin Milata
19e3c4d4f8 Merge branch 'release/translations/24.09' 2024-09-16 13:41:30 +02:00
Ioan Bizău
4e0851d01b fix(core/ethereum): use BIP44 variant to detect ETH account # 2024-09-16 11:14:05 +03:00
tychovrahe
8507335806 fix(core): fix f4 monoctr in non-production builds
[no changelog]
2024-09-15 20:15:21 +02:00
Martin Milata
95fe6edb2d chore(core): bump core, core/bootloader, core/prodtest versions
core: 2.8.4
bootloader: 2.1.9
prodtest: 0.2.10

[no changelog]
2024-09-13 20:04:04 +02:00
obrusvit
8d1a9bc17f chore(core): remove duplicated FlowMsg conversion
[no changelog]
2024-09-13 12:08:42 +02:00
obrusvit
9b4b1203b6 refactor(core/mercury): remove some unused code
[no changelog]
2024-09-12 21:26:45 +02:00
obrusvit
aab68b9dfa feat(core/mercury): impl footer in RemainingShares 2024-09-12 21:26:45 +02:00
obrusvit
d15ecfb859 refactor(core/mercury): self-updating footer
This commit enables registering function for updating footer and header
based on the content. This eliminates the need to create wrappers around
Frame to update them.

[no changelog]
2024-09-12 21:26:45 +02:00
Martin Milata
47972bc2ec chore(core): include signed translations for 2.8.3 2024-09-12 17:51:12 +02:00
Ondřej Vejpustek
fb471a96f2 refactor(crypto): adapt ripemd160 implementation 2024-09-12 14:44:33 +02:00
Ioan Bizău
f6aa7cbb08 fix(core): tweak swipes in ETH staking flow 2024-09-12 11:45:30 +03:00
Martin Milata
a36c410e70 chore(core): bump core, core/bootloader, core/prodtest versions
core: 2.8.3
bootloader: 2.1.9
prodtest: 0.2.10

[no changelog]

(cherry picked from commit 43b7d717f2791c62f4ed1f4d724a8eb1c42a6398)
2024-09-11 23:09:29 +02:00
Martin Milata
7f373ae71e chore(core): bump translations to 2.8.3 2024-09-09 16:14:27 +02:00
Martin Milata
b30d60d946 chore(core): bump version to 2.8.3 2024-09-09 15:06:29 +02:00
Martin Milata
5d8461969a chore(core): add hashes for 2.1.8 bootloader 2024-09-09 14:21:38 +02:00
Martin Milata
37006592db chore(core): add signed bootloader 2.1.8 for T3B1 and T3T1 2024-09-09 12:12:39 +02:00
matejcik
62b56df573 fix(core/translations): update pt/tr/it translations with universal safe3 fonts 2024-09-09 09:12:49 +02:00
tychovrahe
656a86b8a0 chore(core): generate bootloader and prodtest changelogs
[no changelog]
2024-09-07 08:35:10 +02:00
tychovrahe
5eb68975d9 fix(core/prodtest): fix prodtest run with unlocked bootloader
[no changelog]
2024-09-07 08:35:10 +02:00
tychovrahe
be9255ae04 fix(core/bootloader): fix unlocking bootloader granting HDP access on U5
[no changelog]
2024-09-07 08:35:10 +02:00
tychovrahe
422b376ebd fix(core/bootloader): reporting bootloader lock state on U5
[no changelog]
2024-09-07 08:35:10 +02:00
tychovrahe
f3b78e9c7a fix(core/bootloader): fix firmware downgrade protection
[no changelog]
2024-09-07 08:35:10 +02:00
JoeGruff
d2a2ac2178 decred: Add input_derive_script.
Decred shares code with bitcoin and a recent change broke signing stake
based inputs. Add decred specific script construction and fix tests.
2024-09-06 10:52:47 +02:00
Martin Milata
cb76e1351d chore(core): changelog for bootloader and prodtest 2024-09-05 15:11:42 +02:00
Martin Milata
777ad11bec feat(core/translations): add it, pt
Partially added TR.
2024-09-03 21:58:09 +02:00
Martin Milata
d7e1f0faf3 docs(core): changelog for T3B1 2024-09-03 19:22:20 +02:00
Martin Milata
b4d4f82c78 docs(core): changelog for 2.8.2 2024-09-03 18:54:14 +02:00
Martin Milata
50da2bdfd1 chore(common): set definition timestamp to the current signed definitions
[no changelog]
2024-09-03 18:45:43 +02:00
Ioan Bizău
ba8f0ea4bc feat(core): use new ETH send flow also for staking 2024-09-03 18:59:53 +03:00
obrusvit
c5f9fadbd1 fix(core/mercury): show remaining shares
This commit enables showing "Remaining shares" from the context menu
during recovery process. This is only shown during super-shamir.
2024-09-03 14:20:34 +02:00
tychovrahe
708b0274f5 chore(core): bump monotonic versions
[no changelog]
2024-09-03 13:07:34 +02:00
tychovrahe
b685820fb3 feat(core): implement firmware downgrade protection 2024-09-03 13:07:34 +02:00
tychovrahe
395a4af9be refactor(core): extract monotonic version to model specific headers
[no changelog]
2024-09-03 13:07:34 +02:00
tychovrahe
c1864a2a91 refactor(core): enclose monotonic counter to platform specific module
[no changelog]
2024-09-03 13:07:34 +02:00
tychovrahe
d334b92073 feat(core): add bootloader unlocking functionality to U5 optiga models 2024-09-03 13:07:34 +02:00
matejcik
cc9e74772b chore(common): rename MATIC to POL, following a network upgrade 2024-09-03 12:52:42 +02:00
matejcik
234c065aae chore(core): support T3B1 for translation blobs 2024-09-03 10:35:14 +02:00
matejcik
bcd837ae26 chore(core): generate coininfo for T3B1
this also includes T1B1 in the generated python files, but we don't care
because T1B1 will never be included in a built firmware
2024-09-03 10:35:14 +02:00
tychovrahe
491647085f fix(core/bootloader): fix vendor image with new rendering
[no changelog]
2024-09-03 08:39:42 +02:00
tychovrahe
ee6410acdd fix(core/bootloader): fix repeated firmware upload
[no changelog]
2024-09-03 08:39:42 +02:00
tychovrahe
b8c27d5fd6 feat(core/bootloader): only allow confirm-less firmware installation for full-trust images 2024-09-03 08:39:42 +02:00
Martin Milata
7db1529533 refactor(core/ui): alternative multipage footer 2024-09-02 19:36:25 +02:00
Martin Milata
2572705d1f refactor(core/ui/mercury): delete CancelInfoConfirm
[no changelog]
2024-09-02 19:36:25 +02:00
Martin Milata
7c8be6f0ea fix(core/ui/mercury): FIDO2 layouts 2024-09-02 19:36:25 +02:00
tychovrahe
167f567ab0 fix(core/prodtest): T3B1 welcome screen changed to full white screen to match T2B1 2024-09-02 15:50:51 +02:00
tychovrahe
6caafd6642 fix(core/bootloader): fix T3B1 bootloader UI - unsafe screen, boot image 2024-09-02 15:50:51 +02:00
obrusvit
9e18e72a2c feat(core): ask for 20/33 words to unlock backup
Unlocking repeated backup is only possible with SLIP-39 extendable
backup which contains shares of 20 or 33 words. It is UI bug to have the
user choose from all options (12, 18, 20, 24, 33). This commit reduces
the choices when unlocking repeated backup to (20, 33) for all models.
2024-08-29 16:01:13 +02:00
tychovrahe
3bfc0b61e5 feat(core/tests): add core bootloader hashes to make gen and gen_check targets
[no changelog]
2024-08-29 12:47:24 +02:00
tychovrahe
7275a5544e refactor(core): move embedded bootloaders and their hashes to model folders
[no changelog]
2024-08-29 12:47:24 +02:00
matejcik
afb75892f2 chore(core): include T3B1 where relevant
also convert "INTERNAL_MODEL in (tuple)" to equality comparisons, see
previous commit

[no changelog]
2024-08-29 10:56:21 +02:00
tychovrahe
384615c047 fix(core): fix button alignment in T3T1 bootloader
[no changelog]
2024-08-29 10:49:32 +02:00
matejcik
4ac28e60f6 chore(core): regenerate networks
[no changelog]
2024-08-28 16:15:35 +02:00
matejcik
6ae96868df chore(core): use trezor-core-tools in scripts 2024-08-28 16:15:10 +02:00
matejcik
4208707088 refactor(core/tools): make combine_firmware nicer 2024-08-28 16:15:10 +02:00
matejcik
0ce00cbdb6 feat(core/tools): create a poetry-installable package from some cli tools
so that we can have them available globally inside the poetry shell
2024-08-28 16:15:10 +02:00
obrusvit
f0989e20b8 fix(core/ui): fix persistent word during recovery
Remove the current word from recovery progress if a user goes to
previous word.

[no changelog]
2024-08-28 14:33:02 +02:00
obrusvit
65d3fd00f1 fix(core/ui): fix mnemonic keys availability
This commit disables keys of mnemonic keyboard if their press cannot
lead to a valid word if the keyboard is initialized with a pre-filled
word. This is useful to get valid keyboard state when going to a
previous word during recovery.

[no changelog]
2024-08-28 14:33:02 +02:00
obrusvit
e2022db8fa feat(core/mercury): use less severe icon color
Not using danger color during onboarding.

[no changelog]
2024-08-28 14:21:07 +02:00
tychovrahe
c7eabe3088 fix(core): update display initialization sequence on T3T1
[no changelog]
2024-08-28 11:03:20 +02:00
matejcik
c39ba83c8b fix(core/debug): make sure return_layout_change does not crash on a race condition
[no changelog]
2024-08-28 00:08:48 +02:00
Andrew Kozlik
2a567f3a0c feat: Remove display_random feature. 2024-08-27 19:33:23 +02:00
Ioan Bizău
e3c3264f68 chore(core/translations): shorten es menu item 2024-08-27 16:21:03 +03:00
Ioan Bizău
b747a5bcc9 refactor(core): merge confirm_summary flow into confirm_output flow 2024-08-27 16:21:03 +03:00
Ioan Bizău
692eee3e07 feat(core): add progress to Ethereum transaction signing 2024-08-27 16:21:03 +03:00
Ioan Bizău
09d3301785 feat(core): improve ETH send flow 2024-08-27 16:21:03 +03:00
Ondřej Vejpustek
eaa12f1cad chore(crypto): update secp256k1 submodule to 0.5.1
[no changelog]
2024-08-23 17:00:52 +02:00
Ondřej Vejpustek
54eef8d886 refactor(crypto,core,lagacy): use secp256k1 submodule for ECDH
[no changelog]
2024-08-23 17:00:52 +02:00
Ondřej Vejpustek
df2545b78e chore(crypto,core,legacy): reduce size of precomputed table used by secp256k1 submodule
[no changelog]
2024-08-23 17:00:52 +02:00
cepetr
c0b295a9b1 fix(core/prodtest): fix prodtest build with NEW_RENDERING on
[no changelog]
2024-08-22 14:28:54 +02:00
obrusvit
e19138cdc8 chore(core): remove unused mercury ButtonContent
[no changelog]
2024-08-22 08:58:10 +02:00
obrusvit
b7dc557bfa feat(core): slight change of passphrase copy
Usage of different copy in mercury (especially titles and subtitles)
requires moving the layout code deeper into the model specifics.

[no changelog]
2024-08-22 00:47:15 +02:00
obrusvit
80792eae5a chore(core): regenerate lang jsons
[no changelog]
2024-08-22 00:47:15 +02:00
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