1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-22 14:28:07 +00:00
Commit Graph

319 Commits

Author SHA1 Message Date
matejcik
c151fdeefd python: add wait-for-emulator command 2020-01-23 15:50:28 +01:00
Pavol Rusnak
a95405b693
python: don't use py3.6+ format strings yet 2020-01-21 16:29:13 +00:00
matejcik
4d7e3c8a23
python: use TREZOR_PATH in get_default_client 2020-01-20 17:33:00 +01:00
matejcik
1b04d1caa7
core/tools: drop tools obsoleted by headertool 2020-01-20 17:32:59 +01:00
matejcik
9341f0d584
core: improve building of vendor headers 2020-01-20 17:32:59 +01:00
matejcik
cc29b22f91
core/tools: introduce headertool 2020-01-20 17:32:58 +01:00
matejcik
b26a430b85
python/firmware: shorten names for vendor header fields 2020-01-20 17:32:58 +01:00
matejcik
3fc3231254
python/firmware: simplify calculate_code_hashes 2020-01-20 17:32:58 +01:00
matejcik
40477b836e
python/firmware: make header_digest function more intelligent 2020-01-20 17:32:58 +01:00
matejcik
18d4bd30a3
python/firmware: add production and development boardloader keys 2020-01-20 17:32:58 +01:00
matejcik
15bd35824b
python/cosi: improve API
cosi.verify was renamed to verify_combined, because it is pretty much
ed25519.verify, and the new name implies what it does in terms of the
CoSi scheme: verify a signature with already-combined public keys.

