From e569f0804d4ea92366bb96477cf04da1280aa1cb Mon Sep 17 00:00:00 2001 From: Jaroslav Date: Fri, 23 Feb 2018 10:28:45 +0200 Subject: [PATCH] Fix formatting Small table fixes --- doc/ethapp.asc | 62 +++++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/doc/ethapp.asc b/doc/ethapp.asc index 1225bdf..8f6d622 100644 --- a/doc/ethapp.asc +++ b/doc/ethapp.asc @@ -3,17 +3,17 @@ Ethereum application : Common Technical Specifications Ledger Firmware Team Application version 1.2 - 19th of August 2017 -== 1.0 +## 1.0 - Initial release -== 1.1 +## 1.1 - Add GET APP CONFIGURATION - Add an option to return the chain code in GET ETH PUBLIC ADDRESS -== 1.2 +## 1.2 - Add SIGN ETH PERSONAL MESSAGE -== About +## About This application describes the APDU messages interface to communicate with the Ethereum application. @@ -25,17 +25,17 @@ The application covers the following functionalities : The application interface can be accessed over HID or BLE -== General purpose APDUs +## General purpose APDUs -=== GET ETH PUBLIC ADDRESS +### GET ETH PUBLIC ADDRESS -==== Description +#### Description This command returns the public key and Ethereum address for the given BIP 32 path. The address can be optionally checked on the device before being returned. -==== Coding +#### Coding 'Command' @@ -74,9 +74,9 @@ The address can be optionally checked on the device before being returned. |============================================================================================================================== -=== SIGN ETH TRANSACTION +### SIGN ETH TRANSACTION -==== Description +#### Description This command signs an Ethereum transaction after having the user validate the following parameters @@ -87,7 +87,7 @@ This command signs an Ethereum transaction after having the user validate the fo The input data is the RLP encoded transaction (as per https://github.com/ethereum/pyethereum/blob/develop/ethereum/transactions.py#L22), without v/r/s present, streamed to the device in 255 bytes maximum data chunks. -==== Coding +#### Coding 'Command' @@ -129,11 +129,13 @@ The input data is the RLP encoded transaction (as per https://github.com/ethereu | v | 1 | r | 32 | s | 32 -|====================================================================================================== +|============================================================================================================================== -=== SIGN ETH PERSONAL MESSAGE -==== Description + +### SIGN ETH PERSONAL MESSAGE + +#### Description This command signs an Ethereum message following the personal_sign specification (https://github.com/ethereum/go-ethereum/pull/2940) after having the user validate the SHA-256 hash of the message being signed. @@ -141,7 +143,7 @@ This command has been supported since firmware version 1.0.8 The input data is the message to sign, streamed to the device in 255 bytes maximum data chunks -==== Coding +#### Coding 'Command' @@ -151,7 +153,7 @@ The input data is the message to sign, streamed to the device in 255 bytes maxim | E0 | 08 | 00 : first message data block 80 : subsequent message data block - | 00 | variable | variable + | 00 | variable | variable |============================================================================================================================== 'Input data (first message data block)' @@ -183,23 +185,23 @@ The input data is the message to sign, streamed to the device in 255 bytes maxim | v | 1 | r | 32 | s | 32 -|====================================================================================================== +|============================================================================================================================== -=== GET APP CONFIGURATION +### GET APP CONFIGURATION -==== Description +#### Description This command returns specific application configuration -==== Coding +#### Coding 'Command' [width="80%"] |============================================================================================================================== | *CLA* | *INS* | *P1* | *P2* | *Lc* | *Le* -| E0 | 06 | 00 | 00 | 00 | 04 +| E0 | 06 | 00 | 00 | 00 | 04 |============================================================================================================================== 'Input data' @@ -212,9 +214,7 @@ None |============================================================================================================================== | *Description* | *Length* | Flags - 0x01 : arbitrary data signature enabled by user - | 01 | Application major version | 01 | Application minor version | 01 @@ -222,9 +222,9 @@ None |============================================================================================================================== -== Transport protocol +## Transport protocol -=== General transport description +### General transport description Ledger APDUs requests and responses are encapsulated using a flexible protocol allowing to fragment large payloads over different underlying transport mechanisms. @@ -245,7 +245,7 @@ The Command tag describes the message content. Use TAG_APDU (0x05) for standard The Packet sequence index describes the current sequence for fragmented payloads. The first fragment index is 0x00. -=== APDU Command payload encoding +### APDU Command payload encoding APDU Command payloads are encoded as follows : @@ -272,7 +272,7 @@ APDU payload is encoded according to the APDU case | 4 | !0 | !0 | Both Input and Output Data are present - L is set to Lc |======================================================================================= -=== APDU Response payload encoding +### APDU Response payload encoding APDU Response payloads are encoded as follows : @@ -283,11 +283,11 @@ APDU Response payloads are encoded as follows : | APDU response data and Status Word | var |============================================================================================================================== -=== USB mapping +### USB mapping Messages are exchanged with the dongle over HID endpoints over interrupt transfers, with each chunk being 64 bytes long. The HID Report ID is ignored. -=== BLE mapping +### BLE mapping A similar encoding is used over BLE, without the Communication channel ID. @@ -297,7 +297,7 @@ When using this service, the client sends requests to the characteristic D973F2E Requests are encoded using the standard BLE 20 bytes MTU size -== Status Words +## Status Words The following standard Status Words are returned for all APDUs - some specific Status Words can be used for specific commands and are mentioned in the command description. @@ -312,4 +312,4 @@ The following standard Status Words are returned for all APDUs - some specific S | 6B00 | Incorrect parameter P1 or P2 | 6Fxx | Technical problem (Internal error, please report) | 9000 | Normal ending of the command -|================================================================================================ +|===============================================================================================