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

145 Commits

Author SHA1 Message Date
Andrew Kozlik
a3ac5d752e feat(trezorctl): Add device set-busy command. 2022-08-22 18:15:29 +02:00
Andrew Kozlik
ad5a572b75 chore(common): Deprecate data field in CosiCommit message. 2022-08-02 20:38:04 +02:00
matejcik
4c347b7acc Revert "feat(python): implement firmware dumping"
This reverts commit ee694f36cf.
2022-08-02 17:12:07 +02:00
matejcik
ff85e0f92d fix(python): fix result_callback correctly this time 2022-07-13 15:14:33 +02:00
matejcik
9f69057b9b fix(python): fix Click 7.x by passing explicit version to version_option 2022-07-13 15:12:12 +02:00
David Misiak
4017434cc1 feat(cardano): add support for babbage features 2022-07-04 15:58:27 +02:00
matejcik
63ab0711e2 fix(python): fix crashing trezorctl --version
fixes #1702
2022-06-30 15:56:06 +02:00
matejcik
3141f808dd fix(python/trezorctl): do not implicitly import rlp on Python 3.6 2022-06-30 15:35:07 +02:00
matejcik
8049282bdb feat(python): detect busy device as a separate condition
fixes #1026
2022-06-29 14:35:16 +02:00
matejcik
aaa224a4f7 feat(python/trezorctl): detect script type from path (fixes #2159) 2022-06-29 14:35:16 +02:00
matejcik
c12e4edd70 fix(python/trezorctl): improve docs and behavior around unexpected messages
closes #2254
2022-06-29 14:35:16 +02:00
matejcik
5173cd3b82 fix(python): click 8.1 compatibility
fixes #2199
2022-06-29 14:35:16 +02:00
Ondrej Mikle
c563c987e1 feat(core): jump back and stay in bootloader for TT via reverse SVC call trampoline 2022-06-01 14:50:59 +02:00
Martin Milata
c5f1bec474 Merge branch 'release/22.05' 2022-05-18 12:43:53 +02:00
matejcik
6feada2eed style(python/monero): improve type signature on Monero functions 2022-05-16 12:37:24 +02:00
Andrew Kozlik
458d6e1b4b fix(trezorctl): Fix BIP-32 path in CoSi help.
[no changelog]
2022-05-03 21:50:50 +02:00
matejcik
ee694f36cf feat(python): implement firmware dumping 2022-05-03 19:00:04 +02:00
Andrew Kozlik
e43c14f448 feat(trezorctl): Add firmware get-hash command. 2022-05-03 19:00:04 +02:00
grdddj
068e97c258 feat(python): unify option arguments in trezorctl 2022-03-24 14:30:20 +01:00
grdddj
d7d228e716 chore(python): limit click version to be below 8.1 2022-03-24 14:30:20 +01:00
David Misiak
2262602967 feat(cardano): add support for plutus transactions 2022-03-18 14:32:54 +01:00
David Misiak
48587d83fe feat(cardano): add support for output datum hash and script data hash 2022-03-18 14:32:54 +01:00
David Misiak
2b3a53a6ae feat(cardano): add support for network id in tx body 2022-03-18 14:32:54 +01:00
grdddj
a38a0b6295 fix(python): fix eth.sign-tx - correct input into rlp.encode()
[no changelog]
2022-03-16 16:09:07 +01:00
grdddj
3d505874aa feat(ci): create pyright tool and include it in CI
[no changelog]
2022-03-02 15:43:50 +01:00
grdddj
319d0f16e3 chore(python): loosen ethereum dependencies
[no changelog]
2022-02-18 18:40:47 +01:00
Andrew Kozlik
bf2baf798f feat(trezorctl): Support generating Electrum-compatible message signatures. 2022-02-11 15:36:00 +01:00
Alois Klink
5c4703c9bb fix(core,legacy): Fix domain-only ethTypedData
When doing Ethereum signTypedData, and the primaryType="EIP712Domain",
we completely ignore the "message" part and only sign the domain.

According to the community, this is technically allowed by the spec,
and may be used by ETH smart contracts to save on gas.

Test case generated by @MetaMask/eth-sig-util's library.

See: https://ethereum-magicians.org/t/eip-712-standards-clarification-primarytype-as-domaintype/3286
2022-01-14 14:22:46 +01:00
grdddj
e3d366e65b feat(python): ScriptUI for trezorctl, reference client implementation 2022-01-12 14:52:01 +01:00
matejcik
dfab3efb86 style(python): fix typecheck issues
[no changelog]
2022-01-07 21:41:17 +01:00
Alisina Bahadori
77ab865386 feat(legacy): Implement EIP-712 signing 2021-12-19 20:36:30 +01:00
matejcik
38fca4a83d chore(python): regenerate GNU copyright headers 2021-12-07 16:55:58 +01:00
matejcik
83bb3a0932 feat(python): show progress bar for firmware upload 2021-12-07 16:55:58 +01:00
matejcik
a2a8cc88d9 feat(python): make the protobuf mappings overridable 2021-12-07 16:55:58 +01:00
grdddj
1a0b590914 feat(python): add full type information
WIP - typing the trezorctl apps

typing functions trezorlib/cli

addressing most of mypy issue for trezorlib apps and _internal folder

fixing broken device tests by changing asserts in debuglink.py

addressing most of mypy issues in trezorlib/cli folder

adding types to some untyped functions, mypy section in setup.cfg

typing what can be typed, some mypy fixes, resolving circular import issues

importing type objects in "if TYPE_CHECKING:" branch

fixing CI by removing assert in emulator, better ignore comments

CI assert fix, style fixes, new config options

fixup! CI assert fix, style fixes, new config options

type fixes after rebasing on master

fixing python3.6 and 3.7 unittests by importing Literal from typing_extensions

couple mypy and style fixes

fixes and improvements from code review

silencing all but one mypy issues

trial of typing the tools.expect function

fixup! trial of typing the tools.expect function

@expect and @session decorators correctly type-checked

Optional args in CLI where relevant, not using general list/tuple/dict where possible

python/Makefile commands, adding them into CI, ignoring last mypy issue

documenting overload for expect decorator, two mypy fixes coming from that

black style fix

improved typing of decorators, pyright config file

addressing or ignoring pyright errors, replacing mypy in CI by pyright

fixing incomplete assert causing device tests to fail

pyright issue that showed in CI but not locally, printing pyright version in CI

fixup! pyright issue that showed in CI but not locally, printing pyright version in CI

unifying type:ignore statements for pyright usage

resolving PIL.Image issues, pyrightconfig not excluding anything

replacing couple asserts with TypeGuard on safe_issubclass

better error handling of usb1 import for webusb

better error handling of hid import

small typing details found out by strict pyright mode

improvements from code review

chore(python): changing List to Sequence for protobuf messages

small code changes to reflect the protobuf change to Sequence

importing TypedDict from typing_extensions to support 3.6 and 3.7

simplify _format_access_list function

fixup! simplify _format_access_list function

typing tools folder

typing helper-scripts folder

some click typing

enforcing all functions to have typed arguments

reverting the changed argument name in tools

replacing TransportType with Transport

making PinMatrixRequest.type protobuf attribute required

reverting the protobuf change, making argument into get_pin Optional

small fixes in asserts

solving the session decorator type issues

fixup! solving the session decorator type issues

improvements from code review

fixing new pyright errors introduced after version increase

changing -> Iterable to -> Sequence in enumerate_devices, change in wait_for_devices

style change in debuglink.py

chore(python): adding type annotation to Sequences in messages.py

better "self and cls" types on Transport

fixup! better "self and cls" types on Transport

fixing some easy things from strict pyright run
2021-11-26 16:28:49 +01:00
Pavol Rusnak
0fc3b32b7e fix(python): accept also "taproot" for taproot scripts in cli
[no changelog]
2021-11-22 11:25:19 +01:00
matejcik
f8b9cda05d feat(python): support Cardano derivation type arguments 2021-11-10 13:57:57 +01:00
Pavol Rusnak
0068c12f77
fix(python): use unified descriptor format <a;b> (#1885) 2021-11-04 10:36:53 +01:00
grdddj
73238135d6 feat(core/ethereum): EIP-712
Based on original contribution by Max Kupriianov <xlab@hey.com>

Implemented EIP-712 typed data signatures in Ethereum app.

Add eth_abi into pyproject deps

device test for EIP 712

fixed hex decoding for address

fixup! fixed hex decoding for address

code quality, more pythonic code, removing unused imports

running black and isort on changed files

trezorctl file input for EIP 712 data signing

fixup! code quality, more pythonic code, removing unused imports

fixup! fixup! code quality, more pythonic code, removing unused imports

necessary changes after rebase to master

unit tests for sign_typed_data.py

new protobuf messages, working for nonarray types

simplified and verified solution for our simple data

support for simple arrays, without their confirmation

reverting protobuf value messages to bytes, appropriate changes

showing arrays in Trezor, code quality improvements

data validation on Trezor, minor improvements

using custom types for storing type data instead of dicts, addressing feedback from review

moving helper functions to its own file, tests for decode_data

additional overall tests

support for arrays of structs

adding support for metamask_v4_compat variable

using HashWriter object to collect the final hash continously

minor improvements in code quality

validate_field_type function

streaming values from client without saving them, missing UI

prototype of streamed UI using confirm_properties

accounting for bytes in data, more data types in integration tests

rebase on master, using f-strings

minor fixes and improvements from code review

StructHasher class for the whole hashing process

mypy and style changes

asking users whether to show structs and arrays

protobuf descriptions to fix make defs_check

unifying comments, mypy fix

unit tests for StructHasher class

UI fixtures, skipping device tests for T1

addressing majority of code review comments about code quality and structure

changing file structure - layouts, helpers, sign_typed_data

decode_data renaming and docstring, renaming unit test file

using tuples instead of lists in elifs

layout improvements

excluding core/src/apps/common/confirm.py file from the PR

True/False returning layout with Show more button

code review layout improvements

forgotten br_type argument to should_show_more
2021-11-02 14:27:01 +01:00
Eduard Klementiev
10ce81b5d1 fix(python/trezorctl): fix operator precedence issue for ethereum sign-tx command 2021-10-25 15:51:21 +02:00
Pavol Rusnak
ba0879961c feat(python): add support for Taproot descriptors 2021-10-18 13:36:05 +02:00
amadejpapez
85ba7c12ba style(all): use f-strings for formatting
[no changelog]
2021-10-13 11:53:17 +02:00
gabrielkerekes
1f33ab420d feat(cardano): update transaction signing for multisig 2021-10-11 15:16:24 +02:00
gabrielkerekes
21281d7cf4 feat(cardano): add support for script addresses derivation 2021-10-11 15:16:24 +02:00
gabrielkerekes
dd9652cd07 feat(cardano): add get-native-script-hash call 2021-10-11 15:16:24 +02:00
matejcik
f083beb3c2 fix(python/trezorctl): fix "invalid value" of ChoiceType with default
[no changelog] as the changelog entry is explicitly added to previous
version
2021-09-07 13:37:23 +02:00
gabrielkerekes
b0c8590f00 feat(cardano): streamed transaction signing 2021-08-20 11:50:13 +02:00
matejcik
ee068b01ea chore(python): 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
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