1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-15 20:19:23 +00:00
Commit Graph

401 Commits

Author SHA1 Message Date
Andrew Kozlik
ec9756cabd feat(legacy): Support native SegWit external inputs with non-ownership proof. 2023-02-27 14:22:25 +01:00
Andrew Kozlik
fa2d618f7d feat(legacy): Implement SLIP-0019 proofs of ownership. 2023-02-27 14:22:25 +01:00
grdddj
ccf08df07d fix(legacy): show complete taproot QR code without any missing rows/columns
The QR code will be smaller (only one pixel per module), but scannable anyway.

When the QR code was bigger, but incomplete, Android devices had issues with scanning it.

[no changelog]
2023-02-22 14:48:04 +01:00
Martin Milata
fa34247c38 chore(core): update fixtures 2023-02-21 10:23:46 +01:00
grdddj
20d280d7e0 feat(core): ability to not show passphrase coming from host
[no changelog]
2023-02-17 12:55:11 +01:00
Martin Milata
afb5c55416 feat(core/ui): reset_device copy change
[no changelog]
2023-02-17 12:35:19 +01:00
grdddj
82bd908246 feat(core): EIP712 signing shows the ethereum address at the beginning 2023-02-14 15:30:05 +01:00
Martin Milata
034947985a fix(tests): increase delay between click test button presses
[no changelog]
2023-02-10 13:03:29 +01:00
Martin Milata
7a375b5642 feat(core/ui): adjust device customization layouts 2023-02-10 13:03:29 +01:00
grdddj
996fec5aae chore(core): delete newlines in strings where they do not delimit useful info
Done so we can use the same strings for both TT and TR

[no changelog]
2023-02-07 12:26:33 +01:00
matejcik
39a8e6bb50 tests(cosi): add invalid path tests 2023-02-03 13:01:47 +01:00
matejcik
8d44db5270 fix(core): ensure SLIP26 path is accepted for SignMessage 2023-02-03 13:01:47 +01:00
matejcik
3ed84a84e9 fix(core): update SLIP-26 signing paths 2023-02-03 13:01:47 +01:00
grdddj
32d5beb762 fix(core): making sure last layouts before signing are always HoldToConfirm
[no changelog]
2023-02-03 11:17:44 +01:00
matejcik
795fa3e7e2 chore(tests): add fixtures for click tests 2023-02-02 12:40:39 +01:00
matejcik
13c2f360f7 chore(tests): add sections to fixtures file 2023-02-02 12:40:39 +01:00
tychovrahe
236396338c refactor(core/rust): introduce icon/image type
[no changelog]
2023-01-30 12:33:39 +01:00
grdddj
021f41c23a fix(core): properly call request_passphrase_on_host dialogue
[no changelog]
2023-01-25 19:17:56 +01:00
grdddj
25dc6ff130 feat(core): implement loader based on time in milliseconds
[no changelog]
2023-01-25 19:17:56 +01:00
Andrew Kozlik
ab65b18b07 fix(core): Use lowercase in the name coinjoin.
[no changelog]
2023-01-21 10:35:09 +01:00
matejcik
958cbe2300 feat(legacy): allow Casa eth & btc signing for m/45' 2023-01-20 15:21:24 +01:00
grdddj
a79cf4752e fix(tests): correct ETH signmessage assertion and record the testcase
[no changelog]
2023-01-20 15:21:24 +01:00
tychovrahe
d00e87ea80 feat(core/rust): homescreen background image
[no changelog]
2023-01-19 14:11:42 +01:00
matejcik
497285f9a1 feat(core): make first steps to unify Rust API for both models
wip: unify confirm_action

wip: unify confirm_fido

wip: unify request_pin, clean up prompts

wip: unify select_word

wip: unify request_number

refactor(core/reset): refactor confirm_share_words

