1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-18 05:28:40 +00:00
Commit Graph

364 Commits

Author SHA1 Message Date
Pavol Rusnak
65cefbc879
docs: remove wallet.trezor.io references 2021-04-16 16:18:48 +02:00
Martin Milata
0278998f72 style(common): mypy: disable implicit Optional for function arguments 2021-04-01 11:12:30 +02:00
Rafael Korbas
a9b8b0e119 feat(core/cardano): chunked serialization of signed transaction 2021-03-26 11:15:19 +01:00
mcudev
23abf7aff0 python/trezorctl: make bitcoin regtest a supported coin for trezorctl btc get-descriptor 2021-03-25 15:52:34 +01:00
Andrew Kozlik
885b6f7214 feat(python): Support 50 digit PIN and wipe code in trezorctl. 2021-03-25 14:24:41 +01:00
matejcik
cb7152542d feat: drop DebugLinkShowText functionality 2021-03-18 10:59:51 +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
Roman Zeyde
b2877afa7f feat(common): add public_key to ECDHSessionKey 2021-03-08 15:59:00 +01:00
Pavol Rusnak
4b0f41d41e
fix(common): change msg_id of RebootToBootloader from 804 to 87 2021-03-03 12:07:00 +01:00
Ondrej Mikle
77e99078c3
chore(trezorlib): add generated message files 2021-03-03 12:07:00 +01:00
Ondrej Mikle
1579c62332
chore(legacy): reboot to bootloader protobuf generated messages 2021-03-03 12:06:59 +01:00
Pavol Rusnak
10edcb0d3a
doc(python): change wording from beta wallet to beta channel
[skip_ci]
2021-03-02 10:39:20 +01:00
Martin Milata
192d0dcf87 feat(core): hold homescreen to lock 2021-02-24 00:10:10 +01:00
Martin Milata
db2db8e6f3 feat(common): add hold_ms to DebugLinkDecision 2021-02-24 00:10:10 +01:00
Pavol Rusnak
f780cbdb17
feat(python): add possibility to enter PIN via letters (#1496) 2021-02-23 10:39:26 +01:00
matejcik
14037d0c31 chore: regenerate protobuf classes 2021-02-10 10:56:52 +01:00
Pavol Rusnak
48d1a7a880
fix(python): append checksum to descriptors (#1445) 2021-02-05 17:46:02 +01:00
Pavol Rusnak
81ae1d0ec0
fix(python): remove extraneous empty line from descriptors output
[skip_ci]
2021-02-03 14:58:30 +01:00
Rafael Korbas
e4c406822c Add multiasset sending and min validity to Cardano transactions 2021-01-27 18:26:40 +01:00
Rafael Korbas
44c7d23741 Cardano: map account paths to account numbers 2021-01-22 14:45:29 +01:00
Pavol Rusnak
345ef52949 feat(proto): add amount_unit to AuthorizeCoinJoin and SignTx 2021-01-22 14:07:36 +01:00
Pavol Rusnak
6689b9c22f common/protob: add GetAddress.ignore_xpub_magic field 2021-01-21 23:46:29 +01:00
Pavol Rusnak
88889472eb feat(python): add btc get-descriptor command 2021-01-08 14:17:09 +01:00
Pavol Rusnak
edb1243f64 feat(proto): add descriptors related fields to GetPublicKey/PublicKey 2021-01-08 14:17:09 +01:00
matejcik
5feb76f603 fix(python): do not log "resumed session" if there is no id 2020-12-11 11:44:01 +01:00
matejcik
4d4d0e7216 fix(python): do not call EndSession in bootloader mode (fixes #1379) 2020-12-11 11:41:15 +01:00
Pavol Rusnak
1187e4ddaf style(common): use new syntax for typing in autogenerated protobuf enums 2020-12-01 15:52:29 +01:00
Pavol Rusnak
cd829a99de style(python/src): use new syntax for typing 2020-12-01 15:52:29 +01:00
Martin Milata
8fd12f4373 fix(tests): run test_softlock_instability on emulator only 2020-12-01 12:35:11 +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
Pavol Rusnak
225cd15732 fix(python): drop references to beta-wallet.trezor.io 2020-11-16 09:45:42 +01:00
matejcik
5005a61eaf fix(python): update trezorctl multisig feature to new API 2020-10-30 10:25:51 +01:00
matejcik
a36ccd7e6f feat!(python): drop Mapping protocol support from MessageType 2020-10-30 10:25:51 +01:00
matejcik
8c460dcbf3 feat(python): improve error message when prev_txes are not provided 2020-10-30 10:25:51 +01:00
matejcik
3d6d1a56ac feat(python): implement API compatibility with trezorlib 0.12 2020-10-30 10:25:51 +01:00
Andrew Kozlik
9e5d5bd5f9 feat: Add support for experimental field flag in protobuf. 2020-10-23 15:07:15 +02:00
Andrew Kozlik
b636e959f5 chore(python): Support TXORIGINPUT and TXORIGOUTPUT in trezorlib. 2020-10-23 15:07:15 +02:00
Andrew Kozlik
ad6a0bc2a2 chore(common): Add new request types TXORIGINPUT and TXORIGOUTPUT. 2020-10-23 15:07:15 +02:00
Andrew Kozlik
443e0c101e chore(common): Add orig_hash and orig_index fields to TxInput and TxOutput. 2020-10-23 15:07:15 +02:00
Martin Milata
0376670404 feat(common): expose 'unstable' option in generated code 2020-10-16 13:53:31 +02:00
Martin Milata
3b138b4f98 feat(python): add experimental_features setting 2020-10-16 13:53:31 +02:00
Martin Milata
314cd260eb feat(common): add experimental_features setting 2020-10-16 13:53:31 +02:00
Martin Milata
b2c4bbdaa2 feat(common): add auto_lock_delay and display_rotation to Features 2020-10-02 11:06:16 +02:00
matejcik
e4785d47e0 style: apply black 20.8b1 2020-09-29 11:30:40 +02:00
matejcik
6dda240f5c test(python): add flake8-requirements 2020-09-29 11:30:40 +02:00
matejcik
0eed360037 chore: make tx type names shorter
as suggested by @andrewkozlik:
TxAckInputType -> TxInput
TxAckOutputType -> TxOutput
TxAckPrevTxType -> PrevTx
TxAckPrevInputType -> PrevInput
TxAckPrevOutputType -> PrevOutput
2020-09-23 16:00:10 +02:00
matejcik
01b66a5858 fix(python): always fill TransactionType.lock_time 2020-09-23 16:00:10 +02:00
matejcik
9ee7eee1eb chore!(python): bump trezorlib version because of breaking API change 2020-09-23 16:00:10 +02:00
matejcik
08d896f2f9 chore(tests): update to kwargs usage and new btc.sign_tx API 2020-09-23 16:00:10 +02:00
matejcik
b41021a5fb chore(python): fix kwargs usage 2020-09-23 16:00:10 +02:00
matejcik
5ddf1dfafb feat!(python): modify btc.sign_tx api to accept kwargs
Because we can't pass SignTx anymore because it has required fields and
the caller is not supposed to fill out those.

Instead you can send arbitrary kwargs that match signtx fields.

BREAKING CHANGE: argument `details: SignTx` is no longer accepted.
2020-09-23 16:00:10 +02:00
matejcik
ef4022fbf5 auto: regenerate protobuf classes 2020-09-23 16:00:10 +02:00
matejcik
90ee5f3d38 feat!: implement protobuf required fields and default values
BREAKING CHANGE: this makes arguments to protobuf constructors
keyword-only, and arguments corresponding to required fields are now
mandatory
2020-09-23 16:00:10 +02:00
Martin Milata
76a1760764 python: support SafetyChecks.PromptTemporarily 2020-09-18 09:02:40 +02:00
Martin Milata
7d37b2c90f common: add PromptTemporarily to SafetyChecks enum 2020-09-18 09:02:40 +02:00
Martin Milata
9f066e877d common: add SafetyCheckLevel to Features 2020-09-18 09:02:40 +02:00
Andrew Kozlik
5d745d5d04 common/protob: Add commitment_data to TxInputType. 2020-09-08 19:36:10 +02:00
matejcik
ffe3b5487d python: ignore failures of EndSession call, so that end_session() does not raise 2020-08-28 15:37:06 +02:00
matejcik
e0583dd5cb all: use a specific error code for "invalid session" 2020-08-28 15:37:06 +02:00
matejcik
e96a9e8d39 python/trezorctl: make use of EndSession 2020-08-28 15:37:06 +02:00
matejcik
4f92d2b14d python: call EndSession when requested 2020-08-28 15:37:06 +02:00
matejcik
17736e8fba python/trezorctl: fix output of 'btc get-address' help text 2020-08-27 15:19:53 +02:00
matejcik
d19f00b26c python/trezorctl: fix minor bugs in 'set homescreen' 2020-08-27 13:44:20 +02:00
matejcik
fb1deb6156 python/trezorctl: improve 'set homescreen' command 2020-08-25 13:17:21 +02:00
matejcik
a14634c389 python: make PIL optional in the toif module, add size check 2020-08-25 13:17:08 +02:00
matejcik
032a65e1cf python: export toif as public module 2020-08-25 11:30:33 +02:00
Martin Milata
43b7ccefc7 python/trezorctl: remove --skip-vendor-header from firmware-update 2020-08-25 11:16:04 +02:00
Martin Milata
29861e076b python: fix cli --file handling
It seems that Click doesn't do the right thing when argument and hidden
option with the same name exist, which was introduced in commit
2678e64a99.
2020-08-25 11:07:34 +02:00
Ferdinando M. Ametrano
b3d483dd6b
python: silenced unused variables (#1202) 2020-08-24 10:56:18 +02:00
Martin Milata
6319fcfe4a python: fix trezorctl lisk sign-message address parsing 2020-08-18 13:45:49 +02:00
Andrew Kozlik
9da715e025 python: Fix UnboundLocalError in trezorctl btc get-address. 2020-08-12 17:43:51 +02:00
Pavol Rusnak
5536fbb98a python: use stdlib blake2s on python 3.6+
commit 6d407c84d7 did not replace everything
2020-08-10 23:35:38 +02:00
matejcik
4029fc1e1c python: remove superfluous .keep file 2020-08-05 16:45:56 +02:00
matejcik
35c3af87dd python: rename unsafe_prompts to safety_checks 2020-08-05 16:45:56 +02:00
matejcik
769ccf52c6 python: fix behavior of client.ping() when device is locked 2020-08-05 16:45:56 +02:00
matejcik
efcaf7bda6 python/btc: improve missing signature detection 2020-08-05 16:45:56 +02:00
matejcik
037bef3a38 python: fix logging of protobuf repeated enums 2020-08-05 16:45:56 +02:00
matejcik
c244503e1f python/trezorctl: add aliases for firmware-update 2020-08-05 16:45:56 +02:00
matejcik
d5fe57012d python: bump version before release 2020-08-05 16:45:56 +02:00
matejcik
2678e64a99 python/trezorctl: improve file-based arguments 2020-08-05 16:45:56 +02:00
matejcik
e585d35f34 python: clarify session and feature management API
init_device() should be used to initialize a session. Reuses existing
session if available.

end_session() explicitly closes any existing session and requests a new
one

lock() enables soft-lock

clear_session() is the equivalent of lock() + end_session()

A new function ensure_unlocked() can be used to open a session and
prompt for PIN and passphrase before further operations.
2020-08-05 16:45:56 +02:00
matejcik
95f33a77c7 python/trezorctl: support multisig addresses in get-address 2020-08-05 16:45:56 +02:00
Andrew Kozlik
62d66a713c python: Add cancel_authorization() to trezorlib. 2020-08-04 17:32:44 +02:00
Andrew Kozlik
5c1f197602 common/protob: Add CancelAuthorization message. 2020-08-04 17:32:44 +02:00
Andrew Kozlik
85cf79169c python: Support preauthorized operations in trezorlib. 2020-08-04 17:32:44 +02:00
Andrew Kozlik
84c1324290 python: Add authorize_coinjoin() to trezorlib. 2020-08-04 17:32:44 +02:00
Andrew Kozlik
2c30dd62fc common: Add DoPreauthorized message. 2020-08-04 17:32:44 +02:00
Andrew Kozlik
bbab13f6e7 common/protob: Add AuthorizeCoinJoin message. 2020-08-04 17:32:44 +02:00
gabrielkerekes
a5d3b63912 Refactor trezorlib transaction key checking 2020-07-30 17:17:03 +02:00
gabrielkerekes
f2ee450410 Include metadata in transaction signing 2020-07-30 17:17:03 +02:00
gabrielkerekes
c29d297a77 Set default values to client functions parameters 2020-07-30 17:17:03 +02:00
gabrielkerekes
93b9f35678 Update trezorlib
Add certificates, withdrawals and metadata hash
2020-07-30 17:17:03 +02:00
gabrielkerekes
e92baf5b02 Update protobuf 2020-07-30 17:17:03 +02:00
gabrielkerekes
b5f3511c1c Add support for script addresses in tx outputs 2020-07-30 14:43:32 +02:00
matejcik
741fca0156 tests: watch_layout must be explicit (fixes #1142) 2020-07-29 11:50:47 +02:00
Pavol Rusnak
cec87bba50
core: remove mono bold font variant (not used anywhere) 2020-07-27 23:22:34 +02:00
Gabriel Kerekeš
d2c1624602 Cardano shelley update 2/3 (#1112) 2020-07-27 13:11:23 +02:00
gabrielkerekes
e1615e60ec Update Cardano to support Shelley era 1/3
Update protobuf

- Previous transactions don't need to be sent anymore, because fee is
  included in the transaction now. Thus transactions_count can be
  removed from CardanoSignTx message and the CardanoTxAck and
  CardanoTxRequest messages can be removed altogether.
- CardanoTxInputType.type is unused so remove it

Add NULL (None type) serialisation to CBOR

- Transaction metada must either have a valid structure or CBOR NULL
  must be used (if metadata is empty) - it can't be simply left out.

Add protocol_magics file

- Just to have a nicer way of representing protocol magics

Update transaction signing

- Previous transactions no longer need to be requested
- Output building is simplified, since fee doesn't need to be calculated
- Remove transaction class since it is no longer needed (only functions
  remained)
- Reorder functions so it reads top to bottom

Add protocol magic to byron address on testnet

- This has always been a part of the spec, but it hasn't been
  implemented before, because it wasn't really needed.

Update trezorlib

Update tests

- Transaction messages are no longer required
- Expected values are different since tx format changed
- Common values in test cases have been extracted

Remove unused file

- Progress was used when receiving previous transactions

Add CRC check to output address validation
2020-07-27 13:04:49 +02:00
matejcik
fdcb64ac24 all: rename protobuf unsafe_prompts to safety_checks 2020-07-24 16:37:58 +02:00