Jochen Hoenicke
87f7054e46
Added callback for PIN timeout
...
When PIN is entered or changed and their were failed tries the function
waits for time (exponential slow down). For every second it waits, it
now calls back into python to give it the chance to show a message.
GUI still needs to be implemented
2017-12-14 17:19:51 +01:00
Pavol Rusnak
70ac202d7a
modtrezorcrypto: add trezor.crypto.hashlib.blake256
2017-12-13 20:47:12 +01:00
Pavol Rusnak
a56d322eca
storage: add homescreen
2017-12-13 02:41:59 +01:00
Pavol Rusnak
16bc1c6cb6
src: fix flake8 style
2017-12-09 18:38:36 +01:00
Jan Pochyla
757978e1c8
apps/management: fix change_pin
2017-12-08 17:26:51 +01:00
Jan Pochyla
58e4a5546f
wallet/signing: implement extra data hashing
...
TODO: zcash test
2017-12-08 17:25:28 +01:00
Pavol Rusnak
f88080b904
Merge branch 'pin_fails'
2017-12-07 15:29:47 +01:00
Pavol Rusnak
04d980f8f0
add Features.model field (set to "T")
2017-12-04 22:40:42 +01:00
Pavol Rusnak
18fcf826d6
ethereum: implement checksum in ethereum_get_address
2017-12-04 19:28:40 +01:00
Jan Pochyla
69d030a8fa
wallet/signing: restrict segwit change output
2017-11-29 13:14:32 +01:00
Pavol Rusnak
ac477b62f8
apps.homescreen: new default homescreen (using display.avatar)
2017-11-27 12:43:49 +02:00
Tomas Susanka
09f18bb444
wallet: tx weight calculator is used to determine fee
2017-11-24 15:02:37 +01:00
Tomas Susanka
272d64b9e8
wallet: tx weight exact calculator
2017-11-24 15:02:37 +01:00
Jan Pochyla
7a0bfd289b
wallet/get_address: support segwit
2017-11-23 17:35:31 +01:00
Jan Pochyla
7de6a082d3
wallet/signing: extract addresses.py
2017-11-23 17:30:43 +01:00
Tomas Susanka
65481308e6
wallet/signing: imports fix
2017-11-23 16:45:40 +01:00
Jan Pochyla
165faaeba4
wallet/signing: codestyle
2017-11-23 16:34:19 +01:00
Tomas Susanka
0e2bcd64e8
tests: o.address fix
2017-11-23 16:34:15 +01:00
Tomas Susanka
4fdc389a22
bip143: all inputs (not only segwit ones) are added to bip143
2017-11-23 16:30:11 +01:00
Jan Pochyla
b1164077e9
wallet/signing: add change output restrictions
2017-11-23 16:30:11 +01:00
Tomas Susanka
1d97077343
wallet/signing: typo - hex instead of magic number
2017-11-23 16:30:11 +01:00
Jan Pochyla
f56d39a447
wallet/signing: stream signatures for segwit inputs
2017-11-23 16:30:11 +01:00
Jan Pochyla
5a6b2a5a97
wallet/signing: move default input sequence to sanitizer
2017-11-23 16:30:11 +01:00
Tomas Susanka
aa29667059
common: coins updated
2017-11-23 16:30:11 +01:00
Tomas Susanka
2ebf1cd9f4
trezor/crypto: bech32
...
taken from https://github.com/sipa/bech32/tree/master/ref/python
2017-11-23 16:30:11 +01:00
Tomas Susanka
dc6701af90
wallet/signing: native P2WPKH, P2WPKH in P2SH, scripts
2017-11-23 16:30:11 +01:00
Tomas Susanka
b7b46b6980
wallet/signing: amount is checked during witness signature
...
with test
2017-11-23 16:30:11 +01:00
Tomas Susanka
da4bc2dc8b
wallet/signing: P2WPKH in P2SH address generation based on BIP-49, PAYTOP2SHWITNESS output type
2017-11-23 16:30:11 +01:00
Tomas Susanka
b7f01baf99
wallet/signing: refactoring
2017-11-23 16:30:11 +01:00
Tomas Susanka
e63d0adc23
wallet/signing: segwit first test passing
2017-11-23 16:30:11 +01:00
Tomas Susanka
bcef961059
wallet/signing: bip143 transactions hashing
2017-11-23 16:30:09 +01:00
Tomas Susanka
81ec2f3c65
wallet/signing: hash writers and serialization moved to seperate file
2017-11-23 16:18:54 +01:00
Tomas Susanka
039f6bad43
wallet/signing: fee checking seperated
2017-11-23 16:18:54 +01:00
Pavol Rusnak
ba44a21a40
apps/wallet: confirm OP_RETURN on display
2017-11-21 15:57:30 +01:00
Pavol Rusnak
4379f0d031
u2f: show generic icon if specific is not found
2017-11-14 14:28:44 +01:00
mcudev
e3a87b8ea4
firmware: get_entropy text wrapping
2017-11-06 18:03:01 +01:00
Jan Pochyla
a255938903
main: unlock storage after boot
2017-11-05 21:04:47 +01:00
Jan Pochyla
8288255048
storage: use new api, remove pin
2017-11-05 21:04:47 +01:00
Pavol Rusnak
af86f57da3
u2f: add bitfinex
2017-11-03 19:06:59 +01:00
Jan Pochyla
278610dce1
apps/homescreen: fix backlight
2017-11-03 11:49:41 +01:00
Jan Pochyla
0d17bc3f94
apps/management: fix reset_device, tune code style
2017-10-31 17:06:35 +01:00
Jan Pochyla
431a711060
usb: add trezor1-like debuglink
2017-10-30 17:34:21 +01:00
Pavol Rusnak
383b5d7c89
firmware: fix last commit
2017-10-25 20:04:19 +02:00
Pavol Rusnak
e4003700cd
bootloader, firmware: update visuals
2017-10-25 15:20:06 +02:00
Pavol Rusnak
7a4d9a28fd
apps: more u2f apps
2017-10-23 13:57:15 +02:00
Jan Pochyla
3ae6819725
apps/common: experiment with ui.layout
2017-10-10 15:35:01 +02:00
Jan Pochyla
3ea5b9c151
trezor/ui: close backlight slider properly
2017-10-10 15:35:01 +02:00
Jan Pochyla
04acab723a
trezor/loop: add loop.close()
2017-10-10 15:35:01 +02:00
Jan Pochyla
3483c149a5
loop: fix unschedule
2017-10-10 11:49:14 +02:00
Jan Pochyla
01ba81f041
apps/homescreen: wait longer
...
TODO: rework homescreen processes
2017-10-10 11:49:14 +02:00
Jan Pochyla
80a8757740
apps/common/request_pin: request pin on client
2017-10-10 11:49:14 +02:00
Jan Pochyla
fda9f584e8
trezor/ui/scroll: add Scrollbar widget
2017-10-09 15:34:55 +02:00
Jan Pochyla
72591e053a
trezor/ui: style changes
2017-10-09 15:34:55 +02:00
Jan Pochyla
4fa5e36053
apps/common/request_pin: test ui.layout
2017-10-09 15:34:55 +02:00
Jan Pochyla
23fecb0ce4
trezor/ui/loader: fix icon
2017-10-09 15:34:55 +02:00
Jan Pochyla
8ec8615e89
trezor/ui: make layout crossfade faster
2017-10-09 15:34:55 +02:00
Jan Pochyla
a09e64090c
trezor/ui/swipe: rework thresholds
2017-10-09 15:34:55 +02:00
Jan Pochyla
e923b885af
fix style
2017-10-03 12:29:46 +02:00
Jan Pochyla
c254758c83
Revert "trezor/loop: optimization"
...
This reverts commit cfa1705a88
.
In MicroPython, list.clear() does not memset the backing buffer, preventing the
paused tasks from being garbage collected.
2017-10-02 16:18:27 +02:00
Jan Pochyla
cfa1705a88
trezor/loop: optimization
...
Re-cycle queue of paused tasks by clear()ing it rather than pop()ing it out of the dict.
2017-10-02 11:59:30 +02:00
Jan Pochyla
f22edd7609
trezor/ui/confirm: in HoldToConfirm, stop when button is not active
2017-10-02 11:59:30 +02:00
Pavol Rusnak
08bca26841
apps/u2f: add icon for gandi
2017-09-29 18:14:05 +02:00
Arthur Gautier
2b5bfb1990
u2f: Adds Gandi.net as verified app
2017-09-29 18:13:30 +02:00
Peter Jensen
027cc49f47
added icons to buttons
2017-09-26 17:05:53 +02:00
Jan Pochyla
808317424d
use trezor.ui.{BG,FG}
2017-09-26 12:05:26 +02:00
Jan Pochyla
2c73a3f0a8
trezor/ui/style: add BG/FG styles
2017-09-26 12:05:26 +02:00
Jan Pochyla
df995eae49
trezor/ui: add experimental layout decorator
2017-09-26 12:05:26 +02:00
Jan Pochyla
305d4d9cc5
trezor/ui/swipe: improve dimming
2017-09-26 12:05:26 +02:00
Jan Pochyla
f2e53ab2eb
trezor/ui: extract styles
2017-09-26 12:05:26 +02:00
Pavol Rusnak
ef5f1326dc
build: use python3 everywhere
2017-09-25 16:18:31 +02:00
Jan Pochyla
3379c94598
apps/common/request_pin: add support for 0
2017-09-21 15:57:08 +02:00
Jan Pochyla
f8d961f839
apps/common/request_pin: fix request_pin_on_display
2017-09-21 15:22:50 +02:00
Jan Pochyla
e3a6ef185b
apps/debug: add memory_stats
2017-09-21 14:22:06 +02:00
Jan Pochyla
49cc4651c2
bunch of api cleanups
2017-09-19 23:47:35 +02:00
Jan Pochyla
2303acb7a9
apps/homescreen: implement PIng.button_protection
2017-09-06 22:53:48 +02:00
Jan Pochyla
a8e51ceda3
loop: whitespace
2017-09-06 15:43:57 +02:00
Jan Pochyla
26b5baf657
apps/fido_u2f: fix worfklow api, optimize
2017-09-06 15:43:57 +02:00
Pavol Rusnak
ae17af2313
Revert "usb: disable HS mode & U2F iface for now"
...
This reverts commit b61676cf89
.
2017-09-04 14:22:37 +02:00
Pavol Rusnak
82ae061922
style: add newline to file
2017-09-02 23:10:54 +02:00
Jan Pochyla
b61676cf89
usb: disable HS mode & U2F iface for now
2017-08-22 14:12:15 +02:00
Jan Pochyla
112893c46f
log: less colors
2017-08-21 13:31:45 +02:00
Jan Pochyla
2e1a249845
main: delay usb start
2017-08-21 13:22:44 +02:00
Jan Pochyla
a235a6b38b
all: docs, logging
2017-08-21 13:22:35 +02:00
Jan Pochyla
3db1bf89fa
remove trezor.main, simplify trezor.workflow
2017-08-16 15:02:03 +02:00
Jan Pochyla
b83d2d1166
apps.common.coins: regenerate
2017-08-15 18:14:14 +02:00
Jan Pochyla
1cdfac000a
apps.wallet: fix sign_identity
2017-08-15 18:14:14 +02:00
Jan Pochyla
bc9beaf5d8
wire: fix Context.call
2017-08-15 18:14:14 +02:00
Jan Pochyla
3562ffdc54
wire: pass Context to apps
2017-08-15 18:14:14 +02:00
Jan Pochyla
552444c856
remove src/lib
2017-08-15 18:14:14 +02:00
Jan Pochyla
d2781d030d
msg: rename to io
2017-08-15 18:14:14 +02:00
Jan Pochyla
1f90e781d5
wire: simplify, use async codecs
2017-08-15 18:14:14 +02:00
Pavol Rusnak
fe5b5c1940
tests: update to pytest, regenerate protobuf
2017-07-28 18:58:31 +02:00
Jan Pochyla
880faa10b0
usb: use HS_IN_FS
...
TODO: with more interfaces, static usb state is getting bigger, maybe we should move it to dynamic memory. at the very least, concepts of physical and logical interfaces should be separate
2017-07-12 16:04:03 +02:00
Jan Pochyla
915cf849e9
trezor.msg: remove select, add poll
...
TODO: decide if we want to continue polling on interface numbers, or rather on usb/touch file objects
2017-06-26 16:03:20 +02:00
Pavol Rusnak
886c3a0a11
modtrezorcrypto: use lowercase QSTRs so we don't have to 'import as'
2017-06-23 17:50:45 +02:00
Jan Pochyla
afd65833cb
trezor.crypto: rework for new structure
2017-06-20 17:45:34 +02:00
Jan Pochyla
4127655584
trezor.ui.loader: make target parametric
2017-06-20 17:45:34 +02:00
Pavol Rusnak
ce6dca8ed5
trezor.io: rework for new structure
2017-06-20 14:14:47 +02:00
Pavol Rusnak
acb68dc429
trezor.config: rework for new structure
2017-06-20 13:30:02 +02:00
Jan Pochyla
3318ed22f5
trezor.ui.confirm: content is required
2017-06-20 12:03:36 +02:00
Jan Pochyla
bcd94ecbc1
trezor.ui: rework HoldToConfirmDialog
...
Fixes flickering while idle.
2017-06-20 12:03:36 +02:00
Jan Pochyla
c94e02b0eb
apps.fido_u2f: more type annotations
2017-06-20 12:03:36 +02:00
Pavol Rusnak
365fd404b1
src: fix style
2017-06-18 23:32:47 +02:00
Jan Pochyla
5b9ef8813a
trezor.utils: fix for mypy, remove genfunc
2017-06-14 19:34:23 +02:00
Jan Pochyla
803c47dca8
extmod: use lowercase names
2017-06-14 18:51:55 +02:00
Pavol Rusnak
73b2ea6c85
travis: add make style (using flake8)
2017-06-13 19:35:34 +02:00
Jan Pochyla
98e82e3cd5
code style
2017-06-12 18:16:06 +02:00
Jan Pochyla
6e15b37205
trezor.wire: less logs
2017-06-12 18:05:06 +02:00
Jan Pochyla
e94d8cc277
trezor.ui.keyboard: complete suggestion on click
2017-06-12 18:04:11 +02:00
Jan Pochyla
b15d60383e
main: disable u2f, enable wire
2017-06-12 18:03:03 +02:00
Jan Pochyla
c422453e82
const_delay: remove
2017-06-12 18:02:42 +02:00
Pavol Rusnak
845a3a7e0d
tests: add partial pylint support
2017-06-07 19:06:26 +02:00
Jan Pochyla
a18b883249
apps.fido_u2f: remember user confirmation only for 10 secs
2017-06-07 13:55:40 +02:00
Jan Pochyla
a56877bef3
apps.fido_u2f: remove needless async/await
2017-06-07 13:55:40 +02:00
Jan Pochyla
e7ea22839d
apps.fido_u2f: recognize bogus app_id
2017-06-06 13:29:26 +02:00
Jan Pochyla
ed8cfe0399
apps.fido_u2f: unify reg/auth state
2017-06-06 13:14:58 +02:00
Jan Pochyla
c4c27de0d5
apps.fido_u2f: remove legacy layout
2017-06-06 13:09:52 +02:00
Jan Pochyla
2bb872ae19
apps.fido_u2f: code style
2017-06-01 12:02:08 +02:00
Jan Pochyla
c6545b9b6d
trezor: code style
2017-05-31 19:32:40 +02:00
Jan Pochyla
3cb89f3ae7
trezor.ui: send -> touch
2017-05-31 19:30:06 +02:00
Jan Pochyla
dc87e14334
trezor.workflow: reset backlight when starting workflow
2017-05-31 19:29:04 +02:00
Jan Pochyla
7783763e92
apps.fido_u2f: workaround for sync send problems
2017-05-31 19:27:47 +02:00
Jan Pochyla
a865c94339
apps.fido_u2f: add WIP ui/button support
2017-05-31 19:16:22 +02:00
Jan Pochyla
d8bb5acb19
apps.fido_u2f: mute verbose logging
2017-05-31 18:40:32 +02:00
Jan Pochyla
7a5377e385
apps.fido_u2f: fix authenticate
2017-05-31 13:15:50 +02:00
Jan Pochyla
36fc87bd46
apps.fido_u2f: first impl of msg_authenticate
2017-05-30 19:08:29 +02:00
Jan Pochyla
479ff127fc
apps.fido_u2f: small changes in msg_register
2017-05-30 19:08:29 +02:00
Jan Pochyla
5a41b4497b
apps.fido_u2f: fix docs
2017-05-29 17:56:15 +02:00
Jan Pochyla
136514da5c
apps.fido_u2f: make register sign with correct privkey
2017-05-29 17:50:36 +02:00
Jan Pochyla
ce915749de
apps.fido_u2f: use exact sizes in response descriptor
2017-05-29 17:50:13 +02:00
Jan Pochyla
89e18c4d52
apps.fido_u2f: simulate button press after 2 secs
2017-05-29 17:49:11 +02:00
Jan Pochyla
1a98400ff8
apps.fido_u2f: check apdu length
2017-05-29 17:47:50 +02:00
Jan Pochyla
a1d3eda2ca
apps.fido_u2f: return correct cid on chan cancellation
2017-05-29 17:45:15 +02:00
Jan Pochyla
2f40fa5363
apps.fido_u2f: handle init cont frame
2017-05-29 17:43:38 +02:00
Jan Pochyla
9f352959ee
apps.fido_u2f: fix data length, handle channel reset
2017-05-23 20:23:44 +02:00
Jan Pochyla
fab5b9a98c
apps.fido_u2f: remove exception classes
2017-05-23 15:30:29 +02:00
Jan Pochyla
4a6dcfe9c1
main: disable wire, enable u2f
2017-05-23 12:45:17 +02:00
Jan Pochyla
a015853f85
apps.fido_u2f: add basic handling of REGISTER msg
2017-05-23 12:45:06 +02:00
Jan Pochyla
cb9a856484
apps.common.seed: add get_root_without_passphrase
...
TODO: decomplect storage/seed/workflows after introducing storage classes (session/request/persistent)
2017-05-23 12:44:36 +02:00
Jan Pochyla
e0fc5fb5a5
trezor.main: disable periodic mem stats
2017-05-23 12:42:44 +02:00
Jan Pochyla
d9170740a5
trezor.loop: export syscalls also in lowercase
...
TODO: use only lowercase
2017-05-23 12:42:22 +02:00
Pavol Rusnak
ae0c5b3cbc
apps.debug implement DebugLinkMemoryRead/Write
2017-05-15 23:10:03 +02:00
Pavol Rusnak
3fcbf7179b
remove trezor.debug usage
2017-05-15 19:12:12 +02:00
Pavol Rusnak
4d4364f0b5
TrezorUi -> TrezorUI
2017-05-15 18:12:05 +02:00
Pavol Rusnak
3765fb734b
remove trezor.debug module, add trezor.io module
2017-05-15 15:48:47 +02:00
Pavol Rusnak
b98c98e6e8
coins: bump bitcoin maxfee
2017-05-13 01:29:49 +02:00
Pavol Rusnak
e3b2001c89
rebuild coins
2017-05-12 22:55:47 +02:00
Jan Pochyla
4bb7ad1727
main: reorg usb init
2017-05-09 16:13:40 +02:00
Jan Pochyla
fb398d07cb
touch: change iface num to 255
2017-05-09 16:13:40 +02:00
Pavol Rusnak
16c7284e98
apps.common: introduce cache module instead of caching in global variables
2017-05-09 01:10:45 +02:00
Pavol Rusnak
5e410a3b59
apps.wallet: implement GetEntropy
2017-05-08 22:11:58 +02:00
Pavol Rusnak
e6d93c5933
wallet: fix GetPublicKey msg, regenerate protobuf
2017-05-08 18:04:05 +02:00
Pavol Rusnak
b7c043df66
apps.wallet: fix sign_identity for ed25519 curves
2017-05-03 17:36:27 +02:00
Pavol Rusnak
92b2deb932
coins: add cointype.segwit
2017-04-26 15:46:08 +02:00
Pavol Rusnak
9587563c77
apps.common: update coins
2017-04-25 15:51:59 +02:00
Pavol Rusnak
07693277a4
apps.common: update coins.py + its generator to add new fields
2017-04-24 15:59:30 +02:00
Jan Pochyla
8a67ad4672
main: reformat usb init
2017-04-21 16:25:00 +02:00
Jan Pochyla
403d5344e2
trezor.msg: support new modtrezormsg API
2017-04-21 16:25:00 +02:00
Jan Pochyla
46f748205d
modtrezormsg: WIP python USB API
2017-04-21 16:25:00 +02:00
Pavol Rusnak
a7e17f07ee
tests: finish sign_identity workflow, update run_tests_python_trezor.sh to reflect current state
2017-04-16 22:21:21 +02:00
Pavol Rusnak
e7bcaae3d4
src.apps.common: update coins.py
2017-04-12 14:48:51 +02:00
Pavol Rusnak
393ead9beb
src: remove boot.py
2017-04-08 18:11:10 +02:00
Peter Jensen
76705dde5b
trezor.ui: change failure pin msg
2017-04-06 14:16:48 +02:00
Pavol Rusnak
eef147d810
modtrezorcrypto: add crypto.rfc6979 class
2017-04-03 21:29:52 +02:00
Pavol Rusnak
9257d44b7a
firmware: homescreen shows trezor.io/start when storage not initialized
2017-04-01 23:33:28 +02:00
Pavol Rusnak
f13c122561
rebase micropython, min_time -> peektime
2017-03-31 11:30:31 +02:00
Pavol Rusnak
8a6b78187e
modtrezorconfig: don't use mock anymore
2017-03-30 20:57:46 +02:00
Peter Jensen
3daa18a5f1
trezor.ui: fading on swipe up
2017-03-30 17:35:26 +02:00
Peter Jensen
38c37da0c3
trezor.ui: reset device redesign
2017-03-29 14:46:47 +02:00
Peter Jensen
d47e9fb855
trezor.ui: prototype of seed setup
2017-03-28 19:08:59 +02:00
Peter Jensen
3e6631b5ef
trezor.ui: reposition QR to center
2017-03-28 15:12:15 +02:00
Peter Jensen
5cc87ecdce
trezor.ui: fix container
2017-03-28 13:18:39 +02:00
Peter Jensen
36637c23f6
trezor.ui: remove PM colors and other visuals changes
2017-03-27 21:36:17 +02:00
Peter Jensen
4c206be585
trezor.ui: fix of fix confirmation
2017-03-22 15:15:12 +01:00
Peter Jensen
0723f6c198
trezor.ui: fix confirm
2017-03-22 15:01:16 +01:00
Peter Jensen
80b83add73
trezor.ui: text as widget
2017-03-22 14:47:08 +01:00
Peter Jensen
96020a4953
micro fix
2017-03-21 13:15:15 +01:00
Peter Jensen
8d4cd85659
minor design changes
2017-03-20 21:41:06 +01:00
Jan Pochyla
78d82386d1
trezorhal: adjust to new structure
2017-03-06 17:33:48 +01:00
Pavol Rusnak
9c3c19959b
modtrezorcrypto: add Blake2b
2017-02-28 18:47:27 +01:00
Jan Pochyla
bf878ff15e
trezor.loop: support re-using Sleep and Wait objects
2017-02-20 11:36:28 +01:00
Jan Pochyla
a8f5738398
trezor.ui.keyboard: suggest more accurately
2017-02-09 13:03:10 +01:00
Jan Pochyla
4c8d3e4a35
trezor.ui.keyboard: add two keyboard prototypes
2017-02-08 16:21:32 +01:00
Jan Pochyla
d939cabcb5
trezor.ui.button: add disabled state
2017-02-08 16:21:32 +01:00
Jan Pochyla
e4af95e11b
trezor.ui.confirm: support Widget content
2017-02-08 16:21:32 +01:00
Jan Pochyla
910033d71c
trezor.ui: add Widget
2017-02-08 16:21:32 +01:00
Jan Pochyla
e86924d645
trezor.wire: fix unexpected message error
2017-01-24 14:14:03 +01:00
Jan Pochyla
943d77ba32
apps.debug: hack around PIN lock, add reset_device fields
2017-01-24 14:14:03 +01:00
Jan Pochyla
1ed4dfa516
apps.management: implement T1 reset device workflow
...
TODO: UI
2017-01-24 14:14:03 +01:00
Jan Pochyla
fd9361ce77
apps.common.storage: make config ids public
2017-01-24 14:14:03 +01:00
Jan Pochyla
5da3e67a0c
apps.homescreen: handle Ping.passphrase_protection
2017-01-24 14:14:03 +01:00
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
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