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

1216 Commits

Author SHA1 Message Date
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
7b0d2a7095 feat(tests): re-enable passphrase autolock test 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
6af42b523d feat(tests): generate index on demand when looking at results through show_results.py 2023-02-02 12:40:39 +01:00
matejcik
4b2b0e457b chore(tests): do not generate index after every test, unconditionally
[no changelog]
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
Armin Sabouri
96b2d05d47 refactor(core): Allow eth & btc signing at m/45'/coin_type/account/change/address_index
[no changelog]
2023-01-18 12:08:17 +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
39b1776801 feat(tests): add pytest flag to not generate reports after each test
[no changelog]
2023-01-13 16:38:59 +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
5187be91fe chore(tests): fix click, upgrade and persistence tests for new UI 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
matejcik
4110f20abd fix(tests): fix instability of multicore runners 2022-10-31 16:53:35 +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
c7fb908146 chore: Change precision of CoinJoin fee rate percentage from 8 to 6 decimal digits. 2022-10-27 17:37:48 +02:00
Andrew Kozlik
c41ccdca76 feat(tests): Implement CoinJoin requests in device tests. 2022-10-27 17:37:48 +02: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
ee8c596b1a refactor(core): Use a list of presigned inputs in Bitcoin signing.
Co-authored-by: Ondřej Vejpustek <ondrej.vejpustek@satoshilabs.com>
2022-10-17 15:20:46 +02:00
Andrew Kozlik
cc054050a5 feat(core): Improve Bitcoin signing progress display. 2022-10-17 15:20:46 +02:00
Andrew Kozlik
8ef5e5120a feat(core): Verify ownership proofs before transaction approval in BTC signing. 2022-10-17 15:20:46 +02:00
Andrew Kozlik
5b453c88ed feat(core): Add serialize option to SignTx. 2022-10-17 15:20:46 +02:00
Andrew Kozlik
294c390c96 feat(tests): Test signing a large CoinJoin. 2022-10-17 15:20:46 +02:00
Andrew Kozlik
0bc35dd2e6 fix(tests): Specify correct coin in SLIP-25 XPUB test. 2022-10-04 20:17:56 +02:00
Martin Milata
f56041a759 chore(tests): remove leftover tempfile 2022-10-04 09:27:06 +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
mroz
16b0ea00cd ci(connect): exclude checkFirmwareAuthenticity test 2022-09-08 12:59:29 +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
grdddj
a20783731a fix(tests): not use transaction cache in connect tests 2022-09-01 15:02:12 +02:00
mroz
2269c6d0fe feat(tests): use connect v9 in tests 2022-09-01 15:02:12 +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
grdddj
d5b0650cc2 feat(tests): add possibility to run device/UI tests in parallel 2022-08-29 15:47:36 +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
gabrielkerekes
f2be6b9d91 chore(cardano): add show_details tests 2022-07-04 15:58:27 +02:00
David Misiak
4017434cc1 feat(cardano): add support for babbage features 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
grdddj
3a8e84a86e fix(ci): make Connect tests run properly 2022-06-30 20:26:59 +02:00
matejcik
8c3d3c6548 chore: bump black to 22.3
changes:
* exponent operator ** now allows no spaces around itself: https://github.com/psf/black/issues/538
* optional unicode marker u"" is no longer allowed

