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

839 Commits

Author SHA1 Message Date
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
Tomas Susanka
2ae8e16dd3 tests: add ui fixture for the previous test 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
Tomas Susanka
89929c7a8c tests/ui: create report what differs from master 2020-03-04 13:41:32 +01:00
Tomas Susanka
f8de140271 core: add cancel to hold to confirm dialogs 2020-03-02 13:58:41 +00:00
Tomas Susanka
21676a0662 ore/tezos: better wording in delegation cancel 2020-03-02 08:49:34 +00:00
matejcik
7f91bc571c core: ensure default task restarts after a passphrase workflow (fixes #883) 2020-02-28 15:55:40 +01:00
Tomas Susanka
a8af9feebe core: fix text overflow in some dialogs 2020-02-27 12:43:33 +00:00
Tomas Susanka
744c32991f core: unify sign/verify functions
The UI records are modified because of two changes:
- Added a coin name to the Sign/Verify screen (ETH/Lisk).
- Unified to use mono.
2020-02-27 12:43:33 +00:00
matejcik
6722215c66 tests: update SD-protect test after randomization change 2020-02-24 15:38:28 +01:00
matejcik
61fa00731a tests: write UI report if tests fail 2020-02-24 15:38:02 +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
f9097b16e6 tests: make ui-check-missing more resilient for nonstandard exits 2020-02-24 13:28:44 +01:00
Tomas Susanka
703a13eb00 tests/ui: fix ui fixtures 2020-02-21 14:07:33 +00: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
d88540f2e0 tests: do not error out when fixtures fail to download 2020-02-20 12:51:48 +01:00
matejcik
42c4eb6341 tests: add SD format test fixtures 2020-02-20 12:51:48 +01:00
matejcik
5523c7bbef tests: add SD card format feature tests 2020-02-20 12:51:48 +01:00
matejcik
5bd8d9b5bb core/sdcard: make allocating new SD card for emulator fast 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
Tomas Susanka
577daf09fe tests: introduce --ui-check-missing to test/remove missing tests 2020-02-18 09:33:21 +01:00
matejcik
0d3e1b2479 tests: better way to shut down test suite when connection to device is lost 2020-02-13 16:30:36 +01:00
matejcik
e61b7d28e9 all: do not send state in PassphraseAck (not needed for compatibility) 2020-02-13 15:44:50 +01:00
matejcik
e9003d0742 tests/upgrade_tests: extract and simplify for_all decorator 2020-02-13 15:37:14 +01:00
matejcik
b6fca537c9 tests: remove wipe_code_activate test fixture 2020-02-12 15:45:17 +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
matejcik
64838bca2d tests: fix style 2020-02-10 15:44:13 +01:00
matejcik
41aa818c4c tests: shut down test suite if no device is available
this seems better than erroring out dozens of tests
2020-02-10 15:38:26 +01:00
matejcik
cfe0e34215 tests: ignore trezor.log 2020-02-10 12:36:53 +01:00
Tomas Susanka
15ed5cd19e
core: do not clear cache on ClearSession 2020-02-07 11:41:03 +00:00
Tomas Susanka
da4743c234
tests/ui: regenerate records
It seems counterintuitive that we need to regenerate ui fixtures because
of some work on passphrase.

The reason is that we have changed where the state (now session id) is
generated. We have moved it to Features, so it is generated already
after the Initialize message is received. It used to be generated later
- during the PassphraseReq/Ack workflow and in some tests we ask for
randomness between those steps.
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
matejcik
ee07b32f52
python: fix debuglink usage of get_passphrase 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
Tomas Susanka
4baa76dc67 tests/ui: replace many hash.txt files with one large one 2020-01-31 13:05:58 +00:00
Tomas Susanka
73e17987d2 Revert "tests: add 'timeout' to markers"
This reverts commit 5364d5e978.
2020-01-28 14:45:47 +00:00
Tomas Susanka
5364d5e978 tests: add 'timeout' to markers 2020-01-28 14:30:42 +00:00
matejcik
c612b8fd2d tests: increase timeout for 16-of-16-share test 2020-01-27 20:17:52 +01:00
matejcik
9279049008 tests: register the 'slow' marker 2020-01-27 20:06:18 +01:00
matejcik
066686a20c tests: raise timeouts for slow tests 2020-01-27 19:41:50 +01:00
matejcik
25910acdd1 tests: make use of new emulator code in emulator tests 2020-01-23 18:45:57 +01:00
matejcik
f707913f32 tests/ui: update fixtures to include missing confirms 2020-01-23 15:45:10 +01:00
Pavol Rusnak
9a884a5dc5
ci/tests: disable test_LongEcho in HIDTest, remove retry 2020-01-23 12:26:43 +00: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
783fa80d19 tests/ui: mkdir for new test 2020-01-15 12:55:37 +00:00
Tomas Susanka
c332876fc0 tests/ui: fix overall result message 2020-01-10 13:25:52 +00:00
Tomas Susanka
a1a56813fe tests/ui: use the generated reports to create index.html
instead of the pytest reports, because it was quite painful
2020-01-10 12:18:15 +00:00
Tomas Susanka
87d032a8dd tests/ui: regenerate fixtures due to the red square fix 2020-01-10 08:25:12 +00:00
Tomas Susanka
b846a44a8d tests/ui: relative path to report pages 2020-01-10 08:25:12 +00:00
Tomas Susanka
23b3a59a5d tests/ui: order tests in summary 2020-01-09 14:37:15 +00:00
Tomas Susanka
b99a6d5f6c tests/ui: refactor image reading 2020-01-09 14:32:11 +00:00
Tomas Susanka
346e1e3ebc tests/ui: remove unnecessary setup_client mark 2020-01-09 14:27:08 +00:00
Tomas Susanka
1103a14c48 tests/ui: move reports and add index.html 2020-01-09 14:25:45 +00:00
Tomas Susanka
c604b8f7fa tests/ui: rename test fixtures folders 2020-01-09 12:03:23 +00:00
Tomas Susanka
b6ec8d67ba tests/ui: use different test names 2020-01-09 12:03:23 +00:00
Tomas Susanka
96ec85686e tests/ui: success html file 2020-01-07 14:43:23 +00:00
Tomas Susanka
75c96f6b0a tests/ui: regenerate fixtures due to reseed before wipe 2020-01-07 12:38:12 +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
78bd43d3c4 tests/conftest: reseed before wipe 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
8796ca96b9 tests/ui: rename test-screen to ui 2020-01-07 09:13:08 +00:00
Tomas Susanka
56257eb6a5 tests/ui: code review fixes 2020-01-06 14:44:30 +00:00
Tomas Susanka
fe690a6b6b tests/ui: embed images as base64 to diff.html 2020-01-03 15:07:46 +00:00
Tomas Susanka
ce00fa667a tests/ui: download recorded fixtures from server 2020-01-03 15:07:46 +00:00
Tomas Susanka
edcd4f9ccc tests/ui: copy actual dir as recorded if the test passed
because it is the same thing then
2020-01-03 14:28:27 +00:00
Tomas Susanka
2eda139ac4 tests/ui: move files to ui_tests dir 2020-01-03 14:28:27 +00:00
Tomas Susanka
e709f76b14 tests: move fixtures to fixtures directory 2020-01-03 14:28:27 +00:00
Tomas Susanka
15069f3e25 tests/ui: introduce diff html 2020-01-03 14:28:27 +00:00
Tomas Susanka
2ceeacb5db tests/ui: rename also tested fixtures 2020-01-03 14:28:27 +00:00
Tomas Susanka
3a035a0ef8 tests: save screens directly to ui_tests; introduce recorded/actual dir 2020-01-03 14:28:27 +00:00
Tomas Susanka
51ef963738 tests: introduce UI tests for core 2020-01-03 14:28:27 +00:00
Tomas Susanka
a28f29708f ci: add junit for a nice tests overview 2020-01-03 12:44:12 +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
40a2c2ce93 tests: improve clicktests 2019-11-15 15:54:16 +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
23c4b97e48 tests/upgrade: test u2f counter 2019-11-13 11:33:11 +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
Tomas Susanka
31a484bdc6 tests/persistence: extend recovery test to test a full recovery
including restarts
2019-11-11 11:06:29 +00:00
Pavol Rusnak
d5129b916d
tests/fido_tests: add simple device tests using libfido2 2019-11-09 10:26:03 +00:00
Tomas Susanka
2aab4e5955 tests/click: refactor reading lines to a function 2019-11-05 10:42:30 +00:00
ciny
905a405cb3 tests: click tests for basic and advanced slip39 2019-11-05 11:13:46 +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
Tomas Susanka
ab59b4731a tests/click: refactor recovery 2019-10-25 14:38:10 +00:00
Tomas Susanka
1e27a27cd3 tests: update README 2019-10-25 12:22:20 +00:00
Tomas Susanka
9251f73d89 tests: move persistence tests to its own folder 2019-10-25 12:04:14 +00:00
Tomas Susanka
c3d13f41a4 tests/click: fix test_recovery 2019-10-24 07:51:03 +00:00
Adrian Nagy
384275ac73
core/tezos: support the new protocol update (005-BABYLON) 2019-10-23 17:53:10 +02:00
matejcik
9b827baca0 tests: improve Shamir persistence test 2019-10-22 17:06:49 +02:00
matejcik
5488270bc3 core: improve emulator wrapper
* supply a gzipped image of an empty SD card so that we don't spend 5s at
  every run by formatting it
* add start, stop, restart methods for direct control
* add restart capability to device_handler (a little awkward for now)
2019-10-22 17:06:49 +02:00
matejcik
f22f4d920e tests: ensure Shamir persistence test runs only for core 2019-10-22 17:06:49 +02:00
matejcik
bc1696b947 tests: add scaffold for Shamir persistence testing 2019-10-22 17:06:49 +02:00
matejcik
7591e98897 tests: rename background.py to device_handler.py 2019-10-22 17:06:49 +02:00
matejcik
c9f4341949 tests: make background handler killable 2019-10-22 17:06:49 +02:00
matejcik
c970ad437d tests: improve layout_lines API 2019-10-22 17:06:49 +02:00
matejcik
3f9b0b7f4f tests: improved click tests with BackgroundDeviceHandler 2019-10-22 17:06:49 +02:00
matejcik
49931007e7 tests: fix grid34 2019-10-22 17:06:49 +02:00
matejcik
370b2c4c49 tests: add click-based recovery test 2019-10-22 17:06:49 +02:00
Pavol Rusnak
4bae47ea6d
tests: add multisig marker 2019-10-22 14:32:38 +00:00
Tomas Susanka
8f34b4c5de
Merge pull request #628 from trezor/tsusanka/sdprotect-fix
Skip sd protect test on device
2019-10-22 15:40:03 +02:00
Tomas Susanka
bfa5047012 tests/upgrade tests: patch emulators on NixOS 2019-10-22 13:59:26 +02: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
matejcik
d9efd92c0a tests: error-out sd_card tests without SD card 2019-10-21 11:46:32 +02:00
Tomas Susanka
b530e7c105 ci: add fido2 tests to ci 2019-10-18 16:54:00 +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
Pavol Rusnak
8d2b32332b
tests: increase timeout for emulators to 30s 2019-09-18 17:07:57 +02:00
Andrew Kozlik
ad2dc544a7 tests: Add credential management device tests. 2019-09-17 18:32:31 +02:00
Pavol Rusnak
de011fa069
tests: update u2ftest to auto-confirm when needed 2019-09-14 14:36:33 +02:00
Pavol Rusnak
683ae579d1
tests/fido2-tests: cleanup u2f-tests-hid 2019-09-13 12:47:28 +02:00
Pavol Rusnak
6cfb640da6
tests: fix failure code in U2FTest 2019-09-13 11:16:00 +02:00
Pavol Rusnak
ca4581ce74
tests: add fido-tests/u2f-tests-hid 2019-09-12 17:50:17 +02:00
Tomas Susanka
75c539ec55
all: replace /bin/bash with /usr/bin/env bash 2019-09-12 17:35:55 +02:00
matejcik
8c08527f50 tests: cleanup conftest.py 2019-09-12 14:43:08 +02:00
matejcik
6e4921c030 tests: finish extracting common functionality for emulators 2019-09-12 14:43:08 +02:00
matejcik
643122b651 tests: harden upgrade test 2019-09-12 14:41:05 +02:00
matejcik
5e369e057a tests: remove unused parts of common.py 2019-09-12 14:41:05 +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
Pavol Rusnak
9898b9f208
tests/device_tests: don't wait forever for emulator to start listening 2019-09-10 23:34:28 +02:00
Pavol Rusnak
775f5b4e66
tests: check reported version of the emulator in the upgrade_tests 2019-09-10 21:16:52 +02:00
Pavol Rusnak
ee84450fe7
tests: use appropriate env variables to set emulator profile dir 2019-09-10 20:58:16 +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
matejcik
8814837a9e ci: split "test upgrade" for core and legacy (fixes #501) 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
Tomas Susanka
077735f57b ci: introduce upgrade tests
closes #126
2019-08-26 16:02:06 +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
Roman Zeyde
93382a10f5
tests: test Elements explicit addresses (p2pkh, p2sh and bech32) 2019-08-16 18:20:23 +02:00
Tomas Susanka
542f156b4f core/slip39: remove _encrypt
(cherry picked from commit 53ca61ab00)
2019-08-13 17:25:53 +02:00
Tomas Susanka
1b666804c0 core/shamir: fix EMS vs MS
(cherry picked from commit cb94454618)
2019-08-13 17:25:47 +02:00
matejcik
0312fb264b tests: fix reference to ckd_public
we aren't moving ckd_public out of trezorlib just yet. It will go away
in 0.12.

tests: move ckd_public

tests: remove useless usages of ckd_public
2019-08-12 12:57:25 +02:00
matejcik
0470cf9865 tests: move burn tests to root 2019-08-12 12:57:25 +02:00
matejcik
842fde455c tests: improve debug-trezor detection
should (finally) work with a connected production Trezor and an
emulator, in which case it should pick the emulator by itself
2019-08-12 12:57:25 +02:00
matejcik
37f8cbd403 tests: add flakiness to bip32_speed test 2019-08-12 12:57:25 +02:00
matejcik
eb6f6dd572 tests: move tx_cache impl 2019-08-12 12:57:25 +02:00
matejcik
b4fa6f2a7f tests: move device tests to top-level 2019-08-12 12:57:25 +02:00
matejcik
e5670856a2 MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
Tim Ruffing
52d34955e7 embed/extmod/modtrezorcrypto: add secp256k1_zkp module
This includes the https://github.com/ElementsProject/secp256k1-zkp library
(which is a fork from sipa/secp256k1 used in Bitcoin Core) as a module. It
is currently not used in any app.

This commit the first step towards integrating Liquid (tracking issue #282).

Note that this creates a new 64 kiB read-only data section in .flash2 for
pre-computed tables (secp256k1_ecmult_static_context) which speed up
signature creation and related private key operations.

Co-authored-by: Roman Zeyde <me@romanzey.de>
Co-authored-by: Andrew Poelstra <apoelstra@wpsoftware.net>
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
2019-04-15 17:24:55 +02:00
Dusan Klinec
8530d05ebe
tests: minor monero script test fix, quotes 2019-04-11 16:46:18 +02:00
Tomas Susanka
c55b655325
Merge pull request #541 from ph4r05/pr/monero-bin-test
tests: monero binary test added
2019-04-11 13:45:32 +02:00
Dusan Klinec
1398e7a0cb
tests: monero binary test added 2019-04-11 11:35:40 +02:00
Ciny
2227fc60b8 src/apps/wallet: display custom locktime confirmation (#540) 2019-04-10 16:22:04 +02:00
Tomas Susanka
b84d0e8452 paths: disallow special ed25519 curves 2019-04-09 16:32:52 +02:00
Tomas Susanka
8aa60e6cfd paths: validate curve as well 2019-04-09 16:18:34 +02:00
Vladyslav Burzakovskyy
7e5ab98303 tests/run_tests.sh: show the number of passed and failed tests
allow the user to stop running tests (CTRL+C)

colorize the output
2019-04-09 00:58:26 +02:00
Roman Zeyde
6a54839acb tests: allow running tests from any directory (#487) 2019-03-26 14:12:09 +01:00
Dusan Klinec
bba8bf38eb
xmr: hf10 upgrades
- Deterministic output commitment masks, based on amount_key
- Bulletproof v2 serialization, EcdhInfo serialized as 8 B amount, XOR encrypted by a specific key derived from amount key
- Signing - pseudo_out recomputation on inputs, sign step
- Dummy encrypted payment ID (if applicable) for better transaction uniformity
2019-02-19 14:36:27 +01:00
Tomas Susanka
7e3673ad26 common: remove coins.by_address_type because there are conflicts
Unfortunetly, there are coins with the same `address type` field. For
example ZClassic Coin uses the same one as Zcash.
2019-02-18 17:00:17 +01:00
Andrew Kozlik
69efeac015
tests: Limit the APP values in test_trezor.config to 1, ..., 63
to account for the fact that the top two bits are being used
as permissions flags.
2019-02-15 12:43:54 +01:00
Andrew Kozlik
fd6eb333a6
src/apps/common/storage: allow U2F counter to be written even when storage is locked 2019-02-15 12:43:38 +01:00
Andrew Kozlik
6afd9b1d09
tests: Do not require storage to be unlocked prior to calling storage_change_pin(). The function checks the old PIN anyway. 2019-02-15 12:41:55 +01:00
andrew
1d43f9bea2
Delete the U2F counter if it's set to None. 2019-02-15 12:39:17 +01:00
andrew
4cea4d2a4a
Implement efficient counter in storage.py. 2019-02-15 12:39:15 +01:00
andrew
9f75d342a4
Add trezor-storage submodule. Update modtrezorconfig to work with the new storage_get() interface. Update tests to expect None instead of bytes(), when the value is not found in the storage. 2019-02-15 12:39:14 +01:00
Dusan Klinec
ab9ab25355
xmr: get_tx_keys, live_refresh 2019-02-13 13:28:42 +01:00
Pavol Rusnak
6974d037a9
src/apps/wallet/sign_tx: implement tx.branch_id field 2019-01-31 21:03:58 +01:00
Tomas Susanka
1946a9f93e eth: modify sign/verify functions to accept addresses as strings 2019-01-29 17:19:10 +01:00
Tomas Susanka
ccd79ca324 eth: get public key 2019-01-15 14:10:46 +01:00
Tomas Susanka
fbd348ee8e tests/ripple: test payment's destination tag 2019-01-14 13:38:15 +01:00
Pavol Rusnak
be833053a9
game: move game files to src_game 2018-12-22 19:39:14 +01:00
Pavol Rusnak
fb495a6afc
tests/examples: update 2048 code 2018-12-21 23:51:22 +01:00
Jan Pochyla
7730533dde seed: use lazy seed derivation, wipe after the workflow ends 2018-12-13 15:58:41 +01:00
Jan Pochyla
931e549c92 tests: eth RSK -> RBTC 2018-12-13 15:47:05 +01:00
Jan Pochyla
852bf8f4ef wallet: use keychain API in signing, fix tests 2018-12-13 15:47:05 +01:00
Jan Pochyla
7448030843 wallet: remove "import *" from sign_tx 2018-12-13 15:47:05 +01:00
Jan Pochyla
9ecd123bd5 seed: add support for key namespaces 2018-12-13 15:47:05 +01:00
Tomas Susanka
f3c401a5c9 wallet: do not validate script type in sign message function 2018-11-30 15:56:30 +01:00
Tibor Arpas
ea4610afd2 Fixing make test_emu in some environments. 2018-11-27 14:42:49 +01:00
Jan Pochyla
1782b0273c
Merge pull request #341 from trezor/tsusanka/paths
Bip 44 path checks
2018-11-19 15:54:11 +01:00
Pavol Rusnak
10a284f6ee
src/apps/wallet/sign_tx: make check for OMNI more strict 2018-11-13 16:33:14 +01:00
Pavol Rusnak
4693c071b4
src/apps/wallet/sign_tx: implement OMNI parsing in OP_RETURN layout 2018-11-13 14:29:40 +01:00
Tomas Susanka
31f987e988 coins: validate derivation paths
Based on SLIP-44 ids and other checks. See docs/coins/README for info.
2018-11-12 12:10:32 +01:00
Pavol Rusnak
0ff7034e37
embed/extmod/modtrezorconfig: refactor PIN UI wait callback (#398)
This commit accomplishes several goals:

1) it removes any upy dependencies from storage.c/storage.h
2) ui wait callback is set during config_init and storage_init,
   which allows to simplify the code dramatically
2018-11-08 15:55:47 +01:00
Jan Pochyla
b9926a9fff utils: simplify HashWriter interface 2018-10-30 15:50:39 +01:00
Pavol Rusnak
c8ad355032
cardano: add low-level support for passhrase 2018-10-26 12:09:10 +02:00
Dusan Klinec
6724e4e409
xmr: master merging commit
templates: build
style: correct math in comment
[260130c1] xmr: show address fix
[abd27e6c] xmr: reorganize module structure
[cd9e5a5d] xmr: simplify layout code
[a5b56f17] xmr: monero.crypto test fix
[60bc30ec] xmr: minor fixes
[f82bd9c0] xmr: use trezor.utils.ensure
[adf119ac] xmr: get rid of xmr.common module
[3531a42f] pipenv: temporary fix attempt for travis

- until pipenv bug is resolved
[d172f86f] xmr: protob messages refactored
[e83085ea] trezor-common version bump & messages regenerated

xmr: mlsag_hasher simplified
[feb5f1c6] xmr: simplify key_image_sync workflow
[d4cb0084] xmr: tiny note in README and typo
[62411cde] xmr: readme updates
[ff15b46e] xmr: rename and order mlsag functions
[3fb57dab] xmr: mlsag notes
[c27ae90b] xmr: output index check added in step6
[973c457b] xmr: grouping is mandatory
[684c7e19] xmr: range sig grouping check added
[012ca766] xmr: small refactor in borromean range proof
[1ba72b65] xmr: move range signatures to seperate file; rename mlsag2 to mlsag
[a89f3ab0] xmr: fix wrong annotation in modtrezorcrypto
[8303b42f] xmr: state's use_simple_rct and use_bulletproof modified to enums
[276712a9] xmr: re-export most of functions in apps.monero.xmr.crypto
[74165457] xmr: out_pk_masks changed to out_pk_commitments
[1e186727] xmr: state comments
[3c69a2e1] xmr: TrezorTxPrefixHashNotMatchingError note removed

only concerns multisig
[5af0feae] xmr: master merging commit

xmr: step 10 review
[d8e99375] xmr: step 09 review
[a510150d] travis: workaround form 6a0ea22b6eb3bdc9bce62d7c88fb8841ef8fdb0c
[03d27115] mocks: regenerate
[bd24bb35] mocks: add support for entering the global scope
[f75c1902] mocks: regenerate
[bce85968] modtrezorcrypto: define mock package
[7c077521] mocks: support package definition
[b3f1017b] xmr: step 05 and 06 masks and range proofs review

Masks are now always generated in step 5 and stored in state.

Range proofs were reviewed only in a high-level manner and will be
reviewed later.
[67f391cd] xmr: step 08 review
[673bf01f] xmr: steps 04, 05, 06 (almost) and 07 review

_range_proof in step 06 is still to be reviewed
[24c52517] xmr: simplify serialization, remove Archive
[896cdebf] xmr: redundant exception removed
[cb3813aa] xmr: serializer simplified
[471213b4] xmr: serializer flake8 fix
[9d4df17f] xmr: aescbc not needed
[52dd8b3b] xmr: serializer - erefs kicked out
[9e3be78f] xmr: sign cleanup, comments

- state cleanup, comments added, unused code removed
[164a7d6a] xmr: sign step 09 - fix in_memory artifact, dead branch
[8fa4066d] xmr: sign step 03 - permutation length check added
[55a593aa] xmr: multisig removed from protocol and functions
[6470678d] xmr: black styling
[02664401] xmr: step 03 review
[daf7b7d6] xmr: step 02 review
xmr: adding agent tests to travis
[c752866f] xmr: unused imports removed
[85115fd9] xmr: serializer test fixed

- removed unsupported messages after serialization simplification
[60874751] xmr: sign step 06 - comment on bulletproof hashing

- hash_bp(bp) != hash(serialize(bp)) because hash does not contain array lengths
[4abb5473] xmr: sign protocol - multisig logic removed
[813cb3a0] xmr: lite protocol removed

- backup left in xmr-total-full-with-lite branch
[e5f5b5bd] xmr: serialization slimming

- base types reduced, not needed for now
- some int serialization methods not used now
[fb515aaf] xmr: serialization - archive simplified

- simple parameter passing, no kwargs
- unused methods removed
- reader/writer passing removed for archive methods
[ec4c4adb] xmr: KeccakXmrArchive simplified, no archive used

- getting rid of container_size. We dont use containers with fixed size so this special case can be abandoned.
- KeccakXmrArchive is lighweight without need to touch main serialization
[90065bd4] xmr: serialization - serialize_archive removed

- custom serialization routine is not required at this moment
[b98c2f89] xmr: extra serialization refactored, manual serialization

- extra is serialized manually to reduce serialization overhead
- extra contains simple structures now:
  - payment ID = already serialized manually
  - tx pub key = easy to serialize manually
  - tx additional pub keys = serialized manually with little effort, more efficient memory usage
[8ce28a54] xmr: state 6 - provided tx keys removed

- needed only in the multisig scenario which is pruned now
[8d827f46] xmr: PreMlsagHasher pseudo out hashing fix
[49e552da] xmr: redundant import removed
[4199943d] xmr: KeccakXmrArchive simplified
[69bbf5fa] xmr: PreMlsagHasher - KeyV import removed, comment added
[9a194fa2] xmr: step7 - manual hashing of Extra
[d8a09283] xmr: PreMlsagHasher state load/save removed

- not needed, state not serialized anymore
[d5f43fa4] xmr: serialize reimport removed

- complex types are not surviving protocol boundary anymore, no need to fix hierarchy problems due to unimporting
[3b045612] xmr: serialize - TupleType removed
[b9a56981] xmr: serialization schemes simplified
[a59dbb8d] xmr: HashWrapper removed
[d0d1f05b] xmr: step 01 cleanup and comments
[8f7a7782] xmr: isort, black, flake8 fixes
[14265eb2] xmr: getting rid of CtKey from the state

- only lightweight objects are kept in the state. CtKey is import heavy object. Each set_out call locally imports a new own version of the Ctkey which causes a memory leak.
[c0cfc203] xmr: set_out minor function call fix
[c11c4686] xmr: sign_tx unimport optimization to reduce fragmentation
[df0a1dfc] xmr: range_sig allocation reordering, large chunks first
[63cddd5f] xmr: remove misc.StdObj
[8c8e3f33] xmr: proper memory usage in workflow
[9be1e0ac] xmr: typos and renames
[87f718b5] xmr: back to flat workflow
[64751339] xmr: refactor builder to seperate steps

- lot of work to be done, but the general idea will probably stay
- the messages workflow works, but the signed tx was not accepted by
daemon, so there is a bug somewhere
- additional cleanup/refactoring is defintely needed
[14b0a851] xmr: iface modified to layout
[27d568e1] xmr: extmod refactoring

- *_into removed, replaced by generic methods
- point_add, point_sub added
- code cleanup (+1 squashed commit)
Squashed commits:
[fbe39496] monero support added

Squashed commits:
xmr: hmac/enc keys removed from builder
[41028dff] xmr: unused function removed
[358573e3] xmr: PR comments fixes
[4abf9dc9] xmr: test fixes after refactoring
[192785ad] template rebuilt
[57a1f25e] xmr: wrapper protocol messages removed
[6f40ce17] xmr: trezor-common version bump & sync
[03e71de2] xmr: check input permutation
[6fc8b0ec] xmr: code cleanup, refactoring
[85ecc151] xmr: crypto code cleanup
[20b4113c] xmr: chunked bulletproof vectors

- workaround for the heap fragmentation problems
[66786f9d] tools: enable to reset class level indentation for mocks gen
[dc6f84a9] xmr: extmod-monero comments added, for mocks
[b1d4ab11] xmr: code cleanup
[447a8625] xmr: tsx confirmation raises exception on cancellation
[00dd8f6c] xmr: protocol optimizations removed, flow unified

- in_memory optimization stored tx.vin parts in the memory which enabled to skip roundtrips with permutations and hash_vini. Optimizations was removed so the protocol flow is unified among inputs, independent of the tx specs

- many_inputs: optimization stored spending keys for UTXO in memory, now it is offloaded in the encrypted form.
[ea69c7ad] vendor: trezor-common version bump & pb sync
[5d81c2a8] xmr: manual BP serialization

- more memory effective as the memory is critical in the range proof section
[d64bda7c] xmr: range_proof C-impl deprecated

- using now partitioned implementation in Python, which is also quite fast and easier to maintain due to allocations and buffers.
[18604e0f] xmr: borromean range sig generated by partitions

- overcomes heap fragmentation problem
[65a5116b] xmr: comments removed
[ca2bd0cc] xmr: auto-generated intelliJ param comments removed
[a75ef32e] xmr: code cleanup, heap fragmentations fixes

Squashed commits:
[d2ac2eb6] xmr: addr cleanup
[7e4c1a9c] xmr: code cleanup, heap fragmentations fixes
[93af8afb] xmr: refactoring, typing, comments
[28df8662] xmr: comment fix
[8b4f4d9c] xmr: serializer test fix (+34 squashed commits)

Squashed commits:
[823ee192] xmr: crypto comment cleanup
[6debfb6b] xmr: ring_ct cleanup
[759f52bf] xmr: tsx signer code style, hintins
[0b175bc9] xmr: tsx builder external state removed
[fee4a5ad] xmr: builder state fix
[92736fa7] xmr: sign_tx unimport
[a570ecb9] xmr: misc code cleanup
[4a496bb7] xmr: hash wrapper not needed in writer
[fefdb834] xmr: signer serialization improved
[8fa6eec9] xmr: signer mem clean
[66c53fe5] xmr: isort
[6996bd90] xmr: black
[59915a85] xmr: tsx input serialization refactored
[326af131] xmr: msg dump with prefix
[6e39801d] xmr: manual serialization of tx prefix
[9e5e047a] xmr: manual serialization improvements
[d07cee60] xmr: manual serialization of txout elements
[8d56c80e] xmr: TxOut custom serialization optimized II
[c19ba122] xmr: TxOut custom serialization optimized
[ce0d9b0b] xmr: TxOut manual serialization
[44e38342] xmr: sing_tx unimport
[61ac61be] xmr: lite log trace rename
[176b4275] xmr: de-async overhaul
[89ae3bad] xmr: diag style
[5ccb2fbb] xmr: wrappers cleanup
[aa86fb19] xmr: py3 only inheritance
[8031b1b0] xmr: builder, log_trace -> mem_trace for clarity
[25bf70d7] xmr: debugging logging only in debug mode
[c7c8d3c8] xmr: iface cleanup
[b0373396] xmr: lite debug only
[b1f6ce04] xmr: diag only in debug
[de7d718b] xmr: tsx counter removed
[76729beb] xmr: tsx_sign removed
[c6e6ffa8] Merge commit 'ba500bf4ec1ef9cd953bdf5a47888c5226db8d0b' into xmr
[ee97ef9f] xmr: minor code cleanup

xmr: black
xmr: minor code cleanup
[bae3ecac] xmr: bp comments
[5e812e6f] xmr: sign - mem_trace, pydoc
[7216a8c6] xmr: pydoc removed
[e87365f4] xmr: layout cleanup
[8d21d82e] xmr: redundant constructors removed
[9aa82bed] xmr: redundant comments removed
[9b926d6c] xmr: preludes removed
[bc9e77f1] xmr: readme update
[cf62047a] xmr: aggregated bulletproofs + rsig offloading

xmr: change idx fix
xmr: iface refactoring, integrated address (+5 squashed commits)
xmr: layout pagination refactoring
xmr: addr - integrated address
pb: sync
vendor: trezor-common version bump
xmr: style fixes
xmr: handle sweep tsx correctly

- handle dummy change address correctly
xmr: integrated address generation
build: fix after trezor-crypto version bump
xmr: new protocol dispatch handlers
xmr: slip0010
[43cf4c3c] xmr: comment fix
xmr: extmod pointer aritm fix
xmr: _into api unified, result is the first parameter
xmr: bp cleanup
xmr: scalar nullity test fix
xmr: msg registration improved

- lite protocol optional
- diag protocol optional
xmr: unused imports (+33 squashed commits)
[b4d045ae] xmr: bp - noqa flake8 false positive
[2c79d4be] xmr: isort
[8b9d2835] xmr: code cleanup
[eb7496e9] xmr: iface - shorter timeouts for faster tests
[59520b63] xmr: ringct comment
[6b16088e] xmr: signer - comment fixes
[a08958e2] xmr: simple and bulletproof condition fix
[4e0289a9] vendor: trezor-common version bump
[de472e5a] xmr: black
[234d2249] xmr: lightening, fixes, KeccakXmrArchive

- builder keys
- unload mods before memory intensive operation
[abdec665] xmr: sign_tx logging
[989d8687] xmr: serialize lightening
[7d61f056] xmr: tsx sign refactoring, lightening

- wake_up state restore
- minimize import weight
[3a0daa8b] xmr: serialize thinning
[65ad1d2e] xmr: serialize thinning
[501221d5] xmr: bp - thinning
[3d980377] xmr: bp - generalization with proof_v8
[10d11d60] xmr: extended rsig - offloading protocol
[a8f5caa2] xmr: crypto - rsig params fix
[f5e130b8] xmr: crypto - inv8
[dbc3f9d8] xmr: rsig pb sync
[5748a13e] xmr: bp - data for bp4 fix (+18 squashed commits)

Squashed commits:
[5bcd54e3] xmr: bp - black
[e93e97dd] xmr: bp refactoring, large memory optimizations

- memoryview in __getitem__ requires new memory allocation so the refactored version uses to(), read() methods that can operate directly on buffers without need to create memory views.
[c30745ae] xmr: bp - black
[f5c40699] xmr: bp - tests extended
[8dae75de] xmr: bp - get_exponent optim
[3e59ff80] xmr: bp - precomputations for 4 statements
[d1d2e29c] xmr: bp - gc.collect
[1bb6b5ba] xmr: bp - optimizations, streamlining
[2a2b0cb7] xmr: bp - verification in log(MN) memory for 1 proof

- not allocating MN vectors
- sequential multiexec added for memory efficient verification
- bulletproofs: maintain -z4, -z5, and -y0 to avoid subtractions [8276d25]
- bulletproofs: merge multiexps as per sarang's new python code [acd64d2b]
[75aa7dee] xmr: bp - memory optimization
[a10d05a9] xmr: bp - deterministic mask generation init
[5060d6a7] xmr: bp optimizations
[dd69eb1b] xmr: bp - black
[19f0f64b] xmr: bp - optimizations, power key vector
[2ba63f8c] xmr: bp - minor cleanup, optimizations, scalarmultH
[31c9ca2d] xmr: bp - mem clean
[3fc2c793] xmr: bp - memory save
[5b16c9cc] bp: black
[f1040c97] xmr: crypto - memory leak fix
[ff863510] xmr: iface - flake
[6ebf69c2] xmr: lite - flake8, black
[eee55d62] xmr: bp - memory diag
[2767009b] xmr: bulletproofs upgrade, mainnet version, cleaning
[be6ebbd5] xmr: lite protocol
[d603e96d] xmr: pb sync
[5da15da9] vendor: trezor-common fix
[0373b97e] xmr: iface - output confirmation split, subaddr fix
[2cf32176] xmr: monero - subaddress fixed for index (0, 0)
[3bb8f08b] xmr: enc.aescbc added - for lite protocol (+1 squashed commit)
Squashed commits:
[011dbaab] TMP: trezor-common on master, crypto on ph4

- trezor-crypto on ph4r04 fork as it has all required stuff
- Lite protocol not merged in master, thus does not work in the PR
[795b34e1] xmr: get_address fix
[2d39c90c] xmr: bp - import fix (squashed commit)

Squashed commits:
[2d5c6cee] extmod: monero - reduce32 and ge25519_norm removed (squashed commit)

- not needed in trezor-core (+4 squashed commits)

Squashed commits:
[90e6b5c5] xmr: bp optimization
[4fda0d22] xmr: redundant ge_ functions removed
[68903767] xmr: crypto - sc_reduce32 not needed
[c8a6c807] xmr: test for inversion added (+12 squashed commits)

Squashed commits:
[378928db] xmr: adapting to new trezor-crypto
[8f4ff8c1] protob sync
[82dff70a] vendor: trezor-common version bump
[fabc67b3] extmod: monero - inversion mod curve order optimized a bit
[4f29fe4c] xmr: import fix
[f6f8e300] xmr: bp - code cleanup
[d54b4f3b] xmr: bp - memory cleaning
[1065abc3] xmr: tsx_signer - bulletproofs fixes
[9f8a700f] xmr: bp key vector iterator fix
[49c25977] xmr.serialize: bulletproof fix
[1ee77378] xmr: monero - format
[cf0a7104] xmr: bp last mask fix (+20 squashed commits)

Squashed commits:
[fa1c3623] xmr: black
[3f3e31f3] xmr: bulletproofs added to signer
[d23d9284] xmr: protocol.tsx_sign_builder - logger collects
[a28eb55f] xmr: bp - memory optimizations
[d2fcb23a] xmr: tests for bulletproofs added
[82eef146] xmr: bp - gc (+14 squashed commits)
Squashed commits:
[4cf70d97] xmr: bp - gc
[42877b05] xmr: bp - minor memory optimization
[2c612e45] xmr: bp - use sc_inv_into
[d7e9dab4] xmr: bp - KeyVEval fix
[1523f400] xmr: bp - blacked
[b264a65b] xmr: bp - KeyVEval - caching current element, avoid allocations
[83ba7a65] xmr: bp - memory view optimized
[b517906c] xmr: bp - gc() during inversion
[92d37c88] xmr: bp - gc.collect() after expensive inversion
[e7fad558] xmr: bp - hashing memory optimization
[4c278152] xmr: bp - deterministic masks optimization, prove_s1 optim
[cbf74a70] xmr: bp - detect which modular inversion is usable
[8ea1ec43] xmr: better memory tracing for bulletproofs
[2f4dd552] xmr: bulletproofs added
[1928e2d3] xmr: crypto - sc_inv_into added (+2 squashed commits)
Squashed commits:
[f895fa6e] xmr: crypto - hash to existing buffer
[b76c6b09] xmr: crypto - in-place crypto functions added

- required for Bulletproof to minimize the heap fragmentation
[cab4366e] extmod: monero - modular inversion mod curve order added (+2 squashed commits)
Squashed commits:
[52a6e487] extmod: monero - hash into buffer added
[695a3827] extmod: monero module - muladd256_modm added

- required for Bulletproof
[3f4498d7] xmr: crypto tests added

- basic unit tests for crypto, tests monero module and underlying trezor-crypto + basic address manipulation
[820d012d] pb sync
[49eeddd1] vendor: trezor-common version bump
[30382440] xmr: crypto - point norm not needed
[89701c41] tests: xmr - serializer tests added
[bfee46db] tests: support async unit tests, assertListEqual added
[55c14487] xmr: serialize - serialization logic cleaned, refactored
[4b771638] xmr: simplification, do not ask to confirm change tx output

- change address checked to match main address in the builder
[f334d8ad] xmr: protocol: simplification - require change address to equal the main address
[1a3416eb] xmr: unpack256_modm_noreduce added

- 32B array to integer mod curve order, without modular reduction after conversion
- required for bulletproofs
[1c94b5d4] xmr: readme added
[3cc9f9fa] extmod/monero: mul256_modm added, required for BP
[5cf77a4c] xmr: monero support added [for review]

depends on PRs:

https://github.com/trezor/trezor-crypto/pull/162
https://github.com/trezor/trezor-core/pull/286
2018-10-25 14:04:50 +02:00
Pavol Rusnak
8177ad6128
tests: add one more zcash zip243 test 2018-10-17 15:07:33 +02:00
Pavol Rusnak
e2d405aa0a
src/apps/wallet/sign_tx: update ZIP243 Sapling code 2018-10-15 19:08:43 +02:00
Pavol Rusnak
e16a8fc8c9
src/apps/wallet/sign_tx: refactor Zcash, add WIP ZIP243; use ensure instead of assert where possible 2018-10-15 18:33:39 +02:00
Pavol Rusnak
2277a9c754
src/apps/wallet/sign_tx: re-enable Decred 2018-10-10 13:00:36 +02:00
Pavol Rusnak
6bcf589841
build: fix build 2018-09-30 19:38:23 +02:00
Adrian Matejov
8b252bff80 tezos: fixed nitpicks
Signed-off-by: Adrian Matejov <adrian.matejov@simplestaking.com>
2018-09-13 15:06:03 +02:00