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

238 Commits

Author SHA1 Message Date
amadejpapez
85ba7c12ba style(all): use f-strings for formatting
[no changelog]
2021-10-13 11:53:17 +02:00
gabrielkerekes
b957dfbddb chore(cardano): improve get_native_script_hash tests and update ui fixtures 2021-10-11 15:16:24 +02:00
gabrielkerekes
4aaf6db9a2 chore(cardano): update docs, changelog and ui test fixtures 2021-10-11 15:16:24 +02:00
matejcik
f484c42d41 refactor(tests): use common Stellar fixtures in tests
All test cases are generated and verified in Stellar Laboratory.
Source XDR is also tested to match the vectors, and it is easy to verify
in Laboratory directly.
2021-09-24 10:30:19 +02:00
Pavol Rusnak
169c472172 refactor(tests): modernize test_msg_getaddress_segwit_native 2021-09-23 16:17:58 +02:00
matejcik
9dd97c77e3 fix(tests): update prevhash test
exclude the None value, because prev_hash is now required on protobuf
level

unify the parametrization across tests
2021-09-21 12:43:31 +02:00
grdddj
1a291660e5 chore(tests): improving consistency of ethereum fixtures 2021-09-20 13:04:56 +02:00
grdddj
23ce8a46f3 feat(tests): PIN and protection_levels tests for TT 2021-09-17 11:13:25 +02:00
grdddj
1b932a20e8 fix(tests): decoding PNG files to fix Linux/Mac differences in encoding 2021-09-14 14:21:38 +02:00
matejcik
ae4dd42d18 refactor(core/ethereum): reorganize sanity checks, disallow chain_id 0 2021-09-10 15:09:03 +02:00
matejcik
8931450d21 chore(common): enable Palm network 2021-09-10 15:09:03 +02:00
matejcik
a1c3d8b7a5 chore(tests): regenerate UI test fixtures 2021-09-10 15:09:03 +02:00
grdddj
6f1005b155 chore(tests): vectorizing and creating JSON fixtures for ethereum device tests 2021-09-02 10:28:26 +02:00
matejcik
7aed8d535d feat(all): re-enable Firo (fixes #1767) 2021-08-23 11:43:57 +02:00
gabrielkerekes
0bff220fd6 chore(cardano): update ui test fixtures 2021-08-20 11:50:13 +02:00
matejcik
d66cca4069 chore(tests): remove Lisk 2021-08-19 10:25:41 +02:00
Frederik Bolding
38fa9197ca feat(core,python): support for Ethereum EIP1559 transactions
Initial EIP1559 implementation

Fix a few small issues

Progress on Python lib implementation and firmware

Fix RLP length

Start fixing tests

Fix legacy transactions

Simplify API and logic

Add EIP1559 tests

Fix access list formatting

Fix UI visiblity issue

Fix commented out code

fix: correct linting issues

Fix access_list protobuf formatting

Remove unneeded code

Remove dead code

Check tx_type bounds for EIP 2718

Reduce code duplication

Prefer eip2718_type over re-using tx_type

Add more tests

Simplify format_access_list

Simplify sign_tx slightly

Change Access List format and add logic to encode it

Fix a bunch of small PR comments

Fix a linting issue

Move tests out of class and regenerate

Remove copy-pasted comments

Add access list to CLI

Simplify _parse_access_list_item

Fix small mistakes following rebase

Fix linting

Refactor to use a separate message for EIP 1559 tx

Simplify changed legacy code

Fix a few small PR comments

Fix linting

fix(legacy): recognize SignTxEIP1559 on legacy build

Fix PR comments
2021-08-10 11:00:29 +02:00
matejcik
f78363ecdc refactor(core/ui): do not use parameter for styling in get_next_u2f_counter 2021-08-04 15:03:11 +02:00
Martin Milata
574dcbc8a3 refactor(core): convert apps.common to layouts 2021-08-04 15:03:11 +02:00
Martin Milata
875cc0cb1a refactor(core): convert apps.webauthn to layouts 2021-08-04 15:03:11 +02:00
matejcik
0e14291094 chore(tests): regenerate UI test fixtures 2021-07-26 14:48:35 +02:00
matejcik
f3802dea61 fix(tests/ui_tests): if a UI test result changed, show it as new 2021-07-26 14:48:35 +02:00
matejcik
2b3c75c4de fix(core): properly respond to USB events while on a paginated screen 2021-07-20 12:59:26 +02:00
Andrew Kozlik
24bb401638 fix(legacy,core): Fix operation source account encoding in Stellar. 2021-07-13 17:24:16 +02:00
Andrew Kozlik
e3faece811 fix(tests): Fix device tests after having disabled testnet for BIP-45 paths. 2021-06-30 18:25:58 +02:00
matejcik
2491f871aa chore(tests): add fixture for new Cardano test 2021-06-24 14:37:48 +02:00
matejcik
319a4374d3 chore(tests): regenerate UI test fixtures 2021-06-23 11:51:18 +02:00
matejcik
57582c2501 feat(tests): simple javascript-based UI diff review tool 2021-06-23 11:51:18 +02:00
matejcik
1b7b06255a feat(tests): only try connecting to VPN once 2021-06-23 11:51:18 +02:00
matejcik
0971adf7a7 feat(tests): generate UI test report again from current data 2021-06-23 11:51:18 +02:00
matejcik
f39abc8356 chore(tests): update UI test fixtures 2021-06-22 11:25:12 +02:00
Martin Milata
fddac0434b test: add device tests for non-standard paths 2021-06-17 13:53:35 +02:00
Andrew Kozlik
e15406f712 test: Add device test for signing an empty message in Decred which uses the BLAKE hash function. 2021-06-11 20:22:42 +02:00
gabrielkerekes
8a3549dbf8 chore(tests): update ui_tests fixtures 2021-06-08 15:02:24 +02:00
matejcik
e952a301d6 fix(tests): properly include tests whose expected hash is missing 2021-06-08 09:55:19 +02:00
matejcik
b1ec73e10b chore(tests): put enum names into UI fixture names (hashes are unchanged) 2021-06-08 09:55:19 +02:00
Andrew Kozlik
7f2f32ff8a test(device): Test safety checks on T1. 2021-05-24 17:47:43 +02:00
matejcik
2ae8e954bf chore(tests): update UI test fixtures 2021-05-06 13:14:21 +02:00
matejcik
c233b796df fix(tests): avoid race condition when generating UI test screenshots 2021-05-06 13:14:21 +02:00
gabrielkerekes
2313293477 feat(core/cardano): add support for catalyst voting registration 2021-04-23 11:09:29 +02:00
Martin Milata
b1e38fe382 refactor(core): no implicit spaces in render_text 2021-03-30 22:34:01 +02:00
Martin Milata
6668921a4f refactor(core): convert apps.common.request_pin to layouts 2021-03-30 22:34:01 +02:00
Martin Milata
ffe6d65f72 refactor(core): convert parts of apps.management to layouts 2021-03-30 22:34:01 +02:00
Rafael Korbas
a9b8b0e119 feat(core/cardano): chunked serialization of signed transaction 2021-03-26 11:15:19 +01:00
Andrew Kozlik
7436fd06b9 test: Add device test for replacement transaction with OP_RETURN output. 2021-03-24 22:06:41 +01:00
Rafael Korbas
74ed5b7018 feat(core/cardano): Implement bech32 asset ids based on CIP-0014 2021-03-18 09:53:33 +01:00
Rafael Korbas
bd4512b53a fix(core/cardano): Allow stake pool registrations with zero margin 2021-03-18 09:35:08 +01:00
Andrew Kozlik
28918f46ec test: Add device test for decreasing output amount in RBF. 2021-03-17 15:15:50 +01:00
JoeGruff
e3ea32a986 multi: Add decred staking.
Add two new input and four output script types.

Decred ticket purchases consist of a stake submission, op returns, and
change addresses. Although change addresses are allowed by consensus,
they are no longer used in practice and so have been given the
restrictions of a null pubkey and no value. Stake scripts are almost
identical to p2pkh or p2sh except for an extra opcode in front. Inputs
are currently only used in the form of one input three outputs with the
first output, or stake submission, paying to a public key hash, or with
two inputs and five outputs with the stake submission paying to a
multisig script hash. The op returns are directed to the user in the
case of one and the voting service provider and user in the case of two.

One of the sstx commitment for a ticket must pay back to the trezor
wallet. This is checked and an error is thrown if we don't find the
expected public key hash.

Because this adds the ability to create new types of outputs once the
ticket votes, two new input script types are also needed. A successful
vote will lead to a stake generation script that must be spent, and an
unsuccessful vote will lead to a revocation script that must be spent.
If we allowed stake change scripts to have a valid pubkey, that too
would require another op code, but we disallow those for output.
2021-03-17 12:16:08 +01:00
Rafael Korbas
ceea21ec1f feat(cardano): Format stake pool ids as bech32 instead of hex 2021-02-25 16:49:19 +01:00
Rafael Korbas
cf871ee754 fix(core/Cardano): do not show change output in byron-shelley transfers 2021-02-25 16:41:12 +01:00
Andrew Kozlik
8828fa76d3 test: Ensure that GetAddress and GetOwnershipId fail for multisig if user's public key is not included.
(cherry picked from commit e9c227f623)
2021-02-11 10:26:44 +01:00
gabrielkerekes
d4dcd7bff9 fix(core/cardano): allow staking accounts beyond 100' 2021-02-11 09:55:23 +01:00
Martin Milata
f38abf9d89 refactor(core): introduce layouts
Layouts can be used by the application code to interact with user using
small number of dialogs or other groups of UI components. Each layout is
identified by name and takes some parameters. Most layouts will have an
implementation for each hardware model, mechanism is provided to import
the correct version so that application code can be oblivious to the
model.

This commit introduces the layout concept and converts a couple of
dialogs to use it.
2021-02-10 13:57:19 +01:00
matejcik
cdf55d2fac tests: get rid of skip_ui (fixes #1409) 2021-02-05 10:44:09 +01:00
Rafael Korbas
e4c406822c Add multiasset sending and min validity to Cardano transactions 2021-01-27 18:26:40 +01:00
Andrew Kozlik
79fad70b05 fix: Improve wording when showing multisig XPUBS. 2021-01-26 15:09:37 +01:00
Rafael Korbas
44c7d23741 Cardano: map account paths to account numbers 2021-01-22 14:45:29 +01:00
Pavol Rusnak
be2ca4772c tests: add device tests for SignTx with amount_unit 2021-01-22 14:07:36 +01:00
Pavol Rusnak
7f0e939359 feat(core): implement amount_unit for AuthorizeCoinJoin and SignTx 2021-01-22 14:07:36 +01:00
Pavol Rusnak
2d4b91b52a tests: adapt test_msg_getaddress_show to test GetAddress.ignore_xpub_magic 2021-01-21 23:46:29 +01:00
matejcik
02881fd800 feat(tests): use JSON descriptions in test identifiers 2021-01-21 15:26:04 +01:00
Pavol Rusnak
060df07272 fix(tests): fix trimming of fixture names to avoid collisions 2021-01-20 14:09:27 +01:00
matejcik
fc4e15fe77 feat(core): introduce and enforce limit on label length (fixes #1399) 2021-01-12 11:22:58 +01:00
matejcik
24195d7c3e fix(core/ui): use full line_width for content 2021-01-11 16:47:59 +01:00
matejcik
6fbf93cab8 chore(tests): update UI fixtures as needed 2021-01-11 16:47:59 +01:00
Pavol Rusnak
7b9f3c0462 feat(tests): add device tests for btc.get_descriptor 2021-01-08 14:17:09 +01:00
matejcik
f83752a714 fix(tests): remove dropped EOSClassic test case 2020-11-20 18:55:35 +01:00
matejcik
4628c774aa feat(core): re-allow unknown Ethereum networks, using Ethereum or Testnet paths (fixes #1335) 2020-11-20 18:55:35 +01:00
matejcik
7abe70e484 feat(core): improve ethereum tokens ui (fixes #800) 2020-11-20 18:55:35 +01:00
Rafael Korbas
b311bd4d4a Add displaying of TTL to cardano transaction, align url validation with Ledger 2020-11-20 15:58:50 +01:00
Rafael Korbas
b261f789f3 Add support for stakepool registration to Cardano 2020-11-20 15:58:50 +01:00
Andrew Kozlik
65a9636bb5 test: Add device test for RBF finalization. 2020-11-20 13:52:48 +01:00
matejcik
37d3bf56fa fix(core): make sure run-time settings are reset after wipe (fixes #1322) 2020-11-05 15:33:38 +01:00
matejcik
b8e654d8e5 chore(tests): regenerate ui test fixtures 2020-11-05 14:30:11 +01:00
Andrew Kozlik
70975008cd chore (core): In apps.bitcoin skip confirmation of fee in PayJoin if the user is not increasing their contribution. 2020-10-23 15:07:15 +02:00
Andrew Kozlik
2a19d70e98 test: Add device tests for replacement transaction flow. 2020-10-23 15:07:15 +02:00
Martin Milata
830592f2d9 feat(core): add experimental_features setting
The setting is off by default. When it is enabled protobuf messages
marked UNSTABLE are rejected after decoding.
2020-10-16 13:53:31 +02:00
Tomas Susanka
99e0faafb6 test(core): print fixtures suggestion after the test 2020-10-06 21:17:28 +02:00
Martin Milata
542f32d3b1 feat(core): add auto_lock_delay and display_rotation to Features 2020-10-02 11:06:16 +02:00
matejcik
e4785d47e0 style: apply black 20.8b1 2020-09-29 11:30:40 +02:00
Martin Milata
cff4955f93 core: implement SafetyChecks.PromptTemporarily
Also reword safety checks confirmation dialogs.
2020-09-18 09:02:40 +02:00
Andrew Kozlik
4fc4152741 tests: Fix device tests for streamimg prev_tx after confirmation. 2020-09-04 14:36:39 +02:00
Tomas Susanka
ebc99435ab Revert "core: remove ownership messages from the public api for now"
This reverts commit 0d5f00668f.
2020-09-03 14:56:27 +02:00
Tomas Susanka
b99b8b3df3 Merge remote-tracking branch 'origin/release/2020-09' 2020-09-03 13:17:23 +02:00
Tomas Susanka
ba36cef369 tests: move fixtures to common directory, start with Cardano 2020-09-01 16:14:41 +02:00
Tomas Susanka
0d5f00668f
core: remove ownership messages from the public api for now 2020-09-01 15:56:57 +02:00
matejcik
e0ec5aa1e7 tests: clear session before each testcase 2020-08-28 15:37:06 +02:00
Andrew Kozlik
fb1f1acad6 tests: Add device test for nLockTime in Bitcoin. 2020-08-21 21:30:15 +02:00
Andrew Kozlik
02da5b7593 core/bitcoin: Show warning if nLockTime is set but ineffective due to all nSequence values being 0xffffffff. 2020-08-21 21:30:15 +02:00
matejcik
af5e301a7c tests: update device tests with added ButtonRequests where appropriate 2020-08-21 21:30:15 +02:00
Martin Milata
1b982659c4
core: fix boot loop after uploading invalid homescreen (#1205) 2020-08-21 12:00:42 +02:00
Pavol Rusnak
68e119c2c6 tests: add tests for invalid paths 2020-08-21 11:49:03 +02:00
Martin Milata
3f21e8f400 core: display coin name when signing message
Also when verifying message.
2020-08-18 13:45:49 +02:00
Martin Milata
927ee0812b core: add hard limit for transaction fees
The hard limit is set to 10*fee_warning_threshold. The limit is not
enforced when `safety_checks` is set to "Prompt".
2020-08-17 16:12:33 +02:00
Pavol Rusnak
4e7460b5d3 core/tests: update modified UI tests (SignMessage) 2020-08-07 15:08:14 +02:00
matejcik
d776cc931b tests: fix test_msg_webauthn on-device
by not asking for a full-capacity list of credentials, which will
usually not fit in an unfragmented chunk of memory
2020-08-05 13:47:35 +02:00
gabrielkerekes
8d39ba8314 Add test case for multiple inputs and regenerate UI fixtures 2020-08-04 20:35:13 +02:00
Andrew Kozlik
77b931e217 tests: Add device test for CancelAuthorization message. 2020-08-04 17:32:44 +02:00
Andrew Kozlik
3cbfb98f38 tests: Add device test for a CoinJoin transaction which does not give the user's outputs a gain in anonymity. 2020-08-04 17:32:44 +02:00