Commit Graph

889 Commits

Author SHA1 Message Date
Pavol Rusnak 502ecd7bcc
apps.common: implement finish device state handling 2018-02-24 18:58:35 +01:00
Pavol Rusnak 35e1135c95
embed/extmod/modtrezorutils: add symbol() func
to expose internal C symbols, usually defined as macros
2018-02-23 21:27:26 +01:00
Pavol Rusnak adaa53174b
src: drop to unprivileged mode in main.py 2018-02-23 20:35:05 +01:00
Pavol Rusnak 21bb815945
embed/trezorhal: move mpu to trezorhal - enable it in firmware 2018-02-23 19:08:34 +01:00
Pavol Rusnak 748a53a2c9
src/apps/homescreen: fix Features message 2018-02-23 14:53:39 +01:00
Pavol Rusnak d8ac07e455
src.apps.wallet: optimize QR code for segwit address
as they are case-insensitive and QR code has special mode
for uppercase letters
2018-02-22 17:04:20 +01:00
Pavol Rusnak d9324f3e57
src/trezor/ui: split ui.SCREEN into ui.WIDTH and ui.HEIGHT 2018-02-22 16:44:46 +01:00
Jan Pochyla b0aae19929 src/apps/wallet/get_address: remove useless Container 2018-02-22 15:21:25 +01:00
Jan Pochyla fcd712a0b0 src/apps/management/recovery_device: dry_run, pin confirm 2018-02-22 15:21:09 +01:00
Jan Pochyla 76590c44ad src/apps/common/request_pin: cancel is optional 2018-02-22 15:20:20 +01:00
Jan Pochyla 168cbabbf5 src/trezor/ui/word_select: remove 15-word variant 2018-02-22 15:19:31 +01:00
Jan Pochyla 213e1b32ec src/trezor/ui/keyboard: don't confirm empty words 2018-02-22 15:19:11 +01:00
Jan Pochyla b5e142307b src/apps/common: store debug signals in cache
Prevents unloading through unimport.
2018-02-21 15:04:49 +01:00
Jan Pochyla d49fa2fb9c src/apps/common/request_pin: fix flickering 2018-02-20 16:50:28 +01:00
Jan Pochyla 34f722f2df boot: add lockscreen 2018-02-19 20:36:26 +01:00
Pavol Rusnak badd0e5677
src/apps/homescreen: remove invisible pixels in background to reduce size 2018-02-19 19:58:53 +01:00
Peter Jensen cacbbf80eb apps/homescreen: change bg 2018-02-19 17:44:29 +01:00
Peter Jensen c34ee98731 src/apps/wallet/get_address: update receive dialog 2018-02-19 17:28:58 +01:00
Peter Jensen 22c9296aac src/apps/management/change_pin: fix pin label 2018-02-19 16:52:37 +01:00
Jan Pochyla 0592cfe356 src/apps/homescreen: rework backlight animations 2018-02-19 16:51:59 +01:00
Tomas Susanka b659f1b29c signing/eth: tokens fix
todo: add test
2018-02-19 16:31:35 +01:00
Pavol Rusnak f65c409416
src/apps/common: fix typos in request_passphrase 2018-02-14 23:53:10 +01:00
Pavol Rusnak 736dec1419
src/apps/management: implement ApplyFlags message 2018-02-14 23:50:26 +01:00
Pavol Rusnak 3c738b62c4
src/apps/common: refactor passphrase request, implement new on_device field 2018-02-14 19:10:42 +01:00
Pavol Rusnak 75e87ede86
vendor: update trezor-common, regenerate messages 2018-02-14 18:15:18 +01:00
Peter Jensen b8cf98b78b src/trezor/ui/passphrase: keyboard fix multitouch on space 2018-02-12 12:58:00 +01:00
Peter Jensen a83d7b9067 src/trezor/ui/passphrase: added space btn icon to keyboard 2018-02-11 14:09:54 +01:00
Pavol Rusnak 77568496da
src/apps/common: fix typo in cache 2018-02-10 17:45:25 +01:00
Pavol Rusnak c1e1e8bf02
src/apps/common: rewrite cache to use getters/setters 2018-02-09 19:00:09 +01:00
Pavol Rusnak 6fad2f4283
src/apps/homescreen: implement {Initialize,Features}.state field, implement ClearSession handling 2018-02-09 18:08:59 +01:00
Pavol Rusnak e93ef0c296
src: disable u2f in debug builds 2018-02-09 16:45:55 +01:00
Jan Pochyla e888b6b967 apps/wallet/sign_tx: fix sighash 2018-02-09 14:16:33 +01:00
Pavol Rusnak b0242d3a3e
tests: fix test_apps.ethereum.layout 2018-02-09 13:36:08 +01:00
Jan Pochyla 350de72c54 apps/wallet/sign_tx: force_bip143 2018-02-09 11:37:13 +01:00
Jan Pochyla d0c742e884 src/apps/common/coins: regenerate 2018-02-09 11:37:13 +01:00
Pavol Rusnak 984327fea5
src/trezor/ui: add new BTN_KEY_CONFIRM style to mnemonic keyboard, use that one 2018-02-07 19:48:32 +01:00
Pavol Rusnak c4990646c7
src/main: reorder interfaces, so debug+vcp are after regular interfaces
endpoints 0x05 and 0x85 cause halt for now, allocate them to yet unused debug interface
2018-02-07 16:14:37 +01:00
Pavol Rusnak 39576eb2a7
src/main: report device_id as usb serial number 2018-02-07 14:59:09 +01:00
Pavol Rusnak d5ae4d72b6
src/apps/management: ask for mnemonic words twice in reset_device 2018-02-06 19:40:02 +01:00
Pavol Rusnak fedfde7e99
src/trezor: refactor format_amount into utils, use it where possible 2018-02-06 18:35:14 +01:00
Pavol Rusnak 340f926804
apps/wallet+apps/ethereum: fix formatting of amounts (avoid using float) 2018-02-06 17:50:36 +01:00
Pavol Rusnak 585e9842f8
src/apps+tests: use TODO consistently across whole codebase 2018-02-06 15:23:51 +01:00
Pavol Rusnak 69344f34b6
apps/common/seed: refactor methods usage 2018-02-06 15:21:27 +01:00
Jan Pochyla b139e1a7ac ui/passphrase: align long passphrase to the right 2018-02-06 14:11:49 +01:00
Jan Pochyla deb64c3c43 ui/passphrase: confirm button, visuals 2018-02-06 14:11:49 +01:00
Jan Pochyla 1c9380a9d9 ui/passphrase: extract new passphrase keyboard 2018-02-06 14:11:49 +01:00
Peter Jensen 7b89e4b14c ui/passphrase: ask for source of passphrase 2018-02-06 14:11:49 +01:00
Jan Pochyla bd44eceeef apps/wallet: sign & verify message layouts 2018-02-06 14:10:35 +01:00
Pavol Rusnak 8b49e04ade
apps.management: align dots in reset_device 2018-02-05 15:51:03 +01:00
Jan Pochyla 32c74e6e9a apps/management/load_device: fix load_mnemonic 2018-02-05 15:13:48 +01:00
Jan Pochyla 58f48f8ade apps/management/reset_device: fix change_pin 2018-02-05 15:13:33 +01:00
Peter Jensen f56aaa3b1c ui/pin: check maxlength 2018-02-05 15:06:43 +01:00
Peter Jensen 9c84b742a0 ui/pin: change design of pin bullets 2018-02-05 15:01:26 +01:00
Jan Pochyla ac0be4b061 ui/scroll: tweak swipe animation 2018-02-05 14:55:03 +01:00
Jan Pochyla 5a5842111b apps/management/reset_device: allow to skip backup 2018-02-05 14:54:46 +01:00
Jan Pochyla f20ce1fcc9 ui: add click helper 2018-02-05 13:49:02 +01:00
Jan Pochyla e907099be1 apps/common/storage: fix usage of public fields 2018-02-05 13:49:02 +01:00
Jan Pochyla 5f76dc714a apps/management/reset_device: fix display clear, move pin request 2018-02-05 13:49:02 +01:00
Jan Pochyla a7f011d59e apps/management/reset_device: hold to confirm 2018-02-05 13:49:02 +01:00
Jan Pochyla 6a0f18bef1 ui/loader: shrink before deactivating 2018-02-05 13:49:02 +01:00
Pavol Rusnak 46fc37f977
src: fix flake whitespace issues 2018-02-04 12:18:34 +01:00
Pavol Rusnak c627fcb836
firmware: use webusb by default 2018-02-03 16:40:51 +01:00
Jan Pochyla 7ef79a73fa apps/management/reset_device: retry on wrong word entry 2018-02-02 18:49:57 +01:00
Peter Jensen ea6763c4ec ui/word_select: fix btns styles 2018-02-02 16:27:04 +01:00
Peter Jensen fac8932a85 ui/style: replace success icon in loader 2018-02-02 16:27:04 +01:00
Peter Jensen b64be539d4 apps/managment/wipe: style btns and elements 2018-02-02 16:27:04 +01:00
Peter Jensen dc5049a3d6 ui/swipe: update reset ui and swipe 2018-02-02 16:20:28 +01:00
Pavol Rusnak 94fc0f7ac0
extmod: if debug build is used, disable LoadDevice, wipe storage on start, draw red square in corner 2018-02-01 15:46:32 +01:00
Jan Pochyla 2625c940db protobuf: do not print message fields 2018-01-31 15:53:32 +01:00
Jan Pochyla 6f8a4de4e6 ui/scroll: make page indicators more visible 2018-01-31 15:53:32 +01:00
Jan Pochyla 9c469d583a apps/management/reset_device: split into smaller functions
TODO: device test
2018-01-30 19:24:57 +01:00
Jan Pochyla 64d5f18ed6 ui/text: simplify 2018-01-30 19:08:51 +01:00
Jan Pochyla 710306495e apps: reduce unimport usage
unimport should be used only on the workflow dispatchers.
2018-01-30 18:50:59 +01:00
Jan Pochyla 898b33cffb ui: speed up backlight transitions 2018-01-30 18:04:01 +01:00
Pavol Rusnak b79ea10434
tools: update protobuf (sync with python-trezor) 2018-01-30 15:11:09 +01:00
Pavol Rusnak 5e4b632f14
bootloader: firmware: use "Go to" instead of "Open", because that's what Chrome uses :-/ 2018-01-28 02:43:02 +01:00
Peter Jensen 5f1632c5fa pin/ui: fix clear canvas layer 2018-01-26 12:30:45 +01:00
Pavol Rusnak 5538614a79
bootloader: rework onboarding 2018-01-24 18:28:10 +01:00
Jan Pochyla f32e8c50d9 apps/wallet/sign_identity: use secp256k1 by default
Fixes device_tests.test_msg_signidentity
2018-01-23 11:18:31 +01:00
Jan Pochyla 57e350fbbf apps/management/reset_device: minor fixes 2018-01-22 17:53:43 +01:00
Peter Jensen 5701e57b48 apps/management/reset_device: improve visuals 2018-01-22 17:53:43 +01:00
Peter Jensen acf9d789c7 ui/confirm: correct button positions 2018-01-22 17:52:31 +01:00
Peter Jensen f5445d7db9 apps/management/reset_device: adding check for written seed 2018-01-22 17:52:31 +01:00
Peter Jensen 44ca1ea703 apps/management/reset_device: update styles 2018-01-22 17:52:31 +01:00
Peter Jensen b5220e8675 apps/management/reset_device: add icons and warning 2018-01-22 17:52:31 +01:00
Jan Pochyla 7960f3ad8e loop: use utimeq.discard() 2018-01-22 13:07:21 +01:00
Pavol Rusnak 8bf19b4c92
trezorhal: refactor trezor.io USB stuff into more files, add WebUSB 2018-01-21 00:04:05 +01:00
Pavol Rusnak ba1a313016
main: small refactor 2018-01-20 23:15:39 +01:00
Jan Pochyla 23728c2713 loop: make wait properly dispose of child tasks 2018-01-18 17:45:44 +01:00
Jan Pochyla dc7d7bb3bd apps/homescreen: add pin_protection to Features
Fixes WipeDevice test.
2018-01-18 17:45:44 +01:00
Jan Pochyla db9ac661f9 apps/debug: fix DebugLinkGetState 2018-01-18 17:45:44 +01:00
Peter Jensen 150da5d40c ui/keyboard: move pending marker 2018-01-16 15:46:32 +01:00
Jan Pochyla 58c3bba9e2 apps/management/reset_device: fix for new storage 2018-01-16 15:46:32 +01:00
Jan Pochyla 77b78e277a apps/management/recovery_device: adapt for new keyboard 2018-01-16 15:46:32 +01:00
Jan Pochyla cd0fa4df4a ui/keyboard: refactor 2018-01-16 15:46:32 +01:00
Jan Pochyla 4a83864593 ui/confirm: fix content in HoldToConfirmDialog 2018-01-16 15:46:32 +01:00
Jan Pochyla 248daa8970 ui/button: styles, refactoring 2018-01-16 15:46:32 +01:00
Jan Pochyla c3fc5c310d apps/common/request_pin: icons 2018-01-16 15:46:32 +01:00
Jan Pochyla 5ed83f0e18 ui/text: add icon_color 2018-01-16 15:46:32 +01:00
Jan Pochyla 814de4acb4 ui/style: colors and icons 2018-01-16 15:46:32 +01:00
Jan Pochyla dbed5eade9 ui: add grid function 2018-01-16 15:46:32 +01:00
Peter Jensen ed9e63142d ui: request_words, keyboard ui 2018-01-16 15:46:32 +01:00
Jan Pochyla 95db112d10 apps/management/recovery_device: mnemonic keyboard 2018-01-16 15:46:32 +01:00
Pavol Rusnak a31c118d8e
protobuf: update build_protobuf and pb2py from python-trezor, regenerate messages 2018-01-12 13:11:22 +01:00
Pavol Rusnak af93c7299d
apps.ethereum: don't use ButtonRequestType.ConfirmOutput for compatibility with T1 2018-01-11 23:11:13 +01:00
Tomas Susanka c06ec002a3 ethereum/signing: typo
already tested, tests implemented in the pythontrezor repo
2018-01-11 23:08:35 +01:00
Tomas Susanka aa8bb77e32 ethereum/signing: display data fix 2018-01-11 23:08:35 +01:00
Tomas Susanka 7d0cafecc3 ethereum/singing: layout seperated 2018-01-11 23:08:35 +01:00
Pavol Rusnak 7d1d6ce393
src: import hexlify explicitly, fix hexlify usage 2018-01-04 13:24:39 +01:00
Pavol Rusnak b98a1db6ee
embed: cleanup unused modules 2018-01-02 20:00:12 +01:00
Pavol Rusnak fa95f0a037
trezor.crypto: implement chacha20poly1305 aka rfc7539 2018-01-02 18:57:23 +01:00
Pavol Rusnak d6593e710b
apps.ethereum: implement SignMessage/VerifyMessage 2017-12-23 15:12:31 +01:00
Pavol Rusnak e47aa9f0c4
apps.ethereum: code cleanup 2017-12-23 14:09:45 +01:00
Tomas Susanka 54fcbb68df HashWriter: getvalue -> get_digest 2017-12-22 17:10:28 +01:00
Tomas Susanka 8880d218b3 HashWriter: extra arguments are passed to the hash function 2017-12-22 17:10:28 +01:00
Tomas Susanka 5bf5d477b9 ethereum/signing: hashwriter is used 2017-12-22 17:10:28 +01:00
Tomas Susanka 688b568bd9 ethereum: files rename 2017-12-22 17:10:28 +01:00
Tomas Susanka 19ef1480d8 common: HashWriter move to common 2017-12-22 17:10:28 +01:00
Tomas Susanka 1f677306a1 ethereum/signing: streaming; all tests passing 2017-12-22 17:10:28 +01:00
Tomas Susanka 47b3baa30a ethereum/signing: all test passing, no data stream 2017-12-22 17:10:28 +01:00
Tomas Susanka dc02b322bf ethereum/signing: basic structure, first test passing
first commit based on the trezor-mcu repo
eth tokens added using the common ethereum_tokens-gen.py script
first device test passing
2017-12-22 17:10:28 +01:00
Pavol Rusnak 333c0a633a
trezor.crypto: adopt crc32 function 2017-12-19 21:54:22 +01:00
Pavol Rusnak 4584861385
trezor.ui: introduce ui.SIZE 2017-12-16 14:50:28 +01:00
Pavol Rusnak 965bf84cdb
tests: cleanup flake8 warnings 2017-12-16 02:11:26 +01:00
Pavol Rusnak edb80eda61
src: fix typo 2017-12-15 21:11:46 +01:00
Pavol Rusnak 5192387060
src: move show_pin_timeout to trezor.pin 2017-12-15 21:06:29 +01:00
Jochen Hoenicke c0cd252c83 Store pin as integer
- New module trezor.pin (add timeout here)
- Convert pin to integer by adding a '1' (to detect leading 0s)
- pin is still limited to 9 digits.
2017-12-15 20:37:03 +01:00
Pavol Rusnak bc6d9b47a3
storage: use one char for value ids 2017-12-14 21:59:47 +01:00
Pavol Rusnak d1df2c45fa
apps.common: update show_pin_timeout layout 2017-12-14 20:16:05 +01:00
Pavol Rusnak e8f70ed4af
pin: implement graphics pin timeout 2017-12-14 19:01:41 +01:00
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