Commit Graph

46 Commits

Author SHA1 Message Date
Pavol Rusnak 18d8cb3c56
add project website (trezor.io) to license header 2017-11-05 17:47:23 +01: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
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
Saleem Rashid 11d424cdef vendor: Update trezor-crypto 2017-07-27 18:11:26 +02:00
Pavol Rusnak 3d7d0f0734
use C99 for loop where possible 2017-07-23 22:20:51 +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 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 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 2ecc36cd89
ethereum: don't show unrecognized ERC-20 tokens as sending message 2017-07-05 14:22:00 +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
Pavol Rusnak d424829333
add chain_id to erc20 tokens 2017-05-19 14:28:35 +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 cb14b98213
ethereum: add new chain_ids 2017-05-04 15:12:24 +02:00
Pavol Rusnak 13f03d3880
Revert "ethereum: add EthereumSignTx.prefix"
This reverts commit 2866e6fe88.
2017-04-30 03:26:57 +02:00
Pavol Rusnak 2866e6fe88
ethereum: add EthereumSignTx.prefix 2017-04-24 20:34:13 +02:00
Pavol Rusnak 5c54edf54e
differentiate between ETH and ETC using chain_id 2017-01-24 17:27:11 +01:00
Jochen Hoenicke 32fb7e96cc Ethereum EIP-155 replay protection
Added chain_id field in sign transaction.
If chain_id is set use hashing as specified in EIP-155.
2017-01-22 19:09:07 +01:00
Jochen Hoenicke f36cf5c10c Handle edge cases for ethereum txs.
Treat the case where a field is omitted identical to the case
where an empty array is given.  In particular
- data_length == 0 is allowed now and identical to giving no data.
- nonce can be omitted to indicate nonce value 0.

I still do not allow to omit gas_limit and gas_price; gas_limit
cannot be zero and transactions with zero gas_price will not be
mined.  You can still set it explicitly to zero by giving the
empty array, though.
See trezor/trezor-mcu#143.
2017-01-22 19:09:07 +01:00
Jochen Hoenicke a0ade6343e Reworked rfc6979 signing. (#116)
New parameter is_canonical that allows for generating signatures that
have additional requirements.
2016-10-06 16:58:05 +02:00
Jochen Hoenicke 6d65551b82
More alignment fixes 2016-08-30 12:39:37 +02:00
Jochen Hoenicke bc55013942
Simplified one-byte encodings 2016-08-25 13:02:14 +02:00
Jochen Hoenicke 91dcead35e
Gas estimate screen, tweaked display of value 2016-08-23 22:05:24 +02:00
Jochen Hoenicke a37a2e3612
Confirm data, streamlining code
Set all size fields to 0, if fields was not given to avoid the conditions
later.

Display data and ask for confirmation.
2016-08-22 23:18:38 +02:00
Jochen Hoenicke 05a73593f6
No special case encoding for '\x0', cleanups
The encoding for data '\x00' was tested here:
http://testnet.etherscan.io/tx/0x05d6f97de3ecd33ad4059fa9bd342a10ef99d580a2d881b0c5a0c9e8c55ff975
2016-08-19 23:35:11 +02:00
Jochen Hoenicke 22d0e7a053 Incorporated changes for updated master 2016-08-19 03:16:59 +01:00
Pavol Rusnak efd443abe8 implement ethereum signing check 2016-08-19 03:14:38 +01:00
Pavol Rusnak 4e0a69b6ea refactor ethereum methods, show progress properly 2016-08-19 03:14:38 +01:00
Pavol Rusnak 1558d77ea0 split rlp_encode_length into rlp_encode_length and rlp_encode_list_length 2016-08-19 03:14:38 +01:00
Pavol Rusnak 3db323c599 fix printing of ethereum value and address 2016-08-19 03:14:38 +01:00
Pavol Rusnak 3d1ab24d92 simplify ethereum code, EthereumSignTx.data_length is the total length now 2016-08-19 03:14:38 +01:00
Pavol Rusnak 48008ddd8e implement layoutEthereumConfirmTx 2016-08-19 03:14:38 +01:00
Pavol Rusnak 7d9a56e678 fix curly braces in if statements 2016-08-19 03:14:38 +01:00
Alex Beregszaszi 7432805b6a Fix special RLP case for length=1 firstbyte=0 2016-08-19 03:14:38 +01:00
Alex Beregszaszi 079d282541 Simplify send_request_chunk() 2016-08-19 03:14:38 +01:00
Alex Beregszaszi 78b1370de9 More input sanity checks in EthereumSignTx 2016-08-19 03:14:38 +01:00
Alex Beregszaszi a617200c9c Add confirmation dialog to EthereumSignTx 2016-08-19 03:14:38 +01:00
Alex Beregszaszi e0a1743003 Add sanity checks for data fields in EthereumSignTx 2016-08-19 03:14:38 +01:00
Alex Beregszaszi ab49a7cb45 Calculate data length based on the initial chunk and the supplied length 2016-08-19 03:14:38 +01:00
Alex Beregszaszi e0395b13eb Fix RLP length calculation 2016-08-19 03:14:38 +01:00
Alex Beregszaszi 2b6c991179 Split out send_signature and support short requests 2016-08-19 03:14:38 +01:00
Alex Beregszaszi 1d2f9b6ecd Initial signing implementation for Ethereum 2016-08-19 03:14:38 +01:00
Alex Beregszaszi a9449520b8 Ethereum signing skeleton 2016-08-19 03:14:38 +01:00