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

880 Commits

Author SHA1 Message Date
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