From 61e7d174428fd1c3866026075a1d790a7a4484fe Mon Sep 17 00:00:00 2001 From: pscott Date: Tue, 15 Jun 2021 11:15:01 +0200 Subject: [PATCH] Add bsc variant --- Makefile | 4 ++++ ethereum-plugin-sdk | 2 +- src/chainConfig.h | 3 ++- src/main.c | 6 ++++++ src/tokens.c | 2 ++ src/tokens.h | 2 ++ 6 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index bfd27bf..dd46397 100755 --- a/Makefile +++ b/Makefile @@ -200,6 +200,10 @@ else ifeq ($(CHAIN),theta) APP_LOAD_PARAMS += --path "44'/500'" --path "44'/60'" DEFINES += CHAINID_UPCASE=\"THETA\" CHAINID_COINNAME=\"THETA\" CHAIN_KIND=CHAIN_KIND_THETA CHAIN_ID=500 APPNAME = "Theta" +else ifeq ($(CHAIN),bsc) +APP_LOAD_PARAMS += --path "44'/60'" +DEFINES += CHAINID_UPCASE=\"BSC\" CHAINID_COINNAME=\"BNB\" CHAIN_KIND=CHAIN_KIND_BSC CHAIN_ID=56 +APPNAME = "Binance Smart Chain" else ifeq ($(filter clean,$(MAKECMDGOALS)),) $(error Unsupported CHAIN - use ethereum, ropsten, ethereum_classic, expanse, poa, artis_sigma1, artis_tau1, rsk, rsk_testnet, ubiq, wanchain, kusd, musicoin, pirl, akroma, atheios, callisto, ethersocial, ellaism, ether1, ethergem, gochain, mix, reosc, hpb, tomochain, tobalaba, dexon, volta, ewc, webchain, thundercore, flare, flare_coston, theta) diff --git a/ethereum-plugin-sdk b/ethereum-plugin-sdk index 75bf9f4..a232fcd 160000 --- a/ethereum-plugin-sdk +++ b/ethereum-plugin-sdk @@ -1 +1 @@ -Subproject commit 75bf9f421ff7c15cfd92c75f2131ffcc622c44b3 +Subproject commit a232fcd3ca8f3f5ee3c23af16b7621c7604c65a7 diff --git a/src/chainConfig.h b/src/chainConfig.h index 4cbd5ab..a845018 100644 --- a/src/chainConfig.h +++ b/src/chainConfig.h @@ -54,7 +54,8 @@ typedef enum chain_kind_e { CHAIN_KIND_WEBCHAIN, CHAIN_KIND_THUNDERCORE, CHAIN_KIND_FLARE, - CHAIN_KIND_THETA + CHAIN_KIND_THETA, + CHAIN_KIND_BSC } chain_kind_t; typedef struct chain_config_s { diff --git a/src/main.c b/src/main.c index e5344eb..6039069 100644 --- a/src/main.c +++ b/src/main.c @@ -270,6 +270,9 @@ tokenDefinition_t *getKnownToken(uint8_t *contractAddress) { case CHAIN_KIND_THETA: numTokens = NUM_TOKENS_THETA; break; + case CHAIN_KIND_BSC: + numTokens = NUM_TOKENS_BSC; + break; } for (i = 0; i < numTokens; i++) { switch (chainConfig->kind) { @@ -368,6 +371,9 @@ tokenDefinition_t *getKnownToken(uint8_t *contractAddress) { break case CHAIN_KIND_THETA : currentToken = (tokenDefinition_t *) PIC(&TOKENS_THETA[i]); break; + case CHAIN_KIND_BSC: + currentToken = (tokenDefinition_t *) PIC(&TOKENS_BSC[i]); + break; } if (memcmp(currentToken->address, tmpContent.txContent.destination, ADDRESS_LENGTH) == 0) { return currentToken; diff --git a/src/tokens.c b/src/tokens.c index c524a3a..63667e8 100644 --- a/src/tokens.c +++ b/src/tokens.c @@ -4566,4 +4566,6 @@ const tokenDefinition_t const TOKENS_FLARE[NUM_TOKENS_FLARE] = {}; const tokenDefinition_t const TOKENS_THETA[NUM_TOKENS_THETA] = {}; +const tokenDefinition_t const TOKENS_BSC[NUM_TOKENS_BSC] = {}; + #endif diff --git a/src/tokens.h b/src/tokens.h index 8c69127..1deec6f 100644 --- a/src/tokens.h +++ b/src/tokens.h @@ -96,6 +96,7 @@ static const uint8_t const LEDGER_SIGNATURE_PUBLIC_KEY[] = { #define NUM_TOKENS_THUNDERCORE 0 #define NUM_TOKENS_FLARE 0 #define NUM_TOKENS_THETA 0 +#define NUM_TOKENS_BSC 0 extern tokenDefinition_t const TOKENS_AKROMA[NUM_TOKENS_AKROMA]; extern tokenDefinition_t const TOKENS_ELLAISM[NUM_TOKENS_ELLAISM]; @@ -129,6 +130,7 @@ extern tokenDefinition_t const TOKENS_WEBCHAIN[NUM_TOKENS_WEBCHAIN]; extern tokenDefinition_t const TOKENS_THUNDERCORE[NUM_TOKENS_THUNDERCORE]; extern tokenDefinition_t const TOKENS_FLARE[NUM_TOKENS_FLARE]; extern tokenDefinition_t const TOKENS_THETA[NUM_TOKENS_THETA]; +extern tokenDefinition_t const TOKENS_BSC[NUM_TOKENS_BSC]; #endif /* HAVE_TOKENS_LIST */