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

796 Commits

Author SHA1 Message Date
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
Adrian Matejov
2750d668ad tezos: added tezos cryptocurrency
Signed-off-by: Adrian Matejov <adrian.matejov@simplestaking.com>
2018-09-13 15:06:03 +02:00
Pavol Rusnak
d0f2905542
embed/extmod/modtrezorcrypto: refactor pbkdf2 prf 2018-09-11 18:06:13 +02:00
Pavol Rusnak
5efab07b23
cardano: remove GetPublicKey.root_hd_passphrase, style changes 2018-09-07 19:35:57 +02:00
Dušan Plavák
060a8cbdfd cardano: replace derivation scheme v1 for v2 (#342) 2018-09-07 19:07:15 +02:00
Tomas Susanka
7128337031 cardano: remove sign/verify unit tests 2018-09-06 14:56:40 +02:00
matejcik
9a2be54e94 nem: update test to expect the right name 2018-08-29 12:04:37 +02:00
Jan Pochyla
f7c1465d57 apps: unify common writer logic 2018-08-23 20:06:00 +02:00
Tomas Susanka
741443165c tests/wallet: UiConfirmTotal includes fee 2018-08-23 11:23:58 +02:00
Dusan Klinec
f0b8fcc106
tests: support async test cases added
- test cases starting with 'test_async' are executed on the async manner
2018-08-16 01:49:41 +02:00
Pavol Rusnak
1a6e0f053a
embed/extmod/modtrezorcrypto: refactor AES API, use test from NIST SP 800-38A 2018-08-14 14:42:19 +02:00
Tomas Susanka
08945c48e1 ripple: simple tx serializer; signing
This supports only fraction of the whole binary format Ripple uses. This
is focused on the Payment transaction type, which is currently solely
supported.
2018-07-30 16:37:49 +02:00
Tomas Susanka
b5c2ae49dd ripple: get address 2018-07-30 16:37:48 +02:00
jmuravsky
09ddcc7ac9 cardano: add Cardano currency support 2018-07-25 17:56:29 +02:00
Pavol Rusnak
cb9e7b5885
embed: cleanup Keccak API (drop keccak arg from digest() func) 2018-07-23 15:19:38 +02:00
Tomas Susanka
7f767eec46 stellar: accounts are addresses 2018-07-11 17:20:25 +02:00
Pavol Rusnak
2d27ab85dc
tests: make acceptable delta wider in test_trezor.crypto.random 2018-07-10 20:50:04 +02:00
Jan Pochyla
22abb6d07a tests: auto-detect pytest config 2018-07-10 13:05:15 +02:00
Yura Pakhuchiy
7684db4702 Add Groestlcoin transaction signing tests 2018-07-09 21:30:10 +02:00
Yura Pakhuchiy
0f53fd16ec Add tests for Groestlcoin addresses 2018-07-09 21:30:10 +02:00
Yura Pakhuchiy
c0458f71e8 Add Groestl512 hash tests
Added some test vectors from refrence implementation:
www.groestl.info/Groestl.zip
2018-07-09 21:30:10 +02:00
Yura Pakhuchiy
4237adb7cc Fix tests broken by API changes 2018-07-09 21:30:10 +02:00
Pavol Rusnak
2ee57da5d8
src/apps/wallet/sign_tx: fix last commit, add bip115 test 2018-07-04 18:08:05 +02:00
Pavol Rusnak
9f90ca21a9
src/apps/wallet/sign_tx: fix bip115 code in last commit 2018-07-02 14:29:58 +02:00
idimon4uk
3b345f3c76 src/apps/wallet/sign_tx: add Zencash support (#252) 2018-07-02 14:16:26 +02:00
Pavol Rusnak
5c62180011
tests: fix coins test (there are few collissions in address_types, but for less significant coins) 2018-06-22 14:43:22 +02:00
Jan Pochyla
86461d0d6b tests: remove codec_v2 test 2018-06-21 15:58:00 +02:00
Pavol Rusnak
97bb26b7f3
embed/extmod/modtrezorcrypto: use kwargs for Blake2b/Blake2s 2018-06-19 18:15:58 +02:00
Ilan
270bf73212 Update RSKIP-60 checksum separator (#244) 2018-06-16 13:08:17 +02:00
Pavol Rusnak
a6d316db25
style: make flake8 happy 2018-06-13 19:04:40 +02:00
Ilan
0c13a43518
src/apps/ethereum: implement RSKIP-60 checksum in get_address 2018-06-13 18:59:46 +02:00
Pavol Rusnak
604083ee25
tests: add test_apps.ethereum.get_address 2018-06-12 17:46:31 +02:00
Pavol Rusnak
285c845e9b
src+test: fix flake8 warning 2018-06-12 17:41:49 +02:00
Jan Pochyla
b13dba115a nem: fix unit tests 2018-06-07 13:18:45 +02:00
Tomas Susanka
3422474811 nem: mosaics definitions are generated from trezor-common 2018-06-06 17:24:07 +02:00
Tomas Susanka
616d117648 nem: mosaics are checked against definition and user is asked appropriately 2018-06-06 17:24:07 +02:00
Tomas Susanka
a45ac4ad4b nem: refactored to have a common message as an argument 2018-06-06 17:24:07 +02:00
Tomas Susanka
8de3cd7cac nem: refactored to directories 2018-06-06 17:24:07 +02:00
Tomas Susanka
32681972f1 nem: aggregate modification relative_change is int 2018-06-06 17:24:07 +02:00
Tomas Susanka
b80a8022d0 nem: multisig 2018-06-06 17:24:07 +02:00
Tomas Susanka
d54d33df3a nem: big refactoring of serialization
protocol classes are now used; reflected in unit tests
2018-06-06 17:24:07 +02:00
Tomas Susanka
6aef64d367 nem: compute address from pubkey 2018-06-06 17:24:07 +02:00
Tomas Susanka
4cd87d3a01 nem: mosaics canonicalization 2018-06-06 17:24:07 +02:00
Tomas Susanka
d07deecc7e nem: mosaics moved to seperate file 2018-06-06 17:24:07 +02:00
Tomas Susanka
10a52d8688 nem: multisig (basic functions, unit tests) 2018-06-06 17:24:06 +02:00
Tomas Susanka
48c6686dca nem: aggregate modification 2018-06-06 17:24:06 +02:00
Tomas Susanka
2e6587ec6c nem: transaction create mosaic supply change 2018-06-06 17:24:06 +02:00
Tomas Susanka
a6c406abea nem: transaction mosaic creation test 2018-06-06 17:24:06 +02:00
Tomas Susanka
2696968894 nem: transaction mosaic creation 2018-06-06 17:24:06 +02:00
Tomas Susanka
8e7ee89b02 nem: transaction serialization 2018-06-06 17:24:06 +02:00
Tomas Susanka
5dd3d1e7e5 nem: provision namespaces 2018-06-06 17:24:06 +02:00
Tomas Susanka
4827ff3a03 nem: create transfer (including mosaics) 2018-06-06 17:24:06 +02:00
Tomas Susanka
b5cc678caa nem: encrypt 2018-06-06 17:24:06 +02:00
Tomas Susanka
a18b398747 nem: unit test for address 2018-06-06 17:24:06 +02:00
Pavol Rusnak
7f36185ab3
tests: fix segwit tests using preimage_hash 2018-06-05 16:54:36 +02:00
Pavol Rusnak
307f7baecf
fix flake8 issues 2018-05-28 15:23:37 +02:00
Tomas Susanka
bb57000449
src/trezor/crypto: add trezor.crypto.base32 2018-05-25 16:09:05 +02:00
matejcik
7b06a802bb
tests: drop nonexistent fields from TxOutputBinType 2018-05-24 15:41:07 +02:00
Pavol Rusnak
90975f6b6e
embed/extmod/modtrezorcrypto: add support to variable outlen for Blake2{b,s} 2018-05-22 19:44:52 +02:00
Pavol Rusnak
577cb361dc
src/trezor/crypto: add cashaddr support 2018-05-22 17:47:54 +02:00
matejcik
003d77b209 testing: configure pytest.ini and update testing documentation
as per https://github.com/trezor/python-trezor/pull/263
2018-05-22 17:28:52 +02:00
Tomas Susanka
55de110ee9 eth: unknown token changed to (None, None..) 2018-05-10 14:51:08 +02:00
Tomas Susanka
2d0d360944 eth: unknown token transfer is recognized and displayed as unknown
updates #198
2018-05-10 14:19:23 +02:00
Jan Pochyla
3b67cb6bea tests: fix loop.select usage 2018-04-13 15:00:50 +02:00
Jan Pochyla
e223173b4e loop: wait -> spawn, select -> wait
select was a bit confusing name, as we always block on only one
interface.
2018-04-13 14:57:04 +02:00
Tomas Susanka
c827607eec tests: ethereum format_address takes int as an input
fixing 8cdec0652e
2018-03-09 17:42:28 +01:00
matejcik
bd32e1e3b3 tests: set default TREZOR_PATH to the emulator
(so you can run `make test_emu` with a physical Trezor connected)
2018-03-09 15:19:54 +01:00
matejcik
5b9b904198 Makefile: pass TESTOPTS to test runners (and use them in run_tests_device_emu.sh 2018-03-09 15:19:53 +01:00
Pavol Rusnak
611d374bbd
embed: rename TREZOR_STM32/UNIX to TREZOR_MODEL_T/EMU, introduce trezor.utils.model() 2018-03-04 12:59:16 +01:00
Pavol Rusnak
c7c5f55508
src/apps/ethereum: fix layout for values around 1e9 Wei 2018-03-03 23:37:21 +01:00
Tomas Susanka
20456a263a tests/unit: wire missing ubinascii import 2018-02-27 15:24:32 +01:00
Pavol Rusnak
9c7ddba217
src+tests: use flake8 F401 to detect unused imports 2018-02-27 03:05:15 +01:00
Jan Pochyla
323714dc61 src/trezor/wire: disable v2 codec 2018-02-27 02:09:04 +01:00
Pavol Rusnak
be79a8cff4
src+tests: make flake8 happy; explicitly mark E722 ignores (bare excepts) 2018-02-27 00:31:33 +01:00
Jan Pochyla
b88e4e5d5a signing: rely on address_n being always list 2018-02-26 16:13:00 +01:00
Jan Pochyla
fa5dbadc93 src/apps/wallet/sign_tx: cleanup and split scripts/addresses 2018-02-26 16:13:00 +01:00
Tomas Susanka
fb7a315208 tests: note on missing native p2wsh test 2018-02-26 16:13:00 +01:00
Tomas Susanka
b7e4fe02a9 tests: multisig field set to None 2018-02-26 16:13:00 +01:00
Tomas Susanka
e4423567cb signing: multisig addresses (p2sh, p2wsh in p2sh) 2018-02-26 16:12:59 +01:00
Tomas Susanka
8fbf89b7f3 signing: p2sh and witness native addresses 2018-02-26 16:12:59 +01:00
Tomas Susanka
901b0a53a1 tests/signing: threshold test fix
This was failing due to ff32a2e8a6
This fix hardcodes the maxfee_kb variable in the test to allow further modifications
2018-02-12 12:33:17 +01:00
Jan Pochyla
e888b6b967 apps/wallet/sign_tx: fix sighash 2018-02-09 14:16:33 +01:00
Pavol Rusnak
800c2c64c8
tests: fix trezor.config test by changing PYOPT to 1 2018-02-09 13:42:20 +01:00
Pavol Rusnak
b0242d3a3e
tests: fix test_apps.ethereum.layout 2018-02-09 13:36:08 +01:00
Pavol Rusnak
585e9842f8
src/apps+tests: use TODO consistently across whole codebase 2018-02-06 15:23:51 +01:00
Tomas Susanka
a306ce60c2 tests: small note at the end of output with the tests outcome 2018-01-31 15:51:13 +01:00
Pavol Rusnak
739e4f2e45
fix release_num values 2018-01-25 17:46:29 +01:00
Pavol Rusnak
27d9abe883
trezor.config: add public values (readable without unlock)
They are indicated via MSB bit of appid
2018-01-13 16:09:22 +01:00
Pavol Rusnak
0a9d42981d
tests: fix endiannes in test_apps.ethereum.layout 2018-01-13 15:40:04 +01:00
Tomas Susanka
7d0cafecc3 ethereum/singing: layout seperated 2018-01-11 23:08:35 +01:00
Pavol Rusnak
4a7592d470
trezor.crypto: remove vstr usage, refactor mp_obj_new_str_from_vstr into mp_obj_new_bytes and mp_obj_new_str 2018-01-03 21:53:58 +01:00
Pavol Rusnak
fa95f0a037
trezor.crypto: implement chacha20poly1305 aka rfc7539 2018-01-02 18:57:23 +01:00
Pavol Rusnak
d6593e710b
apps.ethereum: implement SignMessage/VerifyMessage 2017-12-23 15:12:31 +01:00
Tomas Susanka
688b568bd9 ethereum: files rename 2017-12-22 17:10:28 +01:00
Tomas Susanka
dc02b322bf ethereum/signing: basic structure, first test passing
first commit based on the trezor-mcu repo
eth tokens added using the common ethereum_tokens-gen.py script
first device test passing
2017-12-22 17:10:28 +01:00
Pavol Rusnak
fe0534658f
tests: no need to include ubinascii for unit tests 2017-12-19 21:57:42 +01:00
Pavol Rusnak
333c0a633a
trezor.crypto: adopt crc32 function 2017-12-19 21:54:22 +01:00
Pavol Rusnak
a9870b9e0e
tests: update how tests are being run 2017-12-19 19:42:56 +01:00
Pavol Rusnak
965bf84cdb
tests: cleanup flake8 warnings 2017-12-16 02:11:26 +01:00
Pavol Rusnak
ea404b53ee
tests: simplify hashlib tests, fix trezor.config test 2017-12-16 01:24:40 +01:00
Pavol Rusnak
5e476b856e
unix: implement sdcard, add unit test 2017-12-15 01:00:00 +01:00
Pavol Rusnak
e8f70ed4af
pin: implement graphics pin timeout 2017-12-14 19:01:41 +01:00
Pavol Rusnak
70ac202d7a
modtrezorcrypto: add trezor.crypto.hashlib.blake256 2017-12-13 20:47:12 +01:00
Jan Pochyla
58e4a5546f wallet/signing: implement extra data hashing
TODO: zcash test
2017-12-08 17:25:28 +01:00
Pavol Rusnak
626a8885ce
trezor.config: add compaction test 2017-12-08 16:46:13 +01:00
Pavol Rusnak
f88080b904
Merge branch 'pin_fails' 2017-12-07 15:29:47 +01:00
Jan Pochyla
0f2a82e9f1 tests: remove useless import 2017-11-24 15:13:19 +01:00
Tomas Susanka
09f18bb444 wallet: tx weight calculator is used to determine fee 2017-11-24 15:02:37 +01:00
Tomas Susanka
272d64b9e8 wallet: tx weight exact calculator 2017-11-24 15:02:37 +01:00
Jan Pochyla
7a0bfd289b wallet/get_address: support segwit 2017-11-23 17:35:31 +01:00
Tomas Susanka
0e2bcd64e8 tests: o.address fix 2017-11-23 16:34:15 +01:00
Tomas Susanka
d8a884bd87 tests: unit tests signature fixtures for segwit
this fixes broken unit tests introduced by a3d1bdbb862eb2db978115e9e533da81d46a350d
2017-11-23 16:30:11 +01:00
Jan Pochyla
26265ca511 tests: enable signtx segwit tests 2017-11-23 16:30:11 +01:00
Tomas Susanka
aa29667059 common: coins updated 2017-11-23 16:30:11 +01:00
Tomas Susanka
2ebf1cd9f4 trezor/crypto: bech32
taken from https://github.com/sipa/bech32/tree/master/ref/python
2017-11-23 16:30:11 +01:00
Tomas Susanka
dc6701af90 wallet/signing: native P2WPKH, P2WPKH in P2SH, scripts 2017-11-23 16:30:11 +01:00
Tomas Susanka
b7b46b6980 wallet/signing: amount is checked during witness signature
with test
2017-11-23 16:30:11 +01:00
Tomas Susanka
da4bc2dc8b wallet/signing: P2WPKH in P2SH address generation based on BIP-49, PAYTOP2SHWITNESS output type 2017-11-23 16:30:11 +01:00
Tomas Susanka
b7f01baf99 wallet/signing: refactoring 2017-11-23 16:30:11 +01:00
Tomas Susanka
e63d0adc23 wallet/signing: segwit first test passing 2017-11-23 16:30:11 +01:00
Tomas Susanka
bcef961059 wallet/signing: bip143 transactions hashing 2017-11-23 16:30:09 +01:00
Jan Pochyla
40a9ac2e29 tests: fix trezor.config test 2017-11-10 15:18:43 +01:00
Jan Pochyla
88b1222ad0 tests: ignore new segwit tests 2017-11-06 18:36:05 +01:00
Jan Pochyla
8342aa2e7d tests: enable test_msg_resetdevice.py 2017-10-31 17:07:13 +01:00
Jan Pochyla
936487a523 tests: run v1 protocol tests 2017-10-31 13:55:51 +01:00
Jan Pochyla
f4ebe368b9 tests: enable load_device test 2017-10-31 13:55:36 +01:00
Jan Pochyla
ce3dc61e63 tests: ignore test_cosi.py 2017-10-30 23:48:09 +01:00
Jan Pochyla
f093ca23d5 tests: ignore specific tests, testpy -> test_emu 2017-10-30 18:52:10 +01:00
Pavol Rusnak
02fb442fd1
examples: add desc to 2048 source 2017-10-06 01:38:02 +02:00
Pavol Rusnak
ed0d18132d
examples: add 2048 game example 2017-10-06 01:33:28 +02:00
Pavol Rusnak
1d9b907342
tests: clear display on production test start 2017-10-05 08:27:41 +02:00
Pavol Rusnak
737dc0159f
tests: implement otp read/write in production test 2017-09-27 13:32:55 +02:00
Jan Pochyla
53d191bdf1 tests/production_tests: use native modules directly 2017-09-20 14:47:07 +02:00
Jan Pochyla
0aa8cbfe51 tests/production_tests: in touch test, wait for TOUCH_START first 2017-09-20 14:05:03 +02:00
Jan Pochyla
49cc4651c2 bunch of api cleanups 2017-09-19 23:47:35 +02:00
Pavol Rusnak
81deb66f29
tests: add production test 2017-09-08 02:16:16 +02:00
Jan Pochyla
aae151a0ab tests: skip multisig marker 2017-08-15 18:14:14 +02:00
Jan Pochyla
6814931457 tests: fix permissions 2017-08-15 18:14:14 +02:00
Jan Pochyla
520de105a6 tests: fix wire tests, remove msg 2017-08-15 18:14:14 +02:00
Jan Pochyla
3562ffdc54 wire: pass Context to apps 2017-08-15 18:14:14 +02:00
Jan Pochyla
552444c856 remove src/lib 2017-08-15 18:14:14 +02:00
Jan Pochyla
1f90e781d5 wire: simplify, use async codecs 2017-08-15 18:14:14 +02:00
Jan Pochyla
56ba61cedf fix remaining micropython paths 2017-08-07 16:56:41 +02:00
Jan Pochyla
403e45aacf tests: fix path to unix micropython 2017-08-07 12:41:00 +02:00