Add EIP 712 signing v0

This commit is contained in:
BTChip github
2020-09-26 15:49:36 +02:00
committed by TamtamHero
parent c308b55535
commit 27c34e271a
10 changed files with 356 additions and 2 deletions

View File

@@ -1,7 +1,7 @@
Ethereum application : Common Technical Specifications
=======================================================
Ledger Firmware Team <hello@ledger.fr>
Application version 1.1.10 - 4th of February 2019
Application version 1.5.0 - 25th of September 2020
## 1.0
- Initial release
@@ -16,6 +16,9 @@ Application version 1.1.10 - 4th of February 2019
## 1.1.10
- Add PROVIDE ERC 20 TOKEN INFORMATION
## 1.5.0
- Add SIGN ETH EIP 712
## About
This application describes the APDU messages interface to communicate with the Ethereum application.
@@ -268,6 +271,49 @@ None
| Application patch version | 01
|==============================================================================================================================
### SIGN ETH EIP 712
#### Description
This command signs an Ethereum message following the EIP 712 specification (https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md)
For implementation version 0, the domain hash and message hash are provided to the device, which displays them and returns the signature
This command has been supported since firmware version 1.5.0
#### Coding
'Command'
[width="80%"]
|==============================================================================================================================
| *CLA* | *INS* | *P1* | *P2* | *Lc* | *Le*
| E0 | 0C | 00
| implementation version : 00 | variable | variable
|==============================================================================================================================
'Input data'
[width="80%"]
|==============================================================================================================================
| *Description* | *Length*
| Number of BIP 32 derivations to perform (max 10) | 1
| First derivation index (big endian) | 4
| ... | 4
| Last derivation index (big endian) | 4
| Domain hash | 32
| Message hash | 32
|==============================================================================================================================
'Output data'
[width="80%"]
|==============================================================================================================================
| *Description* | *Length*
| v | 1
| r | 32
| s | 32
|==============================================================================================================================
## Transport protocol