[no changelog]
2022-06-29 14:35:16 +02:00
Martin Milata
c9ca7cd544 feat(core/rust/ui): bitcoin layouts
[no changelog]
2022-06-28 18:01:02 +02:00
Martin Milata
0112d0135a ci(nix): update to latest nixpkgs-unstable
Uses new implementation of autoPatchelf which only works on directories.
2022-06-21 15:58:06 +02:00
Andrew Kozlik
c293d2f9eb fix(tests): Fix Zcash v5 version group ID and branch ID in device test. 2022-06-06 17:03:15 +02:00
grdddj
9ca9720f22 feat(tests): add test for supporting older python versions 2022-05-30 14:41:32 +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 Milata
0388268b57 fix(tests): skip arm binaries during upgrade tests 2022-05-26 19:20:03 +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
d16b44bad6 feat(core): Verify signatures of all original inputs in replacement transactions. 2022-05-03 22:14:40 +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
Andrew Kozlik
e24e9fcdb3 fix(legacy): Check PIN before confirming critical dialogs. 2022-05-03 21:50:50 +02:00
Andrew Kozlik
b88e57a7c8 tests: Fix device tests for path checks in GetAddress. 2022-05-03 21:50:50 +02:00
Andrew Kozlik
88efd74710 feat(legacy): Make Bitcoin path checks same as in core. 2022-05-03 21:50:50 +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
Pavol Rusnak
8f1d33d5f9 build(core,legacy): remove gcc, use cc instead of gcc
for firmware builds we still use arm-none-eabi-gcc via $(PREFIX)gcc

[no changelog]
2022-04-27 15:48:14 +02:00
grdddj
cac27e2338 chore(tests): comment on no-longer-valid transaction links 2022-04-12 16:22:42 +02:00
grdddj
2cb2ba7f6a chore(tests): create real taproot transactions 2022-04-12 16:22:42 +02:00
grdddj
e4a6608d1f chore(tests): divide test BTC transactions between existing and unexisting 2022-04-12 16:22:42 +02:00
Ondřej Vejpustek
8356d0a572 fix(crypto): use zero auxiliary data in BIP340 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
Martin Milata
28cd0d2606 test: mark test_show_multisig_xpubs as flaky 2022-03-31 13:50:29 +02:00
Martin Milata
0407e78e8c ci: use autoPatchelfHook for emulators from pinned nixpkgs 2022-03-29 12:52:34 +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
David Misiak
2262602967 feat(cardano): add support for plutus transactions 2022-03-18 14:32:54 +01:00
David Misiak
48587d83fe feat(cardano): add support for output datum hash and script data hash 2022-03-18 14:32:54 +01:00
David Misiak
2b3a53a6ae feat(cardano): add support for network id in tx body 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
3b2a195cb2 fix(tests): change script running connect tests 2022-03-08 11:29:49 +01:00
grdddj
3e11e8bba2 chore(tests): update Bitcoin test cases to use valid prevtxes 2022-02-28 15:45:29 +01:00
matejcik
9d717b2085 refactor(tests): consolidate bitcoin.signtx helper module 2022-02-28 15:45:29 +01:00
matejcik
c6bcb64443 feat(tests): use python-bitcoinlib for parsing Bitcoin txes 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
5b0be3273e fix(tests): add mock urandom to T1 reset test 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
b5c9f573b2 feat(legacy): Show "signature is valid" dialog when VerifyMessage succeeds. 2022-02-11 15:36:00 +01:00
Andrew Kozlik
d52a59e37b feat(core): Show "signature is valid" dialog when VerifyMessage succeeds. 2022-02-11 15:36:00 +01:00
Andrew Kozlik
4d40d6dbfc feat(core): Support Electrum signatures in VerifyMessage. 2022-02-11 15:36:00 +01:00
Andrew Kozlik
473657fd44 chore(core): Tweak validation of pre-authorized GetOwnershipProof.
In pre-authorized GetOwnershipProof requests ensure that the commitment data
starts with a length-prefixed name of the CoinJoin coordinator.

[no changelog]
2022-02-11 13:56:27 +01:00
matejcik
abc593d19a tests: drop skip_ui support 2022-02-08 16:34:54 +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
697cb6448c chore(tests): add type hints to some non-device tests 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
a5824ed1ff feat(tests): Test payment request details. 2022-01-31 18:00:22 +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
Andrew Kozlik
e5281b87b5 chore(tests): Add payment requests to test_msg_authorize_coinjoin device test. 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
e1d4e40785 feat(tests): adding assert_tx_matches() to common.py 2022-01-27 15:07:30 +01:00
grdddj
9cf5fd351a chore(tests): adding type hints to helper functions used in sign_tx tests 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
Andrew Kozlik
ba4f046d6f feat(common): Add INFO button to DebugLinkDecision.
[no changelog]
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
Andrew Kozlik
44c184061e fix(tests): Fix signatures in ownership proofs. 2022-01-10 11:14:36 +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
gruve-p
3ab036a1d1
feat(common): enable Taproot on Groestlcoin
Add additional device tests for GRS

