1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-26 08:08:51 +00:00
Commit Graph

683 Commits

Author SHA1 Message Date
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
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
e0dfc2ef03 apps: reflect the wire api changes 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
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
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
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
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
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
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
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
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
Jan Pochyla
1bb20c2521 signtx: serialize tx meta 2016-11-07 17:00:11 +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
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
Pavol Rusnak
54a045e9de
apps.common: add pseudocode for signing 2016-10-31 15:04:13 +01: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
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
67ac47f087 apps.homescreen: respond with ~correct data, handle GetFeatures 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
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
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
slush0
cf38b58a73 Reworked homescreen (no blinking, only diming)
Added ui.alert()
2016-10-08 11:47:28 +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
cc22d59eca ui: clear the screen before common layouts 2016-10-06 15:05:14 +02:00
Pavol Rusnak
2e39c86b42
cleanup 2016-10-05 19:48:08 +02:00
slush0
1840e331bb Moved unused images out of resources 2016-09-29 15:58:21 +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
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
35d53ad7fc
simplify the Text interface 2016-09-27 17:26:18 +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
chren
dbfb06d30e
experimenting with ui in reset_device 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
e9c7a67c73
make imports more local, remove trezor.workflows, minor tweaks 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
6991286f8b
use __iter__ instead of wait 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
312859ba71
add experimental animation with async for 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
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
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
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
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
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
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
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
4852609efb
added clear display to pin dialog 2016-09-27 17:25:52 +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
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
Jan Pochyla
9232c77529
PinDialog -> PinMatrix, shuffle digits 2016-09-27 17:25:48 +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
7195e1d12f
dispatch on wire_type instead of message_type 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
3677b8142b
add touch event rotation, msg dispatcher, wallet app 2016-09-27 17:25:44 +02:00
Pavol Rusnak
0b54ae9124
introduce trezor.res module 2016-09-27 17:24:24 +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
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
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
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
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
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
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
d612037eda
proof of concept for waiting for events 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
slush0
06515321cf
Reworked wait into class 2016-09-27 17:24:06 +02:00
Jan Pochyla
c97db79d14
WIP wait fix 2016-09-27 17:24:05 +02:00
slush0
b0d9a4b884
Implemented basic loop.wait() 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
slush0
fa52ecfb79
WIP 2016-09-27 17:24:00 +02:00
slush0
5cf292e41a
Fixed animate_pulse api 2016-09-27 17:24:00 +02:00
slush0
338be18601
Updated to animate_pulse API 2016-09-27 17:23:59 +02:00
slush0
f22511f036
First apps - homepage, playground 2016-09-27 17:23:58 +02:00