Merge pull request #127 from LedgerHQ/fix_warning_1.6

Fix compilation warnings for 1.6.1-2 and NanoX sdk
This commit is contained in:
Jean P
2021-03-25 12:42:12 +01:00
committed by GitHub
14 changed files with 48 additions and 24 deletions

View File

@@ -290,7 +290,7 @@ endif
CC := $(CLANGPATH)clang
#CFLAGS += -O0
CFLAGS += -O3 -Os -I/usr/include
CFLAGS += -O3 -Os -I/usr/include -Wno-format-invalid-specifier -Wno-format-extra-args -Wno-main
AS := $(GCCPATH)arm-none-eabi-gcc

View File

@@ -64,13 +64,13 @@ int eth_plugin_perform_init(uint8_t *contractAddress, ethPluginInitContract_t *i
PRINTF("Selector %.*H\n", 4, init->selector);
for (i = 0;; i++) {
uint8_t j;
selectors = PIC(INTERNAL_ETH_PLUGINS[i].selectors);
selectors = (const uint8_t **) PIC(INTERNAL_ETH_PLUGINS[i].selectors);
if (selectors == NULL) {
break;
}
for (j = 0; ((j < INTERNAL_ETH_PLUGINS[i].num_selectors) && (contractAddress != NULL));
j++) {
if (memcmp(init->selector, PIC(selectors[j]), SELECTOR_SIZE) == 0) {
if (memcmp(init->selector, (const void *) PIC(selectors[j]), SELECTOR_SIZE) == 0) {
if ((INTERNAL_ETH_PLUGINS[i].availableCheck == NULL) ||
((PluginAvailableCheck) PIC(INTERNAL_ETH_PLUGINS[i].availableCheck))()) {
strcpy(dataContext.tokenContext.pluginName, INTERNAL_ETH_PLUGINS[i].alias);

View File

@@ -92,28 +92,32 @@ const uint8_t* const STARKWARE_SELECTORS[NUM_STARKWARE_SELECTORS] = {
const internalEthPlugin_t const INTERNAL_ETH_PLUGINS[] = {
{erc20_plugin_available_check,
ERC20_SELECTORS,
(const uint8_t**) ERC20_SELECTORS,
NUM_ERC20_SELECTORS,
"-erc20",
erc20_plugin_call},
{erc721_plugin_available_check,
ERC721_SELECTORS,
(const uint8_t**) ERC721_SELECTORS,
NUM_ERC721_SELECTORS,
"-er721",
erc721_plugin_call},
{NULL, COMPOUND_SELECTORS, NUM_COMPOUND_SELECTORS, "-cmpd", compound_plugin_call},
{NULL,
(const uint8_t**) COMPOUND_SELECTORS,
NUM_COMPOUND_SELECTORS,
"-cmpd",
compound_plugin_call},
#ifdef HAVE_ETH2
{NULL, ETH2_SELECTORS, NUM_ETH2_SELECTORS, "-eth2", eth2_plugin_call},
{NULL, (const uint8_t**) ETH2_SELECTORS, NUM_ETH2_SELECTORS, "-eth2", eth2_plugin_call},
#endif
#ifdef HAVE_STARKWARE
{NULL, STARKWARE_SELECTORS, 10, "-strk", starkware_plugin_call},
{NULL, (const uint8_t**) STARKWARE_SELECTORS, 10, "-strk", starkware_plugin_call},
#endif

View File

@@ -4,6 +4,7 @@
#endif
#include "ui_callbacks.h"
#include "eth_plugin_handler.h"
#include "ux.h"
typedef enum {

View File

@@ -5,6 +5,7 @@
#include "uint256.h"
#include "string.h"
#include <stdint.h>
#include <os.h>
int handle_get_printable_amount(get_printable_amount_parameters_t* params, chain_config_t* config) {
uint8_t decimals;

View File

@@ -54,8 +54,10 @@ bool called_from_swap;
#ifdef HAVE_STARKWARE
bool quantumSet;
#endif
#ifdef HAVE_ETH2
uint32_t eth2WithdrawalIndex;
#include "withdrawal_index.h"
#endif
#include "ux.h"

View File

@@ -16,6 +16,7 @@
********************************************************************************/
#include <stdint.h>
#include <string.h>
#include "ethUstream.h"
#include "ethUtils.h"

View File

@@ -18,7 +18,7 @@
// Adapted from https://github.com/calccrypto/uint256_t
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "uint256.h"

View File

@@ -23,8 +23,11 @@ void getEth2PublicKey(uint32_t *bip32Path, uint8_t bip32PathLength, uint8_t *out
io_seproxyhal_io_heartbeat();
memset(tmp, 0, 48);
memmove(tmp + 16, privateKeyData, 32);
cx_ecfp_init_private_key(CX_CURVE_BLS12_381_G1, tmp, 48, &privateKey);
cx_ecfp_generate_pair(CX_CURVE_BLS12_381_G1, &publicKey, &privateKey, 1);
cx_ecfp_init_private_key(CX_CURVE_BLS12_381_G1, tmp, 48, (cx_ecfp_private_key_t *) &privateKey);
cx_ecfp_generate_pair(CX_CURVE_BLS12_381_G1,
(cx_ecfp_public_key_t *) &publicKey,
(cx_ecfp_private_key_t *) &privateKey,
1);
explicit_bzero(tmp, 96);
explicit_bzero((void *) &privateKey, sizeof(cx_ecfp_256_extended_private_key_t));
tmp[47] = 2;

View File

@@ -0,0 +1,8 @@
#include "stdint.h"
void handleSetEth2WithdrawalIndex(uint8_t p1,
uint8_t p2,
uint8_t *dataBuffer,
uint16_t dataLength,
unsigned int *flags,
unsigned int *tx);

View File

@@ -3,10 +3,6 @@
#include "utils.h"
#include "ui_flow.h"
static const char const SIGN_MAGIC[] =
"\x19"
"Ethereum Signed Message:\n";
void handleSignEIP712Message(uint8_t p1,
uint8_t p2,
uint8_t *workBuffer,

View File

@@ -158,10 +158,10 @@ void compound_plugin_call(int message, void *parameters) {
case COMPOUND_REDEEM_UNDERLYING:
case COMPOUND_MINT:
case CETH_MINT:
msg->result =
get_underlying_asset_decimals(context->ticker_1, &context->decimals)
? ETH_PLUGIN_RESULT_OK
: ETH_PLUGIN_RESULT_FALLBACK;
msg->result = get_underlying_asset_decimals((char *) &context->ticker_1,
&context->decimals)
? ETH_PLUGIN_RESULT_OK
: ETH_PLUGIN_RESULT_FALLBACK;
break;
// Only case where we use the compound contract decimals

View File

@@ -98,7 +98,6 @@ void erc721_plugin_call(int message, void *parameters) {
case ETH_PLUGIN_PROVIDE_TOKEN: {
ethPluginProvideToken_t *msg = (ethPluginProvideToken_t *) parameters;
erc721_parameters_t *context = (erc721_parameters_t *) msg->pluginContext;
PRINTF("erc721 plugin provide token dest: %d - address: %d\n",
(msg->token1 != NULL),
(msg->token2 != NULL));

View File

@@ -2,6 +2,8 @@
#include "eth_plugin_interface.h"
#include "shared_context.h" // TODO : rewrite as independant code
#include "eth_plugin_internal.h" // TODO : rewrite as independant code
#include "stark_utils.h"
#include "utils.h"
#ifdef HAVE_STARKWARE
@@ -156,7 +158,6 @@ typedef struct starkware_parameters_t {
bool is_deversify_contract(const uint8_t *address) {
uint32_t offset = 0;
uint8_t size = DEVERSIFI_CONTRACT[0];
uint8_t i;
for (i = 0; i < DEVERSIFI_CONTRACT[0]; i++) {
@@ -231,7 +232,10 @@ void starkware_print_stark_key(uint8_t *starkKey, char *destination) {
void starkware_print_eth_address(uint8_t *address, char *destination) {
destination[0] = '0';
destination[1] = 'x';
getEthAddressStringFromBinary(address, destination + 2, &global_sha3, chainConfig);
getEthAddressStringFromBinary(address,
(uint8_t *) (destination + 2),
&global_sha3,
chainConfig);
destination[42] = '\0';
}
@@ -313,7 +317,10 @@ void starkware_get_source_address(char *destination) {
io_seproxyhal_io_heartbeat();
destination[0] = '0';
destination[1] = 'x';
getEthAddressStringFromKey(&publicKey, destination + 2, &global_sha3, chainConfig);
getEthAddressStringFromKey(&publicKey,
(uint8_t *) (destination + 2),
&global_sha3,
chainConfig);
destination[42] = '\0';
}
@@ -325,7 +332,9 @@ void starkware_plugin_call(int message, void *parameters) {
starkware_parameters_t *context = (starkware_parameters_t *) msg->pluginContext;
PRINTF("starkware plugin init\n");
for (i = 0; i < NUM_STARKWARE_SELECTORS; i++) {
if (memcmp(PIC(STARKWARE_SELECTORS[i]), msg->selector, SELECTOR_SIZE) == 0) {
if (memcmp((const void *) PIC(STARKWARE_SELECTORS[i]),
msg->selector,
SELECTOR_SIZE) == 0) {
context->selectorIndex = i;
break;
}