From 71d8e44ed80195f643d56657acf01f962ae15650 Mon Sep 17 00:00:00 2001 From: Michael Ira Krufky Date: Sat, 28 Jul 2018 22:52:09 -0400 Subject: [PATCH 1/2] Add support for Musicoin --- Makefile.genericwallet | 4 ++++ blue_app_musicoin.gif | Bin 0 -> 1449 bytes glyphs/blue_badge_musicoin.gif | Bin 0 -> 1144 bytes glyphs/nanos_badge_musicoin.gif | Bin 0 -> 607 bytes nanos_app_musicoin.gif | Bin 0 -> 604 bytes src_genericwallet/chainConfig.h | 3 ++- src_genericwallet/main.c | 6 ++++++ src_genericwallet/tokens.c | 2 ++ src_genericwallet/tokens.h | 2 ++ 9 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 blue_app_musicoin.gif create mode 100644 glyphs/blue_badge_musicoin.gif create mode 100644 glyphs/nanos_badge_musicoin.gif create mode 100644 nanos_app_musicoin.gif diff --git a/Makefile.genericwallet b/Makefile.genericwallet index 9975e29..acd77b2 100755 --- a/Makefile.genericwallet +++ b/Makefile.genericwallet @@ -82,6 +82,10 @@ else ifeq ($(CHAIN),kusd) APP_LOAD_PARAMS += --path "44'/91927009'" DEFINES += CHAINID_UPCASE=\"KUSD\" CHAINID_COINNAME=\"KUSD\" CHAIN_KIND=CHAIN_KIND_KUSD CHAIN_ID=2 APPNAME = "KUSD" +else ifeq ($(CHAIN),musicoin) +APP_LOAD_PARAMS += --path "44'/184'" +DEFINES += CHAINID_UPCASE=\"MUSICOIN\" CHAINID_COINNAME=\"MUSIC\" CHAIN_KIND=CHAIN_KIND_MUSICOIN CHAIN_ID=7762959 +APPNAME = "Musicoin" else ifeq ($(filter clean,$(MAKECMDGOALS)),) $(error Unsupported CHAIN - use ethereum, ethereum_classic, expanse, poa, rsk, rsk_testnet, ubiq, wanchain, kusd) diff --git a/blue_app_musicoin.gif b/blue_app_musicoin.gif new file mode 100644 index 0000000000000000000000000000000000000000..f66dac0091f527b568b4c3707756b01b7e343986 GIT binary patch literal 1449 zcmb_a`Crm^82^IEC6*b7rY4drDh0(TLGhlqrlxr@0uhfuM4%w;Fwfbc=~}7TWy?Hf zmd(mekJQS{6w{WLmX#}8y4s><+h?#>+x~&Qe|WCf^E~h8{dzrq0lv;_1Pq7)sUXM( z7{!Eyk$nV8fzG?St7QVASfnH;h>}yK9Lmh)>lAWoB8L*q3~>mNd5cm~{WImFb(x`& z!c4J{l}K@SBfF~E>NHuJNGTwz(O3t#ze1=id+{F9=0|#BseHAz~9gJOCN79PY-uDj;jls z<-BG!bCnar(Sc60w_CYlId$36FKm}kY{=G&tt>4TnVXS_1pGqN1t#<78RLww7&HoL zh%kV|bT9D{0qJ3Ld;0Z=AU}$N9#u-?-eFZ}ECjScp7NkuS!^s1;kp+e)&a9X_NjnVE$JmBl=g zHvwH$zOO_Yj27W+50>sd)KqfVs^kXRt`akr7^_D0AluF&fLZr?t*s*B`{lSs--$nIMN825L}@; zzN?pCKAuY!=C)2!kbcmdX4u9&SXv%GvEf{}JYV8}&$AP5Y=u`r4x{pMuf-KH)Hc3% z;VK$wjLj{5tG&RZhIs^jxRPYPZqQIWzBn`r4|zro81$0x*-1Ty$h4fJIo9ot=c>#} z>cR!^Xa40y3mFyRo{+Zu;tlw85wkLAj^Dl$Ss9Sh#@K$fqX1!slSRYK#;T20I*DQ? zV(^H2ZIA`7%@a;-q27$Ijhuj-W?Rk1OKAfgZ7`($$1>rLjE;U0tTBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVO5b^kegbPs8ErclUHn2VXKsw zlAn}n1!RMS^_3LBN=mYAl|Z&R=NF|anChA887KjD7p0_G1-ZCE^#XaeN*N_31y=g{ z<>lpi<;HsXMd|v6mX? zCgqow*eWUM18vZUS^;9h-D;i^A3wZ* z_x8=}S1(^YfA;jr<3|r4+`o7C&h1+_Z(P52^~&W-7cZPYclONbQzuUxKX&xU;X?-x z?BBO{&+c72cWmFbb<5^W8#k<9w|33yRV!C4U$%6~;zbJ=%%3-R&g@w;XH1_qb;{&P z6DRcd_4agkb#}D3wYD@jH8#}O)z(y3RaTUjm6jA26&B>@<>q8(WoD$OrKTh&B__nj z#l}QOMMi{&g@yzN1qS&0`TBT!d3w0Jxw<$zIXc+e+1glJSz4HznVJ|I85-#8>FQ`} zX=$m8y~Dnd%7)F6yaL zO#Mm5t#WMYoaM#BoDF(YC$VWKhiNy7msxSltkPa7mff{#ftAiGPch~tqSNIT2`%5e zVY`ReZVpzF&b22Fln45UEoYh~zjyzcd8&#>P8{iZjlF@W7rdN zg?5}0?!2_);H?OVi?g@Nz9phN_WzICNkL?c-eV4f9_!-xJ z7v293Pna)wE3Z$LjjYKzt~h-v|CSp|pDf#ue2ClPSwwQ%f$-z=^kdJ=>{xtBZ(e>; z&<)Nr8W;IJ6PdnPUXJ(55$c+IsA|jO<5SExe_H6WPzhlxkunb2 zF520Wr_vW5@shV#I`f#z;Rel#%1cijSuJyZ!OCVH|GW2v(j1leoLkohl$|JU=?Iwum%87+vq(2 literal 0 HcmV?d00001 diff --git a/glyphs/nanos_badge_musicoin.gif b/glyphs/nanos_badge_musicoin.gif new file mode 100644 index 0000000000000000000000000000000000000000..b8288acd0af0938b88c790d7e18f857c4d42f900 GIT binary patch literal 607 zcmZ?wbh9u|TBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVO5b^kegbPs8ErclUHn2VXKsw zlAn}n1!RMS^_3LBN=mYAl|Z&R=NF|anChA887KjD7p0_G1-ZCE^#XaeN*N_31y=g{ z<>lpi<;HsXMd|v6mX? zCgqow*eWUM18vZUS^;9h-D;i^A3wZ* z_x8=}S1(^YfA;jr<3|r4+`o7C&h1+_Z(P52^~&W-7cZPYclONbQzuUxKX&xU;X?-x z?BBO{&+c72cWmFbb<5^W8#k<9w|33yRV!C4U$%6~;zbJ=%%3-R&g@w;XH1_qb;{&P z6DRcd_4agkb#}D3wYD@jH8#}O)z(y3RaTUjm6jA26&B>@<>q8(WoD$OrKTh&B__nj z#l}QOMMi{&g@yzN1qS&0`TBT!d3w0Jxw<$zIXc+e+1glJSz4HznVJ|I85-#8>FQ`} zX=TBRz;GCL~=}}db8eHWUl3bOYY?-2DZ>L~WVO5b^kegbPs8ErclUHn2VXKsw zlAn}n1!RMS^_3LBN=mYAl|Z&R=NF|anChA887KjD7p0_G1-ZCE^#XaeN*N_31y=g{ z<>lpi<;HsXMd|v6mX? zCgqow*eWUM18vZUS^;9h-D;i^A3wZ* z_x8=}S1(^YfA;jr<3|r4+`o7C&h1+_Z(P52^~&W-7cZPYclONbQzuUxKX&xU;X?-x z?BBO{&+c72cWmFbb<5^W8#k<9w|33yRV!C4U$%6~;zbJ=%%3-R&g@w;XH1_qb;{&P z6DRcd_4agkb#}D3wYD@jH8#}O)z(y3RaTUjm6jA26&B>@<>q8(WoD$OrKTh&B__nj z#l}QOMMi{&g@yzN1qS&0`TBT!d3w0Jxw<$zIXc+e+1glJSz4HznVJ|I85-#8>FQ`} zX=address, tmpContent.txContent.destination, 20) == 0) { dataPresent = false; diff --git a/src_genericwallet/tokens.c b/src_genericwallet/tokens.c index eccf92b..457e2ce 100644 --- a/src_genericwallet/tokens.c +++ b/src_genericwallet/tokens.c @@ -721,3 +721,5 @@ const tokenDefinition_t const TOKENS_EXPANSE[NUM_TOKENS_EXPANSE] = {}; const tokenDefinition_t const TOKENS_WANCHAIN[NUM_TOKENS_WANCHAIN] = {}; const tokenDefinition_t const TOKENS_KUSD[NUM_TOKENS_KUSD] = {}; + +const tokenDefinition_t const TOKENS_MUSICOIN[NUM_TOKENS_MUSICOIN] = {}; diff --git a/src_genericwallet/tokens.h b/src_genericwallet/tokens.h index b96c318..5416dcb 100644 --- a/src_genericwallet/tokens.h +++ b/src_genericwallet/tokens.h @@ -33,6 +33,7 @@ typedef struct tokenDefinition_t { #define NUM_TOKENS_EXPANSE 0 #define NUM_TOKENS_WANCHAIN 0 #define NUM_TOKENS_KUSD 0 +#define NUM_TOKENS_MUSICOIN 0 extern tokenDefinition_t const TOKENS_AKROMA[NUM_TOKENS_AKROMA]; extern tokenDefinition_t const TOKENS_ETHEREUM[NUM_TOKENS_ETHEREUM]; @@ -44,3 +45,4 @@ extern tokenDefinition_t const TOKENS_UBIQ[NUM_TOKENS_UBIQ]; extern tokenDefinition_t const TOKENS_EXPANSE[NUM_TOKENS_EXPANSE]; extern tokenDefinition_t const TOKENS_WANCHAIN[NUM_TOKENS_WANCHAIN]; extern tokenDefinition_t const TOKENS_KUSD[NUM_TOKENS_KUSD]; +extern tokenDefinition_t const TOKENS_MUSICOIN[NUM_TOKENS_MUSICOIN]; From 486e4b5ed25e8f0c269c098b1df986993132b809 Mon Sep 17 00:00:00 2001 From: Michael Ira Krufky Date: Mon, 30 Jul 2018 18:12:20 -0400 Subject: [PATCH 2/2] Add support for Callisto --- Makefile.genericwallet | 4 ++++ blue_app_callisto.gif | Bin 0 -> 1379 bytes glyphs/blue_badge_callisto.gif | Bin 0 -> 1409 bytes glyphs/nanos_badge_callisto.gif | Bin 0 -> 91 bytes nanos_app_callisto.gif | Bin 0 -> 89 bytes src_genericwallet/chainConfig.h | 3 ++- src_genericwallet/main.c | 6 ++++++ src_genericwallet/tokens.c | 2 ++ src_genericwallet/tokens.h | 2 ++ 9 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 blue_app_callisto.gif create mode 100644 glyphs/blue_badge_callisto.gif create mode 100644 glyphs/nanos_badge_callisto.gif create mode 100644 nanos_app_callisto.gif diff --git a/Makefile.genericwallet b/Makefile.genericwallet index acd77b2..37a4979 100755 --- a/Makefile.genericwallet +++ b/Makefile.genericwallet @@ -86,6 +86,10 @@ else ifeq ($(CHAIN),musicoin) APP_LOAD_PARAMS += --path "44'/184'" DEFINES += CHAINID_UPCASE=\"MUSICOIN\" CHAINID_COINNAME=\"MUSIC\" CHAIN_KIND=CHAIN_KIND_MUSICOIN CHAIN_ID=7762959 APPNAME = "Musicoin" +else ifeq ($(CHAIN),callisto) +APP_LOAD_PARAMS += --path "44'/820'" +DEFINES += CHAINID_UPCASE=\"CALLISTO\" CHAINID_COINNAME=\"CLO\" CHAIN_KIND=CHAIN_KIND_CALLISTO CHAIN_ID=820 +APPNAME = "Callisto" else ifeq ($(filter clean,$(MAKECMDGOALS)),) $(error Unsupported CHAIN - use ethereum, ethereum_classic, expanse, poa, rsk, rsk_testnet, ubiq, wanchain, kusd) diff --git a/blue_app_callisto.gif b/blue_app_callisto.gif new file mode 100644 index 0000000000000000000000000000000000000000..9b5607bf9b7dcbec8db0eabee0a7be99532d15af GIT binary patch literal 1379 zcmZ?wbhEHbG-5Df_|Cx4bF8T6SaI*MlD^}m{m0AtPn1kJUN-SW`NR_y6Hio5I$1UO zWcB1zwNp;jOgU9M?R4F=)AcjYG|f8OGUr^|+;i>o&Uef^-#PDG*TVBX3odjoywJ1g zLhs^>eM>G*Sb7PFCa%0Pb>)?5tFBI8cWut*n~S#GT)g$xlI^#bZ@;}_2N2y^x$DmA z-FMgQy|-@Pz4iO=Z`gl-^O%4sytN77@rE7&VJd~{jt zrfVqH7IRXlp+O?bC-2CGO={jes=i8v37gYB*gZ__9=_bH;lggop0zV!%ge*uhU~`* zytXFx^s=rB)14sP8n#yBK+4A*n>s{<;vJO?ZhY#wtt@rP>CMBbOQW}^m6=SqE#TU| zt^96Y=0c-fcD4rQ-MLCmdd-IvMYY+K9%?^1kvFx#-&_LL%l(zn;x8(5j=C0iylAK*9| z9TD^Im6;cZg0aN9|0|jj7^WC|MuhA?|4~7$IRgAvBahz)ga|TgKzqk#J@nhXZZQIo|_XyL3N_HZ;C8NN5aZobaH@ zOy)prLY#xaeRhTu4fE?7zp77<4sQ9t%*(Sf!L{=F((U&peN2u`k9M*VpUX7wZh~xC zi($E&DBoNKnZjc`L*4kQKbD2F@kwqtDtYeVGU@!iJ4+Ru8Cx2nB)|F|Sms==d+;Eq zos6U#=QLHdo085y!lyEH+%(M)ez)}Kf%q=AYpzp^N&~KYHBQ}lxTt911?MF9oCC{T z`I=I~GWN(8TwGedNkmM-KgHwfD=$_H#j9(y_c~k%+EK?M>gN3Ql|YcxTNND!hm&7e wf_KDCnBu8%@>DdV!O511!WuhHTxZm{k+s&1P4P*?7F*E=46b64(gFWzi{Eg#fuj&UAlDn^5rX6u3Wu( z_1d*-*RNl{apT6#n>TOWx^?^Z?YnpH-n)12!Gi}6A3l8a=+ToWPo6$~`s~@W=g*(N zc=6)p%a^ZSy?Xun^_w?u-oAbN?%lih@85s;@ZsafkDoq$`uzFxmoHzwe*OCG+qduE zzyJ90O@p`3Kyvbe)00iZr?kx6{OHs?>uNt9 zsm&^W3ytc_OuD8#J~LfrrdjE#D~}H?W>(aAu^{PH*Yb${VWt@i-Y^TsEfv~g(U^2| z6RX;S8K<@>L~PGLt#o1n)62V!r5~T^o@QXVbRdbjMb)BWLyM5@f2DaprZsZ#3JL77 zJ;11OMKs)c-&unISB@P5o+Y_E4Gd3hw+NOoxG=4yk-eKYZm!SGhNi39W-1!lNvti~ zMV`6Uo{Ub4r0@qxjJ!hgv0=)Z>$R zU$`lFX|8C9>yWCtGJ{#J?b<{J2}g4QR&KM1L(Ob177rc7pSnGCWfn=l#r0eAf_yJy z)YnVpvbre^?EE1L0c@-bmdjQ1ibn^N(UDai3lM?jOFPf>HcZ~bH8pze)(^{8P23$kaf*KN>qR004AubV?Q<{y literal 0 HcmV?d00001 diff --git a/glyphs/nanos_badge_callisto.gif b/glyphs/nanos_badge_callisto.gif new file mode 100644 index 0000000000000000000000000000000000000000..25a0cddfe1bc9633fc5160ef873650a9a78eab8c GIT binary patch literal 91 zcmZ?wbhEHb#FEq$h4Rdj3G|%)7!{qbvJXa(bprp61TTU=0BJRUTUa literal 0 HcmV?d00001 diff --git a/nanos_app_callisto.gif b/nanos_app_callisto.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0d449a7ecd056f5f260417d192e264aab54d1bb GIT binary patch literal 89 zcmZ?wbhEHb6krfwXkcLY|NlP&1B2o}LFb~>#FEq$h4Rdj3K^trk%h=IWx0MoG^q5uE@ literal 0 HcmV?d00001 diff --git a/src_genericwallet/chainConfig.h b/src_genericwallet/chainConfig.h index 4332e73..f14a1bb 100644 --- a/src_genericwallet/chainConfig.h +++ b/src_genericwallet/chainConfig.h @@ -15,7 +15,8 @@ typedef enum chain_kind_e { CHAIN_KIND_KUSD, CHAIN_KIND_PIRL, CHAIN_KIND_AKROMA, - CHAIN_KIND_MUSICOIN + CHAIN_KIND_MUSICOIN, + CHAIN_KIND_CALLISTO } chain_kind_t; typedef struct chain_config_s { diff --git a/src_genericwallet/main.c b/src_genericwallet/main.c index a0f6867..45eaefd 100644 --- a/src_genericwallet/main.c +++ b/src_genericwallet/main.c @@ -1293,6 +1293,9 @@ void handleSign(uint8_t p1, uint8_t p2, uint8_t *workBuffer, uint16_t dataLength case CHAIN_KIND_MUSICOIN: numTokens = NUM_TOKENS_MUSICOIN; break; + case CHAIN_KIND_CALLISTO: + numTokens = NUM_TOKENS_CALLISTO; + break; } for (i=0; iaddress, tmpContent.txContent.destination, 20) == 0) { dataPresent = false; diff --git a/src_genericwallet/tokens.c b/src_genericwallet/tokens.c index 457e2ce..163b9df 100644 --- a/src_genericwallet/tokens.c +++ b/src_genericwallet/tokens.c @@ -723,3 +723,5 @@ const tokenDefinition_t const TOKENS_WANCHAIN[NUM_TOKENS_WANCHAIN] = {}; const tokenDefinition_t const TOKENS_KUSD[NUM_TOKENS_KUSD] = {}; const tokenDefinition_t const TOKENS_MUSICOIN[NUM_TOKENS_MUSICOIN] = {}; + +const tokenDefinition_t const TOKENS_CALLISTO[NUM_TOKENS_CALLISTO] = {}; diff --git a/src_genericwallet/tokens.h b/src_genericwallet/tokens.h index 5416dcb..ac26422 100644 --- a/src_genericwallet/tokens.h +++ b/src_genericwallet/tokens.h @@ -34,6 +34,7 @@ typedef struct tokenDefinition_t { #define NUM_TOKENS_WANCHAIN 0 #define NUM_TOKENS_KUSD 0 #define NUM_TOKENS_MUSICOIN 0 +#define NUM_TOKENS_CALLISTO 0 extern tokenDefinition_t const TOKENS_AKROMA[NUM_TOKENS_AKROMA]; extern tokenDefinition_t const TOKENS_ETHEREUM[NUM_TOKENS_ETHEREUM]; @@ -46,3 +47,4 @@ extern tokenDefinition_t const TOKENS_EXPANSE[NUM_TOKENS_EXPANSE]; extern tokenDefinition_t const TOKENS_WANCHAIN[NUM_TOKENS_WANCHAIN]; extern tokenDefinition_t const TOKENS_KUSD[NUM_TOKENS_KUSD]; extern tokenDefinition_t const TOKENS_MUSICOIN[NUM_TOKENS_MUSICOIN]; +extern tokenDefinition_t const TOKENS_CALLISTO[NUM_TOKENS_CALLISTO];