diff --git a/icons/nanos_app_oasys.gif b/icons/nanos_app_oasys.gif new file mode 100644 index 0000000..e43f394 Binary files /dev/null and b/icons/nanos_app_oasys.gif differ diff --git a/icons/nanox_app_oasys.gif b/icons/nanox_app_oasys.gif new file mode 100644 index 0000000..cfb4ea4 Binary files /dev/null and b/icons/nanox_app_oasys.gif differ diff --git a/makefile_conf/chain/oasys.mk b/makefile_conf/chain/oasys.mk new file mode 100644 index 0000000..0e2dc18 --- /dev/null +++ b/makefile_conf/chain/oasys.mk @@ -0,0 +1,3 @@ +APP_LOAD_PARAMS += --path "44'/685'" --path "44'/60'" +DEFINES += CHAINID_UPCASE=\"OASYS\" CHAINID_COINNAME=\"OAS\" CHAIN_KIND=CHAIN_KIND_OASYS CHAIN_ID=248 +APPNAME = "Oasys" diff --git a/src/chainConfig.h b/src/chainConfig.h index fd09ed2..070de49 100644 --- a/src/chainConfig.h +++ b/src/chainConfig.h @@ -73,7 +73,8 @@ typedef enum chain_kind_e { CHAIN_KIND_MULTIVAC, CHAIN_KIND_TECRA, CHAIN_KIND_APOTHEMNETWORK, - CHAIN_KIND_ID4GOOD + CHAIN_KIND_ID4GOOD, + CHAIN_KIND_OASYS } chain_kind_t; typedef struct chain_config_s { diff --git a/src/main.c b/src/main.c index 56a7f6b..3ba8bd6 100644 --- a/src/main.c +++ b/src/main.c @@ -297,6 +297,9 @@ extraInfo_t *getKnownToken(uint8_t *contractAddress) { case CHAIN_KIND_ID4GOOD: numTokens = NUM_TOKENS_ID4GOOD; break; + case CHAIN_KIND_OASYS: + numTokens = NUM_TOKENS_OASYS; + break; } for (i = 0; i < numTokens; i++) { switch (chainConfig->kind) { @@ -453,6 +456,9 @@ extraInfo_t *getKnownToken(uint8_t *contractAddress) { case CHAIN_KIND_ID4GOOD: currentToken = (tokenDefinition_t *) PIC(&TOKENS_ID4GOOD[i]); break; + case CHAIN_KIND_OASYS: + currentToken = (tokenDefinition_t *) PIC(&TOKENS_OASYS[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 8916c0e..e17e482 100644 --- a/src/tokens.c +++ b/src/tokens.c @@ -222,4 +222,6 @@ const tokenDefinition_t const TOKENS_TECRA[NUM_TOKENS_TECRA] = {}; const tokenDefinition_t const TOKENS_APOTHEMNETWORK[NUM_TOKENS_APOTHEMNETWORK] = {}; +const tokenDefinition_t const TOKENS_OASYS[NUM_TOKENS_OASYS] = {}; + #endif diff --git a/src/tokens.h b/src/tokens.h index 7eecde1..1a261c3 100644 --- a/src/tokens.h +++ b/src/tokens.h @@ -125,6 +125,7 @@ static const uint8_t LEDGER_SIGNATURE_PUBLIC_KEY[] = { #define NUM_TOKENS_MULTIVAC 0 #define NUM_TOKENS_TECRA 0 #define NUM_TOKENS_APOTHEMNETWORK 0 +#define NUM_TOKENS_OASYS 0 extern tokenDefinition_t const TOKENS_AKROMA[NUM_TOKENS_AKROMA]; extern tokenDefinition_t const TOKENS_ELLAISM[NUM_TOKENS_ELLAISM]; @@ -175,6 +176,7 @@ 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]; +extern tokenDefinition_t const TOKENS_OASYS[NUM_TOKENS_OASYS]; #endif /* HAVE_TOKENS_LIST */ diff --git a/src_common/network.c b/src_common/network.c index 84e08dd..f0dc4d1 100644 --- a/src_common/network.c +++ b/src_common/network.c @@ -61,7 +61,8 @@ static const network_info_t NETWORK_MAPPING[] = { {.chain_id = 57, .name = "Syscoin", .ticker = "SYS"}, {.chain_id = 106, .name = "Velas EVM", .ticker = "VLX"}, {.chain_id = 288, .name = "Boba Network", .ticker = "ETH"}, - {.chain_id = 39797, .name = "Energi", .ticker = "NRG"}}; + {.chain_id = 39797, .name = "Energi", .ticker = "NRG"}, + {.chain_id = 248, .name = "Oasys", .ticker = "OAS"}}; uint64_t get_chain_id(void) { uint64_t chain_id = 0;