Commit Graph

575 Commits

Author SHA1 Message Date
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