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
Jan Pochyla
4e290cc6df
ui.loader: add is_active method
2016-10-20 15:14:39 +02:00
Jan Pochyla
d94dd32816
ui.text: code style, add color support
2016-10-20 15:13:47 +02:00
Jan Pochyla
7a518e9fa4
seed: add passphrase UI
2016-10-20 15:13:47 +02:00
Jan Pochyla
c5dfcb53d1
apps.wallet: add GetAddress
2016-10-20 15:13:47 +02:00
Pavol Rusnak
3067bfa003
modtrezorui: add yoffset parameter to display.loader
2016-10-18 16:27:13 +02:00
Jan Pochyla
a44e16a9ca
rework high-level storage
...
We don't use Storage protobuf message anymore, and instead all keys are as granular as possible.
trezor.storage provides high-level function interface.
2016-10-14 15:35:44 +02:00
Jan Pochyla
53f6347838
protobuf: optimize memory, minor api changes
...
In StreamReader, avoid buffering reallocs by copying right into caller-supplied buffer.
Add loads() and dumps() to all scalar types through ScalarType superclass.
TODO: The API is steall really ugly, especially the stuff about targets/sources and load() function signatures.
2016-10-14 15:29:14 +02:00
Jan Pochyla
385eab91f1
modtrezorcrypto: add bip32 tests
2016-10-14 15:12:17 +02:00
Jan Pochyla
0a5e43723f
utils: export TrezorUtils.memcpy
2016-10-11 17:18:31 +02:00
Pavol Rusnak
a9131f26e7
debug: fix variable name
2016-10-11 14:01:32 +02:00
Pavol Rusnak
882efbf21b
modtrezormsg: use interfaces index internally, usage_page externally
2016-10-11 13:15:13 +02:00
Pavol Rusnak
a423d4602f
modtrezormsg: store assigned used pages internally, add get_interfaces method
2016-10-11 12:33:02 +02:00
Pavol Rusnak
3f44dfedb5
modtrezormsg: use usage_page to identify interfaces
2016-10-11 12:14:17 +02:00
Pavol Rusnak
d9546d45b9
ui: proper size for loader
2016-10-11 11:29:31 +02:00
Pavol Rusnak
ad6c274e07
modtrezorui: loader icon is now 64x64; reorganize icons
2016-10-10 14:51:52 +02:00
slush0
51de3a3d9c
Setting initial brightness to ui.BACKLIGHT_NORMAL
2016-10-08 13:02:02 +02:00
slush0
ac726746b9
Changed dimming constants (tested on hw)
2016-10-08 12:06:56 +02:00
slush0
cf38b58a73
Reworked homescreen (no blinking, only diming)
...
Added ui.alert()
2016-10-08 11:47:28 +02:00
Pavol Rusnak
3e8b025cbd
use mp_obj_new_str_of_type where it makes sense instead of mp_obj_new_str_from_vstr
2016-10-07 13:57:21 +02:00
chren
78efd4f2e0
minor color changes in pin dialog
2016-10-06 17:59:46 +02:00
chren
cb2399197f
fixed wipe device header
2016-10-06 16:35:36 +02:00
chren
5a20a48745
added ui header and icons
2016-10-06 16:17:11 +02:00
Jan Pochyla
abd20741f6
add seed module, GetPublicKey now works
2016-10-06 15:05:14 +02:00
Jan Pochyla
d0bb7edbfa
storage: change api to protobuf
2016-10-06 15:05:14 +02:00
Jan Pochyla
6b94511472
LoadDevice: validate mnemonic, import xprv
2016-10-06 15:05:14 +02:00
Jan Pochyla
492e71f147
workflow: less verbose naming
2016-10-06 15:05:14 +02:00
Jan Pochyla
6d5514ac4a
make logging less verbose
2016-10-06 15:05:14 +02:00
Jan Pochyla
c019741c33
wire: fix write_message, pbuf dumps is sync now
2016-10-06 15:05:14 +02:00
Jan Pochyla
4b0da8677a
wire: fix read_message for v1 protocol
2016-10-06 15:05:14 +02:00
Jan Pochyla
c3ee7dd709
loop: refresh display after every step
2016-10-06 15:05:14 +02:00
Jan Pochyla
cc22d59eca
ui: clear the screen before common layouts
2016-10-06 15:05:14 +02:00
Jan Pochyla
b2299c118a
protobuf: fix repeated fields
2016-10-06 15:05:14 +02:00
Jan Pochyla
be069a771b
protobuf: use async/await, make loads/dumps sync
2016-10-06 15:05:14 +02:00
Jan Pochyla
ec412c6da3
protobuf: fix uvarint dumping
...
In python3, chr() is not a proper way to pack an int to bytes.
2016-10-06 15:05:14 +02:00
Pavol Rusnak
7dc53219d2
extract common bootloader stuff into bl_common.py
2016-10-05 21:09:45 +02:00
Pavol Rusnak
e405a6305d
use bar_radius where needed
2016-10-05 20:36:28 +02:00
Pavol Rusnak
036a4ead33
remove playground from main.py
2016-10-05 20:16:48 +02:00
Pavol Rusnak
2e39c86b42
cleanup
2016-10-05 19:48:08 +02:00
Pavol Rusnak
a536e2d6a5
loader is now smaller
2016-10-05 15:15:21 +02:00
Pavol Rusnak
27fb301b22
validate mp_buffer_info_t usage for cases where len==0
2016-10-04 19:22:48 +02:00
Pavol Rusnak
2e2534585b
call ui.display.refresh in loop.py
2016-10-04 16:33:38 +02:00
Pavol Rusnak
b7f378376b
disable obsolete test_wire.py for now
2016-10-03 20:07:14 +02:00
Pavol Rusnak
d995e53d28
add travis tests
2016-10-03 16:32:58 +02:00
slush0
97522be434
Added new messages
2016-10-03 15:41:38 +02:00
slush0
1840e331bb
Moved unused images out of resources
2016-09-29 15:58:21 +02:00
Jan Pochyla
f2b509b591
use micropython.const() in trezor.messages
2016-09-29 12:37:40 +02:00
Jan Pochyla
407169af01
import qualified const()
2016-09-29 12:29:43 +02:00
Jan Pochyla
c9fbac7a0b
LoadDevice now works
2016-09-28 23:30:33 +02:00
Jan Pochyla
0e799d62af
move sub-workflows do apps/common
2016-09-28 23:30:10 +02:00
Jan Pochyla
c93133026e
autopep8 and minor cosmetics
2016-09-28 23:28:53 +02:00
Jan Pochyla
976b14a5b8
protobuf: skip None values while dumping
2016-09-28 23:17:11 +02:00
Jan Pochyla
fb7b85e479
move protobuf to a single module
2016-09-28 23:17:11 +02:00
slush0
cb1dcc965d
TREZOR v1 protocol codec
2016-09-28 22:59:30 +02:00
slush0
e8850e4aa5
Fixing generator startup in read_message.
2016-09-28 22:57:45 +02:00
slush0
8a160becb9
Added support for TREZOR v1 protocol (acts as session 0 internally).
2016-09-28 22:34:12 +02:00
Pavol Rusnak
281070492d
fix bootloader, extract FONT_* constants
2016-09-28 18:21:29 +02:00
Pavol Rusnak
ed975398d9
move ui.clear into ui.display.clear
2016-09-28 17:00:27 +02:00
Jan Pochyla
e67037bc4d
fix homescreen rotation, revert the logo
2016-09-27 17:41:20 +02:00
Jan Pochyla
c952500552
fix ui.rotate_coords, remove pulse_animation
2016-09-27 17:26:18 +02:00
Jan Pochyla
35d53ad7fc
simplify the Text interface
2016-09-27 17:26:18 +02:00
chren
69fa5acf8b
limit pin length
2016-09-27 17:26:17 +02:00
chren
fe4e024088
changed homescreen bg
2016-09-27 17:26:17 +02:00
Jan Pochyla
3f4365eda6
add Text, move Loader to ui.loader
2016-09-27 17:26:16 +02:00
Jan Pochyla
0637987c09
change wipe_device to use long-press confirm
2016-09-27 17:26:16 +02:00
chren
4d672fee28
added some backgrounds and change color vars
2016-09-27 17:26:15 +02:00
Pavol Rusnak
a3ec1c082a
add log to wire.io
2016-09-27 17:26:14 +02:00
chren
dbfb06d30e
experimenting with ui in reset_device
2016-09-27 17:26:14 +02:00
Pavol Rusnak
299c616d1b
fix __import__ call
2016-09-27 17:26:14 +02:00
chren
cc35a00639
removed old playground and some color changes
2016-09-27 17:26:14 +02:00
Jan Pochyla
096bfbaf2a
fix Swipe on stmhal
2016-09-27 17:26:13 +02:00
Jan Pochyla
883b392fdb
adopt wire dispatching, log removed modules
2016-09-27 17:26:13 +02:00
Jan Pochyla
e9c7a67c73
make imports more local, remove trezor.workflows, minor tweaks
2016-09-27 17:26:13 +02:00
Pavol Rusnak
db6673b50e
move initialization of I2C1 to msg_init()
2016-09-27 17:26:13 +02:00
Jan Pochyla
07dd27c567
get rid of layout stubs
2016-09-27 17:26:12 +02:00
Jan Pochyla
01ac17440d
wipe_device workflow, pin API work
2016-09-27 17:26:12 +02:00
Jan Pochyla
dd713fe6e2
add Storage to reset_device, stub session support in config
2016-09-27 17:26:12 +02:00
Jan Pochyla
34ed2fb86a
workflow monitor, reset_device layout work
...
- request/response manner of usual protobuf workflows is enforced, workflows are expected to either return a valid protobuf response, or raise an exception
- added wire.FailureError exception that allows workflow to provide Failure code & message
- pin workflows simplified
TODO: all this workflow work does not really belong in trezor.wire
2016-09-27 17:26:11 +02:00
Jan Pochyla
70110187cc
overload __iter__ in loop.Wait
...
This will automatically exit child tasks in case of close() or throw() on the waiting task, but only if run through `await` or `yield from`
2016-09-27 17:26:11 +02:00
Jan Pochyla
02b13af526
fix session id range
2016-09-27 17:26:11 +02:00
Jan Pochyla
64746d01b4
use memoryviews in wire_codec
2016-09-27 17:26:11 +02:00
Jan Pochyla
7570977cc4
little perf tweaks in protobuf
2016-09-27 17:26:10 +02:00
Pavol Rusnak
e480871db3
generate proper events from touchscreen
2016-09-27 17:26:10 +02:00
Pavol Rusnak
f727cab942
rework aes module, add summary to test script
2016-09-27 17:26:09 +02:00
Pavol Rusnak
dd78f83576
update docu strings in aes
2016-09-27 17:26:09 +02:00
Pavol Rusnak
a15730087c
VCP is the new CDC
2016-09-27 17:26:08 +02:00
Pavol Rusnak
d9495b12ac
trezor.crypto.aes finished (including unit tests)
2016-09-27 17:26:07 +02:00
Pavol Rusnak
fc05f25255
trezor.crypto.aes work in progres
2016-09-27 17:26:07 +02:00
Jan Pochyla
d5942d664c
add the generated wire type index
2016-09-27 17:26:07 +02:00
Jan Pochyla
6991286f8b
use __iter__ instead of wait
2016-09-27 17:26:06 +02:00
Jan Pochyla
b8dd8ed90c
wire fixes
2016-09-27 17:26:06 +02:00
Jan Pochyla
97d402eba8
unify unimport_func and unimport_gen, asyncify
2016-09-27 17:26:06 +02:00
Jan Pochyla
099767d592
session/workflow overhaul
...
- lazy loading and importing of protobuf messages
- workflow dispatching through codec pipeline on the first message report
HACK: workflow killing
TODO: cap on concurrent sessions
TODO: ui locking/queuing
TODO: session storage
TODO: tests
2016-09-27 17:26:06 +02:00
Jan Pochyla
99485b3385
finalize the streaming pbuf codec
2016-09-27 17:26:05 +02:00
Pavol Rusnak
f42b62fa40
use mock config for stmhal, setup hid in boot
2016-09-27 17:26:05 +02:00
Pavol Rusnak
7aa8593941
store config in /var/tmp
2016-09-27 17:26:05 +02:00
Pavol Rusnak
7d4fbd07ea
fix typing.NewType
2016-09-27 17:26:04 +02:00
Pavol Rusnak
bfa034f2d9
add typing module
...
(just stubs, but should implement most of the stuff from PEP 484
and https://docs.python.org/3/library/typing.html )
2016-09-27 17:26:04 +02:00
Jan Pochyla
312859ba71
add experimental animation with async for
2016-09-27 17:26:03 +02:00
Jan Pochyla
3eaf001eef
add a broken PoC of wire/protobuf stream reading
2016-09-27 17:26:03 +02:00
Jan Pochyla
d6592a48e6
fixes for v2 wire
2016-09-27 17:26:03 +02:00
Jan Pochyla
096f3f898f
move pagination primitives to trezor.ui.scroll
2016-09-27 17:26:03 +02:00
Jan Pochyla
455a436123
autopep8
2016-09-27 17:26:02 +02:00
Jan Pochyla
a4d1b27541
test async/await support in homescreen layout
2016-09-27 17:26:02 +02:00
Jan Pochyla
c8c34c875b
simplify loop.py, add loop.Future, supoort await
2016-09-27 17:26:02 +02:00
Jan Pochyla
3a69524c52
simplify read_wire_msg a bit
2016-09-27 17:26:02 +02:00
Jan Pochyla
cb0f5e2595
switch to v2 wire protocol
...
- sessions
- crc32 checksum
TODO: tests
TODO: python-trezor implementation
TODO: dispatching
2016-09-27 17:26:01 +02:00
Pavol Rusnak
545e93d1b4
add layout to u2f app
2016-09-27 17:26:01 +02:00
Pavol Rusnak
cd28103b75
add bitbucket/gitlab to known u2f apps
2016-09-27 17:26:01 +02:00
Pavol Rusnak
d4d8729568
add mem constants to debug module
2016-09-27 17:26:01 +02:00
Pavol Rusnak
fbfd9d4b61
split debug (=dangerous) things from trezor.utils to trezor.debug
2016-09-27 17:26:01 +02:00
Pavol Rusnak
6402b3d232
update slush pool logo
2016-09-27 17:26:00 +02:00
Pavol Rusnak
ce734df1b0
add u2f icons, remove toig/toif from assets
2016-09-27 17:26:00 +02:00
Jan Pochyla
ae4540c59b
introduce generic swipe container to reset_device
...
Now its possible to block multiple generators on one interface.
2016-09-27 17:26:00 +02:00
slush0
7aaba5c6ce
Added u2f hash for Slush Pool
2016-09-27 17:26:00 +02:00
chren
53a6132ed8
tests with UI and minor changes in scroll component
2016-09-27 17:25:59 +02:00
chren
be01cee8d3
added loading layout playground
2016-09-27 17:25:59 +02:00
chren
16f81c3264
added dummy scroll down icon with animation
2016-09-27 17:25:59 +02:00
chren
fed9309ffa
added playground of scrollicon
2016-09-27 17:25:59 +02:00
Pavol Rusnak
e6b8dc3cc5
add perf option to emu.sh (-p)
2016-09-27 17:25:58 +02:00
Pavol Rusnak
d3d21bdbbd
remove main_stick and company
2016-09-27 17:25:58 +02:00
chren
771372adb2
replace scrolling to componenet, added mockup for recovery device layout
2016-09-27 17:25:58 +02:00
chren
887c877567
paging "scrollbar"
2016-09-27 17:25:58 +02:00
Jan Pochyla
4bf7535903
pass kwargs through to ConfirmDialog
2016-09-27 17:25:58 +02:00
chren
3746777628
fix micro bug for pin buttons
2016-09-27 17:25:57 +02:00
chren
cb2027ad86
added button to finish [tbd]
2016-09-27 17:25:57 +02:00
chren
7237321470
fix pagination of seed
2016-09-27 17:25:57 +02:00
chren
cd35a592a1
fix way of scrolling
2016-09-27 17:25:57 +02:00
chren
e8601232e8
fixed img url, added img to local res folder
2016-09-27 17:25:57 +02:00
chren
2482d3935d
sign message layout
2016-09-27 17:25:56 +02:00
Jan Pochyla
43e6bc2f11
raise on registering conflicting message handler
2016-09-27 17:25:56 +02:00
Jan Pochyla
788eb675a5
remove seed app initialization
2016-09-27 17:25:56 +02:00
Jan Pochyla
6553d315e6
move 'chunks' to trezor.utils
2016-09-27 17:25:56 +02:00
Jan Pochyla
6c0970df9e
remove apps/seed example
2016-09-27 17:25:55 +02:00
Jan Pochyla
9f0b27f597
add ResetDevice workflow
2016-09-27 17:25:55 +02:00
Jan Pochyla
961ae90dd2
regenerate messages with __repr__ support
2016-09-27 17:25:55 +02:00
Jan Pochyla
173c49bef8
add __repr__ to Message and MessageType
2016-09-27 17:25:55 +02:00
Jan Pochyla
1da27dd558
fix write of empty messages, add loging to wire
2016-09-27 17:25:55 +02:00
chren
398e46e9ff
signTx example layout
2016-09-27 17:25:54 +02:00
chren
cefccb91d8
wipe device screen layout
2016-09-27 17:25:54 +02:00
Jan Pochyla
cf77aeb029
add icon buttons, make PinMatrix nicer
2016-09-27 17:25:54 +02:00
chren
1e4556d736
added clear input pin button
2016-09-27 17:25:54 +02:00
chren
c6ed52a7c9
added remove input line
2016-09-27 17:25:54 +02:00
Jan Pochyla
c6c69ba8c8
fix ui in PinMatrix
2016-09-27 17:25:53 +02:00
chren
ebe9d69a70
fix - set homescreen as default layout
2016-09-27 17:25:53 +02:00
chren
cd80509f06
seed static mockup
2016-09-27 17:25:53 +02:00
chren
bed2d4d50e
change backlight to white and seed mockup
2016-09-27 17:25:53 +02:00
Pavol Rusnak
5b6ab9ca96
small fixes; res contains just toig/toif files (png are in /assets)
2016-09-27 17:25:53 +02:00
chren
0e8d7a5d6c
add static seed layout
2016-09-27 17:25:52 +02:00
chren
9ca6d61bcc
minor design changes in colors, pin and white border
2016-09-27 17:25:52 +02:00
chren
4852609efb
added clear display to pin dialog
2016-09-27 17:25:52 +02:00
chren
bbfd633f35
visual changes in pin matrix
2016-09-27 17:25:51 +02:00
Pavol Rusnak
8b27cc3b71
trezor.ui.display.backlight works now
2016-09-27 17:25:51 +02:00
Jan Pochyla
377fffa5a5
add wipe, wire.write is a generator, add trezor/workflows
2016-09-27 17:25:50 +02:00
Pavol Rusnak
9f40362482
remove homebrew docu generator, use docstring syntax
2016-09-27 17:25:50 +02:00
Pavol Rusnak
0f24eb2e0e
use python implementation for backlight (for now)
2016-09-27 17:25:50 +02:00
Pavol Rusnak
c08c4cd386
fix trezor.res
2016-09-27 17:25:49 +02:00
Pavol Rusnak
7e8e0e3439
add fido_u2f app skeleton
2016-09-27 17:25:49 +02:00
Pavol Rusnak
93f4a97470
fix trezor.crypto.random test
2016-09-27 17:25:48 +02:00
Jan Pochyla
9a30a13aff
fix test_msg, rename to test_wire
2016-09-27 17:25:48 +02:00
Pavol Rusnak
154184e4e2
add unit tests for trezor.crypto.random
2016-09-27 17:25:48 +02:00
Jan Pochyla
9232c77529
PinDialog -> PinMatrix, shuffle digits
2016-09-27 17:25:48 +02:00
Pavol Rusnak
35b26651ba
add trezor.crypto.random
2016-09-27 17:25:47 +02:00
Jan Pochyla
6a647b124d
add management app skeleton and ConfirmDialog
...
We might rewrite PinDialog as a content for ConfirmDialog in the
future. Also, I'm beginning to hit memory issues on a 64-bit system.
2016-09-27 17:25:47 +02:00
Jan Pochyla
9c34491e20
self.__dict__ does not work properly in uP, workaround
2016-09-27 17:25:47 +02:00
Jan Pochyla
2880be1db6
use == instead of 'is' for scalars, cleanup PinDialog
2016-09-27 17:25:47 +02:00
Jan Pochyla
46f96ddb81
Message can be initialized with kwargs
2016-09-27 17:25:47 +02:00
Pavol Rusnak
67ea7dbd15
add persistance to trezor.config mock
2016-09-27 17:25:46 +02:00
Jan Pochyla
7195e1d12f
dispatch on wire_type instead of message_type
2016-09-27 17:25:45 +02:00
Pavol Rusnak
9dc4813ec7
add trezor.crypto.ssss skeleton
2016-09-27 17:25:45 +02:00
Jan Pochyla
71b89c748a
adapt rest of code to touch changes, example works
2016-09-27 17:25:45 +02:00
Jan Pochyla
421f17bfee
rework events around interfaces, split msg.py to wire.py
...
Touch events are sent on special interface now.
2016-09-27 17:25:44 +02:00
Jan Pochyla
3677b8142b
add touch event rotation, msg dispatcher, wallet app
2016-09-27 17:25:44 +02:00
Pavol Rusnak
b0a5297aed
fix gitignore filename
2016-09-27 17:24:24 +02:00
Pavol Rusnak
fc528f5733
add collect_res script, load frrom resources.py if provided
2016-09-27 17:24:24 +02:00
Pavol Rusnak
509962abc6
move trezor.gettext.gettext to trezor.res.gettext
2016-09-27 17:24:24 +02:00
Pavol Rusnak
0b54ae9124
introduce trezor.res module
2016-09-27 17:24:24 +02:00
Pavol Rusnak
bf4d1bdea3
add trezor.gettext
2016-09-27 17:24:24 +02:00
Pavol Rusnak
38b66cb6d8
introduce msg.setup proof-of-concept
2016-09-27 17:24:23 +02:00
Pavol Rusnak
bf02fe0ddf
trezor.msg is now iface aware
2016-09-27 17:24:23 +02:00
Pavol Rusnak
c56719ea8c
regenerated messages
2016-09-27 17:24:23 +02:00
Pavol Rusnak
af9d2cf21f
add mock for trezor.config
2016-09-27 17:24:23 +02:00
Pavol Rusnak
2576d9c3a4
trezor.storage -> trezor.config
2016-09-27 17:24:23 +02:00
Pavol Rusnak
0fb6fc05a5
further changes to trezor.storage
2016-09-27 17:24:22 +02:00
Pavol Rusnak
9ed3b24edf
add default value to trezor.storage.get
2016-09-27 17:24:22 +02:00
Pavol Rusnak
ddf6771981
add trezor.storage
2016-09-27 17:24:22 +02:00
Jan Pochyla
53ab1b8a7d
add protobuf example to playground
...
Use with python-trezor:
./cmdtr.py -t udp get_public_node -n 0
2016-09-27 17:24:22 +02:00
Jan Pochyla
b41c94dee4
update msg tests
2016-09-27 17:24:22 +02:00
Jan Pochyla
8f49a104bf
make msg functions more readable, add pbuf wrappers
2016-09-27 17:24:21 +02:00
Jan Pochyla
f5b802d421
add loads, dumps to MessageType and Message
2016-09-27 17:24:21 +02:00
Jan Pochyla
87145c2b5f
make the var names in msg.py a bit less similar
2016-09-27 17:24:20 +02:00
Jan Pochyla
4a255e8b77
add write_message
2016-09-27 17:24:20 +02:00
Jan Pochyla
f98fc4c0c8
add reading of logical messages from HID
2016-09-27 17:24:20 +02:00
Pavol Rusnak
627f547fcb
update docu
2016-09-27 17:24:20 +02:00
Jan Pochyla
c0313cc868
put ui.utils back in ui/__init__.py
2016-09-27 17:24:19 +02:00
Jan Pochyla
f3c9715ff3
split ui code in modules
2016-09-27 17:24:19 +02:00
Jan Pochyla
3a5d29848b
Wait supports syscall instead of gens now
2016-09-27 17:24:18 +02:00
Jan Pochyla
4fb5dd0421
sleep -> Sleep
2016-09-27 17:24:18 +02:00
Jan Pochyla
9f84e52ea3
add example of swipe
...
TODO: simplify
TODO: fix bug with black color in oriented modes
2016-09-27 17:24:18 +02:00
Jan Pochyla
412ac2daa7
support multiple event handlers
2016-09-27 17:24:17 +02:00
Pavol Rusnak
8f7fc96301
add trezor.crypto.bip39.seed
2016-09-27 17:24:17 +02:00
Pavol Rusnak
910926e25c
add trezor.crypto.bip39
2016-09-27 17:24:17 +02:00
Jan Pochyla
32c7782d89
sleep -> Sleep
2016-09-27 17:24:17 +02:00
Jan Pochyla
97ac6c52f0
syscalls are objects now, make schedule public
2016-09-27 17:24:16 +02:00
Jan Pochyla
7bf92f118b
button border
2016-09-27 17:24:16 +02:00
Jan Pochyla
ef44e9ded8
add counter to time_queue, kill gens with close()
2016-09-27 17:24:16 +02:00
Jan Pochyla
0f74597215
pin dialog
2016-09-27 17:24:15 +02:00
Jan Pochyla
5bc5707077
WIP: pin dialog style
2016-09-27 17:24:15 +02:00
Jan Pochyla
15a03ce994
WIP: more UI experiments, now with 100% more OOP
2016-09-27 17:24:13 +02:00
Pavol Rusnak
347925169d
two more occurences
2016-09-27 17:24:12 +02:00
Pavol Rusnak
55a7bf92ce
fix import _io to uio
2016-09-27 17:24:12 +02:00
Jan Pochyla
ef22adb2b7
WIP: experiment with pin dialog
...
Mostly to try out current design of the event loop and the event
multiplexing. It works, but the pin_widget code is not really something
extra.
2016-09-27 17:24:12 +02:00
Pavol Rusnak
d268cf3b57
document python crypto apis
2016-09-27 17:24:11 +02:00
Pavol Rusnak
15254ffce5
regenerate messages
2016-09-27 17:24:10 +02:00
Pavol Rusnak
3d8f8a659a
rework documentation, proof of concept api docu generator
2016-09-27 17:24:10 +02:00
slush0
561b82a5be
Fixed API (wait() returns number, not Sleep object)
2016-09-27 17:24:09 +02:00
Jan Pochyla
e382737fda
use friendlier event enums
2016-09-27 17:24:09 +02:00
Jan Pochyla
af482d3da1
experiment with touch event multiplexing
...
Now we can have 2 buttons!
2016-09-27 17:24:09 +02:00
Jan Pochyla
e8122cc975
__call_at -> __schedule
2016-09-27 17:24:09 +02:00
Jan Pochyla
d612037eda
proof of concept for waiting for events
2016-09-27 17:24:08 +02:00
Pavol Rusnak
0ba9f6b6bb
add autogenerated messages
2016-09-27 17:24:08 +02:00
Pavol Rusnak
b0a6b3fe15
implement bar with rounder corners
2016-09-27 17:24:08 +02:00
Pavol Rusnak
588be646c0
move text_center, text_right methods into display class
2016-09-27 17:24:07 +02:00
Pavol Rusnak
6f9edb349c
add fingerprint layout
2016-09-27 17:24:07 +02:00
Pavol Rusnak
d746c79fb8
add display.text_width
2016-09-27 17:24:07 +02:00
slush0
4a918a4ba0
Stickuv playground
2016-09-27 17:24:06 +02:00
Jan Pochyla
20dad5a300
style, fix possible exception in run_forever
2016-09-27 17:24:06 +02:00
Jan Pochyla
36dad0137b
fix _Wait
2016-09-27 17:24:06 +02:00
slush0
06515321cf
Reworked wait into class
2016-09-27 17:24:06 +02:00
Pavol Rusnak
b7b57ae53e
new pbkdf2 api with update
2016-09-27 17:24:05 +02:00
Jan Pochyla
c97db79d14
WIP wait fix
2016-09-27 17:24:05 +02:00
slush0
2d75289bf3
__wait_for_event integrated into main loop
2016-09-27 17:24:04 +02:00
slush0
3a7e343a43
Implemented log.exception, improved logging
...
Removed unused code
2016-09-27 17:24:04 +02:00
slush0
b0d9a4b884
Implemented basic loop.wait()
2016-09-27 17:24:03 +02:00
Pavol Rusnak
6a5f16207c
move log to trezor
2016-09-27 17:24:03 +02:00
Jan Pochyla
29e20e302a
fix log
2016-09-27 17:24:03 +02:00
Jan Pochyla
ac28a41d96
hide loop.call_at, use yield or run_forever
2016-09-27 17:24:03 +02:00
Pavol Rusnak
4eb87b2fd8
first parameter of log methods is now name
2016-09-27 17:24:03 +02:00
Jan Pochyla
e7bfb64502
rework the event loop
2016-09-27 17:24:02 +02:00
Pavol Rusnak
71496913ba
rework logging
2016-09-27 17:24:02 +02:00
slush0
e13d4ac581
Print mouse move to display
2016-09-27 17:24:02 +02:00
slush0
c66dfee6b9
last_sleep info replaced by ring buffer and delay_avg
2016-09-27 17:24:01 +02:00
Pavol Rusnak
9856f96cf7
add hw button to msg.select, build 32-bit unix port by default
2016-09-27 17:24:01 +02:00
Pavol Rusnak
1664a4fc29
replace wait with msg.select
2016-09-27 17:24:00 +02:00
slush0
fa52ecfb79
WIP
2016-09-27 17:24:00 +02:00
slush0
f9fa429f84
Use constants
2016-09-27 17:24:00 +02:00
slush0
5cf292e41a
Fixed animate_pulse api
2016-09-27 17:24:00 +02:00
Pavol Rusnak
7559207a62
new message handling using msg.select
2016-09-27 17:23:59 +02:00
slush0
338be18601
Updated to animate_pulse API
2016-09-27 17:23:59 +02:00
slush0
ca991fdde6
Main Trezor even loops starts here
2016-09-27 17:23:59 +02:00
slush0
92eeac3612
Handle exceptions in better way, enable to return to main screen many times.
2016-09-27 17:23:59 +02:00
slush0
ab9141dd95
Configuration & boot of apps
2016-09-27 17:23:59 +02:00
slush0
53ce44111e
Playground moved as an app
2016-09-27 17:23:58 +02:00
slush0
b6cdaac364
Removed lib_linux (all platform-dependent handling is done by C modules).
2016-09-27 17:23:58 +02:00
slush0
f22511f036
First apps - homepage, playground
2016-09-27 17:23:58 +02:00
Jan Pochyla
de83114dc7
add ui.blend
2016-09-27 17:23:58 +02:00
Pavol Rusnak
904127f263
remove ui.touch, add utils.select
2016-09-27 17:23:57 +02:00
slush0
767a41cffd
WIP
2016-09-27 17:23:57 +02:00
slush0
07abef7ff4
Added animate_pulse
2016-09-27 17:23:57 +02:00
Pavol Rusnak
4f90848c0a
remove native moduleprotobuf
2016-09-27 17:23:57 +02:00
slush0
0e21c18c2a
WIP
2016-09-27 17:23:56 +02:00
slush0
cb52fdedc3
New decorators unimport_func, unimport_dec
2016-09-27 17:23:56 +02:00
slush0
66d10668ac
Former uasyncio, now heavily modified for trezor purposes.
2016-09-27 17:23:56 +02:00
slush0
369cc485d4
uasyncio renamed as trezor.loop
2016-09-27 17:23:56 +02:00
slush0
a102888233
Event loop moved to loop.py
...
Removed unused layout demo
2016-09-27 17:23:56 +02:00
slush0
afb4bb7d76
WIP
2016-09-27 17:23:54 +02:00
slush0
c0487f1d6b
Adapt to new event loop interface
2016-09-27 17:23:24 +02:00
slush0
f2703f1af2
Allow parameters to layout functions
2016-09-27 17:23:24 +02:00
slush0
46353ed2e1
Removed EventLoop class, even loop is a module. Saves ~30kB RAM.
2016-09-27 17:23:24 +02:00
slush0
078365f5d9
Updated playground
2016-09-27 17:23:24 +02:00
slush0
cc71fb0a02
Convert delays from float to int (ticks_us)
2016-09-27 17:23:23 +02:00
slush0
f27d5ad725
Remove unused code
2016-09-27 17:23:23 +02:00
Pavol Rusnak
ee3614ae6a
cleanup pb2py, add debug to emu.sh
2016-09-27 17:23:23 +02:00
Pavol Rusnak
0a8870f110
add modtrezorutils
2016-09-27 17:23:23 +02:00
Pavol Rusnak
bc7cb88cdf
use little endian for toif, fix random
2016-09-27 17:23:22 +02:00
Pavol Rusnak
b7013437ee
add nist256p1 and secp256k1 to trezor.crypto.curve
2016-09-27 17:23:22 +02:00
Pavol Rusnak
f3f44b408d
add trezor.crypto.ed25519
2016-09-27 17:23:22 +02:00
slush0
e6df94cbd5
pb2py generator, build_pb2.sh
2016-09-27 17:23:22 +02:00
Pavol Rusnak
32403b618e
use ubinascii for unhexlify in unit tests
2016-09-27 17:23:21 +02:00
Pavol Rusnak
b41c1c3e4d
add data size to toi format header
2016-09-27 17:23:18 +02:00
Pavol Rusnak
f8713bad4d
add sha3
2016-09-27 17:22:53 +02:00
Pavol Rusnak
3d3d8e89a5
don't use native base58
2016-09-27 17:22:53 +02:00
Pavol Rusnak
b29ece66ef
use pbkdf2_hmac from mbedtls
2016-09-27 17:22:53 +02:00
Pavol Rusnak
a230d9d294
hashes and pbkdf2 now have api of hashlib
2016-09-27 17:22:53 +02:00
Pavol Rusnak
afbd1b0f22
use api similar to hmac in pbkdf2 module
2016-09-27 17:22:52 +02:00
Pavol Rusnak
5d929fba0e
add trezor.crypto.pbkdf2
2016-09-27 17:22:52 +02:00
Pavol Rusnak
8b9f2a95b3
add trezor.crypto.hmac
2016-09-27 17:22:52 +02:00
Pavol Rusnak
4c3eb5f015
allow to call hash.digest() more than once
...
add block_size/digest_size fields to hash objects
2016-09-27 17:22:51 +02:00
Pavol Rusnak
21db5a6ff7
use streamed version of ripemd160
2016-09-27 17:22:51 +02:00
Pavol Rusnak
0ab2170cc6
add ripemd160
2016-09-27 17:22:51 +02:00
Pavol Rusnak
60d45a5d34
modify trezor.crypto.hash api to be similar to python api
2016-09-27 17:22:51 +02:00
Pavol Rusnak
7b702314a6
fix last commit
2016-09-27 17:22:51 +02:00
Pavol Rusnak
4eccc55c5c
add unit tests, add t.c.sha512
2016-09-27 17:22:50 +02:00
Pavol Rusnak
e88cd6f20d
add trezor.utils (pure python)
2016-09-27 17:22:50 +02:00
Pavol Rusnak
0d8112f6b4
split trezor.crypto into more modules
2016-09-27 17:22:50 +02:00
Pavol Rusnak
ed39c2001e
remove t.c.base58.*_check functions from module (this is app logic), add t.c.sha256 module
2016-09-27 17:22:49 +02:00
slush0
ddfde9a0ad
Initial version of protobuf library
2016-09-27 17:22:49 +02:00