Commit Graph

581 Commits

Author SHA1 Message Date
Saleem Rashid 128742d113 nem2: Update copyright header for consistency 2017-10-09 17:49:13 +01:00
Saleem Rashid c87c16adc9 firmware: Generate nem_mosaics.[ch] at build time 2017-10-09 17:48:30 +01:00
Saleem Rashid a90acf8b62 nem_mosaics: Remove generated files 2017-10-09 17:47:56 +01:00
Saleem Rashid 12c541f872 nem2: Handle Importance Transfer transactions 2017-10-07 22:07:56 +01:00
Pavol Rusnak 83db3c098f
fsm: implement CoSi messages 2017-10-03 13:26:38 +02:00
Saleem Rashid 5b0c0b1bfd nem_mosaics: Add PacNEM 2017-10-01 13:24:13 +01:00
Saleem Rashid d0e89db9fa nem_mosaics: Add Breeze Token 2017-10-01 13:24:13 +01:00
Saleem Rashid 1d83eee3b3 nem2: Canonicalize mosaics in transfer transactions
NIS deserializes then serializes transactions in order to verify the
signature. This means that transactions must be serialized canonically,
otherwise the signature will not match. Due to [1], mosaics are sorted
and deduplicated in transfer transactions.

[1]: 4231550ddf
2017-10-01 13:24:13 +01:00
Saleem Rashid 1f20625bbc nem2: Refactor for new bn_format 2017-10-01 13:24:13 +01:00
Saleem Rashid 2aeeb3f978 nem2: Handle Aggregate Modification transactions 2017-10-01 13:24:13 +01:00
Saleem Rashid a10e131ecd nem2: Handle Mosaic Supply Change transactions 2017-10-01 13:24:13 +01:00
Saleem Rashid 327736ca96 nem_mosaics: Whitelist networks 2017-10-01 13:24:13 +01:00
Saleem Rashid 17e33d5517 nem2: Handle Mosaic Definition Creation transactions 2017-10-01 13:24:13 +01:00
Saleem Rashid b0394622a3 nem2: Warn on unknown mosaics 2017-10-01 13:24:13 +01:00
Saleem Rashid 3a303087ae nem_mosaics: Add DIM TOKEN 2017-10-01 13:24:13 +01:00
Saleem Rashid 9f41ee39ba nem_mosaics: Add DIMCOIN 2017-10-01 13:24:13 +01:00
Saleem Rashid 8dbd6182fb nem_mosaics: Initial commit 2017-10-01 13:24:13 +01:00
Saleem Rashid 4a55dd89e6 nem2: Handle Provision Namespace transactions 2017-10-01 13:24:13 +01:00
Saleem Rashid b559e5fb6d fsm: Add NEM_CHECK_PARAM macros 2017-10-01 13:24:13 +01:00
Saleem Rashid 563723a55f nem2: Handle multisig transactions 2017-10-01 13:24:13 +01:00
Saleem Rashid 19033a459d fsm: Add NEMSignTx 2017-10-01 13:24:13 +01:00
Saleem Rashid 3057f78837 fsm: Add NEMGetAddress 2017-10-01 13:24:13 +01:00
Saleem Rashid c331d7e8f0 vendor: Update trezor-crypto 2017-10-01 13:24:13 +01:00
Saleem Rashid da1262cf4a vendor: Update trezor-common 2017-10-01 13:24:13 +01:00
Jason Zavaglia 8983a346d9 Have coins.h and coins.c generated at build time (#220) 2017-09-30 11:09:11 +02:00
Pavol Rusnak 4b8ac90d10
travis: fix build for old protobuf 2017-09-29 21:12:56 +02:00
Pavol Rusnak 8a6dd3c764
build: use python2 for messages_map.py 2017-09-29 20:48:26 +02:00
Pavol Rusnak 53f5d5c147
u2f: add gandi to known apps 2017-09-29 18:19:13 +02:00
Pavol Rusnak 1072369bc4
firmware: need extra cast for nanopb call in message.c 2017-09-28 13:20:04 +02:00
Pavol Rusnak 1f1c3bf35f
firmware/protob: remove generated stuff 2017-09-28 13:16:15 +02:00
Jason Zavaglia 5cc299facd Generate the protobuf files at build time (#219)
Improve the build reliability by ensuring protobuf files are
generated at build time.
2017-09-28 13:10:32 +02:00
Pavol Rusnak 30367bfad1
reset: refactor code into layoutResetWord 2017-09-04 08:12:33 +02:00
Pavol Rusnak ef89fc4e89
ethereum: refactor hash_rlp_number 2017-08-31 13:38:50 +02:00
Jochen Hoenicke 5f9cd15b02 Support multi-byte chain-id. (#212) 2017-08-31 13:28:50 +02:00
Pavol Rusnak 07f6e495b7
fsm: fix race condition in GetAddress 2017-08-23 16:36:38 +02:00
Pavol Rusnak e4cc08775f
vendor: update trezor-common, enable Bitcoin segwit manually 2017-08-16 14:28:21 +02:00
Pavol Rusnak 3e9ebe6c10
changelog: add 1.5.2
+ update vendor/trezor-crypto
2017-08-16 13:59:40 +02:00
Jochen Hoenicke 98e617d874
startup: use custom reset_handler
+ group confidential data in one place
+ zero all SRAM where needed
2017-08-16 13:52:01 +02:00
Pavol Rusnak a01ba51a2a
storage: copy only required bytes from old storage, bump storage version
+ backup_device: ask for pin, always use correct number of words
2017-08-16 13:11:31 +02:00
Saleem Rashid 9c25e03d98 vendor: Update trezor-crypto 2017-08-14 16:45:11 +02:00
Saleem Rashid c121627a06 Travis CI: Test matrix of DEBUG_LINK and FASTFLASH
This should catch inconsistencies with Features.coins or if there is a
build configuration that makes the firmware too large.

Also, add MAKEFLAGS and only build STM32F2 support in libopencm3 to
speed up build time
2017-08-14 16:44:44 +02:00
Saleem Rashid fa7e32fadf protob: Fix Features.coins max_count for DEBUG_LINK=1 2017-08-14 14:49:27 +02:00
Saleem Rashid 7e56a62e8b coins: Add _Static_assert for Features.coins max_count 2017-08-14 14:49:27 +02:00
Pavol Rusnak e69ef2e75a
coins: include testnet coins just in debug builds
+ add more ethereum tokens
2017-08-13 21:15:34 +02:00
Pavol Rusnak dd9f7cd926
fix typos in changelog 2017-08-09 15:18:31 +02:00
Pavol Rusnak 1d6329b1bf
changelog: make last release mandatory 2017-07-31 23:00:21 +02:00
Pavol Rusnak f0d2e7a371
storage: bump version 2017-07-31 22:43:28 +02:00
Pavol Rusnak ace1d84265
recovery: don't reset storage on typos during dry-run recovery 2017-07-31 20:49:34 +02:00
Pavol Rusnak a9a414df08
fix typo 2017-07-31 19:40:35 +02:00
Pavol Rusnak c2c3debd01
changelog: fix typos 2017-07-31 16:31:33 +02:00
Pavol Rusnak b1838d6867
ethereum: add more tokens 2017-07-31 14:15:10 +02:00
Jochen Hoenicke 33ed08ec32 Fix check for max try and add another check before 2017-07-31 13:13:49 +02:00
Pavol Rusnak 4ee52ab95f
changelog: add more entries 2017-07-31 02:39:24 +02:00
Pavol Rusnak 45ca9bd583
protect: change wording 2017-07-31 02:35:53 +02:00
Pavol Rusnak 82a06ce342
firmware: mark more strings with gettext 2017-07-31 02:31:30 +02:00
Pavol Rusnak c778d7b9c3
storage: wipe storage after 15 wrong pins 2017-07-31 02:26:28 +02:00
Pavol Rusnak fa2f5fb33f
update coins 2017-07-30 23:38:01 +02:00
Jochen Hoenicke 3440ead4c9
Fix multisig for BCC 2017-07-30 22:58:26 +02:00
Jochen Hoenicke 5f6948e66b
Remove progress update 2017-07-30 22:57:44 +02:00
Jochen Hoenicke 3c75d28c78 Check input bip32 path again on second pass. 2017-07-30 22:51:18 +02:00
Jochen Hoenicke 6b615ce405 No quadratic hashing for hardfork
Don't hash the whole transaction if forkid is set.  Instead use the
same codepath as for segwit.

Rename segwit_to_spend to authorized_amount and use it for forkid
amount and segwit amount validity checks.

Removed some duplicated code.
2017-07-30 22:51:18 +02:00
Saleem Rashid 979a6ef266 signing: Skip TX_META with SIGHASH_FORKID 2017-07-30 22:51:18 +02:00
Saleem Rashid a34554b091 signing: Add SIGHASH_FORKID support 2017-07-30 22:51:18 +02:00
Saleem Rashid 841af54061 vendor: Update trezor-common 2017-07-30 22:51:18 +02:00
Pavol Rusnak 91c4cbdbd0
setup: move stack protector variable to setup.h 2017-07-30 21:56:30 +02:00
Pavol Rusnak 0760ff0468
setup: move stack smashing protection code to setup.c 2017-07-30 21:40:07 +02:00
Saleem Rashid e33e1ec0b1 fsm: Do not wipe msg_resp in DebugLinkGetState 2017-07-30 18:00:01 +02:00
Saleem Rashid 11d424cdef vendor: Update trezor-crypto 2017-07-27 18:11:26 +02:00
Saleem Rashid 38b6332db5 layout2: Extract BITCOIN_DIVISIBILITY constant 2017-07-27 18:11:26 +02:00
Pavol Rusnak c3bf0e4086
enable segwit for bitcoin \o/ 2017-07-25 19:32:20 +02:00
Pavol Rusnak b5f9a5738f
segwit support for SignMessage, VerifyMessage 2017-07-25 19:32:20 +02:00
Pavol Rusnak d8ad44f60a
protob: add SignMessage.script_type 2017-07-25 19:32:20 +02:00
Pavol Rusnak 3d7d0f0734
use C99 for loop where possible 2017-07-23 22:20:51 +02:00
mruddy 1c55ec0fb3 fix hangs due to stale rng status (#195) 2017-07-19 11:54:26 +02:00
Jochen Hoenicke 9efc5bc93c Fixed array sizes again. (#194)
This is the correct fix for 09917920ba
(how the code was meant to be written).
2017-07-18 13:08:27 +02:00
Pavol Rusnak cf04279774
implement Storage.flags and related stuff 2017-07-17 18:36:09 +02:00
Pavol Rusnak 1a72a49ee5
ethereum: update tokens 2017-07-17 14:23:23 +02:00
Pavol Rusnak 0781421762
ethereum: more tokens, use better wording for unknown token value 2017-07-14 18:42:01 +02:00
Pavol Rusnak da71f7c45d
fix layoutVerifyAddress behaviour for long addresses 2017-07-12 18:44:56 +02:00
Pavol Rusnak b0ac3a2af1
add EthereumSignMessage/EthereumVerifyMessage 2017-07-12 17:51:34 +02:00
Jochen Hoenicke c5e927fac2 Ethereum Sign/Verify Message
Implements issue trezor/trezor-mcu#163.
2017-07-12 17:38:30 +02:00
Pavol Rusnak ccb0cd82b6
firmware: add changelog, bump version to 1.5.1 2017-07-12 14:19:05 +02:00
Pavol Rusnak 5b66c0b956
refactor Address dialog (QR code on left button click), use checksum for Ethereum addresses 2017-07-11 21:31:40 +02:00
Pavol Rusnak f826b1fa46
ethereum: add new tokens 2017-07-10 16:38:56 +02:00
Pavol Rusnak 2ecc36cd89
ethereum: don't show unrecognized ERC-20 tokens as sending message 2017-07-05 14:22:00 +02:00
Pavol Rusnak ba2b2f24da
firmware: mark backup as done before giving away the mnemonic, not after 2017-07-05 12:17:46 +02:00
Saleem Rashid f23489050a util: Add load_vector_table 2017-07-03 18:35:42 +02:00
Pavol Rusnak 498d689f98
fix small issue with GetAddress for non-segwit coins 2017-07-03 18:23:51 +02:00
Pavol Rusnak 95db902d28
ethereum: update token list 2017-07-03 13:13:07 +02:00
Pavol Rusnak 4603b0c800
bootloader: subtle changes in bootloader.c and fastflash.c to make them more similar 2017-07-01 16:22:22 +02:00
Roman Zeyde d15dd7c944 recovery: zero new_mnemonic memory before returning to the user 2017-06-30 14:43:16 +02:00
Pavol Rusnak 2bf807878d
bootloader: add SelfTest 2017-06-29 17:31:23 +02:00
Pavol Rusnak 8fa3ce7e14
reset: distinguish between separated call and joined call, mark backup as done only when performed completely 2017-06-29 14:14:20 +02:00
Pavol Rusnak b65068c159
reset: add Features.needs_backup 2017-06-29 14:14:20 +02:00
Pavol Rusnak 97fa33de46
reset: show needs backup signed when storage is not backed up 2017-06-29 14:14:20 +02:00
Pavol Rusnak 9298e4d9e3
reset: make backup workflow independent of initialization 2017-06-29 14:14:20 +02:00
Pavol Rusnak 91a1b6c4bc
drop EstimateTxSize (and TxSize) 2017-06-28 18:49:44 +02:00
Pavol Rusnak 01b4825d53
ethereum: add new tokens 2017-06-28 13:24:08 +02:00
Pavol Rusnak 73708aa47e
refactor recovery.is_same_mnemonic function to storage_containsMnemonic 2017-06-26 15:44:01 +02:00
Saleem Rashid ed5e9c9347 firmware: Define FASTFLASH in all cases 2017-06-25 18:19:07 +02:00
Saleem Rashid 21eb49faff firmware: Start fastflash when left button held 2017-06-25 18:19:07 +02:00
Saleem Rashid 65bb167db6 firmware: Create ELF from fastflash/bootloader.bin 2017-06-25 18:19:07 +02:00
Saleem Rashid 1214a3f69b vendor: Update trezor-crypto 2017-06-25 18:12:36 +02:00
Pavol Rusnak 8253425293
recovery: change wording 2017-06-23 16:47:53 +02:00
Roman Zeyde db7915e946
Allow testing recovery with an initialized device
This would allow safe mnemonic validation by using a dry-run flag.
2017-06-23 16:39:49 +02:00
Pavol Rusnak 247cbd2ff1
regenerate protobuf, disable unused messages 2017-06-22 12:47:18 +02:00
Pavol Rusnak c6fd70b471
gettext: mark localizable strings as proof-of-concept 2017-06-18 22:47:32 +02:00
Pavol Rusnak 00f6312a81
rename failures, unify strings where possible 2017-06-18 21:19:21 +02:00
Saleem Rashid 77c4e7b167 vendor: Update trezor-crypto for GCC 7.1.1 2017-06-13 15:17:23 +02:00
Saleem Rashid 09917920ba transaction: Fix buffer overflow 2017-06-13 15:17:23 +02:00
Pavol Rusnak da17f2472b
ethereum: add more tokens from MEW 2017-06-08 22:56:25 +02:00
Pavol Rusnak 34c0b93d54
protob: update messages_map.py script 2017-05-29 14:34:23 +02:00
Saleem Rashid 8fa71c0837 protob: Add messages_map.py (#167) 2017-05-29 13:46:32 +02:00
Pavol Rusnak 6b74139b45
add 1.5.0 to changelog 2017-05-19 17:41:10 +02:00
Pavol Rusnak 317363f84c
enable mixing of segwit and non-segwit inputs 2017-05-19 17:40:57 +02:00
Pavol Rusnak 57a91c7160
update litecoin maxfee/kb 2017-05-19 16:54:16 +02:00
Pavol Rusnak d424829333
add chain_id to erc20 tokens 2017-05-19 14:28:35 +02:00
Pavol Rusnak 766a6c1189
add space before coin shortcut because of how new formatter works 2017-05-19 11:29:44 +02:00
Pavol Rusnak 652a40c3e6
use bn_format from trezor-crypto where possible 2017-05-18 16:20:28 +02:00
Pavol Rusnak ba9aae143e
ethereum: support for ERC-20 tokens 2017-05-17 02:53:11 +02:00
Pavol Rusnak 391e3940e5
refactor fee computation, but keep ceil logic 2017-05-15 12:08:54 +02:00
Pavol Rusnak c8dc17341c
bump bitcoin maxfee 2017-05-13 01:29:12 +02:00
Pavol Rusnak 24ac52079f
disable native segwit for now 2017-05-13 01:05:10 +02:00
Pavol Rusnak 49f44d296c
refactor signing_check_output 2017-05-13 00:45:11 +02:00
Pavol Rusnak 06304c2378
update coins 2017-05-12 23:00:42 +02:00
Pavol Rusnak f4e3d7ae1e
bump version to 1.5.0 2017-05-10 00:12:23 +02:00
Pavol Rusnak 6d0d2348cf
usb: whitespace cleanup 2017-05-09 23:49:05 +02:00
Pavol Rusnak f1db85948e
Merge branch 'segwit' 2017-05-09 23:28:52 +02:00
Pavol Rusnak 1ecbca8338
signing: add option to enable/disable mixing of segwit/non-segwit inputs 2017-05-09 23:26:18 +02:00
Pavol Rusnak 5faee8149f
update trezor-crypto 2017-05-08 17:16:20 +02:00
Pavol Rusnak 261b8d5e41
multisig: allow mismatched change addresses, show them as non-change 2017-05-06 19:52:49 +02:00
Pavol Rusnak 4343d0eaeb
show progressbar layout in GetAddress 2017-05-05 15:45:58 +02:00
Pavol Rusnak e31e55e505
simplify bip32 change logic 2017-05-05 15:12:47 +02:00
Pavol Rusnak b1995bb8d1
remove segwit warning, don't enable segwit on coins that don't have segwit=true in definition 2017-05-04 18:54:54 +02:00
Pavol Rusnak 4183b6cbbc
update logic for change addresses (address_n length 1 is allowed now) 2017-05-04 18:16:45 +02:00
Pavol Rusnak cb14b98213
ethereum: add new chain_ids 2017-05-04 15:12:24 +02:00
Pavol Rusnak 38970cbd68
transaction: fix compile_output for OP_RETURN 2017-05-03 18:57:47 +02:00
Pavol Rusnak 8e017526ab
Merge branch 'master' into segwit 2017-05-03 17:16:30 +02:00
Pavol Rusnak 13f03d3880
Revert "ethereum: add EthereumSignTx.prefix"
This reverts commit 2866e6fe88.
2017-04-30 03:26:57 +02:00
Pavol Rusnak aafd61ec8b
update trezor-common, add cointype.segwit bool 2017-04-26 15:43:57 +02:00
Pavol Rusnak 2866e6fe88
ethereum: add EthereumSignTx.prefix 2017-04-24 20:34:13 +02:00
Pavol Rusnak 258d3eaddd
GetPublicKey: use Bitcoin as default coin if not provided
disable SimpleSignTx and Firmware messages
update submodules
2017-04-21 14:08:09 +02:00
Peter Banik d4cc4a48b8 Added altcoin support to GetPublicKey (#161) 2017-04-21 12:51:13 +02:00
Pavol Rusnak 300b09badc
Merge branch 'master' into segwit 2017-04-20 18:45:49 +02:00
Pavol Rusnak dcceec806d
fix call to protectButton while showing segwit warning 2017-04-11 14:05:19 +02:00
Jochen Hoenicke d70ac623a4 Small bugfixes in signing
Segwit progress bar fixed.
Call `signing_abort` instead of `layoutHome` on all errors
The second `compile_output` does not work for user button and cannot
return -1.
2017-04-08 22:39:49 +02:00
Jochen Hoenicke 420471889d Refactored signing method.
Put larger pieces of codes into functions of their own.
No changes to this code.
2017-04-08 21:59:51 +02:00
Jochen Hoenicke 9d9377438c Fix missing returns after signing_abort 2017-04-08 20:33:27 +02:00
Jochen Hoenicke e5c9b361d3 Better error message for segwit without amount 2017-04-08 20:29:58 +02:00
Jochen Hoenicke 99fc6d31d1
[refactor] Use compute_address in msgGetAddress. 2017-03-29 20:59:23 +02:00