Share network ticker with plugins (#205)

* Add network ticker to queryContractUI for plugins use

* Update sdk deps

* Bump version 1.9.11

* Fix blockSize error when bytes is optimized by EVM

Co-authored-by: pscott <scott.piriou@ledger.fr>
This commit is contained in:
Jean P
2021-10-28 18:10:21 +02:00
committed by GitHub
parent bee6a57f89
commit 3eeec97efa
6 changed files with 18 additions and 6 deletions

View File

@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
## [1.9.11](https://github.com/ledgerhq/app-ethereum/compare/1.9.10...1.9.11) - 2021-10-12
### Added
- Provide network ticker to plugins (especialy helpful for Paraswap plugin)
## [1.9.10](https://github.com/ledgerhq/app-ethereum/compare/1.9.9...1.9.10) - 2021-10-08
### Added

View File

@@ -30,7 +30,7 @@ APP_LOAD_PARAMS += --path "1517992542'/1101353413'"
APPVERSION_M=1
APPVERSION_N=9
APPVERSION_P=10
APPVERSION_P=11
APPVERSION=$(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P)
APP_LOAD_FLAGS= --appFlags 0x240 --dep Ethereum:$(APPVERSION)

View File

@@ -45,6 +45,9 @@ void eth_plugin_prepare_query_contract_UI(ethQueryContractUI_t *queryContractUI,
uint32_t msgLength) {
memset((uint8_t *) queryContractUI, 0, sizeof(ethQueryContractUI_t));
queryContractUI->screenIndex = screenIndex;
strlcpy(queryContractUI->network_ticker,
get_network_ticker(),
sizeof(queryContractUI->network_ticker));
queryContractUI->title = title;
queryContractUI->titleLength = titleLength;
queryContractUI->msg = msg;

View File

@@ -12,7 +12,8 @@
// Interface version. To be updated everytime we introduce breaking changes to the plugin interface.
typedef enum {
ETH_PLUGIN_INTERFACE_VERSION_1 = 1, // Version 1
ETH_PLUGIN_INTERFACE_VERSION_LATEST = 2,
ETH_PLUGIN_INTERFACE_VERSION_2 = 2,
ETH_PLUGIN_INTERFACE_VERSION_LATEST = 3,
} eth_plugin_interface_version_t;
typedef enum {
@@ -165,6 +166,8 @@ typedef struct ethQueryContractUI_t {
ethPluginSharedRO_t *pluginSharedRO;
uint8_t *pluginContext;
uint8_t screenIndex;
char network_ticker[MAX_TICKER_LEN];
char *title;
size_t titleLength;
char *msg;

View File

@@ -98,10 +98,10 @@ customStatus_e customProcessor(txContext_t *context) {
blockSize = 32 - (dataContext.tokenContext.fieldOffset % 32);
}
// Sanity check
// If the last parameter is of type `bytes` then we might have an
// edge case where the data is not a multiple of 32. Set `blockSize` accordingly
if ((context->currentFieldLength - fieldPos) < blockSize) {
PRINTF("Unconsistent data\n");
return CUSTOM_FAULT;
blockSize = context->currentFieldLength - fieldPos;
}
copySize = (context->commandLength < blockSize ? context->commandLength : blockSize);