Rafael Korbas
a9b8b0e119
feat(core/cardano): chunked serialization of signed transaction
2021-03-26 11:15:19 +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
d0b630abfc
chore(legacy): return code for reboot call
2021-03-03 12:06:59 +01:00
Ondrej Mikle
2dccbf99d4
chore(legacy): add reset to bootloader protobuf message
2021-03-03 12:06:59 +01:00
Martin Milata
db2db8e6f3
feat(common): add hold_ms to DebugLinkDecision
2021-02-24 00:10:10 +01:00
matejcik
576d431058
feat(common): set more fields as required ( #1406 )
2021-02-10 10:56:52 +01:00
matejcik
bf562cfd4b
feat(core/misc): enable typing for misc app
2021-02-10 10:56:52 +01:00
matejcik
ccd241fe55
feat(core/cardano): enable typing for Cardano app
2021-02-10 10:56:52 +01:00
Rafael Korbas
e4c406822c
Add multiasset sending and min validity to Cardano transactions
2021-01-27 18:26:40 +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
edb1243f64
feat(proto): add descriptors related fields to GetPublicKey/PublicKey
2021-01-08 14:17:09 +01:00
Pavol Rusnak
d657cdaeef
fix(common): update protob combine script to reflect new changes
2020-12-10 16:53:00 +01:00
Pavol Rusnak
1187e4ddaf
style(common): use new syntax for typing in autogenerated protobuf enums
2020-12-01 15:52:29 +01:00
Rafael Korbas
b261f789f3
Add support for stakepool registration to Cardano
2020-11-20 15:58:50 +01:00
Pavol Rusnak
50fdd183c2
ci: enable editorconfig checks, fix whitespace issues
2020-11-11 14:43:50 +01:00
Andrew Kozlik
f71af43874
chore(common): Add sanity checks for protobuf definitions.
2020-10-23 15:07:15 +02:00
Andrew Kozlik
9e5d5bd5f9
feat: Add support for experimental field flag in protobuf.
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
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
46e8804477
docs(common): add comments and reserved fields to TxAck subtypes
...
this will hopefully make it more difficult to break TransactionType
compatibility
2020-09-25 12:32:44 +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
396de3f05e
feat(common): add more required fields
2020-09-23 16:00:10 +02:00
matejcik
185c2ac17d
feat(common): specialize TxAck messages, add more required fields
2020-09-23 16:00:10 +02:00
matejcik
8847c58bbf
feat(common): allow overriding wire_type of a generated message
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
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
e0583dd5cb
all: use a specific error code for "invalid session"
2020-08-28 15:37:06 +02:00
matejcik
336000154a
common: add "unstable" as a custom protobuf extension ( fixes #1220 )
2020-08-25 10:47:18 +02:00
Andrew Kozlik
5c1f197602
common/protob: Add CancelAuthorization message.
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
f2ee450410
Include metadata in transaction signing
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
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
matejcik
1109250dcf
core: add option to allow unsafe prompts
2020-07-24 16:37:58 +02:00
Andrew Kozlik
533de50588
common/protob: Add GetOwnershipId message.
2020-07-03 11:17:19 +02:00
Andrew Kozlik
956ea9a94f
common: Add ownership_proof field to TxInputType.
2020-07-03 11:17:19 +02:00
Andrew Kozlik
c723c78529
common/protob: Add GetOwnershipProof message.
2020-07-03 11:17:19 +02:00
Andrew Kozlik
cc655575c8
common: Add witness field to TxInputType.
2020-07-03 11:17:19 +02:00
Tomas Susanka
14a8da9c28
common: remove underscore from 'overwintered' field
...
Due to some Suite/Connect compatibility issues.
2020-07-01 13:56:32 +00:00
Tomas Susanka
ca3dd2bfb9
common: skip deprecated fields during generation; deprecate overwintered field in Zcash
2020-06-30 16:02:21 +02:00
Tomas Susanka
e534ae3ad7
legacy, core: rename Features.pin_cached to unlocked and unify
2020-06-19 21:26:36 +02:00
matejcik
6f53ca0ac6
core: rework wait_layout()
...
The original wait_layout was unreliable, because there are no guarantees
re order of arrival of the respective events. Still, TT's event handling
is basically deterministic, so as long as the host sent its messages
close enough to each other, the order worked out.
This is no longer the case with the introduction of loop.spawn: TT's
behavior is still deterministic, but now ButtonAck is processed *before*
the corresponding wait_layout, so the waiting side waits forever.
In the new process, the host must first register to receive layout
events, and then receives all of them (so the number of calls to
wait_layout must match the number of layout changes).
DebugLinkWatchLayout message must be version-gated, because of an
unfortunate collection of bugs in previous versions wrt unknown message
handling; and this interests us because upgrade-tests are using
wait_layout feature.
2020-06-04 16:18:46 +02:00
matejcik
bbfce4e303
common: introduce ButtonRequestType.PinEntry
2020-06-04 16:18:46 +02:00
matejcik
0600d87c8c
common: rename ClearSession to LockDevice, introduce EndSession
2020-06-04 16:18:46 +02:00
Tomas Susanka
9dfc08ca61
core/bitcoin: drop decred_script_version
2020-05-21 19:14:39 +02:00
matejcik
5885978c83
Merge branch 'release/2020-04'
2020-04-15 15:00:23 +02:00
Dusan Klinec
25b6e9058f
xmr: proto - add fields for protocol optimization
2020-04-13 22:19:56 +02:00
matejcik
ffdb299c61
all: drop Capricoin support [NO BACKPORT]
2020-03-20 14:19:30 +00:00
matejcik
e2035b4972
all: drop Horizen and BIP-115 support [NO BACKPORT]
2020-03-20 14:19:07 +00:00
matejcik
27803ee8c1
all: drop overwintered field from transaction
2020-03-20 14:18:27 +00:00
Andrew Kozlik
2f905a1157
core/webauthn: Add algorithm and curve to WebAuthnListResidentCredentials response.
2020-03-12 15:45:26 +01:00
Pavol Rusnak
49fe64f84c
common/protob: update special fields usage in comments
2020-03-10 16:58:59 +00:00
matejcik
b916072389
common: restore PassphraseAck.state
2020-02-24 15:15:09 +01:00
matejcik
ddee77ecb6
core: add SD clearing via debuglink
2020-02-20 12:51:48 +01:00
Tomas Susanka
ff1bb67abc
common: return the PasshraseType button request
2020-02-20 08:04:35 +00:00
matejcik
e61b7d28e9
all: do not send state in PassphraseAck (not needed for compatibility)
2020-02-13 15:44:50 +01:00
Tomas Susanka
2c0504ad1c
Merge pull request #803 from trezor/passphrase
...
Passphrase Redesign
2020-02-11 16:01:59 +01:00
matejcik
05a1d6f771
core/debug: add "show arbitrary screen" capability, for easier prototyping
2020-02-11 11:53:34 +01:00
matejcik
c01d04f26e
common/protob: drop a default field declaration
...
which triggers nanopb bug https://github.com/nanopb/nanopb/issues/487
2020-02-11 11:53:34 +01:00
matejcik
ff702c7d7f
common: add proper markers for deprecated messages
2020-02-10 15:38:26 +01:00
matejcik
cfe0e34215
tests: ignore trezor.log
2020-02-10 12:36:53 +01:00
matejcik
4c9689d7a7
common: return deprecated fields to protobuf, to allow cross-version compatible code
2020-02-10 12:35:28 +01:00
Tomas Susanka
56dc952495
common: fix PassphraseAck.on_device id
2020-02-07 14:19:01 +00:00
Pavol Rusnak
73ed2f3450
legacy: small nitpicks related to the new passphrase handling
2020-02-07 11:41:03 +00:00
Tomas Susanka
f3553f63f1
common: remove PassphraseRequest.on_device completely
2020-02-07 11:41:00 +00:00
Tomas Susanka
c65b57affb
core, legacy: remove passphrase_cached
2020-02-07 11:41:00 +00:00
Tomas Susanka
a3f3d4fcdb
remove ping.passphrase/pin
2020-02-07 11:41:00 +00:00
Tomas Susanka
466dc4732d
core/passphrase: add button requests
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
eafd57c301
common, core: add passphrase entry capability
2020-02-07 11:40:58 +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
Dušan Klinec
af6a607b39
common/xmr: message changes optimizing runtime and memory ( #786 )
2020-01-12 22:24:18 +01:00
Tomas Susanka
51ef963738
tests: introduce UI tests for core
2020-01-03 14:28:27 +00:00
Pavol Rusnak
bb8d809a6d
common: change language field to IETF BCP 47 language tag
2019-12-08 11:27:10 +01:00
Andrew Kozlik
1bc8226a50
common, core: Add wipe_code_protection to the Features message.
2019-11-25 12:32:20 +01:00
Andrew Kozlik
4381511930
common: Add ChangeWipeCode message.
2019-11-25 12:32:20 +01:00
matejcik
fd8aed6105
all: drop XPRV feature of LoadDevice
2019-11-13 16:48:35 +01:00
Pavol Rusnak
16af7f1353
common: add {needs,no}_backup flags to LoadDevice, make it debug only
2019-11-13 16:48:35 +01:00
Tomas Susanka
2a20287882
common/protobuf: add message for retrieving an increased u2f counter
2019-11-13 10:55:52 +00:00
Pavol Rusnak
5fe2f7e59c
common/protob: remove ButtonRequest.data field
2019-10-24 11:11:43 +02:00
Adrian Nagy
384275ac73
core/tezos: support the new protocol update (005-BABYLON)
2019-10-23 17:53:10 +02:00
matejcik
a8fc569016
debug: add support for general layout waiting
2019-10-22 17:06:49 +02:00
matejcik
06e10f948d
protobuf: send x/y coordinates, allow waiting for layout change
2019-10-22 16:55:30 +02:00
Tomas Susanka
0511cc8b8c
core: add final mypy fixes!
2019-10-22 14:36:25 +00:00
Tomas Susanka
f0cd99c545
common/protob: add sd card/protection to Features
2019-10-17 15:58:12 +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