diff --git a/Makefile.genericwallet b/Makefile.genericwallet index 37a4979..43cbaec 100755 --- a/Makefile.genericwallet +++ b/Makefile.genericwallet @@ -42,6 +42,10 @@ DEFINES += CHAINID_UPCASE=\"ETHEREUM\" CHAINID_COINNAME=\"ETH\" CHAIN_KIND=CHAIN APPNAME = "Ethereum" DEFINES_LIB= APP_LOAD_FLAGS=--appFlags 0x840 +else ifeq ($(CHAIN),ellaism) +APP_LOAD_PARAMS += --path "44'/163'" +DEFINES += CHAINID_UPCASE=\"ELLA\" CHAINID_COINNAME=\"ELLA\" CHAIN_KIND=CHAIN_KIND_ELLAISM CHAIN_ID=64 +APPNAME = "Ellaism" else ifeq ($(CHAIN),ethereum_classic) APP_LOAD_PARAMS += --path "44'/61'" DEFINES += CHAINID_UPCASE=\"ETC\" CHAINID_COINNAME=\"ETC\" CHAIN_KIND=CHAIN_KIND_ETHEREUM_CLASSIC CHAIN_ID=61 @@ -92,7 +96,7 @@ DEFINES += CHAINID_UPCASE=\"CALLISTO\" CHAINID_COINNAME=\"CLO\" CHAIN_KIND=CHAIN APPNAME = "Callisto" else ifeq ($(filter clean,$(MAKECMDGOALS)),) -$(error Unsupported CHAIN - use ethereum, ethereum_classic, expanse, poa, rsk, rsk_testnet, ubiq, wanchain, kusd) +$(error Unsupported CHAIN - use ethereum, ellaism, ethereum_classic, expanse, poa, rsk, rsk_testnet, ubiq, wanchain, kusd) endif endif diff --git a/blue_app_ellaism.gif b/blue_app_ellaism.gif new file mode 100644 index 0000000..1c3d854 Binary files /dev/null and b/blue_app_ellaism.gif differ diff --git a/glyphs/blue_badge_ellaism.gif b/glyphs/blue_badge_ellaism.gif new file mode 100644 index 0000000..d90ae1b Binary files /dev/null and b/glyphs/blue_badge_ellaism.gif differ diff --git a/glyphs/nanos_badge_ellaism.gif b/glyphs/nanos_badge_ellaism.gif new file mode 100644 index 0000000..d07bad7 Binary files /dev/null and b/glyphs/nanos_badge_ellaism.gif differ diff --git a/nanos_app_ellaism.gif b/nanos_app_ellaism.gif new file mode 100644 index 0000000..51f8692 Binary files /dev/null and b/nanos_app_ellaism.gif differ diff --git a/src_genericwallet/chainConfig.h b/src_genericwallet/chainConfig.h index f14a1bb..8d9c8b2 100644 --- a/src_genericwallet/chainConfig.h +++ b/src_genericwallet/chainConfig.h @@ -16,7 +16,8 @@ typedef enum chain_kind_e { CHAIN_KIND_PIRL, CHAIN_KIND_AKROMA, CHAIN_KIND_MUSICOIN, - CHAIN_KIND_CALLISTO + CHAIN_KIND_CALLISTO, + CHAIN_KIND_ELLAISM } chain_kind_t; typedef struct chain_config_s { diff --git a/src_genericwallet/main.c b/src_genericwallet/main.c index 45eaefd..ab462fd 100644 --- a/src_genericwallet/main.c +++ b/src_genericwallet/main.c @@ -1266,6 +1266,9 @@ void handleSign(uint8_t p1, uint8_t p2, uint8_t *workBuffer, uint16_t dataLength case CHAIN_KIND_ETHEREUM: numTokens = NUM_TOKENS_ETHEREUM; break; + case CHAIN_KIND_ELLAISM: + numTokens = NUM_TOKENS_ELLAISM; + break; case CHAIN_KIND_ETHEREUM_CLASSIC: numTokens = NUM_TOKENS_ETHEREUM_CLASSIC; break; @@ -1306,6 +1309,9 @@ void handleSign(uint8_t p1, uint8_t p2, uint8_t *workBuffer, uint16_t dataLength case CHAIN_KIND_ETHEREUM: currentToken = PIC(&TOKENS_ETHEREUM[i]); break; + case CHAIN_KIND_ELLAISM: + currentToken = PIC(&TOKENS_ELLAISM[i]); + break; case CHAIN_KIND_ETHEREUM_CLASSIC: currentToken = PIC(&TOKENS_ETHEREUM_CLASSIC[i]); break; diff --git a/src_genericwallet/tokens.c b/src_genericwallet/tokens.c index 163b9df..0a5bc06 100644 --- a/src_genericwallet/tokens.c +++ b/src_genericwallet/tokens.c @@ -699,6 +699,10 @@ const tokenDefinition_t const TOKENS_ETHEREUM[NUM_TOKENS_ETHEREUM] = { {{0xe3,0x86,0xb1,0x39,0xed,0x37,0x15,0xca,0x4b,0x18,0xfd,0x52,0x67,0x1b,0xdc,0xea,0x1c,0xdf,0xe4,0xb1}, "ZST ", 8}, }; +const tokenDefinition_t const TOKENS_ELLAISM[NUM_TOKENS_ELLAISM] = { + {{0x99,0x1e,0x7f,0xe4,0xb0,0x5f,0x2b,0x3d,0xb1,0xd7,0x88,0xe7,0x05,0x96,0x3f,0x5d,0x64,0x7b,0x00,0x44}, "MINING", 18}, +}; + const tokenDefinition_t const TOKENS_ETHEREUM_CLASSIC[NUM_TOKENS_ETHEREUM_CLASSIC] = {}; const tokenDefinition_t const TOKENS_PIRL[NUM_TOKENS_PIRL] = {}; diff --git a/src_genericwallet/tokens.h b/src_genericwallet/tokens.h index ac26422..eecfef6 100644 --- a/src_genericwallet/tokens.h +++ b/src_genericwallet/tokens.h @@ -24,6 +24,7 @@ typedef struct tokenDefinition_t { } tokenDefinition_t; #define NUM_TOKENS_AKROMA 0 +#define NUM_TOKENS_ELLAISM 1 #define NUM_TOKENS_ETHEREUM 677 #define NUM_TOKENS_ETHEREUM_CLASSIC 0 #define NUM_TOKENS_PIRL 0 @@ -37,6 +38,7 @@ typedef struct tokenDefinition_t { #define NUM_TOKENS_CALLISTO 0 extern tokenDefinition_t const TOKENS_AKROMA[NUM_TOKENS_AKROMA]; +extern tokenDefinition_t const TOKENS_ELLAISM[NUM_TOKENS_ELLAISM]; extern tokenDefinition_t const TOKENS_ETHEREUM[NUM_TOKENS_ETHEREUM]; extern tokenDefinition_t const TOKENS_ETHEREUM_CLASSIC[NUM_TOKENS_ETHEREUM_CLASSIC]; extern tokenDefinition_t const TOKENS_PIRL[NUM_TOKENS_PIRL];