1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-27 01:48:17 +00:00
Commit Graph

11263 Commits

Author SHA1 Message Date
matejcik
a4bcc95deb feat(python): introduce Trezor models
This keeps information about vendors and USB IDs in one place, and
allows us to extend with model-specific information later.

By default, this should be backwards-compatible -- TrezorClient can
optionally accept model information, and if not, it will try to guess
based on Features.

It is possible to specify which models to look for in transport
enumeration. Bridge and UDP transports ignore the parameter, because
they can't know what model is on the other side.

supersedes #1448 and #1449
2021-12-07 16:55:58 +01:00
matejcik
38fca4a83d chore(python): regenerate GNU copyright headers 2021-12-07 16:55:58 +01:00
matejcik
8f32e0ba05 chore(python/changelog): unify changelog entries 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
Andrew Chow
dbf57d745a feat(python): Optionally init_device in TrezorClient 2021-12-07 16:55:58 +01:00
matejcik
be6d01729d fix(tests): TxCache needs to respond to x in tx_cache 2021-12-07 16:55:58 +01:00
Andrew Chow
23a09fc047 feat(python): Raise ValueError for non-existant tx hashes
If the device asks for a tx_hash which is not present in prev_txes,
raise a ValueError with some more detailed messaging about the missing
hash rather than the default dictionary lookup failure of KeyError.
2021-12-07 16:55:58 +01:00
Andrew Kozlik
ff7d5c224b docs: Update transaction signing documentation. 2021-12-06 18:23:48 +01:00
Andrew Kozlik
7b7aa2d971 feat(tests): Add device tests for Taproot ownership proofs. 2021-12-06 18:23:48 +01:00
Andrew Kozlik
ef5994d9f3 feat(core): Support ownership proofs for Taproot addresses. 2021-12-06 18:23:48 +01:00
Andrew Kozlik
b0f2d43884 tests: Fix tx_cache download. 2021-12-06 18:23:48 +01:00
Martin Milata
e9fd1fc49f build(core/emulator): build with -fPIE
Otherwise "cargo test" fails with errors like:

   Compiling trezor_lib v0.1.0 (embed/rust)
