Andrew Kozlik
2a19d70e98
test: Add device tests for replacement transaction flow.
2020-10-23 15:07:15 +02:00
Martin Milata
830592f2d9
feat(core): add experimental_features setting
...
The setting is off by default. When it is enabled protobuf messages
marked UNSTABLE are rejected after decoding.
2020-10-16 13:53:31 +02:00
Tomas Susanka
99e0faafb6
test(core): print fixtures suggestion after the test
2020-10-06 21:17:28 +02:00
Martin Milata
542f32d3b1
feat(core): add auto_lock_delay and display_rotation to Features
2020-10-02 11:06:16 +02:00
matejcik
e4785d47e0
style: apply black 20.8b1
2020-09-29 11:30:40 +02:00
matejcik
08d896f2f9
chore(tests): update to kwargs usage and new btc.sign_tx API
2020-09-23 16:00:10 +02:00
Martin Milata
cff4955f93
core: implement SafetyChecks.PromptTemporarily
...
Also reword safety checks confirmation dialogs.
2020-09-18 09:02:40 +02:00
Martin Milata
9d2ad96ad4
core: add SafetyCheckLevel to Features
2020-09-18 09:02:40 +02:00
Andrew Kozlik
b00c4209ed
tests: Use correct commitment data in authorize_coinjoin tests.
2020-09-08 19:36:10 +02:00
Andrew Kozlik
4fc4152741
tests: Fix device tests for streamimg prev_tx after confirmation.
2020-09-04 14:36:39 +02:00
Tomas Susanka
ebc99435ab
Revert "core: remove ownership messages from the public api for now"
...
This reverts commit 0d5f00668f
.
2020-09-03 14:56:27 +02:00
Tomas Susanka
b99b8b3df3
Merge remote-tracking branch 'origin/release/2020-09'
2020-09-03 13:17:23 +02:00
Tomas Susanka
ba36cef369
tests: move fixtures to common directory, start with Cardano
2020-09-01 16:14:41 +02:00
Tomas Susanka
0d5f00668f
core: remove ownership messages from the public api for now
2020-09-01 15:56:57 +02:00
matejcik
e0583dd5cb
all: use a specific error code for "invalid session"
2020-08-28 15:37:06 +02:00
matejcik
e0ec5aa1e7
tests: clear session before each testcase
2020-08-28 15:37:06 +02:00
matejcik
46eb223b2a
tests: use new trezorlib locking/sessioning API where appropriate
2020-08-28 15:37:06 +02:00
matejcik
a08c34a624
tests: add tests for end_session
2020-08-28 15:37:06 +02:00
Tomas Susanka
a443a4a430
tests/upgrade: add support for filenames with revision
2020-08-27 20:24:32 +02:00
Tomas Susanka
b780785beb
tests: replace emulators URL
2020-08-27 20:01:23 +02:00
Andrew Kozlik
fb1f1acad6
tests: Add device test for nLockTime in Bitcoin.
2020-08-21 21:30:15 +02:00
Andrew Kozlik
02da5b7593
core/bitcoin: Show warning if nLockTime is set but ineffective due to all nSequence values being 0xffffffff.
2020-08-21 21:30:15 +02:00
Andrew Kozlik
ae71735e62
legacy/signing: Ask user to confirm custom nLockTime.
2020-08-21 21:30:15 +02:00
matejcik
af5e301a7c
tests: update device tests with added ButtonRequests where appropriate
2020-08-21 21:30:15 +02:00
Martin Milata
1b982659c4
core: fix boot loop after uploading invalid homescreen ( #1205 )
2020-08-21 12:00:42 +02:00
Pavol Rusnak
68e119c2c6
tests: add tests for invalid paths
2020-08-21 11:49:03 +02:00
Martin Milata
3f21e8f400
core: display coin name when signing message
...
Also when verifying message.
2020-08-18 13:45:49 +02:00
Martin Milata
927ee0812b
core: add hard limit for transaction fees
...
The hard limit is set to 10*fee_warning_threshold. The limit is not
enforced when `safety_checks` is set to "Prompt".
2020-08-17 16:12:33 +02:00
Martin Milata
75fa9dee77
test_msg_signtx: proto -> messages
2020-08-17 16:12:33 +02:00
Pavol Rusnak
4e7460b5d3
core/tests: update modified UI tests (SignMessage)
2020-08-07 15:08:14 +02:00
matejcik
5385617eda
core: increase address length limit to accomodate CRW ( fixes #1139 )
2020-08-07 12:45:43 +02:00
matejcik
a94c0d074d
tests: use improved API in authorize_coinjoin test
2020-08-05 16:45:56 +02:00
matejcik
e585d35f34
python: clarify session and feature management API
...
init_device() should be used to initialize a session. Reuses existing
session if available.
end_session() explicitly closes any existing session and requests a new
one
lock() enables soft-lock
clear_session() is the equivalent of lock() + end_session()
A new function ensure_unlocked() can be used to open a session and
prompt for PIN and passphrase before further operations.
2020-08-05 16:45:56 +02:00
matejcik
d776cc931b
tests: fix test_msg_webauthn on-device
...
by not asking for a full-capacity list of credentials, which will
usually not fit in an unfragmented chunk of memory
2020-08-05 13:47:35 +02:00
gabrielkerekes
8d39ba8314
Add test case for multiple inputs and regenerate UI fixtures
2020-08-04 20:35:13 +02:00
Andrew Kozlik
ad3f39d829
tests: Add device test for multiple CoinJoin authorizations in different sessions.
2020-08-04 17:32:44 +02:00
Andrew Kozlik
77b931e217
tests: Add device test for CancelAuthorization message.
2020-08-04 17:32:44 +02:00
Andrew Kozlik
3cbfb98f38
tests: Add device test for a CoinJoin transaction which does not give the user's outputs a gain in anonymity.
2020-08-04 17:32:44 +02:00
Andrew Kozlik
07d9b780a6
core/bitcoin: Change CoinJoin round ID length to 32 bytes and remove rate limiting.
2020-08-04 17:32:44 +02:00
Andrew Kozlik
4fd229b500
tests: Add device tests for AuthorizeCoinJoin and CoinJoin SignTx.
2020-08-04 17:32:44 +02:00
Andrew Kozlik
377bff68f4
core/bitcoin: Implement DoPreauthorized message.
2020-08-04 17:32:44 +02:00
Tomas Susanka
5350bafa3e
core: regenerate UI fixtures due to previous commit
2020-08-04 13:32:53 +02:00
gabrielkerekes
12132ea64b
Fix rebase and regenerate ui tests
2020-07-30 17:17:03 +02:00
gabrielkerekes
7a1e773b49
Validate transaction metadata
2020-07-30 17:17:03 +02:00
gabrielkerekes
f2ee450410
Include metadata in transaction signing
2020-07-30 17:17:03 +02:00
gabrielkerekes
fce7a001af
Regenerate UI tests
2020-07-30 17:17:03 +02:00
gabrielkerekes
a729ef1c26
Update tests
...
Add certificates, withdrawals and metadata hash
2020-07-30 17:17:03 +02:00
Pavol Rusnak
063aba910d
core: rename emulator to trezor-emu-core
2020-07-30 15:27:34 +02:00
Martin Milata
10387e1869
core: drop zcash v3 tx signing support
2020-07-30 15:14:18 +02:00
gabrielkerekes
b66adae64b
Regenerate UI tests
2020-07-30 14:43:32 +02:00
gabrielkerekes
b5f3511c1c
Add support for script addresses in tx outputs
2020-07-30 14:43:32 +02:00
matejcik
741fca0156
tests: watch_layout must be explicit ( fixes #1142 )
2020-07-29 11:50:47 +02:00
Tomas Susanka
5bc14abe6f
tests/ui: regenerate records due to df035349
2020-07-27 18:38:37 +02:00
Gabriel Kerekeš
d2c1624602
Cardano shelley update 2/3 ( #1112 )
2020-07-27 13:11:23 +02:00
gabrielkerekes
e1615e60ec
Update Cardano to support Shelley era 1/3
...
Update protobuf
- Previous transactions don't need to be sent anymore, because fee is
included in the transaction now. Thus transactions_count can be
removed from CardanoSignTx message and the CardanoTxAck and
CardanoTxRequest messages can be removed altogether.
- CardanoTxInputType.type is unused so remove it
Add NULL (None type) serialisation to CBOR
- Transaction metada must either have a valid structure or CBOR NULL
must be used (if metadata is empty) - it can't be simply left out.
Add protocol_magics file
- Just to have a nicer way of representing protocol magics
Update transaction signing
- Previous transactions no longer need to be requested
- Output building is simplified, since fee doesn't need to be calculated
- Remove transaction class since it is no longer needed (only functions
remained)
- Reorder functions so it reads top to bottom
Add protocol magic to byron address on testnet
- This has always been a part of the spec, but it hasn't been
implemented before, because it wasn't really needed.
Update trezorlib
Update tests
- Transaction messages are no longer required
- Expected values are different since tx format changed
- Common values in test cases have been extracted
Remove unused file
- Progress was used when receiving previous transactions
Add CRC check to output address validation
2020-07-27 13:04:49 +02:00
matejcik
fdcb64ac24
all: rename protobuf unsafe_prompts
to safety_checks
2020-07-24 16:37:58 +02:00
matejcik
fd8cb0e061
core/keychain: differentiate error message for ed25519 derivation
2020-07-24 16:37:58 +02:00
matejcik
e3bb39128d
tests: add test for unsafe prompts
2020-07-24 16:37:58 +02:00
Martin Milata
fd117a0c9f
core: raise error on auto-lock value out of range
2020-07-22 21:38:42 +02:00
matejcik
e97336a40d
tests: make device_handler resilient to interrupting tests
2020-07-10 14:05:52 +02:00
matejcik
819d5cff24
tests: add documentation for click-test recorder
2020-07-10 14:05:52 +02:00
matejcik
e2c64537ed
tests: very hacky tool to record a click-test
...
not sure how useful this is in general, but you can use it to create
longer sequences of clicky tests
2020-07-10 14:05:52 +02:00
matejcik
051763575d
core: touch idle timer in keyboards ( fixes #1099 )
2020-07-10 14:05:52 +02:00
matejcik
8a7c6ce34d
tests: fix device_handler to be able to enter passphrase via clicks
...
note: this is currently broken due to #922
2020-07-10 14:05:52 +02:00
Andrew Kozlik
c7bc945d95
tests: Test transaction with multiple change-outputs.
2020-07-09 15:51:23 +02:00
Pavol Rusnak
426382da7c
tests/emulators: fix download_emulators script
2020-07-03 17:33:59 +02:00
Pavol Rusnak
d720fa3f83
tests: fix flake errors
2020-07-03 17:33:59 +02:00
Andrew Kozlik
39c0ed2ff0
tests/sign_tx: Add device tests for transactions with external inputs in bgold, bcash and zcash.
2020-07-03 11:17:19 +02:00
Andrew Kozlik
866dc72de2
tests: Add device tests for generation of proofs of ownership.
2020-07-03 11:17:19 +02:00
Andrew Kozlik
534bce3f86
tests/sign_tx: Add device tests for transactions with external inputs.
2020-07-03 11:17:19 +02:00
matejcik
64cfe48f54
tests: add missing UI fixture
2020-06-30 15:19:31 +02:00
matejcik
e6e3043096
all: implement support for pre-overwinter prevtx ( fixes #1030 )
2020-06-30 15:19:31 +02:00
matejcik
f09dcc412e
tests/zcash: enable "version_group_id_missing" test
2020-06-30 15:19:31 +02:00
Tomas Susanka
24f803e9c0
Revert "tests: do not check internal firmware.corp certificate"
...
This reverts commit 7364883c04
.
Fixed by adminkos.
2020-06-27 14:50:14 +00:00
Tomas Susanka
e534ae3ad7
legacy, core: rename Features.pin_cached to unlocked and unify
2020-06-19 21:26:36 +02:00
Tomas Susanka
67b50f0fc6
tests: add comment to download_emulators.sh about nix shell
2020-06-19 07:12:33 +00:00
Tomas Susanka
a6acefbdf5
core: wipe before reset and recovery; introduce 'intialized' field
2020-06-16 11:31:29 +02:00
Tomas Susanka
7364883c04
tests: do not check internal firmware.corp certificate
...
To be discussed with adminkos whether this is correct or not.
2020-06-12 17:33:03 +02:00
Tomas Susanka
b4c2fe7c93
tests: fail download_emulators.sh script if some commands fail
2020-06-12 17:32:11 +02:00
Tomas Susanka
b67be7dd9e
core: forbid all settings if not initialized
2020-06-11 18:47:01 +02:00
Tomas Susanka
56fe5adcfc
Merge branch 'release/2020-06'
2020-06-10 06:51:18 +00:00
Andrew Kozlik
9c61257e8e
core: Use the Lock icon in the PIN entry dialog only when the device is actually locked.
2020-06-05 11:52:56 +02:00
matejcik
7579ac5274
core: fix rendering issues in homescreens
2020-06-04 16:18:46 +02:00
matejcik
35a0ae1d18
tests/ui_tests: use separate temporary directories for test cases
2020-06-04 16:18:46 +02:00
matejcik
4bc865794f
core: only unlock storage if it is locked (solves determinism issue in tests)
2020-06-04 16:18:46 +02:00
matejcik
0799595b5b
tests: update UI test fixtures
2020-06-04 16:18:46 +02:00
matejcik
70f67883c5
core: fix artifacts in click-based UI tests
2020-06-04 16:18:46 +02:00
matejcik
3c128cde38
tests: fix wait_layout() behavior
2020-06-04 16:18:46 +02:00
matejcik
0c3bbef81b
tests: move autolock tests to a separate file
2020-06-04 16:18:46 +02:00
matejcik
5d823ff5ea
core: use ButtonRequestType.PinEntry for PIN entry
2020-06-04 16:18:46 +02:00
matejcik
e9555a3b0a
tests: rename test_address to get_test_address
...
so that pytest doesn't think it is a testcase
2020-06-04 16:18:46 +02:00
matejcik
e642853767
tests: update UI test fixtures
2020-06-04 16:18:46 +02:00
matejcik
a11ec58eb6
tests: enable auto-lock tests for TT
2020-06-04 16:18:46 +02:00
matejcik
dab41fd680
tests: cleaner way to get the ui parameter
2020-06-04 16:18:46 +02:00
matejcik
88c5ec8d40
tests: update UI test fixtures
2020-06-04 16:18:46 +02:00
matejcik
67c09020ab
tests: fix terminalreporter deprecation warning
2020-06-04 16:18:46 +02:00
matejcik
b4900f2ab9
test: refactor RecoveryDevice test for TT
2020-06-04 16:18:46 +02:00
matejcik
2499a6d6da
tests: refactor T1 changepin test
2020-06-04 16:18:46 +02:00
matejcik
fc6c99c6f9
tests: disable PIN detection, all PIN uses must be explicit
2020-06-04 16:18:46 +02:00
matejcik
4771d2c233
tests: fix test suite for softlock
2020-06-04 16:18:46 +02:00
matejcik
6069173252
python/debuglink: clean out debuglink methods
2020-06-04 16:18:46 +02:00
matejcik
5209804fc3
core: relax path checks on GetPublicKey
...
(cherry picked from commit 554d8949f5
)
2020-05-27 06:58:30 +00:00
matejcik
554d8949f5
core: relax path checks on GetPublicKey
2020-05-27 08:56:50 +02:00
Tomas Susanka
610dedca74
tests/signing: fix mixed inputs test
2020-05-24 14:36:38 +00:00
Andrew Kozlik
a5eecf7a3c
tests/ui: update fixtures to account for changed bgold amounts
2020-05-24 14:36:38 +00:00
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
d5b4a570ff
tests: regenerate UI fixtures
2020-05-15 14:08:29 +02:00
matejcik
29db769185
tests: update test vectors to use correct paths
2020-05-15 14:08:29 +02:00
matejcik
17c4d75b40
tests: rename report_test to testreport so that pytest doesn't think it is a testcase
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
Andrew Kozlik
e38ced8c05
tests/u2f-hid: Disable strict timing checks in HIDTest and increase receive timeout to avoid failures in CI when emulator is slow to respond.
2020-04-06 09:53:42 +02:00
Tomas Susanka
bf20537f41
core: add option to omit cancel button in HoldToConfirm; add it to reset
2020-03-30 16:00:12 +00: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
5a526888cf
python: move json_to_tx to btc.from_json, add test cases
2020-03-26 11:30:06 +01:00
matejcik
b3569a53e6
tests: update tx_cache usages
2020-03-26 11:30:06 +01:00
matejcik
5cd7c72353
tests: rework tx cache
...
The cache will no longer add new txes transparently.
To add a transaction, see: ./tests/tx_cache.py --help
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
Tomas Susanka
1bf08cbb97
tests: add ui fixture for test_attack_change_input test
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