Add P2TR GetAddress for GRS mainnet and testnet

Add SignTX spending taproot UTXO (The resulting transaction from the SignTx device test was successfully mined on Testnet.)
2021-12-20 22:49:36 +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
grdddj
3ed92a72bb feat(ci): running connect tests against current branch 2021-12-10 14:18:21 +01:00
Martin Milata
86b02c6c06 tests(core): remove fixtures incorrectly added during merge 2021-12-08 21:01:08 +01:00
Pavol Rusnak
0c57614436
style(tests): make linters happy 2021-12-08 17:06:37 +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
matejcik
a4bcc95deb feat(python): introduce Trezor models
This keeps information about vendors and USB IDs in one place, and
allows us to extend with model-specific information later.

By default, this should be backwards-compatible -- TrezorClient can
optionally accept model information, and if not, it will try to guess
based on Features.

It is possible to specify which models to look for in transport
enumeration. Bridge and UDP transports ignore the parameter, because
they can't know what model is on the other side.

supersedes #1448 and #1449
2021-12-07 16:55:58 +01:00
matejcik
a2a8cc88d9 feat(python): make the protobuf mappings overridable 2021-12-07 16:55:58 +01:00
matejcik
be6d01729d fix(tests): TxCache needs to respond to x in tx_cache 2021-12-07 16:55:58 +01:00
Andrew Kozlik
7b7aa2d971 feat(tests): Add device tests for Taproot ownership proofs. 2021-12-06 18:23:48 +01:00
Andrew Kozlik
b0f2d43884 tests: Fix tx_cache download. 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
0b0a77703c chore(tests): more test reorganizations 2021-12-06 11:15:12 +01:00
grdddj
18a2642d95 chore(tests): renaming all "proto" usages to "messages" in device tests 2021-12-06 11:15:12 +01:00
grdddj
a92d29ddbf chore(tests): removing classes from device test files 2021-12-06 11:15:12 +01:00
grdddj
782f868717 chore(tests): organize device tests into folders 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
e30ccabed3 feat(legacy): Show path warning for SignMessage. 2021-11-18 22:39:32 +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
fa4d74ad30 feat(legacy): Support Taproot signature verification. 2021-11-18 22:39:32 +01:00
Andrew Kozlik
c9d1ff93f5 feat(legacy): Implement Taproot signing. 2021-11-18 22:39:32 +01:00
Andrew Kozlik
6fbbd14f8c refactor(legacy): Refactor compile_input_script_sig(). 2021-11-18 22:39:32 +01:00
Andrew Kozlik
9a051df127 chore(legacy): Support script_pubkey parameter for Bitcoin inputs. 2021-11-18 22:39:32 +01:00
Andrew Kozlik
6c9c727359 feat(legacy): Implement GetAddress for taproot. 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
ed9d3e3e9b fix(tests): Add script_pubkey field to external inputs. 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
Andrew Kozlik
9a7990d087 feat(tests): Add no_script_type device tests for SignMessage. 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
matejcik
e972839ac7 style(all): fix pylint complaints
[no changelog]
2021-10-27 13:13:15 +02:00
Martin Milata
fa3c6140a6 feat(legacy/ethereum): support access lists in EIP-1559 transactions 2021-10-26 17:20:20 +02:00
Martin Milata
076c5b9cbe feat(legacy/ethereum): support for EIP-1559 transactions 2021-10-26 17:20:20 +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
gabrielkerekes
1f33ab420d feat(cardano): update transaction signing for multisig 2021-10-11 15:16:24 +02:00
gabrielkerekes
21281d7cf4 feat(cardano): add support for script addresses derivation 2021-10-11 15:16:24 +02:00
gabrielkerekes
dd9652cd07 feat(cardano): add get-native-script-hash call 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
matejcik
98f0496b2c feat(core/stellar): add type checking to Stellar app 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
6b3c9d5a6b chore(tests): using setup_client for setting the passphrase in device tests where applicable 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
matejcik
30b08d949b feat(common): add default values to EthereumSignTx fields
so that we can avoid Optional types for fields
2021-09-10 15:09:03 +02:00
matejcik
639406b01f feat(all): make chain_id mandatory 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
gabrielkerekes
500d29f43b chore(cardano): format test fixture files 2021-08-20 11:50:13 +02:00
gabrielkerekes
28f0f60295 feat(cardano): update tests for streamed tx signing 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
Martin Milata
b5710b820a docs(core): replace Purpose48 with BIP-48
https://github.com/bitcoin/bips/blob/master/bip-0048.mediawiki
2021-08-06 12:50:42 +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
7e0e24430c feat(tests): reuse same client instance across test session
Makes skipping tests much faster, and running individual tests a tiny
bit faster.

