Commit Graph

404 Commits

Author SHA1 Message Date
Jochen Hoenicke 69067c9280 Parse json floats as string
With python-2.7 the float values are sometimes rounded to unacceptable
levels, e.g. stripping the last two digits for values over 100k BTC.
This change parses floats as strings to avoid rounding.

Refactored get_url out of fetch_json to make it easier to add
new tx_api with a different url scheme.
2017-11-28 19:55:31 +01:00
Nicola Larosa 62541cc55f Fix encoding error in trezorlib.client.ProtocolMixin.load_device_by_mnemonic (#153) 2017-11-15 13:33:21 +01:00
Nicola Larosa 5d2d621055 Fix error when using trezorctl to connect to the trezor-core emulator. (#152)
* Fix error when using trezorctl to connect to the trezor-core emulator.

* Restore the ability to specify the host without the port
2017-11-13 22:15:09 +01:00
Pavol Rusnak 0d9ee4376d
use Mnemonic.normalize_string where possible 2017-11-13 22:13:32 +01:00
Pavol Rusnak b9b11fa265
style: fix flake8 error 2017-11-08 21:25:15 +01:00
Pavol Rusnak a5fc76d8c9
don't use generic Exception, but rather specific subclass 2017-11-06 11:10:23 +01:00
Jan Pochyla fcd793e6e4 transport_hid: force V1 transport with env var 2017-10-31 13:51:13 +01:00
Pavol Rusnak 23d75bfc10
trezorctl: sign_tx command based on tx_sign_tool by mruddy 2017-10-24 00:50:01 +02:00
Pavol Rusnak 54426761c6
fix transport_hid for python2 2017-10-23 17:28:24 +02:00
Pavol Rusnak 5057e022c0
trezorlib: move ed25519cosi and ed25519raw from trezor-core 2017-10-04 00:38:53 +02:00
Pavol Rusnak a71c33d123
trezorctl+client: add support for CoSi commit/sign 2017-10-03 18:43:28 +02:00
bithobbes 54df69a407 client.py: matrix recovery info: mention backspace
It is not obvious that it is possible to go back by backspace. Knowing this makes data entry much more comfortable.
2017-09-13 17:54:42 +09:00
Jan Pochyla 66ba2c20c0 transport: add TransportException
Fixes #134
2017-09-05 17:16:04 +02:00
Jan Pochyla ac0184413d transport_hid: refcount for hid handle 2017-09-05 17:15:19 +02:00
Pavol Rusnak dffa93bee3
fix last commit (newline eof) 2017-09-04 17:40:15 +02:00
Jan Pochyla b60ab51f9b transport_hid: more strict interface detection 2017-09-04 17:30:07 +02:00
Pavol Rusnak 2a3f613242
hid: fix product_ids for v2 2017-09-04 14:31:15 +02:00
Jan Pochyla 52f96b3792 transport_hid: raise on missing debuglink 2017-09-04 13:44:19 +02:00
Jan Pochyla 8202971109 rework lazy connecting in client 2017-09-04 13:36:08 +02:00
Jan Pochyla 051f8e961b protocol: 2/3 compat fixes 2017-09-04 11:44:33 +02:00
Jan Pochyla 3d3c2a29d0 client: add missing close method
close() is implemented in some of the mixins to dispose of any resources.
2017-09-04 11:30:34 +02:00
mruddy 02437d166a fix v1 protocol 2017-09-03 19:34:01 +02:00
Saleem Rashid eb1d66e27f trezorlib: Add nem_get_address 2017-09-03 19:05:29 +02:00
Saleem Rashid 58b56bead6 trezorctl: Add nem_sign_tx 2017-09-03 19:05:29 +02:00
Saleem Rashid 991d367416 trezorlib: Update Protocol Buffers 2017-09-03 19:05:29 +02:00
Jan Pochyla 888a1edafa fix style 2017-08-24 14:41:31 +02:00
Jan Pochyla bc42eb68d6 transports: refactor, split protocol code 2017-08-24 14:29:27 +02:00
Pavol Rusnak 32fa08f38b
tests: remove estimate_tx_size 2017-07-31 14:00:26 +02:00
Saleem Rashid b469519e26 client: fix matrix recovery, use named enums, use isdigit(), ignore broken E721 test 2017-07-31 13:35:31 +02:00
Pavol Rusnak 81d5170c10
tests: start rewriting device tests to pytest 2017-07-28 18:07:20 +02:00
Jan Pochyla 6df01fbfa3 TransportV2: adapt to recent changes
- remove checksum
- add sequence numbers
2017-07-28 15:58:20 +02:00
Jochen Hoenicke 9917d9ebfc
New unit tests for signing (bitcoin cash) 2017-07-27 21:51:00 +02:00
Pavol Rusnak 8133317172
add SignMessage.script_type 2017-07-24 16:11:38 +02:00
Pavol Rusnak de6402e95e
implement set_flags (aka ApplyFlags) 2017-07-17 18:37:15 +02:00
Pavol Rusnak d865c0ea31
trezorctl: load_device -s now loads SLIP-0014 mnemonic, --skip-checksum renamed to --ignore-checksum 2017-07-16 14:54:50 +02:00
Pavol Rusnak 23ab43d612
ethereum: implement EthereumSignMessage/EthereumVerifyMessage 2017-07-12 18:35:54 +02:00
Pavol Rusnak c7a2c72a75
simplify SelfTest.payload 2017-07-10 19:08:16 +02:00
Pavol Rusnak 1727b9a9b6
add SelfTest.payload 2017-07-10 17:40:13 +02:00
Pavol Rusnak f73fc33439
drop internal use of protobuf_json, use json_format provided by google.protobuf 2017-07-10 15:36:44 +02:00
Pavol Rusnak b335d30b8d
use click in trezorctl 2017-07-05 12:55:38 +02:00
Pavol Rusnak 0ee1667c6f
trezorctl: cleanup 2017-07-05 12:55:38 +02:00
Pavol Rusnak bcf54dbe94
trezorctl/client: add self_test 2017-07-03 18:49:03 +02:00
Pavol Rusnak b9293d6bcb
regenerate protobuf 2017-07-03 18:42:21 +02:00
Pavol Rusnak 9a709832a9
tests: unit test for ResetDevice_skipbackup (and subsequent BackupDevice) 2017-06-28 18:04:19 +02:00
Pavol Rusnak 33f274d145
style: use flake8 2017-06-23 21:52:53 +02:00
Pavol Rusnak 71996c1e43
update protobuf, update tox.ini, prepare for BackupDevice 2017-06-23 19:26:35 +02:00
Roman Zeyde 0d76936174 Allow testing recovery with an initialized device 2017-06-23 00:08:59 +02:00
Pavol Rusnak f50d547ce4
regenerate protobuf, added RecoveryDevice.dry_run 2017-06-22 12:38:57 +02:00
Pavol Rusnak f880a09ae7
add protoc version and trezor-common revision to autogenerated files 2017-06-21 13:44:26 +02:00
Pavol Rusnak 609b8d4a4a
fix stderr.write usage 2017-06-20 16:36:40 +02:00
Pavol Rusnak 564e6590c2
use FirmwareErase.length field 2017-06-20 16:32:54 +02:00
Pavol Rusnak e7a56899c6
more python3 compatibility 2017-06-19 00:00:26 +02:00
Pavol Rusnak de2f9e7c14
protob: regenerate, fix using old failure codes 2017-06-18 23:18:23 +02:00
Roman Zeyde a2db5a57f2 Fix client.py and protobuf_json.py for Python 3 support 2017-06-13 15:16:12 +02:00
Pavol Rusnak e39021d7fd
add wire_tiny, wire_bootloader options 2017-05-29 14:07:48 +02:00
Pavol Rusnak 318355a896
update protobuf 2017-05-12 22:47:46 +02:00
Pavol Rusnak 2363db721a
fix stderr.write to use bytes 2017-05-03 17:50:37 +02:00
Peter Banik a99e29a05f
Added coin_name argument to get_public_node and trezorctl (#108) 2017-04-21 19:23:59 +02:00
Peter Banik ca1d3e5f39 Added Decred to coin list (#109) 2017-04-21 19:14:04 +02:00
Tomas Rojas 637d45b196 Configure Bridge only once per process (#107)
This saves a lot of time on requests retrieving config_signed.bin and
reconfiguring the bridge for every device enumeration or transport
instantiation.
2017-04-20 13:16:15 +02:00
Pavol Rusnak 504db8283b
add version and lock_time attributes to sign_tx function 2017-04-19 14:19:26 +02:00
Pavol Rusnak bee9af1f90
use v1 transport for T2 bootloader (for now) 2017-04-12 17:54:34 +02:00
Pavol Rusnak 29348f4098
add new firmware update method, update protobuf 2017-04-12 14:11:42 +02:00
Pavol Rusnak 4758eb7b07
add more coins to coin expansion 2017-03-04 16:20:38 +01:00
mruddy 72ab93bd87 add a tx signing tool that handles bitcoin, testnet, and litecoin 2017-02-26 16:44:49 +01:00
mruddy b29331ca40
fix UnboundLocalError cache_file referenced before assignment (#102) 2017-02-26 16:38:56 +01:00
mruddy a2792cda19 load_device_by_mnemonic and recovery_device: expand unique mnemonic word prefix matches (#96) 2017-02-11 20:15:09 +01:00
mruddy de94bf2247 load_device_by_mnemonic: normalize mnemonic before validation (#95) 2017-02-09 14:25:32 +01:00
Jochen Hoenicke 1dc3152c11 Make ScrambledWords default recovery method (#93)
For backwards compatibility, existing code should use the old recovery
method unless it explicitly states that it is compatible to the new
one.
2017-01-26 13:58:33 +01:00
Jochen Hoenicke 607893f9ac Ethereum: EIP-155 replay protection
Added chain_id parameter to sign tx (and updated protobuf).
Added a unit test with chain_id for Ropsten testnet.
trezorctl:
 - Fixed compatibility with new ethjsonrpc
 - added chain_id parameter
2017-01-22 19:13:21 +01:00
Jochen Hoenicke 4b98513ff7 Updated protobuf
Ethereum: sign_tx eip-155 change
2017-01-22 19:13:21 +01:00
Pavol Rusnak 795427588a
add trezor.io to supported vendors 2017-01-17 14:13:02 +01:00
Jochen Hoenicke 3e2cccf225 SegWit: Display address on Trezor 2017-01-02 21:43:49 +01:00
Pavol Rusnak c86201dc5b
add Qt5 support for PinMatrixWidget 2016-11-28 18:03:52 +01:00
Pavol Rusnak 06cedd2150
move device (=TREZOR) tests to tests/device_tests, create tests/unit_tests for unit tests 2016-11-28 16:04:55 +01:00
Pavol Rusnak ec966a0111
rename txcache files to json 2016-11-28 14:33:24 +01:00
Pavol Rusnak 725b64bede
update protobuf_json.py to be as close as possible to upstream
https://github.com/dpp-name/protobuf-json/blob/master/protobuf_json.py
2016-11-26 00:15:36 +01:00
Pavol Rusnak 0bba092741
add LGPLv3 headers to sources files 2016-11-25 22:53:55 +01:00
Pavol Rusnak a6c489ab4b
update protobuf 2016-11-23 13:27:21 +01:00
Jochen Hoenicke c935b51849
Support for matrix recovery
See issue trezor/trezor-mcu#96
2016-11-23 11:42:20 +01:00
Jan Pochyla 737200c7ef debuglink: fix debuglink for V2 2016-11-15 13:46:00 +01:00
Pavol Rusnak 046ced3f81
rework txapi class to use local cache, add txcache fixtures 2016-11-08 15:07:58 +01:00
Pavol Rusnak 2257117278
update protobuf 2016-11-05 21:58:32 +01:00
Pavol Rusnak 02c319f850
trezorctl: accept also cointype/a/b/c as get_address path 2016-10-29 15:11:56 +02:00
Pavol Rusnak 68d490917f
trezorctl: accept also m/a/b/c as get_address path 2016-10-29 14:59:57 +02:00
Pavol Rusnak 22faa4cafa
add msg_signtx_zcash unittest 2016-10-21 15:25:24 +02:00
Roman Zeyde d1397c779c transport_hid: return sorted list of devices (#77)
This should be deterministic, since dict.values() order is unpredictable.
2016-10-14 19:55:06 +02:00
Pavol Rusnak c6094dc9ad
verify_message now requires coin_name 2016-10-10 11:02:04 +02:00
Pavol Rusnak bac91afca7
use usage_page to detect interfaces 2016-10-03 10:39:58 +02:00
Dominik Kozaczko 933bc12985 fix imports (#72) 2016-09-27 22:49:51 +02:00
Pavol Rusnak 25672288cf
use hid_version=2 for HidTransportV2 2016-09-26 20:52:33 +02:00
Pavol Rusnak ec4e85b008
fix v2 protocol 2016-09-26 17:32:54 +02:00
Pavol Rusnak ed9f7d838f
update protobuf 2016-09-26 12:46:38 +02:00
Jan Pochyla 80ffa27052 enable crc32, update protocol, add session closing 2016-09-21 16:51:29 +02:00
Jan Pochyla 4d3e4574ef add session request to TransportV2, add @session helper 2016-09-13 12:25:06 +02:00
Jochen Hoenicke d9df63ad89 Allow leading 0x in data. Handle new contracts.
Specify 0x or "" as destination to create a new contract.
Leading 0x in data is just ignored (data must always be given in hex).
2016-08-23 01:19:22 +02:00
Jochen Hoenicke c85600b9bd
Fix ethereum_sign_tx
- Workaround bug in rlp.utils.int_to_big_endian
- Command line tool now expects data to be a hexlified string
2016-08-19 23:15:38 +02:00
Pavol Rusnak 78c6328b36
fix ethereum_sign_tx 2016-08-10 18:30:04 +02:00
Jan Pochyla e9427b04f3 fixes for latest V2 format, add checksum 2016-08-05 13:14:30 +02:00
Jochen Hoenicke 90122cf29a Fix for older python version 2016-07-19 21:37:54 +02:00