error: linking with `cc` failed: exit status: 1
  |
  = note: ld: build/unix/rust/debug/build/trezor_lib-a046f8e3db087595/out/libcore_lib.a(obj.o): relocation R_X86_64_32S against `.rodata.types.1' can not be used when making a PIE object; recompile with -fPIE
2021-12-06 16:25:59 +01:00
Martin Milata
1e5e970fd1 fix(legacy/firmware): improve pin length bound check 2021-12-06 16:25:59 +01:00
Martin Milata
cace42c6e9 fix(crypto/test): fix uninitialized variable use
tests/test_speed.c:61:3: error: ‘sk’ may be used uninitialized [-Werror=maybe-uninitialized]
   61 |   ed25519_publickey(sk, pk);
tests/test_speed.c:145:3: error: ‘sk’ may be used uninitialized [-Werror=maybe-uninitialized]
  145 |   ed25519_publickey(sk, pk);
2021-12-06 16:25:59 +01:00
Martin Milata
e43ff4ba8e ci(nix): prefer gcc over clang for symlinks with same name 2021-12-06 16:25:59 +01:00
grdddj
9ef4440d0a chore(tests): regenerating fixtures.json to account for changed file-paths 2021-12-06 11:15:12 +01:00
grdddj
0b0a77703c chore(tests): more test reorganizations 2021-12-06 11:15:12 +01:00
grdddj
18a2642d95 chore(tests): renaming all "proto" usages to "messages" in device tests 2021-12-06 11:15:12 +01:00
grdddj
a92d29ddbf chore(tests): removing classes from device test files 2021-12-06 11:15:12 +01:00
grdddj
782f868717 chore(tests): organize device tests into folders 2021-12-06 11:15:12 +01:00
grdddj
6c8e6dcc08 feat(tests): SuperShamir device tests for clicking Info button 2021-12-06 11:15:12 +01:00
Pavol Rusnak
4419572437
ci(nix): use gcc-arm-embedded on aarch64-darwin too
it is now enabled in nixpkgs (via rosetta)
2021-12-06 00:21:42 +01:00
Pavol Rusnak
8428456df6
ci(nix): use explicit versions for clang and gcc (#1969) 2021-12-03 12:49:08 +01:00
Christian Reitter
91dd21b561 fix(crypto): clarify incorrect base58.c code comment 2021-12-01 18:09:52 +01:00
Martin Milata
38c526719c chore(core): bump version to 2.4.4
[skip_ci]
2021-12-01 14:45:47 +01:00
Martin Milata
7336125cd3 chore(legacy/firmware): bump version to 1.10.5 2021-12-01 14:45:47 +01:00
grdddj
d6b99ba3eb fix(python): allowing PIN/passphrase input for Git Bash 2021-12-01 13:06:41 +01:00
Pavol Rusnak
70f8174c57 build(legacy): sort entries in Makefile
[no changelog]
2021-11-29 17:54:59 +01:00
Pavol Rusnak
3ec63c1dc7 build(legacy/bootloader): sort entries in Makefile
[no changelog]
2021-11-29 17:54:59 +01:00
Ondrej Mikle
22b1714e59 build(legacy/bootloader): build bootloader with -Os
[no changelog]
2021-11-29 16:03:36 +01:00
Szymon Lesisz
60fe007ed2 chore(common): update DOGE fees
https://github.com/dogecoin/dogecoin/blob/master/doc/fee-recommendation.md#dust-limits

- default fee 1000 (0.01) DOGE
- min fee 100 (0.001) DOGE
- dust limit 1000 (0.01) DOGE
2021-11-29 14:59:47 +01:00
Szymon Lesisz
969f913e78 chore(common): update suite support
removed coins not supported in suite
2021-11-29 14:59:47 +01:00
Szymon Lesisz
455268a2d3 chore(common): connect support for Regtest and Decred 2021-11-29 14:59:47 +01:00
Ondřej Vejpustek
a4e13cb6e4 fix(crypto): assign NULL to zkp_context after is is destroyed 2021-11-29 14:16:42 +01:00
Ondřej Vejpustek
f1ebe8f23e refactor(crypto): expose zkp_context_is_initialized 2021-11-29 14:16:42 +01:00
matejcik
949dfe1f5d docs(core/cardano): add derivation scheme docs 2021-11-29 13:34:01 +01:00
vdovhanych
973f471bf5 ci: auto add new issues to backlog project 2021-11-28 22:22:05 +01:00
Ondřej Vejpustek
f664734060 test(core): add unit tests for bip340 2021-11-26 20:16:59 +01:00
Ondřej Vejpustek
046beb4fde test(core): fix secp256k1 unit tests 2021-11-26 20:16:59 +01:00
vdovhanych
3419961797 ci: introduce gitlab cache for vnev 2021-11-26 16:30:05 +01:00
matejcik
6d3b49934a chore(python/tools): bump version in encfs_aes_getpass 2021-11-26 16:28:49 +01:00
matejcik
c2bad83296 refactor(python): improve handling of data for trezorlib.ethereum.sign_tx() 2021-11-26 16:28:49 +01:00
grdddj
26173c243a feat(python): enable pyright-based type checking 2021-11-26 16:28:49 +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
grdddj
2487c89527 chore(python): increasing mnemonic version to 0.20 2021-11-26 16:28:49 +01:00
grdddj
77afcb335b chore(python): replacing attrs with dataclasses 2021-11-26 16:28:49 +01:00
grdddj
57579c5a80 chore(python): removing pyblake2 as a required library 2021-11-26 16:28:49 +01:00
Martin Milata
7cc9f13605 refactor(core/rust): allow model_t1 and model_tt at once
[no changelog]
2021-11-24 15:36:34 +01:00
Martin Milata
52f719ad81 ci: add core unit test t1
[no changelog]
2021-11-24 15:36:34 +01:00