diff --git a/icons/nanos_app_apothemnetwork.gif b/icons/nanos_app_apothemnetwork.gif new file mode 100644 index 0000000..cccda60 Binary files /dev/null and b/icons/nanos_app_apothemnetwork.gif differ diff --git a/icons/nanos_app_meter.gif b/icons/nanos_app_meter.gif new file mode 100644 index 0000000..7da65b4 Binary files /dev/null and b/icons/nanos_app_meter.gif differ diff --git a/icons/nanos_app_multivac.gif b/icons/nanos_app_multivac.gif new file mode 100644 index 0000000..f8853eb Binary files /dev/null and b/icons/nanos_app_multivac.gif differ diff --git a/icons/nanos_app_tecracoin.gif b/icons/nanos_app_tecracoin.gif new file mode 100755 index 0000000..367ccf4 Binary files /dev/null and b/icons/nanos_app_tecracoin.gif differ diff --git a/icons/nanos_app_tecratestnet.gif b/icons/nanos_app_tecratestnet.gif new file mode 100755 index 0000000..367ccf4 Binary files /dev/null and b/icons/nanos_app_tecratestnet.gif differ diff --git a/icons/nanos_app_xdcnetwork.gif b/icons/nanos_app_xdcnetwork.gif new file mode 100644 index 0000000..cccda60 Binary files /dev/null and b/icons/nanos_app_xdcnetwork.gif differ diff --git a/icons/nanox_app_apothemnetwork.gif b/icons/nanox_app_apothemnetwork.gif new file mode 100644 index 0000000..387354d Binary files /dev/null and b/icons/nanox_app_apothemnetwork.gif differ diff --git a/icons/nanox_app_meter.gif b/icons/nanox_app_meter.gif new file mode 100644 index 0000000..d67c25f Binary files /dev/null and b/icons/nanox_app_meter.gif differ diff --git a/icons/nanox_app_multivac.gif b/icons/nanox_app_multivac.gif new file mode 100644 index 0000000..77bf0f0 Binary files /dev/null and b/icons/nanox_app_multivac.gif differ diff --git a/icons/nanox_app_tecracoin.gif b/icons/nanox_app_tecracoin.gif new file mode 100755 index 0000000..596fa38 Binary files /dev/null and b/icons/nanox_app_tecracoin.gif differ diff --git a/icons/nanox_app_tecratestnet.gif b/icons/nanox_app_tecratestnet.gif new file mode 100755 index 0000000..596fa38 Binary files /dev/null and b/icons/nanox_app_tecratestnet.gif differ diff --git a/icons/nanox_app_xdcnetwork.gif b/icons/nanox_app_xdcnetwork.gif new file mode 100644 index 0000000..387354d Binary files /dev/null and b/icons/nanox_app_xdcnetwork.gif differ diff --git a/makefile_conf/chain/apothemnetwork.mk b/makefile_conf/chain/apothemnetwork.mk new file mode 100644 index 0000000..23816b5 --- /dev/null +++ b/makefile_conf/chain/apothemnetwork.mk @@ -0,0 +1,3 @@ +APP_LOAD_PARAMS += --path "44'/550'" +DEFINES += CHAINID_UPCASE=\"APOTHEMNETWORK\" CHAINID_COINNAME=\"TXDC\" CHAIN_KIND=CHAIN_KIND_APOTHEMNETWORK CHAIN_ID=51 +APPNAME = "ApothemNetwork" diff --git a/makefile_conf/chain/meter.mk b/makefile_conf/chain/meter.mk new file mode 100644 index 0000000..fcf2f36 --- /dev/null +++ b/makefile_conf/chain/meter.mk @@ -0,0 +1,3 @@ +APP_LOAD_PARAMS += --path "44'/60'" +DEFINES += CHAINID_UPCASE=\"METER\" CHAINID_COINNAME=\"MTR\" CHAIN_KIND=CHAIN_KIND_METER CHAIN_ID=82 +APPNAME = "Meter" \ No newline at end of file diff --git a/makefile_conf/chain/multivac.mk b/makefile_conf/chain/multivac.mk new file mode 100644 index 0000000..043299b --- /dev/null +++ b/makefile_conf/chain/multivac.mk @@ -0,0 +1,3 @@ +APP_LOAD_PARAMS += --path "44'/60'" +DEFINES += CHAINID_UPCASE=\"MULTIVAC\" CHAINID_COINNAME=\"MTV\" CHAIN_KIND=CHAIN_KIND_MULTIVAC CHAIN_ID=62621 +APPNAME = "MultiVAC" diff --git a/makefile_conf/chain/tecracoin.mk b/makefile_conf/chain/tecracoin.mk new file mode 100644 index 0000000..e51df37 --- /dev/null +++ b/makefile_conf/chain/tecracoin.mk @@ -0,0 +1,3 @@ +APP_LOAD_PARAMS += --path "44'/554'" --path "44'/60'" +DEFINES += CHAINID_UPCASE=\"TECRA\" CHAINID_COINNAME=\"TCR\" CHAIN_KIND=CHAIN_KIND_TECRA CHAIN_ID=20531812 +APPNAME = "TecraCoin" \ No newline at end of file diff --git a/makefile_conf/chain/tecratestnet.mk b/makefile_conf/chain/tecratestnet.mk new file mode 100644 index 0000000..8091b89 --- /dev/null +++ b/makefile_conf/chain/tecratestnet.mk @@ -0,0 +1,3 @@ +APP_LOAD_PARAMS += --path "44'/554'" --path "44'/60'" +DEFINES += CHAINID_UPCASE=\"TECRATESTNET\" CHAINID_COINNAME=\"TCR\" CHAIN_KIND=CHAIN_KIND_TECRA CHAIN_ID=20531811 +APPNAME = "TecraTestnet" \ No newline at end of file diff --git a/makefile_conf/chain/xdcnetwork.mk b/makefile_conf/chain/xdcnetwork.mk new file mode 100644 index 0000000..0bea527 --- /dev/null +++ b/makefile_conf/chain/xdcnetwork.mk @@ -0,0 +1,3 @@ +APP_LOAD_PARAMS += --path "44'/550'" +DEFINES += CHAINID_UPCASE=\"XDCNETWORK\" CHAINID_COINNAME=\"XDC\" CHAIN_KIND=CHAIN_KIND_XDCNETWORK CHAIN_ID=50 +APPNAME = "XDC Network" \ No newline at end of file diff --git a/src/chainConfig.h b/src/chainConfig.h index 155e335..ab91aa6 100644 --- a/src/chainConfig.h +++ b/src/chainConfig.h @@ -67,7 +67,12 @@ typedef enum chain_kind_e { CHAIN_KIND_OKC, CHAIN_KIND_CUBE, CHAIN_KIND_SHIDEN, - CHAIN_KIND_ASTAR + CHAIN_KIND_ASTAR, + CHAIN_KIND_XDCNETWORK, + CHAIN_KIND_METER, + CHAIN_KIND_MULTIVAC, + CHAIN_KIND_TECRA, + CHAIN_KIND_APOTHEMNETWORK } chain_kind_t; typedef struct chain_config_s { diff --git a/src/main.c b/src/main.c index 45db4c8..cf99d6f 100644 --- a/src/main.c +++ b/src/main.c @@ -277,6 +277,21 @@ extraInfo_t *getKnownToken(uint8_t *contractAddress) { case CHAIN_KIND_ASTAR: numTokens = NUM_TOKENS_ASTAR; break; + case CHAIN_KIND_XDCNETWORK: + numTokens = NUM_TOKENS_XDCNETWORK; + break; + case CHAIN_KIND_METER: + numTokens = NUM_TOKENS_METER; + break; + case CHAIN_KIND_MULTIVAC: + numTokens = NUM_TOKENS_MULTIVAC; + break; + case CHAIN_KIND_TECRA: + numTokens = NUM_TOKENS_TECRA; + break; + case CHAIN_KIND_APOTHEMNETWORK: + numTokens = NUM_TOKENS_APOTHEMNETWORK; + break; } for (i = 0; i < numTokens; i++) { switch (chainConfig->kind) { @@ -415,6 +430,21 @@ extraInfo_t *getKnownToken(uint8_t *contractAddress) { case CHAIN_KIND_ASTAR: currentToken = (tokenDefinition_t *) PIC(&TOKENS_ASTAR[i]); break; + case CHAIN_KIND_XDCNETWORK: + currentToken = (tokenDefinition_t *) PIC(&TOKENS_XDCNETWORK[i]); + break; + case CHAIN_KIND_METER: + currentToken = (tokenDefinition_t *) PIC(&TOKENS_METER[i]); + break; + case CHAIN_KIND_MULTIVAC: + currentToken = (tokenDefinition_t *) PIC(&TOKENS_MULTIVAC[i]); + break; + case CHAIN_KIND_TECRA: + currentToken = (tokenDefinition_t *) PIC(&TOKENS_TECRA[i]); + break; + case CHAIN_KIND_APOTHEMNETWORK: + currentToken = (tokenDefinition_t *) PIC(&TOKENS_APOTHEMNETWORK[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 b26771c..ed5ce27 100644 --- a/src/tokens.c +++ b/src/tokens.c @@ -212,4 +212,14 @@ const tokenDefinition_t const TOKENS_ASTAR[NUM_TOKENS_ASTAR] = {}; const tokenDefinition_t const TOKENS_SHIDEN[NUM_TOKENS_SHIDEN] = {}; +const tokenDefinition_t const TOKENS_XDCNETWORK[NUM_TOKENS_XDCNETWORK] = {}; + +const tokenDefinition_t const TOKENS_METER[NUM_TOKENS_METER] = {}; + +const tokenDefinition_t const TOKENS_MULTIVAC[NUM_TOKENS_MULTIVAC] = {}; + +const tokenDefinition_t const TOKENS_TECRA[NUM_TOKENS_TECRA] = {}; + +const tokenDefinition_t const TOKENS_APOTHEMNETWORK[NUM_TOKENS_APOTHEMNETWORK] = {}; + #endif diff --git a/src/tokens.h b/src/tokens.h index 318edad..9da9a22 100644 --- a/src/tokens.h +++ b/src/tokens.h @@ -110,6 +110,11 @@ static const uint8_t LEDGER_SIGNATURE_PUBLIC_KEY[] = { #define NUM_TOKENS_CUBE 0 #define NUM_TOKENS_ASTAR 0 #define NUM_TOKENS_SHIDEN 0 +#define NUM_TOKENS_XDCNETWORK 0 +#define NUM_TOKENS_METER 0 +#define NUM_TOKENS_MULTIVAC 0 +#define NUM_TOKENS_TECRA 0 +#define NUM_TOKENS_APOTHEMNETWORK 0 extern tokenDefinition_t const TOKENS_AKROMA[NUM_TOKENS_AKROMA]; extern tokenDefinition_t const TOKENS_ELLAISM[NUM_TOKENS_ELLAISM]; @@ -155,6 +160,11 @@ extern tokenDefinition_t const TOKENS_WETHIO[NUM_TOKENS_WETHIO]; extern tokenDefinition_t const TOKENS_CUBE[NUM_TOKENS_CUBE]; extern tokenDefinition_t const TOKENS_ASTAR[NUM_TOKENS_ASTAR]; extern tokenDefinition_t const TOKENS_SHIDEN[NUM_TOKENS_SHIDEN]; +extern tokenDefinition_t const TOKENS_XDCNETWORK[NUM_TOKENS_XDCNETWORK]; +extern tokenDefinition_t const TOKENS_METER[NUM_TOKENS_METER]; +extern tokenDefinition_t const TOKENS_MULTIVAC[NUM_TOKENS_MULTIVAC]; +extern tokenDefinition_t const TOKENS_TECRA[NUM_TOKENS_TECRA]; +extern tokenDefinition_t const TOKENS_APOTHEMNETWORK[NUM_TOKENS_APOTHEMNETWORK]; #endif /* HAVE_TOKENS_LIST */ diff --git a/src_common/network.c b/src_common/network.c index 2d090b9..5bd29f7 100644 --- a/src_common/network.c +++ b/src_common/network.c @@ -27,7 +27,28 @@ const network_info_t NETWORK_MAPPING[] = { {.chain_id = 11297108109, .name = "Palm Network", .ticker = "PALM "}, {.chain_id = 1818, .name = "Cube", .ticker = "CUBE "}, {.chain_id = 336, .name = "Shiden", .ticker = "SDN "}, - {.chain_id = 592, .name = "Astar", .ticker = "ASTR "}}; + {.chain_id = 592, .name = "Astar", .ticker = "ASTR "}, + {.chain_id = 50, .name = "XDC", .ticker = "XDC "}, + {.chain_id = 82, .name = "Meter", .ticker = "MTR "}, + {.chain_id = 62621, .name = "Multivac", .ticker = "MTV "}, + {.chain_id = 20531812, .name = "Tecra", .ticker = "TCR "}, + {.chain_id = 20531811, .name = "TecraTestnet", .ticker = "TCR "}, + {.chain_id = 51, .name = "Apothemnetwork", .ticker = "XDC "}, + {.chain_id = 199, .name = "BTTC", .ticker = "BTT "}, + {.chain_id = 1030, .name = "Conflux", .ticker = "CFX "}, + {.chain_id = 61, .name = "Ethereum Classic", .ticker = "ETC "}, + {.chain_id = 246, .name = "EnergyWebChain", .ticker = "EWC "}, + {.chain_id = 14, .name = "Flare", .ticker = "FLR "}, + {.chain_id = 16, .name = "Flare Coston", .ticker = "FLR "}, + {.chain_id = 24, .name = "KardiaChain", .ticker = "KAI "}, + {.chain_id = 1284, .name = "Moonbeam", .ticker = "GLMR "}, + {.chain_id = 1285, .name = "Moonriver", .ticker = "MOVR "}, + {.chain_id = 66, .name = "OKXChain", .ticker = "OKT "}, + {.chain_id = 99, .name = "POA", .ticker = "POA "}, + {.chain_id = 7341, .name = "Shyft", .ticker = "SHFT "}, + {.chain_id = 19, .name = "Songbird", .ticker = "SGB "}, + {.chain_id = 73799, .name = "Volta", .ticker = "VOLTA "}, + {.chain_id = 25, .name = "Cronos", .ticker = "CRO "}}; uint64_t get_chain_id(void) { uint64_t chain_id = 0;