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

258 Commits

Author SHA1 Message Date
Andrew Kozlik
7b94cbee54 tests: Fix fake amount attack in test_msg_signtx_segwit to account for segwit transaction streaming. 2020-05-24 14:36:37 +00:00
matejcik
cbc0ceff06 tests: use valid prev_hash in attack test 2020-05-24 14:36:37 +00:00
matejcik
d4390f78a4 tests: add request_meta queries (needed for transaction streaming) 2020-05-24 14:36:37 +00:00
matejcik
4bc0289601 tests: update komodo test with optional message feature 2020-05-24 14:36:37 +00:00
matejcik
396a509725 tests: update bgold test with actual transactions 2020-05-24 14:36:37 +00:00
matejcik
7a3637d5b0 core/sign_tx: add checks for version_group_id and branch_id fields 2020-05-24 14:36:37 +00:00
matejcik
d804680552 tests: simplify code of test_msg_signtx
Instead of a function generating the expected_responses, introduce
shortcuts (request_input, request_output...) so that the static
expected_responses are more readable.

Also introduce the possibility to include conditional responses (e.g.,
seen only on trezor-core)

WIP
2020-05-24 14:36:37 +00:00
Tomas Susanka
f34e2382fa tests: add segwit attack test for mixed inputs 2020-05-24 14:36:37 +00:00
Tomas Susanka
9dfc08ca61 core/bitcoin: drop decred_script_version 2020-05-21 19:14:39 +02:00
matejcik
2f665c8f84 core: add exception to GetPublicKey for PSBT master fingerprint (fixes #999) 2020-05-21 13:26:53 +02:00
Tomas Susanka
3a3965af9b tests/bitcoin: test segwit/non-segwit input mixing 2020-05-18 14:31:51 +02:00
matejcik
29db769185 tests: update test vectors to use correct paths 2020-05-15 14:08:29 +02:00
Tomas Susanka
20d66adddd core: disable passphrase_always_on_device when turning off passphrase 2020-04-28 14:54:18 +02:00
matejcik
bc926a2dd5 tests: convert signtx tests to use request_* shortcuts for readability 2020-04-25 18:27:29 +02:00
matejcik
feaaaf8973 tests: simplify code of test_msg_signtx
Instead of a function generating the expected_responses, introduce
shortcuts (request_input, request_output...) so that the static
expected_responses are more readable.
2020-04-25 18:27:29 +02:00
Tomas Susanka
a0c8f8f00e tests/signing: add more tests for incorrect script type 2020-04-24 17:19:33 +00:00
matejcik
5885978c83 Merge branch 'release/2020-04' 2020-04-15 15:00:23 +02:00
matejcik
1b50877545 tests: streamline TrezorFailure exception usage 2020-03-26 11:30:06 +01:00
matejcik
b440ca1ec5 python: drop deprecated name CallException 2020-03-26 11:30:06 +01:00
matejcik
9a330f3475 python: unify protobuf-encoding code paths
Protobuf encoding now happens in TrezorClient, and transports get encoded blobs
to (chunkify and) send.  This is a better design because transports don't need
to know about protobuf.

It also lays groundwork for sending raw bytes feature (#116)

This commit also removes all vestiges of ProtocolV2 which was never used and
will probably need to be redesigned from the ground up anyway. The code is
still ready for protocol flexibility.
2020-03-26 11:30:06 +01:00
matejcik
9d29952a15 python: move out deprecated ckd_public 2020-03-26 11:30:06 +01:00
matejcik
325dae890e python: completely drop trezorlib.coins and trezorlib.tx_api 2020-03-26 11:30:06 +01:00
matejcik
b3569a53e6 tests: update tx_cache usages 2020-03-26 11:30:06 +01:00
Tomas Susanka
ae4f927a45 tests: test incorrect script type 2020-03-20 14:19:31 +00:00
matejcik
da89a17ce5 all: add checks for prev_hash size 2020-03-20 14:19:31 +00:00
Tomas Susanka
71a39bc0d7 legacy: check inputs' and outputs' script types 2020-03-20 14:19:30 +00:00
matejcik
ffdb299c61 all: drop Capricoin support [NO BACKPORT] 2020-03-20 14:19:30 +00:00
matejcik
adea7d6b35 all: make timestamp mandatory on timestamp-enabled coins 2020-03-20 14:19:07 +00:00
matejcik
ed464f3d47 all: ensure expiry, timestamp and extra_data are blocked as appropriate 2020-03-20 14:18:27 +00:00
matejcik
27803ee8c1 all: drop overwintered field from transaction 2020-03-20 14:18:27 +00:00
matejcik
303c05aba7 core/sign_tx: check if prev_tx has enough outputs to match prev_index 2020-03-20 14:17:44 +00:00
Andrew Kozlik
c98592050b tests: Fix multisig input replacement attack to check correct behavior during the signing phase. 2020-03-20 14:17:44 +00:00
Tomas Susanka
350a67d9a7 tests: test multisig input replacement attack 2020-03-20 14:17:44 +00:00
Ondřej Vejpustek
bbb44405ad tests/singing: mixed inputs in bitcoin gold 2020-03-20 14:17:44 +00:00
Tomas Susanka
8a0a38f948 tests/singing: mixed inputs 2020-03-20 14:17:44 +00:00
Tomas Susanka
f0a39df75d core/wallet: check inputs and outputs right after receiving them 2020-03-20 14:17:44 +00:00
Tomas Susanka
a513f7429b legacy: forbid unnecessary fields in OPRETURN output 2020-03-20 14:17:44 +00:00
Tomas Susanka
4af9aa547e core: forbid unnecessary fields in OPRETURN output 2020-03-20 14:17:44 +00:00
Andrew Kozlik
d800fcbf9f core/sign_tx: If there is a non-multisig input, then change output cannot be multisig.
(cherry picked from commit 8eb6ce0899)
2020-03-20 14:17:44 +00:00
matejcik
a978435819 tests: update SD card test 2020-03-20 14:03:28 +01:00
Andrew Kozlik
8ee0026637 core: Allow PIN entry even when SD protect is enabled and the card is not present. 2020-03-19 15:04:33 +01:00
Andrew Kozlik
b2dc5813fe legacy, tests: Check for invalid PIN. 2020-03-17 11:53:48 +01:00
Tomas Susanka
ad25096f90 tests: test reset device also with another strengths 2020-03-13 10:12:50 +00:00
matejcik
5b7d11e4ee tests: remove explicit timeouts from test suite 2020-03-09 10:31:17 +01:00
matejcik
7f91bc571c core: ensure default task restarts after a passphrase workflow (fixes #883) 2020-02-28 15:55:40 +01:00
matejcik
d7b9582386 core/sdcard: add ensure_filesystem option (fixes #868)
It is possible to call `ensure_sdcard` in a way that requires only SD
card be inserted, but not necessarily formatted.

This is useful for SD-protect and possibly other use-cases where the SD
card is read-only, and "not formatted" is identical to "not containing
the right files".
2020-02-24 13:28:44 +01:00
matejcik
8fed67de08 tests: expand on multi-session tests 2020-02-21 14:40:42 +01:00
Tomas Susanka
6c47bf8230 core: store multiple sessions/caches at the same time 2020-02-21 14:40:42 +01:00
Pavol Rusnak
562671401e
Merge pull request #860 from trezor/prusnak/multisig-show-yours-others
core: show yours/others in get_address for multisig
2020-02-20 13:49:13 +01:00
matejcik
5523c7bbef tests: add SD card format feature tests 2020-02-20 12:51:48 +01:00
matejcik
d98bbebf5e tests: add UI test for multisig+xpub feature 2020-02-20 12:47:29 +01:00
matejcik
81a03edf61 python/debuglink: add docstrings, rename functions for clearer usage 2020-02-12 15:38:18 +01:00
matejcik
1bcf856946 tests: simplify change_wipe_code test with PIN queuing 2020-02-12 13:31:31 +01:00
matejcik
ba3d90b994 tests: add wipe code activation test 2020-02-12 13:31:31 +01:00
matejcik
94b85efba1 python/debuglink: make pin sequences configurable 2020-02-12 10:36:42 +01:00
Tomas Susanka
0a13f7a441 core: properly limit passphrase to 50 bytes 2020-02-11 15:39:08 +00:00
Tomas Susanka
15ed5cd19e
core: do not clear cache on ClearSession 2020-02-07 11:41:03 +00:00
Tomas Susanka
5717e647ed
tests/device: remove test_expected_responses 2020-02-07 11:41:03 +00:00
matejcik
49727740bc
tests: remove unnecessary passphrase_on_host 2020-02-07 11:41:03 +00:00
matejcik
9c75e27433
tests: unify Ping replacements
for raw calls: just messages.GetAddress()
for library calls: btc.get_address(client, "Testnet", [0])
2020-02-07 11:41:03 +00:00
matejcik
a8cfa8fbed
tests: simplify ClearSession test 2020-02-07 11:41:03 +00:00
matejcik
c9a6ada14f
tests: simplify and extend session_id test 2020-02-07 11:41:02 +00:00
Tomas Susanka
b96d7cafbb
core: rework cache and fix cardano caching 2020-02-07 11:41:01 +00:00
Tomas Susanka
d5763d9cab
all: implement code review comments 2020-02-07 11:41:01 +00:00
Tomas Susanka
a3f3d4fcdb
remove ping.passphrase/pin 2020-02-07 11:41:00 +00:00
Tomas Susanka
b5d6aaf77c
tests: test PassphraseAck options 2020-02-07 11:41:00 +00:00
Tomas Susanka
041a95f738
legacy: new passphrase redesign draft 2020-02-07 11:40:59 +00:00
Tomas Susanka
569068044e
tests/ui: skip ui test in session tests 2020-02-07 11:40:59 +00:00
Tomas Susanka
be94824c49
tests: test for passphrase_always_on_device 2020-02-07 11:40:59 +00:00
Tomas Susanka
cd09f9ce94
all: modify passphrase source to always on device 2020-02-07 11:40:59 +00:00
Tomas Susanka
90d5cdfd5b
all: rework passphrase
The `on_device` field is being moved to PassphraseAck, State messages
are removed. Features newly contain `session_id`.
2020-02-07 11:40:58 +00:00
matejcik
066686a20c tests: raise timeouts for slow tests 2020-01-27 19:41:50 +01:00
matejcik
15bd35824b
python/cosi: improve API
cosi.verify was renamed to verify_combined, because it is pretty much
ed25519.verify, and the new name implies what it does in terms of the
CoSi scheme: verify a signature with already-combined public keys.

cosi.verify_m_of_n signature was simplified by not requiring the `n`
parameter, which is not important for verification. The updated function
was renamed to cosi.verify, because this is the standard CoSi
verification operation: given signature, digest, required number of
signatures, sigmask, and a list of public keys, verify that enough
signatures are indicated and that they sign the digest.
2020-01-20 17:32:58 +01:00
Tomas Susanka
346e1e3ebc tests/ui: remove unnecessary setup_client mark 2020-01-09 14:27:08 +00:00
Tomas Susanka
b4df1172ca tests/ui: enable ui test for change_wipe_code
Because the previous commit fixed it 🎉.
2020-01-07 12:38:12 +00:00
Tomas Susanka
0c820091a8 tests/ui: reseed each ui test before running it 2020-01-07 12:38:12 +00:00
Tomas Susanka
51ef963738 tests: introduce UI tests for core 2020-01-03 14:28:27 +00:00
Pavol Rusnak
e5bdf0d51b
Merge pull request #742 from trezor/language
common: change language field to IETF BCP 47 language tag
2019-12-12 18:07:54 +01:00
Pavol Rusnak
7646b97dca
common: divisibility -> decimals 2019-12-09 17:43:47 +01:00
Pavol Rusnak
bb8d809a6d
common: change language field to IETF BCP 47 language tag 2019-12-08 11:27:10 +01:00
Tomas Susanka
1b88840f53 docs: move docs to root 2019-12-06 12:24:20 +00:00
Tomas Susanka
61430d800e core/stellar: add screen for timebounds 2019-12-05 14:31:28 +00:00
Pavol Rusnak
3d50bb5ed8
common: add Peercoin, regenerate coins 2019-12-05 09:43:32 +00:00
Andrew Kozlik
89a3ec1696 tests: Add device tests for wipe code protection. 2019-11-25 17:08:19 +01:00
matejcik
34913a328a all: disallow most RecoveryDevice fields in dry-run (fixes #666) 2019-11-20 12:27:57 +01:00
matejcik
bd9bf4e2bc python: rename webauthn and u2f to fido 2019-11-18 11:50:07 +01:00
matejcik
862e582ec1 tests: make {needs,no}_backup flags available in test suite 2019-11-13 16:48:35 +01:00
matejcik
fd8aed6105 all: drop XPRV feature of LoadDevice 2019-11-13 16:48:35 +01:00
Tomas Susanka
90edad55fc python and tests: typos 2019-11-13 13:28:07 +00:00
Tomas Susanka
b12ed82586 tests/device: add test for u2f counter set/get 2019-11-13 11:33:12 +00:00
Tomas Susanka
ecf6f12ac7 tests/device: fix eos delegate signing tests
The bug was fixed in #681 but tests were not modified appropriately.
2019-11-11 12:20:32 +01:00
Andrew Kozlik
6cc44b133c tests/webauthn: Account for the increased limit on the number of resident credentials. 2019-11-01 16:14:16 +01:00
Tomas Susanka
c6d6d6c1d7 tests: skip speed tests on T2 2019-11-01 13:59:12 +00:00
Tomas Susanka
04f0b74b29 tests: add upgrade test for recovery 2019-10-25 14:38:10 +00:00
Adrian Nagy
384275ac73
core/tezos: support the new protocol update (005-BABYLON) 2019-10-23 17:53:10 +02:00
Pavol Rusnak
4bae47ea6d
tests: add multisig marker 2019-10-22 14:32:38 +00:00
matejcik
6a1a94ac6a tests: add wipe test for sd_protect 2019-10-21 12:25:18 +02:00
matejcik
ccd1940ea8 tests: more assertions on sd_protect 2019-10-21 12:11:51 +02:00
Tomas Susanka
92e23a2d06 tests: add sd_card marker and improve sd test 2019-10-17 15:54:22 +02:00
Andrew Kozlik
1ca1d77bf7
tests/sign_tx: Add a test to ensure that if the change output is modified after the user confirms the transaction, then signing fails. 2019-10-17 12:59:27 +02:00
Andrew Kozlik
564b24191e debug: Add left and right swipe direction to DebugLinkDecision message and unify terminology around swipe direction. 2019-10-10 14:56:49 +02:00
matejcik
47a21ceebc tests: update Stellar XDR Builder instructions 2019-10-10 14:38:38 +02:00
Tomas Susanka
efb3eef0c4 tests/stellar: add hex to stellar operations signatures 2019-10-09 15:25:41 +00:00
ciny
79fedfd389 tests: enable nobackup tests for T1 2019-10-02 14:31:21 +02:00
matejcik
45665bde23 tests: parametrize reset/backup tests 2019-10-02 14:31:21 +02:00
ciny
a8f2f7b1e3 tests: expand backup device tests 2019-10-02 14:31:21 +02:00
Tomas Susanka
6b8f63c624 docs: improve tests documentation 2019-10-01 15:14:36 +02:00
matejcik
3c62db2696 stellar: fix ManageDataOp value padding 2019-10-01 15:12:37 +02:00
matejcik
97a5fd14b6 tests: reformat stellar test 2019-10-01 15:12:37 +02:00
matejcik
1c53c2bdf2 core/recovery: allow changing word count again (fixes #554) 2019-09-24 14:04:51 +02:00
Andrew Kozlik
de74750569 core: Show success and failure dialogs in change-pin. 2019-09-23 10:38:58 +02:00
matejcik
25f5dd8bdd tests: add check that backup succeeded 2019-09-20 18:06:02 +02:00
matejcik
b30d9f6897 tests: add backup test for SLIP39 Basic 2019-09-20 17:39:25 +02:00
matejcik
78ecc38b1b core: fix BIP39 backup
Refers to #550. Not marking fixed because we need more tests.
2019-09-20 17:14:59 +02:00
matejcik
2e3cd6e654 tests: add reset-recovery test for BIP39 2019-09-20 17:12:20 +02:00
matejcik
65c1afa728 tests: add TT change pin test (fixes #228) 2019-09-20 15:47:34 +02:00
matejcik
4eb98c254a tests: only allow input_flow in a with-block 2019-09-20 15:47:34 +02:00
Tomas Susanka
cefb1cf4fd core: refactor slip39 2019-09-19 16:38:29 +02:00
Andrew Kozlik
262434ea1b python/tests: Add SD protection device test. 2019-09-18 18:55:58 +02:00
Andrew Kozlik
ad2dc544a7 tests: Add credential management device tests. 2019-09-17 18:32:31 +02:00
matejcik
e89a913b1b tests: fix relative imports 2019-09-12 14:41:05 +02:00
matejcik
e3ceef2af6 tests: drop all explicit conftest references 2019-09-12 14:41:05 +02:00
matejcik
56f5f73550 tests: drop TrezorTest class 2019-09-12 14:41:05 +02:00
matejcik
b7ba306a46 tests: start moving common functions to top level 2019-09-12 14:29:33 +02:00
matejcik
885a21ab36 tests: add missing licence headers 2019-09-10 13:48:51 +02:00
matejcik
e31a499702 tests: check all combination of Shamir shares in reset-recovery test 2019-09-10 13:48:51 +02:00
matejcik
7be9bcac79 tests: extract more common functionality 2019-09-10 13:48:51 +02:00
Pavol Rusnak
40eabf9012
tests: fix test_msg_binance_sign_tx.py 2019-09-03 15:11:50 +02:00
Tomas Susanka
33cc147c66 tests: fix loaddevice test 2019-09-02 14:35:15 +02:00
Tomas Susanka
798ee4a83f tests: enable load_device test for core 2019-09-02 13:55:16 +02:00
Tomas Susanka
41b76f4f31 tests: move enter_all_shares recovery function to common 2019-09-02 10:20:51 +02:00
Pavol Rusnak
74b734fd66
tests: be consistent 2019-09-01 09:54:19 +02:00
matejcik
5b8f542436 python: do not accept bytes for str protobuf fields
fixes #283

also adds typing information to misc.py
2019-08-29 15:07:50 +02:00
matejcik
2d4b23d64a fixup! tests: convert from self.client to the client fixture 2019-08-29 15:07:50 +02:00
matejcik
122f6c8085 tests: update shamir tests for setup_client markers 2019-08-29 15:07:50 +02:00
matejcik
8e1d5374b1 tests: drop methods from TrezorTest class
tests: remove forgotten imports
2019-08-29 15:07:50 +02:00
matejcik
871a68e0be tests: improve ethereum tests 2019-08-29 15:07:50 +02:00
matejcik
e0f55be7a6 tests: convert from self.client to the client fixture 2019-08-29 15:07:50 +02:00
matejcik
eee02dd3f8 tests: make mnemonics top-level 2019-08-29 15:07:50 +02:00
matejcik
4b2235ab78 tests: convert setup_client to a marker 2019-08-29 15:07:50 +02:00
matejcik
1e4cf8d801 tests: make altcoin check prettier 2019-08-29 15:07:50 +02:00
matejcik
77d4f02b3a tests: make use of input_flow in test_cancel 2019-08-29 15:07:50 +02:00
Tomas Susanka
fd53c72a3c
Merge pull request #428 from trezor/ciny/super_shamir
UI for multi level Shamir reset and recovery
2019-08-27 13:22:32 +02:00
ciny
81f5cbef93 core + tests: Super shamir reset and recovery UI and tests 2019-08-27 11:50:42 +02:00
matejcik
2022c39ef9 core/ethereum: add support for wanchain slip44 id (#440) 2019-08-25 16:36:14 +02:00
Pavol Rusnak
b1f435e178
ci: test BITCOIN_ONLY firmware 2019-08-23 13:52:14 +02:00
Pavol Rusnak
16431f6c93
tests: add one more altcoin marker 2019-08-22 19:20:14 +02:00
Pavol Rusnak
84abde1f79
tests: add import pytest where required 2019-08-22 18:55:20 +02:00
Pavol Rusnak
fee1ee034b
tests: mark altcoin related tests with "altcoin" pytest marker 2019-08-22 18:50:45 +02:00
Pavol Rusnak
c6b9fa4873
legacy: support Signify Ed25519 signatures + add device test 2019-08-19 18:11:08 +02:00