Light integration (#334)
* adding XDC * adding meter * adding multivac * adding id4good * adding tecracoin * minor typo * adding apothem * adding apothem 2 * apothem and tecratestnet on network.c * fix nettwork.c * 1st additions * last additions * adding fix from develop * update apothem coin name * removing id4good * adding Cronos
BIN
icons/nanos_app_apothemnetwork.gif
Normal file
|
After Width: | Height: | Size: 67 B |
BIN
icons/nanos_app_meter.gif
Normal file
|
After Width: | Height: | Size: 84 B |
BIN
icons/nanos_app_multivac.gif
Normal file
|
After Width: | Height: | Size: 75 B |
BIN
icons/nanos_app_tecracoin.gif
Executable file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
icons/nanos_app_tecratestnet.gif
Executable file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
icons/nanos_app_xdcnetwork.gif
Normal file
|
After Width: | Height: | Size: 67 B |
BIN
icons/nanox_app_apothemnetwork.gif
Normal file
|
After Width: | Height: | Size: 65 B |
BIN
icons/nanox_app_meter.gif
Normal file
|
After Width: | Height: | Size: 79 B |
BIN
icons/nanox_app_multivac.gif
Normal file
|
After Width: | Height: | Size: 74 B |
BIN
icons/nanox_app_tecracoin.gif
Executable file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
icons/nanox_app_tecratestnet.gif
Executable file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
icons/nanox_app_xdcnetwork.gif
Normal file
|
After Width: | Height: | Size: 65 B |
3
makefile_conf/chain/apothemnetwork.mk
Normal file
@@ -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"
|
||||
3
makefile_conf/chain/meter.mk
Normal file
@@ -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"
|
||||
3
makefile_conf/chain/multivac.mk
Normal file
@@ -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"
|
||||
3
makefile_conf/chain/tecracoin.mk
Normal file
@@ -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"
|
||||
3
makefile_conf/chain/tecratestnet.mk
Normal file
@@ -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"
|
||||
3
makefile_conf/chain/xdcnetwork.mk
Normal file
@@ -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"
|
||||
@@ -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 {
|
||||
|
||||
30
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;
|
||||
|
||||
10
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
|
||||
|
||||
10
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 */
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||