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

1894 Commits

Author SHA1 Message Date
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
Martin Milata
c07ba50ce0 Merge branch 'release/24.08.01' 2024-08-21 09:55:29 +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
Martin Milata
8cffddb957 chore(common): set definition timestamp to the current signed definitions
[no changelog]
2024-08-01 15:54:27 +02:00
obrusvit
71b2c986f8 feat(core/ui): send BR from rust during recovery
[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
Ioan Bizău
33f5d47330 chore(core): rename "hidden wallet" -> "passphrase wallet"
[no changelog]
2024-07-29 17:45:28 +03:00
obrusvit
008490bf4b refactor(core/mercury): unify confirm TOS
[no changelog]
2024-07-28 23:14:12 +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
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
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
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
Ioan Bizău
a64b22cdef feat(core): add progress indicator when formatting SD cards 2024-07-15 13:32:06 +03: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
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
Martin Milata
106edd4309 feat(core/ui): T3T1: tutorial flow
[no changelog]
2024-07-01 09:35:11 +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
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
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
Andrew Kozlik
4ee81daee7 feat(core): Add optiga_sec field to Features
[no changelog]
2024-06-25 12:45:00 +02:00
tychovrahe
3a3259b574 feat(core/mercury): change homescreen flow 2024-06-24 21:43:08 +02:00
cepetr
0bc1d1f706 refactor(core/embed): refactor usb driver
[no changelog]
2024-06-19 11:48:06 +02:00
matejcik
da75d8f4b6 chore(common): make unused fields optional
[no changelog]
2024-06-10 11:06:06 +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
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
obrusvit
c1e8c652a6 fix(core): TS3 device freeze
[no changelog]

(cherry picked from commit b560ce53c0)
2024-06-07 14:55:55 +02:00
Martin Milata
924492ce1b chore(common): set definition timestamp to the current signed definitions
[no changelog]
2024-06-06 14:30:14 +02:00
matejcik
2bf2549a31 style(core): make newer pyrights happier 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
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
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
tychovrahe
09fc0ebf3e fix(core): add missing tap to confirm screens to mercury
[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
e268f79749 fix(core/ui): T3T1: improve passphrase prompt
[no changelog]
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
tychovrahe
e03d404dca fix(core): ensure drop is called on layout objects
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
5f30194a34 fix(core): prevent unnecessary display refreshing
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
a34c2cb9dd feat(core): animated lockscreen for mercury UI
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
1be6208a02 feat(core): remove mandatory startup wait for models other than T2T1 and T2B1
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
b9a55cf2a7 feat(core): add settings to turn haptic on/off
[no changelog]
2024-06-03 14:26:25 +02:00
tychovrahe
2e10d440fa fix(core): add subtitle to confirm action
[no changelog]
2024-06-03 14:26:25 +02:00
matejcik
7e2f985037 chore(core): drop unused progress impl 2024-06-03 14:26:25 +02:00
matejcik
9bed793f68 refactor(core): provide backlight values from Rust 2024-06-03 14:26:25 +02:00
tychovrahe
a65511846b feat(core): added user adjustable brightness setting 2024-06-03 14:26:25 +02:00
Martin Milata
69e406f7cf fix(core/ui): T3T1 device tests
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
cde0dce3ef fix(core/ui): T3T1: rebase on main 2024-05-31 11:59:52 +00:00
obrusvit
27d733f89d feat(core/ui): T3T1 backup checklist
Also add subtitle to ShareWords.

[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
43eeccac59 feat(core/ui): T3T1 request number flow
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
e5e8e27abc feat(core/ui): T3T1 recovery keyboards
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
250593125c feat(core): update translation strings
Based on latest Figma designs.

[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
b16411631b fix(core/ui): T3T1 ButtonRequests from rust
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
a212b325fe feat(core/ui): T3T1 send flow
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
11808a6f14 fix(core): rebase on drawlib 2024-05-31 11:59:52 +00:00
obrusvit
d8f20616be feat(core/ui): T3T1 set new PIN flow
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
63945ab86f refactor(core): remove upper() calls in mercury
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
03cd4fe363 refactor(core): mercury - seed to wallet backup
Applying change of string names from cherry-picked commit.

[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
091b51c9c4 fix(core/ui): T3T1 lints
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
5020868c2c feat(core/ui): T3T1 receive flow
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
1028c3500f feat(core/ui): T3T1 separate reset flows
Create separate flows for wallet creating, prompt of backup and
recovery.

Put more strings to copy.

Change style of Frame subheader.
2024-05-31 11:59:52 +00:00
obrusvit
4471281adc feat(core/ui): improve T3T1 recovery 2024-05-31 11:59:52 +00:00
obrusvit
0615b1bbc2 feat(core/ui): T3T1 confirm backup flow 2024-05-31 11:59:52 +00:00
obrusvit
8a56c393e2 feat(core/ui): T3T1 reset wallet screen
The first screen in wallet reset (onboarding or recovery) implemented as
a simple SwipeFlow to handle moving between Menu and back.
2024-05-31 11:59:52 +00:00
Martin Milata
1363495165 feat(core/ui): GetAddress flow demo 2024-05-31 11:59:52 +00:00
obrusvit
8978f36096 feat(core): T3T1 ShareWords component 2024-05-31 11:59:52 +00:00
obrusvit
55067a6d40 fix(core): rebase on current drawlib
Port new render function signature to model_mercury.
Fix some rebase errors.
Also port recent changes from mp <-> rust iface.

[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
8d4472a68e feat(core): init T3T1 UI layouts
Start with copy of components and layouts from T2T1.
2024-05-31 11:59:52 +00:00
Martin Milata
2ba42d716e feat(core): init T3T1 UI layouts: meta 2024-05-31 11:59:52 +00:00
M1nd3r
45d06f13eb feat(core): add device_secret and cred_auth_key_counter
[no changelog]
2024-05-31 10:50:16 +02:00
Martin Milata
3efa0f6bbd feat(core/ui): sending button requests from rust
[no changelog]
2024-05-28 21:20:38 +00:00
Andrew Kozlik
d4953e4af3 feat(core): Do not store identifier for SLIP-39 extendable shares. 2024-05-28 18:03:26 +02:00
Andrew Kozlik
f24c48ef1e feat(core): Add extendable BackupTypes. 2024-05-28 18:03:26 +02:00
Andrew Kozlik
b14b557efc refactor(core): Clean up BackupType usage. 2024-05-28 18:03:26 +02:00
Andrew Kozlik
9d0d1b3402 feat(core): Support extendable backup flag in SLIP-39. 2024-05-28 18:03:26 +02:00
Ioan Bizău
269adf4868 chore(core): add coin support info for T3T1 2024-05-24 13:53:05 +02:00
matejcik
44a6696f24 build(core): improve model detection
instead of MODEL_IS_T2B1, we now catch INTERNAL_MODEL == Txyz

this is still not perfect because it can't detect 'in'/'not in', which
sucks but what can we do
2024-05-24 13:53:05 +02:00
Peter Jaško
d1311e786a chore(cardano): Update URL max length 2024-05-23 10:01:48 +02:00
Peter Jaško
7eb6fcf43c feat(cardano): Tag sets 2024-05-23 10:01:48 +02:00
Peter Jaško
10e4352aad feat(cardano): Add Conway certificates 2024-05-23 10:01:48 +02:00
Ioan Bizău
3d74e30fa7 chore(core): rename Shamir to Multi-share
[no changelog]
2024-05-16 16:57:55 +03:00
Ondřej Vejpustek
ccb242ee1c chore(core): introduce THP flag
[no changelog]
2024-05-10 20:05:37 +02:00
Ondřej Vejpustek
2f699a1b6f feat(core): add elligator2 python bindings
[no changelog]
2024-05-10 20:05:37 +02:00
M1nd3r
2e58a4959f docs(core): fix reference to SLIP-23 in cardano node derivation
[no changelog]
2024-05-09 13:34:28 +02:00
obrusvit
f9e55a215d refactor(core): replace upper calls by upper font
[no changelog]
2024-05-08 22:46:58 +02:00
obrusvit
43e759ea0b refactor(core): apply uppercased fonts in build
[no changelog]
2024-05-08 22:46:58 +02:00
matejcik
8640b50d81 style(core): upgrade pyright to 1.1.361
[no changelog]
2024-05-07 11:57:10 +02:00
tychovrahe
6b31b8eec3 chore(core): change USB manufacturer and product strings for new models
[no changelog]
2024-05-06 13:10:36 +02:00
Ioan Bizău
7c97561565 chore(core): rename "seed" to "backup" 2024-05-01 09:23:40 +02:00
Ioan Bizău
8ec9545b89 chore(core): add an extra confirmation for non-1-of-1 Shamir backups 2024-05-01 09:23:40 +02:00
Ioan Bizău
4afe42a57e refactor(core): make 1-of-1 SLIP39 backups use same messaging as BIP39 2024-05-01 09:23:40 +02:00
Ioan Bizău
3006224bff feat(core): add ability to request backups with any number of groups/shares 2024-05-01 09:23:40 +02:00
Andrew Kozlik
27f54eec9c feat(core): Add unit packaging variant field to Features.
[no changelog]
2024-04-25 15:51:52 +02:00
Andrew Kozlik
703ea32ceb feat(core): Add aesgcm class to trezor.crypto Python module.
[no changelog]
2024-04-03 10:26:46 +02:00
matejcik
de2fe3d6d6 feat(core/ui): unify progress.py code between models, implement storage translations
fixes #3520
2024-03-30 12:10:59 +01:00
matejcik
b263dbc109 fix(all): improve Solana template generation 2024-03-26 15:22:32 +01:00
gabrielkerekes
b61ed7c02a fix(solana): round up transaction fee
If `unit_price * unit_limit / 1000000` didn't result in an integer `int()` would round the number down. However on the blockchain the resulting fee was be rounded up.
2024-03-25 16:31:01 +01:00
gabrielkerekes
9b84ecf833 fix(solana): accept compute budget instructions at any position 2024-03-25 16:31:01 +01:00
RostarMarek
8b485de173 feat(solana): Hidden flag functionality for instructions 2024-03-25 16:31:01 +01:00
Martin Milata
68ff90ccbd Merge branch 'release/24.03' 2024-03-20 23:51:47 +01:00
naiyoma
362958f906 [no changelog] refactor(core):Use utime.ticks_diff in src/boot.py for arithmetic operations 2024-03-18 11:59:32 +01:00
naiyoma
9f9354a820 [no changelog] Refactor arithmetic operations in fido2.py to use utime.ticks_add() and utime.ticks_diff() 2024-03-18 11:59:32 +01:00
naiyoma
d76829f817 [no changelog] refactor(core): Use utime.ticks_diff in verify_user_pin 2024-03-18 11:59:32 +01:00
Martin Milata
73a7223e7b test(core): add T3T1 support
[no changelog]
2024-03-12 20:55:23 +00:00
Martin Milata
ebb480ef29 fix(core): T3T1 emulator
[no changelog]
2024-03-12 20:55:23 +00:00
matejcik
b6e8567a49 fix(core): exclude altcoin functions from bitcoinonly build 2024-03-08 13:17:12 +01:00
matejcik
fd3919254c refactor(core/ui): rename confirm_payment_request to should_...
Because confirm_* returns None and raises on false.

but this layout is actually a prompt akin to should_show_more
2024-03-07 09:53:00 +01:00
matejcik
34965ca2cb refactor(core/ui): use LayoutObj signatures in layout files
* make sure every confirm_* returns None
* prefer "def -> Awaitable[T]" to "async def -> T" everywhere (avoids one useless allocation per call)
* type-check return values from Rust layouts
2024-03-07 09:53:00 +01:00
matejcik
99457bbcb0 refactor(core/ui): make request_number signature the same in TT and TR 2024-03-07 09:53:00 +01:00
matejcik
29863f84ca refactor(core): simplify context.wait() to only accept one task
Nobody was using the multi-task version and this is easier to properly
type-annotate.
2024-03-07 09:53:00 +01:00
tychovrahe
66583f2ebf fix(core): fix missing refresh in progress layout
[no changelog]
2024-02-29 23:40:17 +01:00
tychovrahe
8313c15f34 feat(core): allow SD card hotswap based on production date for Model T 2024-02-29 23:05:56 +01:00
Martin Milata
1fddb0b498 feat(core): Add Capability.Translations to Features
[no changelog]

(cherry picked from commit 48124023d7)
2024-02-29 13:24:32 +01:00
matejcik
5f016a896a chore: upgrade style checkers
black 24.2.0
flake8 7.0.0

some neat improvements for if-else statements there
2024-02-29 13:08:18 +01:00
Martin Milata
48124023d7 feat(core): Add Capability.Translations to Features
[no changelog]
2024-02-29 11:16:05 +00:00
Martin Milata
6b821a8cd5 chore(common): set definition timestamp to the current signed definitions
[no changelog]
2024-02-27 17:10:42 +01:00
Martin Milata
ae1f4cf5c9 feat(core/bitcoin): send BIP-380 descriptor in GetPublicKey response 2024-02-27 11:09:56 +01:00
Martin Milata
3f10a291b5 feat(common): send BIP-380 descriptor in GetPublicKey response
[no changelog]
2024-02-27 11:09:56 +01:00
Martin Milata
a2b53e3c46 feat(core): Add language_version_matches flag to Features
[no changelog]
2024-02-26 18:10:24 +01:00
Martin Milata
f53b945e61 feat(common): Add language_version_matches flag to Features
[no changelog]
2024-02-26 18:10:24 +01:00
matejcik
8c0e1e360e fix(core/translations): add indices to templates
so that we can change the template later without running into trouble

[no changelog]
2024-02-26 15:07:48 +01:00
obrusvit
83ac9d422f fix: show verb in TS3 confirm_value with info 2024-02-23 18:09:43 +01:00
obrusvit
e602a87c90 feat(core): allow chunkify of Stake address on TS3 2024-02-23 18:09:43 +01:00
obrusvit
ebcf3e2db2 feat(core): confirm ETH stake, unstake, claim 2024-02-23 18:09:43 +01:00
obrusvit
e2b7244383 Rename trezorctl self-test to prodtest-t1.
It was confusing for trezorctl users. The new name clearly signals that
it's meant to work only for Model One.
2024-02-22 11:47:26 +01:00
grdddj
5ce5d47171 chore(core): catch possible EOFError when parsing translations header
[no changelog]
2024-02-21 12:44:40 +01:00
grdddj
1ab2d843ab chore(core): add missing template to the variable name
[no changelog]
2024-02-21 12:44:40 +01:00
grdddj
0579ba54fc feat(core): allow for going back to previous word in recovery process 2024-02-19 22:05:04 +01:00
obrusvit
8c5f73c413 docs: improve documentation for core
[no changelog]
2024-02-13 16:51:54 +01:00