1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-24 15:28:10 +00:00
Commit Graph

27 Commits

Author SHA1 Message Date
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