cosi.verify_m_of_n signature was simplified by not requiring the `n`
parameter, which is not important for verification. The updated function
was renamed to cosi.verify, because this is the standard CoSi
verification operation: given signature, digest, required number of
signatures, sigmask, and a list of public keys, verify that enough
signatures are indicated and that they sign the digest.
2020-01-20 17:32:58 +01:00
matejcik
941087179f
python/firmware: clarify firmware image types 2020-01-20 17:32:58 +01:00
matejcik
ab82382b1e
python/firmware: make header digest function public 2020-01-20 17:32:57 +01:00
matejcik
6cd976fdee
python/firmware: support bootloader headers 2020-01-20 17:32:57 +01:00
matejcik
7e6b39cd8e
python/firmware: mark reserved fields as private 2020-01-20 17:32:57 +01:00
matejcik
fb2c57d3c9
python/firmware: improve handling of bootloader keys 2020-01-20 17:32:57 +01: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
Jan Hrnko
95f8b68677 Drop pyargs 2020-01-02 12:55:35 +01:00
1000101
2e8df889dc python: allow nix build from directory (#781) 2020-01-01 15:53:10 +01:00
matejcik
b7c0a93d18 python: bump version in setup.py 2019-12-30 13:03:36 +01:00
matejcik
0203ac206d python: mark for release v0.11.6 2019-12-30 13:02:19 +01:00
robert
afc897d693 trezorctl: add u2f-counter to recover 2019-12-29 12:25:54 +01:00
matejcik
cf80f9cc43 python: update changelog 2019-12-27 11:34:15 +01:00
matejcik
700c5e4f32 python: fix expand-words functionality in recovery (fixes #778) 2019-12-27 11:34:10 +01:00
Pavol Rusnak
d6a3725955
common: remove coins with no trezor compatible wallets 2019-12-15 18:19:36 +00:00
Pavol Rusnak
e5bdf0d51b
Merge pull request #742 from trezor/language
common: change language field to IETF BCP 47 language tag
2019-12-12 18:07:54 +01:00
Szymon Lesisz
21b6ab3e98 common: update zcash consensus branch_id (Blossom fork) (#745) 2019-12-11 16:27:28 +01:00
Pavol Rusnak
7646b97dca
common: divisibility -> decimals 2019-12-09 17:43:47 +01:00
matejcik
a46fd6f508 core: auto-generate FIDO icons 2019-12-09 16:31:46 +01:00
Pavol Rusnak
bb8d809a6d
common: change language field to IETF BCP 47 language tag 2019-12-08 11:27:10 +01:00
Pavol Rusnak
3d50bb5ed8
common: add Peercoin, regenerate coins 2019-12-05 09:43:32 +00:00
Andrew Kozlik
1bc8226a50 common, core: Add wipe_code_protection to the Features message. 2019-11-25 12:32:20 +01:00
Andrew Kozlik
83fab3c220 trezorctl: Add set wipe-code command. 2019-11-25 12:32:20 +01:00
Andrew Kozlik
4381511930 common: Add ChangeWipeCode message. 2019-11-25 12:32:20 +01:00
matejcik
34913a328a all: disallow most RecoveryDevice fields in dry-run (fixes #666) 2019-11-20 12:27:57 +01:00
matejcik
b6d46e93e1 python: auto-generate OPTIONS.rst 2019-11-18 11:50:07 +01:00
matejcik
65bb8cdf4e python/trezorctl: only accept json for sign-tx, document the format 2019-11-18 11:50:07 +01:00
matejcik
8f2b22a8f5 python: add more protobuf tests 2019-11-18 11:50:07 +01:00
matejcik
bd9bf4e2bc python: rename webauthn and u2f to fido 2019-11-18 11:50:07 +01:00
matejcik
8e4de5e929 python/trezorctl: split trezorctl into separate modules
Instead of all commands (like `load-device`, `change-pin`,
`tezos-sign-tx`, `ethereum-verify-message`...) living in trezorctl.py,
each functional group is now defined in a separate file.

With that, better structuring of the trezorctl command becomes
available:
- instead of `trezorctl set-label`, use `trezorctl set label`
- instead of `trezorctl change-pin`, use `trezorctl set pin`
- instead of `trezorctl enable-passphrase`, use `trezorctl set
passphrase enabled`

For common commands, such as `sign-tx`, it is possible to use the
currency name or shortcut:

- `trezorctl btc sign-tx`
- `trezorctl ethereum sign-tx`
- `trezorctl xtz sign-tx`
- `trezorctl doge sign-tx`
etc.

Some aliases have been retained for better compatibility. For others,
refer to `trezorctl --help` and `trezorctl <command> --help`.
2019-11-18 11:50:07 +01:00
matejcik
862e582ec1 tests: make {needs,no}_backup flags available in test suite 2019-11-13 16:48:35 +01:00
matejcik
d9c581b95b python: run flake8 as part of make style 2019-11-13 16:48:35 +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
90edad55fc python and tests: typos 2019-11-13 13:28:07 +00:00
Tomas Susanka
ef9900ee52 python: get u2f counter 2019-11-13 10:55:52 +00:00
Tomas Susanka
2a20287882 common/protobuf: add message for retrieving an increased u2f counter 2019-11-13 10:55:52 +00:00
matejcik
fc7b76c9e7 move changelog entry from core to python 2019-11-11 16:22:20 +01:00
EDmitry
e286bd46f9 Field "sender" is renamed to "from" in eosio ABI for un/delegatebw 2019-11-11 11:56:25 +01:00
matejcik
3349f737df python/debuglink: prevent race with recovery homescreen eating debuglink decisions 2019-11-07 11:27:45 +01:00
Pavol Rusnak
0040b916d2
common/defs: remove inactive coins 2019-11-03 10:44:22 +00:00
Andrew Kozlik
6cc44b133c tests/webauthn: Account for the increased limit on the number of resident credentials. 2019-11-01 16:14:16 +01:00
apollo
18c926a34b common/defs: fix zcore signing (#669) 2019-11-01 00:18:03 +01: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
32074c7bff python/udp: make socket timeout configurable 2019-10-22 17:06:49 +02:00
matejcik
c970ad437d tests: improve layout_lines API 2019-10-22 17:06:49 +02:00
matejcik
598e828844 python: ensure client session counter is never negative 2019-10-22 17:06:49 +02:00
matejcik
a8fc569016 debug: add support for general layout waiting 2019-10-22 17:06:49 +02:00
matejcik
370b2c4c49 tests: add click-based recovery test 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
8f34b4c5de
Merge pull request #628 from trezor/tsusanka/sdprotect-fix
Skip sd protect test on device
2019-10-22 15:40:03 +02:00
Pavol Rusnak
ddd9bee059
common/defs: regenerate coins 2019-10-22 09:03:32 +00:00
matejcik
ccd1940ea8 tests: more assertions on sd_protect 2019-10-21 12:11:51 +02:00
Pavol Rusnak
178d58c763
common/defs: remove BTDX as it has no Trezor compatible wallet 2019-10-21 09:48:19 +00:00
Pavol Rusnak
4e5b60ec2b
common/defs: remove BITC per maintainer request 2019-10-20 17:11:43 +00:00
Pavol Rusnak
3ebc79f9b2
common/defs: remove MEC per maintainer request 2019-10-19 17:14:32 +00:00
Pavol Rusnak
9b7a2095b3
common/defs: update coins info 2019-10-18 10:14:33 +00:00
Pavol Rusnak
89794b89ae
python: regenerate coins.json 2019-10-17 15:25:48 +00:00
Tomas Susanka
f0cd99c545 common/protob: add sd card/protection to Features 2019-10-17 15:58:12 +02:00
sidhujag
de4c7bb855
common/defs: add SYS 2019-10-17 06:45:47 +00:00
Pavol Rusnak
d17ced9305
common/defs: remove ZCL as per maintainer request 2019-10-16 20:50:45 +00:00
Pavol Rusnak
d28bc3c3a6
common/defs: remove BSD - website does not exist, maintainer not reachable 2019-10-16 10:18:33 +00:00
Pavol Rusnak
3e20c51dbf
common/defs: remove MTNS - maintainer not reachable
website does not exist, backends don't work
2019-10-16 10:15:19 +00:00
apollo
74bcc05e2e common/defs: add ZCR (#611) 2019-10-11 21:01:11 +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
Sirak Ghazaryan
8317774e06 common/defs: enable CRW (#600) 2019-10-07 14:39:37 +02:00
Tomas Susanka
1c676d7394 build: make gen 2019-10-02 20:53:30 +02:00
matejcik
4ec7e203d5 python: make style 2019-09-26 16:48:16 +02:00
matejcik
2e5bdca891 python: update changelog, mark for release 2019-09-26 16:44:20 +02:00
matejcik
afe41d5fcf python: clear state with clear_session (fixes #525) 2019-09-26 15:50:41 +02:00
matejcik
4338e17757 python/trezorctl: dump raw protobuf bytes with -vv (fixes #117) 2019-09-26 15:41:42 +02:00
Pavol Rusnak
e05c6f8983
trezorctl: load-device -s will set label to SLIP-0014 if unset via -l 2019-09-23 14:38:50 +02:00
matejcik
4eb98c254a tests: only allow input_flow in a with-block 2019-09-20 15:47:34 +02:00
Pavol Rusnak
8da121ff5c
core+python: regenerate coins 2019-09-19 20:17:35 +02:00
Pavol Rusnak
df7094eb01
common/defs: regenerate support 2019-09-19 18:07:18 +02:00
Pavol Rusnak
68513a0b39
Merge pull request #538 from trezor/andrewkozlik/fido2-signcount
Disable FIDO2 signature counter for some relying parties
2019-09-19 17:00:51 +02:00
matejcik
8b4db0f074 trezorctl: use capabilities to detect Shamir backup (fixes #445) 2019-09-19 16:46:07 +02:00
Tomas Susanka
cefb1cf4fd core: refactor slip39 2019-09-19 16:38:29 +02:00
Andrew Kozlik
315a30b42b core/webauthn: Disable FIDO2 signature counter for some relying parties 2019-09-19 16:16:58 +02:00
Pavol Rusnak
5628d1254d
python: regenerate coins.json 2019-09-19 15:45:57 +02:00
Andrew Kozlik
f867b43251 trezorctl: Add sd-protect command. 2019-09-18 18:53:42 +02:00
Andrew Kozlik
06fc676cc9 common/messages: Add SdProtect message. 2019-09-18 18:53:42 +02:00
Andrew Kozlik
0677a8e570
Merge pull request #522 from trezor/andrewkozlik/fido2-mgmt
FIDO2 resident credential management
2019-09-17 20:35:53 +02:00
Pavol Rusnak
ae6d02edf5
python: typo in trezorctl 2019-09-17 18:35:04 +02:00
Andrew Kozlik
3e2ae5e469 trezorctl: Implement credential management command. 2019-09-17 18:32:31 +02:00
Andrew Kozlik
091053507d common/messages: Add credential management message. 2019-09-17 18:32:31 +02:00
matejcik
d1f36f42c0 trezorctl: properly check firmware_present (fixes #224) 2019-09-17 16:05:30 +02:00
Tomas Susanka
75c539ec55
all: replace /bin/bash with /usr/bin/env bash 2019-09-12 17:35:55 +02:00
matejcik
775a27f736 python: fix tox build failure under python 3.8 2019-09-10 15:31:03 +02:00
matejcik
885a21ab36 tests: add missing licence headers 2019-09-10 13:48:51 +02:00
Pavol Rusnak
8cd9ea49de
python: introduce --bitcoin-only option to trezorctl firmware-update 2019-09-07 19:12:37 +02:00
Tomas Susanka
9e42a73650 build: make gen 2019-09-02 08:25:58 +02:00
TheCreator
64034c6d7d common: enable UNO (#472) 2019-09-01 09:47:58 +02:00
matejcik
68e6a0077b style: fix import order in trezorlib/misc.py 2019-08-29 15:19:02 +02:00
matejcik
5b8f542436 python: do not accept bytes for str protobuf fields
fixes #283

also adds typing information to misc.py
2019-08-29 15:07:50 +02:00
matejcik
ab74f55a95 python: improve ethereum_sign_tx 2019-08-29 15:07:50 +02:00
matejcik
3209e82018 python: refresh features after ClearSession
ClearSession will clear pin and password caches, which would otherwise
not be reflected in Features
2019-08-29 15:07:50 +02:00
Pavol Rusnak
1a71c7a3e8
common: rename Features.features to Features.capabilities 2019-08-28 15:02:30 +02:00
Pavol Rusnak
dde4c12796
common: add Feature.ShamirGroups to features 2019-08-28 09:25:11 +02:00
Pavol Rusnak
93f18b09bd
core+python: regenerate Features 2019-08-27 17:30:49 +02:00
matejcik
3e90c7fe20 python/trezorctl: add warning when initializing a T1 with Shamir
fixes #445
2019-08-27 17:01:25 +02:00
matejcik
9ce2fceabe python: make gen_check fail if coins.json are outdated 2019-08-23 12:48:23 +02:00
matejcik
8e5aac9016
python: bump version to 0.11.5 (unreleased), add changelog 2019-08-22 18:15:37 +02:00
matejcik
132c827833
python: implement decoding of protobuf packed repeated fields
also add typing
fixes #426
2019-08-22 18:15:33 +02:00
matejcik
6dc7985dc7
python: add more protobuf tests
also fix field numbers to start at 1
2019-08-22 18:15:28 +02:00
Pavol Rusnak
cc184a0a30
common: introduce Features.features enum 2019-08-20 14:38:31 +02:00
Pavol Rusnak
2e59a1f445
python: add --beta switch to trezorctl firmware_update command 2019-08-16 18:43:43 +02:00
Marius Kjærstad
1d6ea33ec6 docs: switch http to https in links (#419) 2019-08-16 17:28:15 +02:00
matejcik
9814f886ce gen: regenerate coins.json 2019-08-12 12:57:25 +02:00
matejcik
d521903963 python: clarify requirements, enable tox in CI 2019-08-12 12:57:25 +02:00
matejcik
946a322a93 pipenv: set proper typing_extensions requirement 2019-08-12 12:57:25 +02:00
matejcik
6d407c84d7 python: use stdlib blake2s on python 3.6+ 2019-08-12 12:57:25 +02:00
matejcik
aa19f9d737 python: show enum number in debug outputs 2019-08-12 12:57:25 +02:00
matejcik
67b879ac07 python: restructure package
This deserves some explanation.

* tests were moved to separate python/tests subdir
* trezorlib was moved to python/src, so that it does not exist on
PYTHONPATH by default
(see https://blog.ionelmc.ro/2014/05/25/python-packaging/ for details)
* everything was updated to understand the new structure
* trezorctl was changed from a top-level executable script to a module
`trezorlib.cli.trezorctl` and is installed via the entry_points
mechanism.
This should make it work normally on Windows!

The package should be installable as normal through pip and pipenv, no
changes are needed on that side.

The source package from pypi will include unit tests. (Device tests were
completely moved out). Wheel will exclude them, because users don't need
them.
That shrinks the .whl from 520 kB to 270 - nice!

python: reorganize remaining unit tests
2019-08-12 12:57:25 +02:00
matejcik
0470cf9865 tests: move burn tests to root 2019-08-12 12:57:25 +02:00
matejcik
eb6f6dd572 tests: move tx_cache impl 2019-08-12 12:57:25 +02:00
matejcik
b4fa6f2a7f tests: move device tests to top-level 2019-08-12 12:57:25 +02:00
Roman Zeyde
7210a2f56d common/defs: add 'confidential_assets' section to coin definitions (#399)
Enable 'confidential_assets' for Elements (following #66 and #317) to allow
deriving confidential addresses and signing confidential transactions.

The following Python helper script was used to update the JSON files:
```
import json
import sys

for f in sys.argv[1:]:
    d = json.load(open(f))
    d["confidential_assets"] = None
    with open(f, "w") as o:
        json.dump(d, o, indent=2)
        o.write("\n")
```

Set it to `{'address_prefix': 4, 'blech32_prefix': 'el'}` for Elements.

`coins.json` and `coininfo.py` were re-generated using:
```
$ pipenv run make gen gen_check
```
2019-08-12 12:52:20 +02:00
matejcik
f680f0c0d3 core: unify NEM pager confirm with rest of codebase 2019-08-09 16:53:12 +02:00
matejcik
b9c978c1e2 tests: take advantage of debuglink feedback 2019-08-09 16:53:12 +02:00
matejcik
0890f68c0c core: use channels to give feedback over debuglink
all debug input signals are now channels, and DebugLinkDecision handler
waits until the input was consumed. This means that the input events are
queued; originally, if an input event arrived before the previous was
consumed, the previous input would be lost.

reset words and their positions are now also channels, and
DebugLinkGetState can wait for their updates, if required
2019-08-09 16:53:12 +02:00
Pavol Rusnak
e23bb10ec4
core+legacy: fix KMD signing (introduce negative_fee coin field) 2019-08-09 16:47:24 +02:00
Tomas Susanka
35ecfbcb3d build 2019-08-09 13:34:46 +02:00
Pavol Rusnak
b86d017d3e
python: fix reset device test for t1
(cherry picked from commit 3c19e3167d)
2019-08-07 12:43:52 +02:00
matejcik
0b628252ad tests: drop usages of read_passphrase_protection 2019-08-02 19:06:26 +02:00
matejcik
22bd94d9ea tests: improve setup_client to handle passphrase better 2019-08-02 19:06:26 +02:00
ciny
8f0a29645c tests: removed invalid data tests from shamir sign tx 2019-08-02 19:06:26 +02:00
ciny
6a2f3c44e4 tests: slip39 cardano tests for sign_transaction 2019-08-02 19:06:26 +02:00
ciny
9ef1c9e07e tests: slip39 cardano tests for get_address and get_public_key 2019-08-02 19:06:26 +02:00
matejcik
aa9860fdb7
protobuf: add enum value validation (#363) 2019-08-02 19:06:01 +02:00
matejcik
1a5ca74e2d python: update changelog, bump version 2019-07-31 18:00:52 +02:00
Ciny
90b91a7fb5 #28 - binance implementation (#189)
- placeOrder, cancelOrder, transfer messages
- cli support
- unit and device tests
2019-07-31 17:02:41 +02:00
ciny
cbb6d1539f tests: added shamir invalid seed dryrun test 2019-07-29 16:10:00 +02:00
Tomas Susanka
5584939fd3
added device tests for shamir dry run and warnings (#358)
added device tests for shamir dry run and warnings
2019-07-29 11:26:36 +02:00
ciny
db35a11fc1 tests: added device tests for dry run and warnings 2019-07-29 10:22:21 +02:00
Tomas Susanka
4117f3506c core/shamir: text improvements 2019-07-26 16:51:56 +02:00
Tomas Susanka
a8c9a4ddc4 core/shamir: send boolean flag in Features that Recovery is in progress 2019-07-26 16:38:05 +02:00