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

583 Commits

Author SHA1 Message Date
Jan Šetina
04964dc2e8 feat(core/ui): change GREY_DARK and GREY_MEDIUM
[no changelog]
2023-03-13 01:34:14 +01:00
Martin Milata
4af5939a0b feat(core/ui): redesigned receive flow
[no changelog]
2023-03-09 23:36:36 +01:00
Martin Milata
7efa1fc3df chore(core): update fixtures.json 2023-03-09 14:03:48 +01:00
David Misiak
79632d32c7 chore(cardano): update ui tests, add changelog 2023-03-06 11:27:13 +01:00
matejcik
770cd19899 fix(legacy): lower maximum of chars per line
so that we actually fit if all the biggest characters are used

[no changelog]
2023-03-02 16:43:03 +01:00
Martin Milata
557e29769b feat(core/ui): redesigned passphrase dialogs
[no changelog]
2023-02-28 23:30:38 +01:00
Martin Milata
dff68dd690 tests(ethereum): update ethereum testnet fixtures 2023-02-28 14:46:34 +01:00
Andrew Kozlik
8486aa4ed4 feat(legacy): Validate script type of change-outputs in Bitcoin signing. 2023-02-28 14:06:07 +01:00
Andrew Kozlik
423ce75b4f feat(core): Validate script type of change-outputs in Bitcoin signing. 2023-02-28 14:06:07 +01:00
matejcik
be920d7cec fix(tests): differentiate passed vs new testcases 2023-02-27 14:22:49 +01:00
matejcik
1e44f712e2 tests(ethereum): show Ethereum address on display for UI testing 2023-02-27 14:22:49 +01:00
matejcik
c40f8a6aad fix(legacy): use correct layout for StellarGetAddress (fixes #1453) 2023-02-27 14:22:49 +01:00
matejcik
3b2d7115cb fix(legacy): wrap long Ethereum fees (fixes #2373) 2023-02-27 14:22:49 +01:00
Andrew Kozlik
6e957a8a92 feat(legacy): Do not show account number for coinjoin account #1. 2023-02-27 14:22:25 +01:00
Andrew Kozlik
4372d19ceb feat(core): Remove authorization when rounds are depleted.
[no changelog]
2023-02-27 14:22:25 +01:00
Andrew Kozlik
7cbcb25a75 feat(test): Add device test for migration to CoinJoin account. 2023-02-27 14:22:25 +01:00
Andrew Kozlik
300c986851 feat(legacy): Implement SetBusy. 2023-02-27 14:22:25 +01:00
Andrew Kozlik
68bbcbdc4d feat(legacy): Implement CoinJoin signing. 2023-02-27 14:22:25 +01:00
Andrew Kozlik
0466972f30 feat(legacy): Implement SLIP-0025 CoinJoin accounts. 2023-02-27 14:22:25 +01:00
Andrew Kozlik
a1afadfd01 feat(legacy): Implement UnlockPath. 2023-02-27 14:22:25 +01:00
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
89b905a349 fix(tests): make master_diff more reliable
[no changelog]
2023-02-17 10:28:35 +01:00
grdddj
82bd908246 feat(core): EIP712 signing shows the ethereum address at the beginning 2023-02-14 15:30:05 +01:00
matejcik
9add2b0027 fix(tests): more robust master diff handling
fixes #2799
2023-02-10 13:03:29 +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
grdddj
1fa9a58fa5 feat(tests): generate UI report with all unique differing screens
[no changelog]
2023-02-03 16:51:14 +01:00
grdddj
491a8523bc feat(tests): allow for saving text layout of all screens during UI tests
[no changelog]
2023-02-03 16:51:14 +01:00
grdddj
eb195d038b chore(tests): small naming changes and docs
[no changelog]
2023-02-03 16:51:14 +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
fe88331234 fix(tests): make sure the POST to fixtures.json goes through 2023-02-02 12:40:39 +01:00
matejcik
c7b787a2ec fix(tests): do not load every image to learn its width 2023-02-02 12:40:39 +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
matejcik
e15662e12d feat(tests): revamp UI test harness 2023-02-02 12:40:39 +01:00
matejcik
f62ce2f793 refactor(tests): always use screen_recording context manager
and have it not record internally when appropriate
2023-02-02 12:40:39 +01:00
matejcik
508b6a87e6 fix(tests): ensure the client is open when stopping screen recording
[no changelog]
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
grdddj
20f3658e7e feat(tests): allow for accepting the recent UI diff without recording the tests
[no changelog]
2023-01-13 16:38:59 +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
tychovrahe
550e2a7951 feat(tests): add button to update fixtures directly from ui test report
[no changelog]
2022-12-15 12:28:27 +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
56e0c91a71 feat(tests): add dashboards with indexed unique screens and all screens 2022-11-21 14:08:47 +01:00
grdddj
f48890afb3 chore(tests): make all the device tests work with UI2 2022-11-21 14:08:47 +01:00
grdddj
d045e0089d feat(core/ui): delete old UI code 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
a69e43d1a6 chore(tests): tests recording also generates "results web page" 2022-05-30 09:52:42 +02:00
Martin Novak
85f0d3a741 feat(core,legacy): show fee rate when signing transaction 2022-05-25 14:43:45 +02:00
Martin Milata
1e0fa3428c ci: fix UI master diff 2022-05-25 10:35:22 +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
c153ffe4b3 ci: ui2 device tests 2022-04-07 17:58:41 +02:00
Martin Milata
1f612580f7 feat(core): enable UI tests for redesigned UI
[no changelog]
2022-04-07 17:58:41 +02:00
matejcik
82182ae078 ci: use external servers in CI and scripts 2022-03-23 11:28:56 +01: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
grdddj
9e654abdb3 feat(tests): prepare UI testing for T1 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
grdddj
c77e18d77c chore(tests): add type hints to helper test functions 2022-02-07 14:05:27 +01:00
grdddj
5d76144ef5 chore(common): always use resolve() when accessing parent of the Path
[no changelog]
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
David Misiak
13c4fb97df fix(cardano): forbid multisig pool registration [no changelog] 2021-10-19 15:25:39 +02:00
Andrew Kozlik
dfd98c5164 feat(tests): Test send to taproot. 2021-10-18 13:36:05 +02:00
Pavol Rusnak
27dcef056f feat(tests): add tests for Taproot descriptors support 2021-10-18 13:36:05 +02:00
matejcik
b6837d19b7 fix(core/nem): fix NEM usage of format_amount
[no changelog]
2021-10-13 11:53:17 +02:00
amadejpapez
85ba7c12ba style(all): use f-strings for formatting
[no changelog]
2021-10-13 11:53:17 +02:00
gabrielkerekes
b957dfbddb chore(cardano): improve get_native_script_hash tests and update ui fixtures 2021-10-11 15:16:24 +02:00
gabrielkerekes
4aaf6db9a2 chore(cardano): update docs, changelog and ui test fixtures 2021-10-11 15:16:24 +02:00
matejcik
f484c42d41 refactor(tests): use common Stellar fixtures in tests
All test cases are generated and verified in Stellar Laboratory.
Source XDR is also tested to match the vectors, and it is easy to verify
in Laboratory directly.
2021-09-24 10:30:19 +02:00
Pavol Rusnak
169c472172 refactor(tests): modernize test_msg_getaddress_segwit_native 2021-09-23 16:17:58 +02:00
matejcik
9dd97c77e3 fix(tests): update prevhash test
exclude the None value, because prev_hash is now required on protobuf
level

unify the parametrization across tests
2021-09-21 12:43:31 +02:00
grdddj
1a291660e5 chore(tests): improving consistency of ethereum fixtures 2021-09-20 13:04:56 +02:00
grdddj
23ce8a46f3 feat(tests): PIN and protection_levels tests for TT 2021-09-17 11:13:25 +02:00
grdddj
1b932a20e8 fix(tests): decoding PNG files to fix Linux/Mac differences in encoding 2021-09-14 14:21:38 +02:00
matejcik
ae4dd42d18 refactor(core/ethereum): reorganize sanity checks, disallow chain_id 0 2021-09-10 15:09:03 +02:00
matejcik
8931450d21 chore(common): enable Palm network 2021-09-10 15:09:03 +02:00
matejcik
a1c3d8b7a5 chore(tests): regenerate UI test fixtures 2021-09-10 15:09:03 +02:00
grdddj
6f1005b155 chore(tests): vectorizing and creating JSON fixtures for ethereum device tests 2021-09-02 10:28:26 +02:00
matejcik
7aed8d535d feat(all): re-enable Firo (fixes #1767) 2021-08-23 11:43:57 +02:00
gabrielkerekes
0bff220fd6 chore(cardano): update ui test fixtures 2021-08-20 11:50:13 +02:00
matejcik
d66cca4069 chore(tests): remove Lisk 2021-08-19 10:25:41 +02:00
Frederik Bolding
38fa9197ca feat(core,python): support for Ethereum EIP1559 transactions
Initial EIP1559 implementation

Fix a few small issues

Progress on Python lib implementation and firmware

Fix RLP length

Start fixing tests

Fix legacy transactions

Simplify API and logic

Add EIP1559 tests

Fix access list formatting

Fix UI visiblity issue

Fix commented out code

fix: correct linting issues

Fix access_list protobuf formatting

Remove unneeded code

Remove dead code

Check tx_type bounds for EIP 2718

Reduce code duplication

Prefer eip2718_type over re-using tx_type

Add more tests

Simplify format_access_list

Simplify sign_tx slightly

Change Access List format and add logic to encode it

Fix a bunch of small PR comments

Fix a linting issue

Move tests out of class and regenerate

Remove copy-pasted comments

Add access list to CLI

Simplify _parse_access_list_item

Fix small mistakes following rebase

Fix linting

Refactor to use a separate message for EIP 1559 tx

Simplify changed legacy code

Fix a few small PR comments

Fix linting

fix(legacy): recognize SignTxEIP1559 on legacy build

Fix PR comments
2021-08-10 11:00:29 +02:00
matejcik
f78363ecdc refactor(core/ui): do not use parameter for styling in get_next_u2f_counter 2021-08-04 15:03:11 +02:00
Martin Milata
574dcbc8a3 refactor(core): convert apps.common to layouts 2021-08-04 15:03:11 +02:00
Martin Milata
875cc0cb1a refactor(core): convert apps.webauthn to layouts 2021-08-04 15:03:11 +02:00
matejcik
0e14291094 chore(tests): regenerate UI test fixtures 2021-07-26 14:48:35 +02:00
matejcik
f3802dea61 fix(tests/ui_tests): if a UI test result changed, show it as new 2021-07-26 14:48:35 +02:00
matejcik
2b3c75c4de fix(core): properly respond to USB events while on a paginated screen 2021-07-20 12:59:26 +02:00
Andrew Kozlik
24bb401638 fix(legacy,core): Fix operation source account encoding in Stellar. 2021-07-13 17:24:16 +02:00
Andrew Kozlik
e3faece811 fix(tests): Fix device tests after having disabled testnet for BIP-45 paths. 2021-06-30 18:25:58 +02:00
matejcik
2491f871aa chore(tests): add fixture for new Cardano test 2021-06-24 14:37:48 +02:00
matejcik
319a4374d3 chore(tests): regenerate UI test fixtures 2021-06-23 11:51:18 +02:00
matejcik
57582c2501 feat(tests): simple javascript-based UI diff review tool 2021-06-23 11:51:18 +02:00
matejcik
1b7b06255a feat(tests): only try connecting to VPN once 2021-06-23 11:51:18 +02:00
matejcik
0971adf7a7 feat(tests): generate UI test report again from current data 2021-06-23 11:51:18 +02:00
matejcik
f39abc8356 chore(tests): update UI test fixtures 2021-06-22 11:25:12 +02:00
Martin Milata
fddac0434b test: add device tests for non-standard paths 2021-06-17 13:53:35 +02:00
Andrew Kozlik
e15406f712 test: Add device test for signing an empty message in Decred which uses the BLAKE hash function. 2021-06-11 20:22:42 +02:00
gabrielkerekes
8a3549dbf8 chore(tests): update ui_tests fixtures 2021-06-08 15:02:24 +02:00
matejcik
e952a301d6 fix(tests): properly include tests whose expected hash is missing 2021-06-08 09:55:19 +02:00
matejcik
b1ec73e10b chore(tests): put enum names into UI fixture names (hashes are unchanged) 2021-06-08 09:55:19 +02:00
Andrew Kozlik
7f2f32ff8a test(device): Test safety checks on T1. 2021-05-24 17:47:43 +02:00
matejcik
2ae8e954bf chore(tests): update UI test fixtures 2021-05-06 13:14:21 +02:00
matejcik
c233b796df fix(tests): avoid race condition when generating UI test screenshots 2021-05-06 13:14:21 +02:00
gabrielkerekes
2313293477 feat(core/cardano): add support for catalyst voting registration 2021-04-23 11:09:29 +02:00
Martin Milata
b1e38fe382 refactor(core): no implicit spaces in render_text 2021-03-30 22:34:01 +02:00
Martin Milata
6668921a4f refactor(core): convert apps.common.request_pin to layouts 2021-03-30 22:34:01 +02:00
Martin Milata
ffe6d65f72 refactor(core): convert parts of apps.management to layouts 2021-03-30 22:34:01 +02:00
Rafael Korbas
a9b8b0e119 feat(core/cardano): chunked serialization of signed transaction 2021-03-26 11:15:19 +01:00
Andrew Kozlik
7436fd06b9 test: Add device test for replacement transaction with OP_RETURN output. 2021-03-24 22:06:41 +01:00
Rafael Korbas
74ed5b7018 feat(core/cardano): Implement bech32 asset ids based on CIP-0014 2021-03-18 09:53:33 +01:00
Rafael Korbas
bd4512b53a fix(core/cardano): Allow stake pool registrations with zero margin 2021-03-18 09:35:08 +01:00
Andrew Kozlik
28918f46ec test: Add device test for decreasing output amount in RBF. 2021-03-17 15:15:50 +01:00
JoeGruff
e3ea32a986 multi: Add decred staking.
Add two new input and four output script types.

Decred ticket purchases consist of a stake submission, op returns, and
change addresses. Although change addresses are allowed by consensus,
they are no longer used in practice and so have been given the
restrictions of a null pubkey and no value. Stake scripts are almost
identical to p2pkh or p2sh except for an extra opcode in front. Inputs
are currently only used in the form of one input three outputs with the
first output, or stake submission, paying to a public key hash, or with
two inputs and five outputs with the stake submission paying to a
multisig script hash. The op returns are directed to the user in the
case of one and the voting service provider and user in the case of two.

One of the sstx commitment for a ticket must pay back to the trezor
wallet. This is checked and an error is thrown if we don't find the
expected public key hash.

Because this adds the ability to create new types of outputs once the
ticket votes, two new input script types are also needed. A successful
vote will lead to a stake generation script that must be spent, and an
unsuccessful vote will lead to a revocation script that must be spent.
If we allowed stake change scripts to have a valid pubkey, that too
would require another op code, but we disallow those for output.
2021-03-17 12:16:08 +01:00
Rafael Korbas
ceea21ec1f feat(cardano): Format stake pool ids as bech32 instead of hex 2021-02-25 16:49:19 +01:00
Rafael Korbas
cf871ee754 fix(core/Cardano): do not show change output in byron-shelley transfers 2021-02-25 16:41:12 +01:00
Andrew Kozlik
8828fa76d3 test: Ensure that GetAddress and GetOwnershipId fail for multisig if user's public key is not included.
(cherry picked from commit e9c227f623)
2021-02-11 10:26:44 +01:00
gabrielkerekes
d4dcd7bff9 fix(core/cardano): allow staking accounts beyond 100' 2021-02-11 09:55:23 +01:00
Martin Milata
f38abf9d89 refactor(core): introduce layouts
Layouts can be used by the application code to interact with user using
small number of dialogs or other groups of UI components. Each layout is
identified by name and takes some parameters. Most layouts will have an
implementation for each hardware model, mechanism is provided to import
the correct version so that application code can be oblivious to the
model.

This commit introduces the layout concept and converts a couple of
dialogs to use it.
2021-02-10 13:57:19 +01:00
matejcik
cdf55d2fac tests: get rid of skip_ui (fixes #1409) 2021-02-05 10:44:09 +01:00