Also makes sure the whole suite always runs against the same device
(modulo emulator being restarted)
2021-08-04 10:58:59 +02:00
matejcik
b3312d1ef7 fix(tests): set_filter must be used in with-block
This makes sure filters are properly cleared when the with-block exits
2021-08-04 10:58:59 +02:00
matejcik
45d377f5b8 chore(tests): drop unused debug pieces 2021-08-04 10:58:59 +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
matejcik
46e0530764 fix(tests): auto-swipe by using only ButtonRequest.pages
(cherry picked from commit f8bb90366a)
2021-07-12 00:39:58 +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
Andrew Kozlik
9b0e980c44 fix(legacy): Don't allow unknown paths in GetAddress. 2021-06-30 18:25:58 +02:00
Andrew Kozlik
a6390e4b82 fix(legacy): Allow known non-standard paths in GetAddress and SignTx. 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
Martin Milata
178b575465 refactor(core): convert apps.nem to layouts 2021-06-23 11:51:18 +02:00
Martin Milata
dd3b689ded refactor(core): convert apps.eos to layouts 2021-06-23 11:51:18 +02:00
Martin Milata
3ffbae5d17 refactor(core): convert apps.binance to layouts 2021-06-23 11:51:18 +02:00
Martin Milata
ddac852acf refactor(core): convert apps.cardano to layouts 2021-06-23 11:51:18 +02:00
Martin Milata
d33c61bbe7 test(core): enable ui tests for cardano get_address 2021-06-23 11:51:18 +02:00
Martin Milata
12478b1716 refactor(core): convert apps.stellar to layouts 2021-06-23 11:51:18 +02:00
Martin Milata
16094df0c5 refactor(core): convert most of apps.monero to layouts
Progress popups are not ported yet as they're unlike anything else.

Introduces paginate_paragraphs.
2021-06-23 11:51:18 +02:00
Martin Milata
b7cab90e3c refactor(core/ui): use new_lines=False in layouts 2021-06-23 11:51:18 +02:00
matejcik
f39abc8356 chore(tests): update UI test fixtures 2021-06-22 11:25:12 +02:00
matejcik
7cdde940af chore(tests): adapt device tests to paging information ButtonRequests 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
matejcik
a58823cc0c refactor(python): rework trezorlib protobuf codec
API-compatibility with the original one is retained.

Now that we don't need to keep code parity with core, we could do some
changes that make life easier.

All generated classes are now in one file. This makes github diffs more
readable, at the cost of somewhat complicating inspecting individual
classes; however, that is something we shouldn't be doing anyway.

Enums are now implemented as enum.IntEnum.

The original class-level FIELDS member was restored.

Each field is now defined via protobuf.Field, which is easier to work
with in the codec, AND we're not stuffing defaults and flags into the
same field.
2021-06-08 09:55:19 +02:00
matejcik
729414e606 fix(core): exclude get/set U2F counter from BITCOIN_ONLY 2021-06-08 09:55:19 +02:00
Jan Pochyla
e5e3ad21b2 fix(tests): Adjust the expected error message 2021-06-08 09:55:19 +02:00