From 1fd14b15ebae11456cbc2d2121290c2a6511b6eb Mon Sep 17 00:00:00 2001 From: hackyminer Date: Wed, 1 Aug 2018 08:17:51 +0900 Subject: [PATCH] Add support for Ellaism --- Makefile.genericwallet | 6 +++++- blue_app_ellaism.gif | Bin 0 -> 1369 bytes glyphs/blue_badge_ellaism.gif | Bin 0 -> 1384 bytes glyphs/nanos_badge_ellaism.gif | Bin 0 -> 854 bytes nanos_app_ellaism.gif | Bin 0 -> 851 bytes src_genericwallet/chainConfig.h | 3 ++- src_genericwallet/main.c | 6 ++++++ src_genericwallet/tokens.c | 4 ++++ src_genericwallet/tokens.h | 2 ++ 9 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 blue_app_ellaism.gif create mode 100644 glyphs/blue_badge_ellaism.gif create mode 100644 glyphs/nanos_badge_ellaism.gif create mode 100644 nanos_app_ellaism.gif 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 0000000000000000000000000000000000000000..1c3d854ff48bcdff27bbc46889065ffc89556634 GIT binary patch literal 1369 zcmeH`{WIGK0EfRsFoy+c&AgP3vCgh#>g7~VbYWW7YLeovD`~aEG10lkYnONljh7+R z=H0|wOQ+$KMo7{mLP8KtMI(_kMG}i|60Ya=L)ZQn`(e+0{($E`cTY@gbZ8hh5C{a` z0YDBtHD?-|#kh&1V{_>@f0<6pW8BVT+`-Re6wGG*#J-)uyj94|Dr9CCv3@RQ=Gr{fVBam{+$-bY%Q^T8Zhi%~ppsiu#rv@02fPyU++DQfCmZt7iarLMO1 zt+o${J0DAWhb6rulD;RB{=tp@r>}-a*9U3qkH)0K@Y*MCjDrqN~N)3OQ1=CfJ( zwJTx7dj*gCi|M?F* z;Q!I#V+(-wd*B~yx9>+UyL!9B{b4YG@S+mtWeFRNL|A!e+hoetD@AoshYMsk4UT1h z-YrBAi=_2ksx-exb^FXxEol43xjfc|g*a_(1THuZ>DOG^5rLnC)whmj5Ce)pdDuw| z7Ue^PiZWL6yiiUBj*35u`^`|K7*|fLe?AS~Z}*$IQg&qTW}A}oL+EPv#ncclavTYA z3+ezFic!^%4P1hp%KgsbD@1v4br_z56~}r{Xx@SF9w4Kdb(hx|#Go zv~kkj#+@Qo82(i1h$pGkc*93vuleG(zc)zRpi}Ix&gZaE&+clOZw(jBBBCtHU41#YIgi93n0ZZ#e+JJwfs_Z>CR$EF zYbYfvOfxK*8kN@Amq>zi2Ow{>zB86cygjp@mRYutJ0Q=Nl%W5sR!qMsR&$lT1HK>Yfq)Yb7p>vra1xgsx&tQFffV)tzdLz^>R7Hz`!-ZiEHUm zu|^(Q8xO`X;Z%)@JiH|{n79=CIASZG3wBIQV1D@FVEx?A0_F~Z69tD^H##;vcH}cG zdE%h2A>hDa;Bep&mr=|I2VR%F1yb&7O`qN2GPv`+flIWYOqJXG?o}y&6Phgm~)S=TFukikj3ZogR{ PTR3~I#}hFT0S0RTz|Du% literal 0 HcmV?d00001 diff --git a/glyphs/nanos_badge_ellaism.gif b/glyphs/nanos_badge_ellaism.gif new file mode 100644 index 0000000000000000000000000000000000000000..d07bad78f21251fcab8f6996cba2507ce8fa0f4e GIT binary patch literal 854 zcmZ?wbhEHb%vLdDgVK?SLjH?Fc1~J)x`mOE!5RQmV;k`R literal 0 HcmV?d00001 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];