[no changelog]
2023-01-13 17:09:25 +01:00
tychovrahe
305b7fe84d fix(core/rust): fix position calculation from center and size
[no changelog]
2022-12-16 16:41:24 +01:00
Martin Milata
253f2587dc fix(core/ui): polish XPUB screen
[no changelog]
2022-12-15 17:24:15 +01:00
Martin Milata
bdec3f3979 fix(core/rust/ui): polish confirm_fido
[no changelog]
2022-12-15 17:24:15 +01:00
Martin Milata
5b3db7eca1 refactor(core/rust/ui): homescreen layouts
[no changelog]
2022-12-13 17:15:15 +01:00
Martin Milata
95d8a21294 feat(core/rust/ui): progress indicators
[no changelog]
2022-12-12 16:00:42 +01:00
Martin Milata
fc3ee87c25 feat(core/bitcoin): SignMessage: whitelist T1 firmware signing address_n
[no changelog]
2022-12-09 15:43:11 +01:00
Martin Milata
b12de5d861 feat(core): CoSi collective signatures 2022-12-09 15:43:11 +01:00
Martin Milata
701d75d6d8 fix(core/rust/ui): handle very long scrollbars on Model T
[no changelog]
2022-12-07 16:47:30 +01:00
Martin Milata
452857757a feat(core/rust/ui): support ask_pagination flag in confirm_blob
[no changelog]
2022-12-06 00:26:25 +01:00
Martin Novak
58276a7443 feat(core/ethereum, legacy/ethereum): add support to Ledger Live legacy derivation path 2022-11-30 14:23:47 +01:00
tychovrahe
38548f02f2 feat(core/rust): special shape erase button
[no changelog]
2022-11-30 13:49:12 +01:00
Martin Milata
f1a3f289bf chore(tests): drop unused UI fixtures
[no changelog]
2022-11-30 12:31:28 +01:00
Martin Milata
a61a46808e fix(core/rust/ui): no hyphens when breaking monospace lines
[no changelog]
2022-11-29 21:03:06 +01:00
grdddj
61277bd80a feat(core/ui): implement webauthn layouts for UI2
[no changelog]
2022-11-24 13:03:34 +01:00
Martin Milata
58d0788986 fix(core/ui): show fee rate in confirm_total
[no changelog]
2022-11-21 15:59:48 +01:00
grdddj
f48890afb3 chore(tests): make all the device tests work with UI2 2022-11-21 14:08:47 +01:00
tychovrahe
7cc62c2f37 fix(core): fix layout flow for UI2
[no changelog]
2022-11-08 00:15:34 +01:00
Andrew Kozlik
3707f19aee feat(core): Do not confirm coordinator identifier on Trezor.
[no changelog]
2022-11-07 18:40:35 +01:00
Andrew Kozlik
4e79eec188 feat(tests): Do not automatically enable experimental features in device tests. 2022-11-02 14:58:01 +01:00
David Misiak
ec83d0187f chore(cardano): update ui tests, add changelog 2022-10-31 16:08:39 +01:00
David Misiak
c36870defa chore(cardano): rename Catalyst to governance 2022-10-31 16:08:39 +01:00
Andrew Kozlik
1526215be5 fix(tests): Update UI fixtures. 2022-10-26 14:02:03 +02:00
grdddj
8668eba936 feat(core/ui): implement altcoin screens for UI2
[no changelog]
2022-10-24 13:38:31 +02:00
tychovrahe
da83d98539 refactor(core/rust): use icon blending for three-color icons
[no changelog]
2022-10-22 12:20:42 +02:00
Martin Milata
18352acce8 feat(core/rust/ui): replace TT Hoves Medium with DemiBold style
[no changelog]
2022-10-22 01:39:53 +02:00
Martin Milata
a7c3a07ef1 refactor(core/rust/ui): implement confirm_properties layout
[no changelog]
2022-10-21 21:02:39 +02:00
Andrew Kozlik
cc054050a5 feat(core): Improve Bitcoin signing progress display. 2022-10-17 15:20:46 +02:00
Martin Novak
dd168d2893 feat(core,legacy): display only sat instead of sat BTC 2022-09-15 08:01:24 +02:00
grdddj
f44ee9b665 feat(tests): add UI test for showing taproot address QR code 2022-09-14 15:13:19 +02:00
grdddj
70d38e829b feat(legacy): show fee rate when replacing transaction 2022-09-12 11:48:14 +02:00
Martin Novak
a41cfadbf1 feat(core,legacy): Extend decimals of fee rate to 2 digits 2022-09-09 15:28:31 +02:00
Martin Milata
5a9c2a1363 feat(core/rust/ui): recovery layouts
[no changelog]
2022-09-07 16:46:47 +02:00
Martin Milata
3b629a1ea4 refactor(core/rust/ui): layouts for SLIP-39 backups
[no changelog]
2022-09-07 16:46:47 +02:00
Martin Milata
4782afbae3 refactor(core/rust/ui): layouts for BIP-39 backups
[no changelog]
2022-09-07 16:46:47 +02:00
Tomas Krnak
031bac4a9b feat(core): add support for Zcash unified addresses 2022-08-30 21:15:49 +02:00
Andrew Kozlik
2f6a7096da chore(legacy): Do not allow access to SLIP25 paths. 2022-08-30 15:53:44 +02:00
Andrew Kozlik
58ef0da703 feat(tests): Test spend from SLIP-25 path. 2022-08-30 15:53:44 +02:00
Andrew Kozlik
97115a1a54 fix(tests): Device tests for SLIP-0025 CoinJoin accounts. 2022-08-30 15:53:44 +02:00
grdddj
c53177fe89 feat(core): show fee rate when replacing transaction 2022-08-30 10:20:54 +02:00
Martin Milata
005e4203a7 refactor(core/rust/ui): text theme struct
[no changelog]
2022-08-25 16:33:41 +02:00
Andrew Kozlik
f253d7e591 feat(tests): Add test for busy screen. 2022-08-22 18:15:29 +02:00
Andrew Kozlik
b7dde50d5f fix(legacy): Generate CoSi nonce randomly. 2022-08-02 20:38:04 +02:00
matejcik
70c1b12dff feat(legacy): use thousands separator (fixes #2394) 2022-08-02 20:35:49 +02:00
matejcik
114376f734 feat(core/strings): use thousands separator (fixes #2394) 2022-08-02 20:35:49 +02:00
matejcik
e37ce2b186 tests: change fw hashing test to work without fw dumping 2022-08-02 17:12:07 +02:00
Andrew Kozlik
8ca785925d fix(core,legacy): Fix tx_weight to tx_size conversion.
[no changelog]
2022-08-02 14:30:38 +02:00
Andrew Kozlik
a4343266a3 fix(legacy): Fix Decred transaction weight calculation. 2022-08-01 15:10:34 +02:00
Andrew Kozlik
90792eb438 fix(core): Fix Decred transaction weight calculation. 2022-08-01 15:10:34 +02:00
Andrew Kozlik
3b44d44a12 fix(legacy): Fix rounding in fee rate computation. 2022-08-01 15:10:34 +02:00
gabrielkerekes
b9e2ca9a9d chore(cardano): add changelog and update ui fixtures 2022-07-04 15:58:27 +02:00
David Misiak
2724d29968 refactor(cardano): introduce Signer and its subclasses 2022-07-04 15:58:27 +02:00
Martin Milata
c9ca7cd544 feat(core/rust/ui): bitcoin layouts
[no changelog]
2022-06-28 18:01:02 +02:00
Pavol Rusnak
6589f020c6 fix(legacy,core): use sat/vB only for segwit and sat/B otherwise
[no changelog]
2022-05-30 10:51:47 +02:00
Martin Novak
85f0d3a741 feat(core,legacy): show fee rate when signing transaction 2022-05-25 14:43:45 +02:00
Martin Milata
c5f1bec474 Merge branch 'release/22.05' 2022-05-18 12:43:53 +02:00
Martin Milata
31e63f688e fix(core/rust/ui): implement warning for PIN dialog
[no changelog]
2022-05-16 13:54:43 +02:00
Andrew Kozlik
903fa9b471 feat(legacy): Verify signatures of all original internal inputs in replacement transactions. 2022-05-03 23:00:25 +02:00
Andrew Kozlik
9bce153623 feat(core): Warn about unverified external inputs. 2022-05-03 22:14:40 +02:00
Andrew Kozlik
29304857b5 feat(legacy): Warn about unverified external inputs. 2022-05-03 22:14:40 +02:00
Andrew Kozlik
df479adbe7 chore(legacy): Simplify path warning UI.
[no changelog]
2022-05-03 22:14:40 +02:00
Andrew Kozlik
f6f865a513 fix(tests): Update T1 UI test fixtures. 2022-05-03 21:52:02 +02:00
matejcik
c9b521a8b0 tests: add test for firmware dumping and hashing 2022-05-03 19:00:04 +02:00
Andrew Kozlik
26d1fad2aa feat(legacy): Support Zcash version 5 transaction format. 2022-05-02 17:10:41 +02:00
grdddj
c45ca3314c chore(tests): add on-chain-valid test vectors for Zcash v5 2022-05-02 16:07:31 +02:00
Tomas Krnak
7739825cc6 test: add device tests for Zcash v5 2022-05-02 16:07:31 +02:00
grdddj
2cb2ba7f6a chore(tests): create real taproot transactions 2022-04-12 16:22:42 +02:00
Martin Milata
1f612580f7 feat(core): enable UI tests for redesigned UI
[no changelog]
2022-04-07 17:58:41 +02:00
David Misiak
915781bfb1 chore(cardano): update changelog and ui tests 2022-03-18 14:32:54 +01:00
Andrew Kozlik
9e346b05da chore(core): Don't check fairness of mining fees in CoinJoin.
[no changelog]
2022-03-17 15:46:01 +01:00
Andrew Kozlik
94d1a49eea chore(core): Rework checking of CoinJoin parameters.
[no changelog]
2022-03-17 15:46:01 +01:00
Andrew Kozlik
556e8a147a chore(core): Make CoinJoin checks more lenient.
[no changelog]
2022-03-17 15:46:01 +01:00
Andrew Kozlik
a4a51d02cc feat(tests): Add device tests for unverified external inputs. 2022-03-17 09:44:03 +01:00
Andrew Kozlik
e108ba5bde fix(tests): Tests fail earlier due to scriptPubKey check. 2022-03-17 09:44:03 +01:00
matejcik
0b9f7db742 fix(core): support structs as array elements (fixes #2167) 2022-03-10 13:04:54 +01:00
matejcik
4e2129e0a0 feat(core): automatically choose best QR encoding 2022-03-10 11:27:21 +01:00
matejcik
c3b28d8fb4 feat(tests): show QR codes in GetAddress test 2022-03-10 11:27:21 +01:00
grdddj
3e11e8bba2 chore(tests): update Bitcoin test cases to use valid prevtxes 2022-02-28 15:45:29 +01:00
matejcik
7e81eba810 chore(tests): generate T1 test fixtures 2022-02-17 11:05:55 +01:00
matejcik
5191d31737 chore(tests): rename fixtures for TT 2022-02-17 11:05:55 +01:00
Andrew Kozlik
1ee443e8f8 feat(test): Device test for invalid Taproot addresses. 2022-02-16 10:25:15 +01:00
Andrew Kozlik
d52a59e37b feat(core): Show "signature is valid" dialog when VerifyMessage succeeds. 2022-02-11 15:36:00 +01:00
matejcik
a1c62098e9 fix(core/ethereum): implement hold-to-confirm for eip1559 transactions 2022-02-08 14:27:23 +01:00
grdddj
9a71ac74c9 chore(tests): add type hints and improve styling in device test files 2022-02-07 14:05:27 +01:00
Andrew Kozlik
90c32e0a2f feat(tests): Add address MAC device tests. 2022-01-31 18:00:22 +01:00
Andrew Kozlik
c9008c7766 feat(tests): Add payment request device tests. 2022-01-31 18:00:22 +01:00
grdddj
ee34b5ba08 chore(tests): using real transactions in bitcoin/test_signtx.py 2022-01-27 15:07:30 +01:00
grdddj
3536d86fa9 fix(tests): using press_info instead of click for info buttons 2022-01-27 13:15:04 +01:00
grdddj
e4b5f10223 feat(tests): clicking Info button in (Super)Shamir backup device tests 2022-01-17 12:33:24 +01:00
Alois Klink
5c4703c9bb fix(core,legacy): Fix domain-only ethTypedData
When doing Ethereum signTypedData, and the primaryType="EIP712Domain",
we completely ignore the "message" part and only sign the domain.

According to the community, this is technically allowed by the spec,
and may be used by ETH smart contracts to save on gas.

Test case generated by @MetaMask/eth-sig-util's library.

See: https://ethereum-magicians.org/t/eip-712-standards-clarification-primarytype-as-domaintype/3286
2022-01-14 14:22:46 +01:00
matejcik
b2136e35d4 style(tests): remove class from taproot test 2022-01-13 13:01:17 +01:00
grdddj
8bcd52fc1b chore(tests): unifying NEM T1 and TT device tests 2022-01-12 14:53:20 +01:00
FujiCoin
33c243be8d
feat(common): enable taproot for Fujicoin, fix xpub versions
* fix fujicoin params

* add test_fujicoin/test_send_p2tr

* fix test

* fix serialized_tx.hex()

* Recreated based on a new transaction

* make gen, some fixes

Co-authored-by: matejcik <ja@matejcik.cz>
2022-01-05 12:43:34 +01:00
matejcik
33b23ea6a0 fix(tests): show addresses in test_show_segwit 2021-12-21 19:39:57 +01:00
matejcik
f0f950d484 fix(tests): add correct test case for GRS taproot 2021-12-21 19:39:57 +01:00
matejcik
d2ac4e7a9c feat(tests): add tests for blind EIP-712 signing
Co-authored-by: Martin Milata <martin@martinmilata.cz>
Co-authored-by: grdddj <jiri.musil06@seznam.cz>
2021-12-19 20:36:30 +01:00
Martin Milata
bfe5b6a272 test(core): make sure path check fails immediately 2021-12-16 14:15:39 +01:00
Martin Milata
86b02c6c06 tests(core): remove fixtures incorrectly added during merge 2021-12-08 21:01:08 +01:00
Martin Milata
ff5f965c44 Merge branch 'release/21.12'
Conflicts:
	tests/device_tests/test_msg_signtx_invalid_path.py
	tests/ui_tests/fixtures.json
2021-12-08 14:53:56 +01:00
Andrew Kozlik
7b7aa2d971 feat(tests): Add device tests for Taproot ownership proofs. 2021-12-06 18:23:48 +01:00
grdddj
9ef4440d0a chore(tests): regenerating fixtures.json to account for changed file-paths 2021-12-06 11:15:12 +01:00
grdddj
6c8e6dcc08 feat(tests): SuperShamir device tests for clicking Info button 2021-12-06 11:15:12 +01:00
Andrew Kozlik
de6fab3c1e feat(tests): Test SegWit cross-coin attack. 2021-11-23 14:57:25 +01:00
Andrew Kozlik
9052133fca fix(core): Ensure user is warned about non-standard paths. 2021-11-23 14:57:25 +01:00
Andrew Kozlik
10717ddb99 feat(tests): Add invalid signature test for RBF in P2TR. 2021-11-18 22:39:32 +01:00
Andrew Kozlik
03b1b3bc6b feat(core): Show path warning for SignMessage. 2021-11-13 13:33:46 +01:00
Andrew Kozlik
e559c5688b feat(tests): Test fake Taproot transaction attack. 2021-11-13 13:33:46 +01:00
Andrew Kozlik
93c02e2616 feat(tests): Add device test for external presigned Taproot input. 2021-11-13 13:33:46 +01:00
Andrew Kozlik
5837750aaa feat(tests): Add fee bump device test for Taproot. 2021-11-13 13:33:46 +01:00
Andrew Kozlik
f0d6e961a9 feat(tests): Add tests for spending Taproot UTXOs. 2021-11-13 13:33:46 +01:00
Andrew Kozlik
554888ef84 fix(tests): Fix UI tests which fail earlier due to scriptPubKey derivation. 2021-11-13 13:33:46 +01:00
Andrew Kozlik
390bcf4612 feat(tests): Add BIP86 test vectors for get_address(). 2021-11-13 13:33:46 +01:00
Pavol Rusnak
7091417c5d feat(tests): add taproot cases to test_msg_getaddress_segwit_native 2021-11-13 13:33:46 +01:00
Andrew Kozlik
bec0634bae feat(core): Improve message signing UI.
- Add "Confirm message" subheader to SignMessage and VerifyMessage.
- Unify font for SignMessage and VerifyMessage to fixed-width font.
- Fix device tests.
2021-11-10 17:35:57 +01:00
Andrew Kozlik
39a0901e99 fix(tests): Fix SignMessage tests after adding address dialog. 2021-11-10 17:35:57 +01:00
matejcik
2c20016cfa tests: add tests for different Cardano derivations 2021-11-10 13:57:57 +01:00
matejcik
f0ae16069c fix(core): do not send passphrase_protection field when device is locked (fixes #1807) 2021-11-10 13:57:57 +01:00
matejcik
0e4e56711c fix(tests): enable derive_cardano for Cardano test cases 2021-11-10 13:57:57 +01:00
Jun Luo
62b649ef5d refactor(common & core & legacy): Stellar, rename StellarCreatePassiveOfferOp to StellarCreatePassiveSellOfferOp. 2021-11-04 13:16:29 +01:00
Jun Luo
d064aae3f9 feat(common & core & legacy): Stellar, add support for StellarPathPaymentStrictSendOp. 2021-11-04 13:16:29 +01:00
Jun Luo
1dcb8e4913 feat(common & core & legacy): Stellar, add support for StellarManageBuyOfferOp. 2021-11-04 13:16:29 +01:00
Jun Luo
3a5768c4bf refactor(common & core & legacy): Stellar, rename StellarManageOfferOp to StellarManageSellOfferOp and rename StellarPathPaymentOp to StellarPathPaymentStrictReceiveOp. 2021-11-04 13:16:29 +01:00
Pavol Rusnak
0068c12f77
fix(python): use unified descriptor format <a;b> (#1885) 2021-11-04 10:36:53 +01:00
grdddj
73238135d6 feat(core/ethereum): EIP-712
Based on original contribution by Max Kupriianov <xlab@hey.com>

Implemented EIP-712 typed data signatures in Ethereum app.

Add eth_abi into pyproject deps

device test for EIP 712

fixed hex decoding for address

fixup! fixed hex decoding for address

code quality, more pythonic code, removing unused imports

running black and isort on changed files

trezorctl file input for EIP 712 data signing

fixup! code quality, more pythonic code, removing unused imports

fixup! fixup! code quality, more pythonic code, removing unused imports

necessary changes after rebase to master

unit tests for sign_typed_data.py

new protobuf messages, working for nonarray types

simplified and verified solution for our simple data

support for simple arrays, without their confirmation

reverting protobuf value messages to bytes, appropriate changes

showing arrays in Trezor, code quality improvements

data validation on Trezor, minor improvements

using custom types for storing type data instead of dicts, addressing feedback from review

moving helper functions to its own file, tests for decode_data

additional overall tests

support for arrays of structs

adding support for metamask_v4_compat variable

using HashWriter object to collect the final hash continously

minor improvements in code quality

validate_field_type function

streaming values from client without saving them, missing UI

prototype of streamed UI using confirm_properties

accounting for bytes in data, more data types in integration tests

rebase on master, using f-strings

minor fixes and improvements from code review

StructHasher class for the whole hashing process

mypy and style changes

asking users whether to show structs and arrays

protobuf descriptions to fix make defs_check

unifying comments, mypy fix

unit tests for StructHasher class

UI fixtures, skipping device tests for T1

addressing majority of code review comments about code quality and structure

changing file structure - layouts, helpers, sign_typed_data

decode_data renaming and docstring, renaming unit test file

using tuples instead of lists in elifs

layout improvements

excluding core/src/apps/common/confirm.py file from the PR

True/False returning layout with Show more button

code review layout improvements

forgotten br_type argument to should_show_more
2021-11-02 14:27:01 +01:00
matejcik
0e6669bd10 feat(core/stellar): show start/end timestamps in human readable format 2021-10-29 11:00:30 +02:00
matejcik
f7c340f333 feat(core/bitcoin): show lock_time as human readable datetime 2021-10-29 11:00:30 +02:00
Martin Milata
3882b89be9 fix(core/ethereum): ask before showing paginated data field 2021-10-19 17:13:28 +02:00