Merge branch 'master' into support_eip1559

This commit is contained in:
pscott
2021-08-03 12:01:58 +02:00
87 changed files with 1164 additions and 529 deletions

View File

@@ -13,6 +13,8 @@ Specification version 1.0 - 24th of September 2020
This specification describes the plugin interface used to display a specific UI on device for Ethereum smart contracts.
Feel free to checkout the ParaSwap plugin to see an actual implementation. Link: https://github.com/LedgerHQ/app-ethereum/blob/named-external-plugins/doc/ethapp_plugins.asc .
## Flow overview
When signing an Ethereum transaction containing data, the Ethereum application looks for a plugin using .either a selector list or the contract address.
@@ -149,7 +151,7 @@ typedef struct ethPluginFinalize_t {
uint8_t *tokenLookup2;
uint8_t *amount; // set an uint256 pointer if uiType is UI_AMOUNT_ADDRESS
uint8_t *address; // set to a 20 bytes address pointer if uiType is UI_AMOUNT_ADDRESS
uint8_t *address; // set to the destination address if uiType is UI_AMOUNT_ADDRESS. Set to the user's address if uiType is UI_TYPE_GENERIC
uint8_t uiType;
uint8_t numScreens; // ignored if uiType is UI_AMOUNT_ADDRESS
@@ -282,7 +284,7 @@ The following return codes are expected, any other will abort the signing proces
When setting a pointer from the plugin space, make sure to use an address that will be accessible from the Ethereum application (typically in the plugin RAM context, *not* on the plugin stack)
Do not use data types that need to be aligned (such as uint32_t) in the plugin context
Do not use data types that need to be aligned (such as uint32_t) in the plugin context.
## TODOs