gabrielkerekes
d2a5be4e38
feat(cardano): prepare protobuf messages for streamed tx signing
2021-08-20 11:50:13 +02:00
matejcik
ee068b01ea
chore(python): remove Lisk
2021-08-19 10:25:41 +02:00
Jun Luo
1adc869626
fix(python/stellar): correct the data type passed to StellarAllowTrustOp.is_authorized.
...
[no changelog]
2021-08-11 14:15:27 +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
overcat
5cf873a03a
feat(python/stellar): print a readable message when the user has not submitted a base64-encoded transaction envelope.
2021-08-06 13:14:57 +02:00
overcat
0dab2c5d1f
test(python/stellar): add test cases for Stellar transactions in TransactionV1 format.
2021-08-06 13:14:57 +02:00
overcat
d664f85a12
test(python/stellar): fix and refactor existing test cases.
...
The XDR included in the existing test is not valid base64-encoded transaction envelope, and it cannot be decoded correctly, See https://laboratory.stellar.org/#xdr-viewer?input=AAAAABXWSL%2Fk028ZbPtXNf%2FYylTNS4Iz90PyJEnefPMBzbRpAAAAZAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAXVVkJGaxhbhDFS6eIZFR28WJICfsQBAaUXvtXKAwwuAAAAABVEVTVAAAAAAphJYCwg5YNl8SPBLYehykVQ0QzSGwrg4Y1E4%2BVv1qFQAAAAAdzxaYAAAAAA%3D%3D&type=TransactionEnvelope&network=test
2021-08-06 13:14:57 +02:00
Jun Luo
543b9f407c
refactor(python/stellar): Use Stellar Python SDK to parse Stellar transactions.
...
As a side effect, support for TransactionV1 format transaction is added.
2021-08-06 13:14:57 +02:00
gabrielkerekes
4f7c6b3586
feat(common): change all protobuf message type hints to strings
...
In order to support recursive protobuf messages, which will be needed by Cardano's native scripts.
[no changelog]
2021-08-05 12:10:30 +02:00
matejcik
9ab1891b22
feat(common): more required fields in messages-management
...
[no changelog]
2021-08-04 15:03:11 +02:00
matejcik
0e650b1a5b
fix(python): do not set socket to nonblocking for wait_until_ready
...
There's two udp calls in `UdpTransport._ping()`:
- socket.sendall(b"PINGPING") -> this will be instanteous, AND it will
raise if the receiving side is not listening.
- socket.recv() -> this will wait for SOCKET_TIMEOUT seconds, but only
in case the sendall() succeeded. This means that receiving side exists
and we are now waiting until it's awake enough to respond.
In conclusion, we avoid hammering emulator with PINGPINGs with a timeout
so short we don't see an answer. This should avoid the problem
occasionally seen in CI and described in #1668
2021-08-04 10:58:59 +02:00
matejcik
34047cf3ec
Revert "feat(python): give the emulator a little more time to respond to ping"
...
This reverts commit ae0da5e245
.
It seems that there was no good reason for the change in the first
place.
2021-08-04 10:58:59 +02:00
matejcik
92e9d61e24
feat(python/debuglink): reset_debug_features to reconfigure debuglink
2021-08-04 10:58:59 +02:00
matejcik
b3312d1ef7
fix(tests): set_filter must be used in with-block
...
This makes sure filters are properly cleared when the with-block exits
2021-08-04 10:58:59 +02:00
matejcik
1d4c061e3e
docs(python): update changelog for 0.12.3
2021-07-30 10:18:43 +02:00
matejcik
2ab8972cf2
build(python): drop changelog target from makefile
2021-07-29 15:32:42 +02:00
matejcik
e7c40c9560
feat(python/trezorctl): trezorctl device reboot-to-bootloader
2021-07-29 15:32:42 +02:00
matejcik
347d11e6ea
chore(python): allow click 8.x for trezorlib
2021-07-28 16:17:27 +02:00
grdddj
13b8a6e54d
fix(python/trezorctl): firmware download does not require connected trezor
2021-07-20 11:03:57 +02:00
matejcik
f8bb90366a
fix(tests): auto-swipe by using only ButtonRequest.pages
2021-07-09 21:01:07 +02:00
matejcik
1e1963f1ee
fix(core): do not send ButtonRequest on every paging event
...
partial revert of 54db2291f2
from #1671
2021-07-09 15:00:29 +02:00
grdddj
6bbc9a78f3
feat(python/trezorctl): improving and refactoring firmware CLI commands
2021-07-07 10:33:03 +02:00
matejcik
d047c98cb2
feat(python/debuglink): auto-page on pageable screens
2021-06-22 11:25:12 +02:00
matejcik
4f0aca7bb5
feat(python): pass whole ButtonRequest to button_request UI handler
2021-06-22 11:25:12 +02:00
matejcik
ea2a9375ac
feat(python/debuglink): streamline expected responses handling [no changelog]
2021-06-22 11:25:12 +02:00
matejcik
1012ee8497
feat(core): send ButtonRequests for paging events
2021-06-22 11:25:12 +02:00
gabrielkerekes
a92b5fc333
fix(core/cardano): forbid tx outputs with both address and address parameters
2021-06-08 15:02:24 +02:00
matejcik
a58823cc0c
refactor(python): rework trezorlib protobuf codec
...
API-compatibility with the original one is retained.
Now that we don't need to keep code parity with core, we could do some
changes that make life easier.
All generated classes are now in one file. This makes github diffs more
readable, at the cost of somewhat complicating inspecting individual
classes; however, that is something we shouldn't be doing anyway.
Enums are now implemented as enum.IntEnum.
The original class-level FIELDS member was restored.
Each field is now defined via protobuf.Field, which is easier to work
with in the codec, AND we're not stuffing defaults and flags into the
same field.
2021-06-08 09:55:19 +02:00
matejcik
aaa3ce6117
fix(core/bitcoin): fix CoinJoin authorization with new cache
2021-05-06 13:14:21 +02:00
matejcik
ae0da5e245
feat(python): give the emulator a little more time to respond to ping
2021-05-06 13:14:21 +02:00
Martin Milata
b2b0ecf0f7
docs(python): use towncrier for generating CHANGELOG.md
2021-05-04 14:18:01 +02:00
Martin Milata
f58c1634c6
docs(core): use towncrier for generating CHANGELOG.md
2021-05-04 14:18:01 +02:00
gabrielkerekes
bf3e64ff20
fix(common): add isort:skip_file to files generated by pb2py
2021-04-23 11:09:29 +02:00
gabrielkerekes
a3d0016a2f
refactor(trezorlib/cardano): rename create_* functions
...
To avoid ambiguity between creating messages from parameters and parsing them from JSON.
2021-04-23 11:09:29 +02:00
gabrielkerekes
2313293477
feat(core/cardano): add support for catalyst voting registration
2021-04-23 11:09:29 +02:00
gabrielkerekes
2c503b16f5
fix(common): fix one value enums in pb2py
2021-04-23 11:09:29 +02:00
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
1e6259a476
docs: update changelogs
...
[skip_ci]
2021-01-08 14:33:28 +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
Pavol Rusnak
50fdd183c2
ci: enable editorconfig checks, fix whitespace issues
2020-11-11 14:43:50 +01:00
matejcik
5005a61eaf
fix(python): update trezorctl multisig feature to new API
2020-10-30 10:25:51 +01:00
matejcik
f11a634671
docs(python): update changelog
2020-10-30 10:25:51 +01:00
matejcik
38b7c75176
feat(python): drop Python 3.5 compatibility ( fixes #810 )
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
2327cab436
feat(python): update build_tx.py to new API
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
Pavol Rusnak
4fdb62c2e2
chore(python): replace pipenv with poetry
2020-10-07 16:21:00 +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
feb24e4282
ci(python): disable Python 3.5 in CI for now (see #810 )
2020-09-23 16:00:10 +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