Jan Pochyla
059315feb4
apps.common: add protect_by_passphrase
2017-01-24 14:14:03 +01:00
Jan Pochyla
d13006ebbe
apps.homescreen: brighten the display after swipe
2017-01-20 16:07:33 +01:00
Jan Pochyla
bd514c4732
apps.homescreen: optimize logo display
2017-01-20 15:51:06 +01:00
Jan Pochyla
fed8838545
trezor.ui.confirm: fix HoldToConfirmDialog
2017-01-20 15:51:06 +01:00
Jan Pochyla
ec49c2d97a
trezor.wire: unexpected message should interrupt workflow silently
2017-01-18 18:00:38 +01:00
Jan Pochyla
4ab469d02d
apps.wallet: add qr code to get_address
...
TODO: the widget system clearly needs some work
2017-01-18 17:59:11 +01:00
Jan Pochyla
9914b0db2b
main: temporary hack, keep apps.common.storage loaded
2017-01-17 17:43:50 +01:00
Jan Pochyla
984f088519
apps.common: fix request_pin
2017-01-17 17:43:08 +01:00
Pavol Rusnak
6eaea34c8c
-> trezor.io
2017-01-10 16:31:30 +01:00
Jan Pochyla
8bdd59642f
trezor.wire: print session ID as hex
2017-01-06 14:07:18 +01:00
Jan Pochyla
d30e565cb3
trezor.main: fix for new loop
2017-01-06 14:06:03 +01:00
Jan Pochyla
5173a87f3e
trezor.loop: rewrite for utimeq, document
...
- faster, consumes less memory
- untangle loop and ui.refresh
TODO: msg.select could fill a pre-allocated list/bytearray just like utimeq.pop does
TOOD: we could move to a readyness-based async model and let the consumers readinto() the messages right into the target buffers, to avoid allocating tuples inside msg.select()
2017-01-02 15:45:56 +01:00
Jan Pochyla
666018ec57
apps.management.change_pin: ask event if unlocked
2016-12-19 11:32:39 +01:00
Jan Pochyla
59feeed3cb
apps.common.request_pin: add at_least_once
2016-12-19 11:32:08 +01:00
Jan Pochyla
96ead03e03
apps: fix for change_pin and debug
2016-12-17 13:20:57 +01:00
Jan Pochyla
e73ff1f3c2
apps: improve language getters/setters
2016-12-15 12:48:33 +01:00
Jan Pochyla
3f657775e9
main: boot debug app earlier
2016-12-15 12:36:55 +01:00
Jan Pochyla
8811814867
apps.management: add change_pin workflow
2016-12-15 12:36:07 +01:00
Jan Pochyla
64dad27abe
apps.homescreen: handle Ping.pin_protection
2016-12-15 12:35:18 +01:00
Jan Pochyla
b45fd349f5
apps.management: protect by pin earlier
2016-12-15 12:34:46 +01:00
Jan Pochyla
c03924c05f
apps.common.request_pin: fix client cancel
2016-12-15 12:34:18 +01:00
Jan Pochyla
2a58ca986f
apps.common.storage: fix device_id init
2016-12-15 12:33:39 +01:00
Jan Pochyla
e111f6338c
apps.homescreen: display device label
2016-12-14 11:10:01 +01:00
Jan Pochyla
2cff58f4f0
boot: comment out, usb init will be in C for now
2016-12-13 16:03:57 +01:00
Jan Pochyla
58612f14d2
trezor.config: fix for stmhal
2016-12-13 16:03:00 +01:00
Jan Pochyla
b8968e7387
minor perf changes
2016-12-12 15:26:49 +01:00
Jan Pochyla
53c73b3b5c
apps: accomodate latest seed changes
2016-12-12 15:26:49 +01:00
Jan Pochyla
d2e31e24ee
apps.common.seed: simplify, remove root caching
2016-12-12 15:26:49 +01:00
Jan Pochyla
146410856d
apps.wallet: move sign_tx workflow to __init__
2016-12-08 18:51:39 +01:00
Jan Pochyla
3e1b821b3c
minor fixes
2016-12-08 16:31:10 +01:00
Jan Pochyla
a4f103755b
minor api changes
2016-12-08 16:19:09 +01:00
Jan Pochyla
e0dfc2ef03
apps: reflect the wire api changes
2016-12-08 16:19:09 +01:00
Jan Pochyla
d56dc88861
wire: refactoring
...
- prefer importing modules instead of module members
- session_id is always first argument
- prefer much shorter names, don't expect users to import module members
- shuffle around session-specific code
- reduce allocations
2016-12-08 16:19:09 +01:00
Jan Pochyla
0b7874ad43
loop: rename Future to Signal
...
Future semantics were changed to allow multiple deliveries to avoid allocating more future objects than neccessary, and Signal describes this behaviour more accurately.
2016-12-08 16:19:09 +01:00
Jan Pochyla
1b27bb480d
trezor.wire: rename modules
2016-12-08 16:19:09 +01:00
Jan Pochyla
b145f8f309
apps.common.signtx: add example sanitization
2016-12-08 16:19:09 +01:00
Pavol Rusnak
918150a3f1
tests: make testpy tries running selected tests from python-trezor
...
apps.ethereum: fix get address call
2016-11-24 17:16:40 +01:00
Jan Pochyla
6edaa68ab3
apps.common: remove sign.pseudo
2016-11-23 15:06:39 +01:00
Jan Pochyla
2e34fc05a6
apps.management: handle ApplySettings
2016-11-23 15:06:39 +01:00
Jan Pochyla
e8da59ced0
apps.common: add protect_with_pin, adjust seed.py
2016-11-23 15:06:39 +01:00
Jan Pochyla
b400448b97
apps: adjust to last commit
2016-11-23 15:06:39 +01:00
Jan Pochyla
065cbdbc3b
protobuf: set missing fields to None
2016-11-23 15:06:39 +01:00
Jan Pochyla
a8b519d127
signtx: prealloc the bytearrays
2016-11-23 15:06:39 +01:00
Jan Pochyla
05f832cae7
storage: remove pbuf, add pin lock
2016-11-23 15:06:39 +01:00
Jan Pochyla
be7ee61ddd
config: always use bytes() for default value
2016-11-23 15:06:39 +01:00
Pavol Rusnak
a66d0b2e40
trezor.config: fix config_mock syntax
2016-11-21 20:57:16 +01:00
Pavol Rusnak
6575b8059e
trezor.config: use mock implementation on stmhal again
2016-11-21 20:50:41 +01:00
Pavol Rusnak
c6ea71901d
trezor.config: use norcow
2016-11-21 19:56:23 +01:00
Pavol Rusnak
533aebdf6d
trezor.utils: add halt function
2016-11-19 15:23:58 +01:00
Pavol Rusnak
f615e5f97f
trezor.crypto: more type annotations
2016-11-19 15:00:18 +01:00
Pavol Rusnak
88e46ca66f
trezor.crypto.rlp: add type annotations
2016-11-18 19:05:40 +01:00
Pavol Rusnak
ddd46f6f53
trezor.crypto: add RLP
2016-11-18 18:13:24 +01:00
Pavol Rusnak
e120faa227
apps.ethereum: implement EthereumGetAddress
2016-11-18 15:23:56 +01:00
Pavol Rusnak
6e79da8df1
apps.wallet: add CipherKeyValue
2016-11-18 14:59:36 +01:00
Pavol Rusnak
8618248504
apps.wallet: add partial support for SignIdentity (secp256k1 curve only)
2016-11-18 14:19:03 +01:00
Pavol Rusnak
084f1205f1
apps.wallet: cleanup sign/verify message
2016-11-17 13:40:05 +01:00
Pavol Rusnak
ecac1d79f2
apps.wallet: refactor message digest method into shared module
...
naming would need some further thoughts, though
2016-11-16 23:13:04 +01:00
Pavol Rusnak
620ed74aa7
apps.wallet: implement VerifyMessage
2016-11-16 22:55:11 +01:00
Pavol Rusnak
388e2dc305
apps.wallet: implement SignMessage
2016-11-16 21:28:27 +01:00
Jan Pochyla
87dbf8442e
apps.management: explain LoadDevice.node
2016-11-16 14:28:56 +01:00
Jan Pochyla
7378d763f0
apps.debug: support DebugLinkState.matrix
2016-11-16 14:28:56 +01:00
Jan Pochyla
722cc2d63b
apps.common: add client-side pin input method
2016-11-16 14:28:56 +01:00
Jan Pochyla
d00a6723c0
apps.common.signtx: code style
2016-11-16 14:28:56 +01:00
Jan Pochyla
c1aa7010ed
apps.wallet: fix GetPublicKey.address_n
2016-11-16 14:24:08 +01:00
Jan Pochyla
384bde3efc
apps.wallet: support GetAddress.coin_name
2016-11-16 14:24:08 +01:00
Pavol Rusnak
315440fc18
apps.common: refactor address_type functions
2016-11-16 12:42:11 +01:00
Pavol Rusnak
cfdd517bf4
apps.common.signtx: fix outputs for multibyte address prefixes
2016-11-16 01:45:18 +01:00
Pavol Rusnak
ea12087de7
apps.common: add op_return to signtx
2016-11-16 01:39:31 +01:00
Pavol Rusnak
357a081b53
apps.wallet: add FeeOverThreshold handling
2016-11-16 01:21:25 +01:00
Jan Pochyla
02d615ff06
wire: convert to bytearray every time
2016-11-15 18:55:38 +01:00
Pavol Rusnak
90c4480bf6
apps.fido_u2f: add yubico u2f demo to known apps
2016-11-15 18:40:19 +01:00
Pavol Rusnak
e6d38b8b71
apps.wallet: handle EstimateTxSize message
2016-11-15 18:29:46 +01:00
Pavol Rusnak
e10e20d550
apps.common.signtx: fix p2sh output
2016-11-15 18:19:32 +01:00
Pavol Rusnak
ceb4ed8c59
apps.common.signtx: rework check_address_type function
2016-11-15 18:12:10 +01:00
Jan Pochyla
e556aea42b
wire: fix when the footer is too short
2016-11-15 18:09:45 +01:00
Jan Pochyla
ecd8bd3b2a
wallet: remove unimport for now
...
Importing a module again causes new classes to get created and breaks references between an object and its class.
TODO: revise how imports/unimports are used in signing
2016-11-15 18:09:25 +01:00
Jan Pochyla
72be5cf2f2
signtx: fix typo
2016-11-15 18:07:49 +01:00
Pavol Rusnak
8d496d456b
apps.common.signtx: add paytoscripthash support, fix multibyte
2016-11-15 18:02:05 +01:00
Jan Pochyla
3373ecf128
apps.debug: implement DebugLinkDecision
2016-11-15 13:48:52 +01:00
Jan Pochyla
39b3ecb224
confirm: allow to resolve the dialogs from outside
2016-11-15 13:48:31 +01:00
Jan Pochyla
5d7c2ac4e2
loop: make it possible to re-use Future instances
2016-11-15 13:47:36 +01:00
Jan Pochyla
abb6f284ca
wallet: use hold to confirm the tx summary
2016-11-15 11:59:27 +01:00
Jan Pochyla
a798a07220
signtx: confirm output before hashing
2016-11-15 11:59:27 +01:00
Jan Pochyla
90d9687678
apps.homescreen: cleanup
2016-11-15 11:59:27 +01:00
Jan Pochyla
b89666fb87
apps.debug: cleanup
2016-11-15 11:59:27 +01:00
Jan Pochyla
ed8973e86d
signtx: unify input script derivation
2016-11-15 11:59:27 +01:00
Jan Pochyla
5889d0c932
loop: use ticks_add, ticks_diff
2016-11-15 11:59:27 +01:00
Jan Pochyla
f2a0132502
management: fix layout_load_device
2016-11-15 11:59:27 +01:00
Pavol Rusnak
b09f0eaf4e
tests: add test for apps.common.coins
2016-11-15 11:57:18 +01:00
Pavol Rusnak
09c6309ebf
apps.debug: add debug app (that consumes debuglink messages)
2016-11-14 22:13:32 +01:00
Pavol Rusnak
4d167f4961
apps.homescreen: handle Ping message
2016-11-12 15:14:04 +01:00
Pavol Rusnak
72a41182c2
apps.common.storage: fix device_id generator
2016-11-12 15:03:45 +01:00
Jan Pochyla
8754d74620
signtx: do not include change in total
2016-11-11 15:54:38 +01:00
Jan Pochyla
44f6f21186
signtx: add UI similar to trezor1
2016-11-11 14:13:04 +01:00
Jan Pochyla
710cb09663
wallet: add layout_sign_tx
...
It's now possible to sign transactions through myTREZOR.
2016-11-11 11:27:10 +01:00
Jan Pochyla
2e4c63f836
homescreen: return correct coins in Features
2016-11-11 11:26:38 +01:00
Jan Pochyla
4c056d8aaa
wallet: fix layout_get_public_key
2016-11-11 11:22:17 +01:00
Jan Pochyla
90b2f3a3e0
seed: clone node before deriving
2016-11-11 11:21:47 +01:00
Jan Pochyla
b9cec468b7
streams: fix set_limit
2016-11-11 11:21:31 +01:00
Jan Pochyla
cf2bc1a28e
protobuf: fix loading embedded messages
2016-11-11 11:21:18 +01:00
Jan Pochyla
4f8e01c5df
signtx: fix address derivation
2016-11-11 11:20:26 +01:00
Jan Pochyla
24d8a04131
signtx: minor refactoring
2016-11-11 11:19:47 +01:00
Jan Pochyla
31e3aaa23b
signtx: add UI instructions, SigningError type
2016-11-10 15:37:55 +01:00
Jan Pochyla
8109d8363c
signtx: remove BufferWriter
2016-11-10 15:37:55 +01:00
Pavol Rusnak
05e035d56a
apps.fido_u2f: add fastmail to known providers
2016-11-10 13:49:10 +01:00
Pavol Rusnak
3015045df6
apps.common.coins: update to return CoinType, not dict (also modify generator)
2016-11-09 14:46:59 +01:00
Jan Pochyla
d7bc138262
signtx: remove forgotten import
2016-11-09 12:36:44 +01:00
Pavol Rusnak
c8eb2bf17b
trezor.crypto: prepend recid to ecdsa signatures
2016-11-08 23:10:31 +01:00
Pavol Rusnak
2dc9d6ac4e
sign: inline write_tx_header, write_tx_middle and write_tx_footer functions
...
they are semantically incorrect and obfuscating what's really being done
2016-11-08 21:06:21 +01:00
Pavol Rusnak
32e699efdb
trezor.crypto.der: convert -> encode
...
small cleanup to new unit test
2016-11-08 20:25:55 +01:00
Jan Pochyla
d2c71b3a58
signtx: add first test, make it all work
2016-11-08 18:50:13 +01:00
Pavol Rusnak
9fb6e328a0
trezor.crypto: add der module
2016-11-08 16:59:08 +01:00
Jan Pochyla
1bb20c2521
signtx: serialize tx meta
2016-11-07 17:00:11 +01:00
Pavol Rusnak
33b5436dcc
tests: move to /tests to avoid freezing
2016-11-06 17:04:25 +01:00
Pavol Rusnak
c95ed063db
trezor.crypto.hashlib: remove HashIO (lives as HashWriter somewhere else)
2016-11-06 16:19:25 +01:00
Pavol Rusnak
8092be211c
trezor.messages: regenerate messages
2016-11-06 15:51:52 +01:00
Pavol Rusnak
c49c4ea29e
apps.common.coins: make coins definitions more readable + adapt generator
2016-11-06 15:50:39 +01:00
Jan Pochyla
44a3b7f9f1
signtx: fixes, refactoring
2016-11-06 14:23:40 +01:00
Pavol Rusnak
6891c3c463
trezor.config: add wipe method
...
tests: add tests for config, debug, utils
2016-11-06 12:39:04 +01:00
Pavol Rusnak
998fb9fce6
tests: added check_coverage script
...
trezor.crypto: update docu
2016-11-06 11:53:22 +01:00
Pavol Rusnak
955bd44684
rename unit tests to match module names
2016-11-06 10:53:28 +01:00
Pavol Rusnak
8b0d7be52a
trezor.crypto: add keccak option to Sha3_*.digest()
2016-11-06 01:49:55 +01:00
Pavol Rusnak
192fc5f1ef
trezor.crypto: add sha1, regenerate mocks
2016-11-05 15:26:28 +01:00
Jan Pochyla
3b742aa5dc
signtx: WIP
2016-11-03 18:56:21 +01:00
Jan Pochyla
6a98aff8bb
WIP: signing pseudocode
2016-11-02 01:03:16 +01:00
Jan Pochyla
783fddf749
messages: do not use const()
2016-11-02 01:03:16 +01:00
Pavol Rusnak
34ba0ccd72
trezor.crypto: add key option for blake2s, add unit tests for blake2s
2016-11-01 18:22:29 +01:00
Pavol Rusnak
56eb351816
trezor.crypto: add hashlib.HashIO
2016-11-01 15:23:37 +01:00
Pavol Rusnak
54a045e9de
apps.common: add pseudocode for signing
2016-10-31 15:04:13 +01:00
Jan Pochyla
b3c03496e4
streams: minor API change
...
with_limit suggests that the method returns a new StreamReader, instead of mutating self.
2016-10-26 17:36:11 +02:00
Jan Pochyla
83043f7aef
wire: update to latest changes in protobuf
2016-10-26 17:36:11 +02:00
Jan Pochyla
a16e02a3d8
messages: regenerate
2016-10-26 17:36:11 +02:00
Jan Pochyla
36784bf0f5
protobuf: refactoring, remove default values and required fields
...
Logic of default values and required fields is better handled on the
application layer, not in the protobuf codec. Also, protobuf v3
removed support for both.
Since now, messages are defined by subclassing protobuf.MessageType:
class Example(protobuf.MessageType):
FIELDS = {
1: ('field', protobuf.UVarintType, protobuf.FLAG_REPEATED),
}
2016-10-26 17:34:07 +02:00
Pavol Rusnak
df5e770dec
trezor.crypto: refactor base58; allow custom digest function
2016-10-25 14:22:35 +02:00
Pavol Rusnak
965a6e653a
apps.common.coins: throw exceptions when coin is not found instead of returning None
2016-10-24 18:27:03 +02:00
Pavol Rusnak
6e658ff2f1
trezor.messages: regenerate classes
2016-10-24 15:45:05 +02:00
Jan Pochyla
507d9bdf68
wire: add tests for v1 codec
2016-10-24 15:40:34 +02:00
Pavol Rusnak
7404a76aeb
modtrezorcrypto: add test_sign_verify_random to curve unit tests
2016-10-24 13:46:59 +02:00
Pavol Rusnak
9c921c073f
modtrezorcrypto: add generate_secret methods to curves
2016-10-24 13:23:10 +02:00
Pavol Rusnak
3c5c685b8c
add curve25519.publickey and unittest for randomized multiply
2016-10-23 22:39:11 +02:00
Pavol Rusnak
7f5fa78f35
modtrezorcrypto: add ECDH for nist256p1, secp256k1, curve25519 (multiply method)
2016-10-22 00:51:52 +02:00
Jan Pochyla
4216e6f544
tests: remove old wire_codec test example
2016-10-21 15:07:31 +02:00
Jan Pochyla
d0b29d4caa
wire: add tests, fix missing 0-padding
2016-10-21 15:02:20 +02:00
Pavol Rusnak
e62e8dbe6f
tools: move coins-gen tool to /tools
2016-10-20 17:07:56 +02:00
Pavol Rusnak
1420ad591b
apps: add apps.common.coins (+generator)
2016-10-20 16:40:57 +02:00
Jan Pochyla
688d293b01
wire: use memoryview() asap in the parsing process
2016-10-20 15:14:40 +02:00
Jan Pochyla
67ac47f087
apps.homescreen: respond with ~correct data, handle GetFeatures
2016-10-20 15:14:40 +02:00
Jan Pochyla
ad2955aaab
ui: code style, make header icon optional
2016-10-20 15:14:40 +02:00
Jan Pochyla
b60206d588
app.management: fix missing icon
2016-10-20 15:14:40 +02:00
Jan Pochyla
74b2170e3f
ui.swipe: make constants private
...
Private const() can be inlined properly.
2016-10-20 15:14:40 +02:00