From 403ba1dd2771a2072e58aee518209542ded35a81 Mon Sep 17 00:00:00 2001 From: Nguyen Sy Thanh Son Date: Wed, 6 Feb 2019 08:03:49 +0000 Subject: [PATCH] Add support for TomoChain (TOMO) --- Makefile | 8 ++++++-- blue_app_tomochain.gif | Bin 0 -> 1033 bytes glyphs/blue_badge_tomochain.gif | Bin 0 -> 579 bytes glyphs/nanos_badge_tomochain.gif | Bin 0 -> 152 bytes nanos_app_tomochain.gif | Bin 0 -> 195 bytes src/chainConfig.h | 3 ++- src/main.c | 6 ++++++ src/tokens.c | 2 ++ src/tokens.h | 2 ++ tomochain.png | Bin 0 -> 7531 bytes 10 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 blue_app_tomochain.gif create mode 100644 glyphs/blue_badge_tomochain.gif create mode 100644 glyphs/nanos_badge_tomochain.gif create mode 100644 nanos_app_tomochain.gif create mode 100644 tomochain.png diff --git a/Makefile b/Makefile index c2b7b7e..2251998 100755 --- a/Makefile +++ b/Makefile @@ -127,9 +127,13 @@ else ifeq ($(CHAIN),hpb) APP_LOAD_PARAMS += --path "44'/269'" DEFINES += CHAINID_UPCASE=\"HPB\" CHAINID_COINNAME=\"HPB\" CHAIN_KIND=CHAIN_KIND_HPB CHAIN_ID=269 APPNAME = "HPB" +else ifeq ($(CHAIN),tomochain) +APP_LOAD_PARAMS += --path "44'/889'" +DEFINES += CHAINID_UPCASE=\"TOMOCHAIN\" CHAINID_COINNAME=\"GO\" CHAIN_KIND=CHAIN_KIND_TOMOCHAIN CHAIN_ID=88 +APPNAME = "TomoChain" else ifeq ($(filter clean,$(MAKECMDGOALS)),) -$(error Unsupported CHAIN - use ethereum, ethereum_classic, expanse, poa, rsk, rsk_testnet, ubiq, wanchain, kusd, musicoin, pirl, akroma, atheios, callisto, ethersocial, ellaism, ether1, ethergem, gochain, mix, reosc, hpb) +$(error Unsupported CHAIN - use ethereum, ethereum_classic, expanse, poa, rsk, rsk_testnet, ubiq, wanchain, kusd, musicoin, pirl, akroma, atheios, callisto, ethersocial, ellaism, ether1, ethergem, gochain, mix, reosc, hpb, tomochain) endif endif @@ -221,4 +225,4 @@ include $(BOLOS_SDK)/Makefile.rules dep/%.d: %.c Makefile listvariants: - @echo VARIANTS CHAIN ethereum ethereum_classic expanse poa rsk rsk_testnet ubiq wanchain kusd pirl akroma atheios callisto ethersocial ether1 gochain musicoin ethergem mix ellaism reosc hpb + @echo VARIANTS CHAIN ethereum ethereum_classic expanse poa rsk rsk_testnet ubiq wanchain kusd pirl akroma atheios callisto ethersocial ether1 gochain musicoin ethergem mix ellaism reosc hpb tomochain diff --git a/blue_app_tomochain.gif b/blue_app_tomochain.gif new file mode 100644 index 0000000000000000000000000000000000000000..62d993be36aeaff51fffdee78133914911d93f3a GIT binary patch literal 1033 zcmcK1{ZAAG0LJkH<<(sbCPHkD5hNsf!41R!TgVI!c%+!b@sfBQuW^@#0wOO8$6dS# z9(SMuO29!Xpz^8*Xe7joylg#TwHh>qwOJF1T1=s{OgDs!| zYz5oEFTu;;74Rz94t9W@;5G0%cmwPLyTKl?7wiN3!JFVM& zgLlCZa1{Io90SL}32+j;2Tp<0;0y%+PcF|ln+ODQfeW`tl(N)h$Wqhg8NyVVQYqW( zCGzq0@%0t#d}+TNCa`#MT3)OwQLAn2%eFZ=Iag`4)jF-v=3JS5MP-$nd!xQdXKpU6 zy|At1;w5)aPf>H1+|X9r-FaOk?rt%(4yi5t(>ua3^{C(MnCXPM{!Ep#n|{{c zf5>EBTUY$Ums-@q}inzTrv7wE@j)(3;-l@j^-IFM8vueUD#~oll`k6#cNa zBDUEjxGFR*XI0me;&;=w++$w*j){85-uHKVG>iv@)Ob9#tkj0;HvMWFHK3adIp2TS z&br006!Au+BKugn)q)}MS-!QY(|yOulKqv1bCOlbx88G&)>G+!IzxG< z6HfwXGo*@gY3GZ$38^?BP4AoghvuH~X-2tytl{r@WW^ln(&V3t?G}&4kEnJ21+VoP z!{551buFk591nBwEONHl-B;I}nt1jD$&QKK2#0CQ8 z=7Yg-#~%_VcAEZG-WtE}#%PVx?Suu{$`Ld5ccL6GSK*@B#(H?^kYeBc?Q6Sg4levS zteSE4&)aI(t9bS(`1dV|Lyq3Mw0B1i>JGOGBZEAWC-as~_DBMoR*!Bf*8djMm}?WZ zQ5*m7^OYr4+gg$=UzTq zPHc>zadIH`mXxGnx;!)&p%W@JrRJ(u96= z6LxqYU>7Aqb5a#|358aN7*JgXj0uhwY>`lcT@{y@6q*wxoE3umF6UxDDxK9*hG;)ed$`ZG&&l1^ja!Cx8 zLIesrVYtTSfapsK3Itbt0wFcg6ZH*5aOnfFqTd4r4HUR*CE%Kef(8*5A(i0|0D}@5 z0NlfH;0K8P(-4aDL+~O-jWDi}{AjXY0|X6Rjq~`hWw&JyG$N4spkhgz>Tn_$>dfIv z3qYVKV>f}QGnywtoMS}DLp`PvoJzvB%Y&3Oy?j|%hxGvh2M$1F<3cG`RSQ=soMo|v zt=kY}-~Wqz|F8A^ztQ*q z4&VQKeg7Z!{eRr||7l;v|Jkind) { @@ -1526,6 +1529,9 @@ tokenDefinition_t* getKnownToken() { case CHAIN_KIND_HPB: currentToken = (tokenDefinition_t *)PIC(&TOKENS_HPB[i]); break; + case CHAIN_KIND_TOMOCHAIN: + currentToken = (tokenDefinition_t *)PIC(&TOKENS_TOMOCHAIN[i]); + break; } if (os_memcmp(currentToken->address, tmpContent.txContent.destination, 20) == 0) { return currentToken; diff --git a/src/tokens.c b/src/tokens.c index 284e900..48c592c 100644 --- a/src/tokens.c +++ b/src/tokens.c @@ -1175,3 +1175,5 @@ const tokenDefinition_t const TOKENS_MIX[NUM_TOKENS_MIX] = {}; const tokenDefinition_t const TOKENS_REOSC[NUM_TOKENS_REOSC] = {}; const tokenDefinition_t const TOKENS_HPB[NUM_TOKENS_HPB] = {}; + +const tokenDefinition_t const TOKENS_TOMOCHAIN[NUM_TOKENS_TOMOCHAIN] = {}; diff --git a/src/tokens.h b/src/tokens.h index 3a8333d..cf3bb5f 100644 --- a/src/tokens.h +++ b/src/tokens.h @@ -47,6 +47,7 @@ typedef struct tokenDefinition_t { #define NUM_TOKENS_MIX 0 #define NUM_TOKENS_REOSC 0 #define NUM_TOKENS_HPB 0 +#define NUM_TOKENS_TOMOCHAIN 0 extern tokenDefinition_t const TOKENS_AKROMA[NUM_TOKENS_AKROMA]; extern tokenDefinition_t const TOKENS_ELLAISM[NUM_TOKENS_ELLAISM]; @@ -69,5 +70,6 @@ extern tokenDefinition_t const TOKENS_GOCHAIN[NUM_TOKENS_GOCHAIN]; extern tokenDefinition_t const TOKENS_MIX[NUM_TOKENS_MIX]; extern tokenDefinition_t const TOKENS_REOSC[NUM_TOKENS_REOSC]; extern tokenDefinition_t const TOKENS_HPB[NUM_TOKENS_HPB]; +extern tokenDefinition_t const TOKENS_TOMOCHAIN[NUM_TOKENS_TOMOCHAIN]; #endif /* _TOKENS_H_ */ diff --git a/tomochain.png b/tomochain.png new file mode 100644 index 0000000000000000000000000000000000000000..e590a9569b74f97519f7ed9af1444ee7a3251833 GIT binary patch literal 7531 zcmZ{pRag|x*T)x;PU&<(rCWL_k&dOMyIZ7@mIXvyx>-Ucr9nVK7ME`6kXm7ZrD5s( z^SgX6-g%xgpP4gr&h2;3oH!jV6%s-QLI40jqNb{-_duur3?KJlW|lX*#UqE2mo;P;ELD+0Q>|2fNg640F(s)(0ajIb)_E;aBVeI z6d(97E*09sA3)%xYT^R`7^nYdSo0p@lMhZjUp252-r6G^T5>Tck=_~rz+|eXC~pwB zu(uSD<)D-;cQ_W@8vIB&LRE(@4k4JO^Sh_^qpfLrg{sbH`zLDL9|)Al$-A^4J78g9 z;S3Opu|F27WZ`~PA0epdfJd$vNuM=k0hile{Cl1s{5Cc_KRagWJm@ML?Q;dwKMmWd zdcOmvX6G!{o@NmQXGLxj<`U-OGvd1uRS@ymefq;eg($35%}VTx4#)R_1ViQ#9*8^y z)3Cy)#Pgc1eg7ikags89&<|xYTurX*dkPyKcYb%yN>)uJ*1-(%`z^1k+q=TUqQhFR zX0PYf)YY{6$-_qEz-&6}DjlzhKDQQ}0VJOLOs((`3#PeKE@VT#lf!(F+RYwdUiW zEsKX>AaGS&yA>4Pgf|vPXi-`kf_Im{UBft&oeMo$7L8DV;^fUEej%_C&$CJef$>Ah zKsE_|2->*H;OPvln5Q1+3>7<+qU;)iiGIto$gOtt+ktH2B@PF(@i#JTM{6=0ZJXOC zbSV%ONUm3-SCvz_zADLN}FSr?p4icv;|7k=a!#vSQ^I86a`lZu|{A2m|7LV5+<^u zUS4$Y$mTHrxJKofQgpH1ja^(7zT)bfGe#-u0qtj~UO*h*vXfM)(svM=KD zeH?b*pL}74hVIsjqFOUa2~hbW9{OFmJlFCsdjQ`P2^V-wPap@A)js3*$vGyZDw1~? z$j6EH5lwj=m{A*D3v~x96)nb}Kx=K7_OCurRGL9nRx=S`n)k!@ws761qhSV3nq{7l zr#t=^cTotHXv_;Pe|o7`cDNj&KYQ(rr$;Z82fDe1J-by-FN=Hhn8ZW6CY)SPY&*FT zL($Ed*9lN{c3z(A1-ts+nAo3{Q!IGOc3;(;ri~$LcNP-Wi@-PV(n91-*R*mQWHiHnrZJjtH;P}^^c>i8Fm7%J1GUh_EIZC`2C-l83) zxO-v3bp2VdY}8ZJM;JxFE(Z$Plt(Jiv?&7XFk4s*qW|TLaktQV!)VBm4AFo@9X2B) z)CxS?-9&@BniJjSx0u;{Qfpt$0D!dloZt>j{l9Kl~V+0wY=Kni{uEd*G#E8BTu zp2V#mgm^dCGW8~RB}l+OwN$rmatpvfErC{OY&~nFA59JzpVqSA)ELHo-{xjl9NVCM zw#3AJ6FdZ($c~IhJqa``Cs}&72*rb_4E2O3vvxTZ@P<}o>>z!jH;2N$W+S#+CHG<$ z4#ko7NCW8?PlEl>lR?GaY1CaNv%RmvSVHK? zUNNoQAt|V`BBP>Zh~IXZLfRl!L`H<+6#M#t6D&vBLe3@}B2-!EdbJH|M6Ug}P19CJ zX}lvV#3pqZ8~v{1SG7&C7tY`i{U&~c%M<+|h3oS<8>UXR>lxK6h#e%VF;}RX>MZHz z&3F*EMnR6~T4+WphiR7sG;2iel-p^= zw*&uR$#~*_LK!z59IaI@5^c>o!#h zqYL8w)K-A6e3X-Lv=7Mn9R?E0w(^Gj?ZGm-GRv4X$co)Nrn-<35Za7HqmOu(Yxg;Klylhg~?r3gS@Y%`(B5s|yR}U0URm$n2Qskg-9_0dB!&8{qDzieeNQaW~#| zkLNAqKACU$FHvUtC)G*dGk2a46&oVcDfAb)ii#nbF#WUpxWQmY!UDZ4kb4`*!aXG? zfT%S7m`y=bh6K+#OvRd%kByxvGSPWunru}MDTwVktq@{kOD8{RQoNBatuSYGkyUGo z7YEm!qnsU|kICq;dY*0W>UC{cS$^7L@Q=GZgCJ$Jb8p`q>_<%w*GKST2}n+_#J9bzGM1_7VG;L30ZtC01<|CNQk zo9f0YDK2k2)u;Qjb6t=67t<8Pj@f*SluR0}@e53L$4AixbuIGB2s}9xEI3&^bCS{+ zjTos7j!iU&XrLbv-}Jb76@71js-RAHa&h@!WraU{gJ$n4{b{R{XM0uxbSNx2n2MeC z{Bu_7Lc?zl!d?VxR7fw4sOQh3ulZJsLfz))Mm@g{NT;G@LoCYw`G48$e{P@GRLstZrCn-dy{kKVGJXqm9=`ZG9O5^@0>eI>aun6_V@V| z_@x4{gDx0pWk>K%y>F&J0g_#B_Rn)Mo+`GQE@HBUEir}povT7TL-F}nM#rqHz~dKGvEJpJ zP@(Lrps4WSKU(;UM5=7$aVZ)zqmkW-!+$$ zc>-{PLS&>nJ^h`XLpvmNZt7Iye7dZkjabxkt2o2>5$e3Oo_>zYxub^%DYaC7q`M_Z_7zaIO3I3smMabA@m4k^o6Om5xGi-tW_W&K10dB z^W)F{4bO@w30W{nv+HH!TVC*AdE-Y{kC3(@ta-Y@zU>Xz%3#SqNANoEd5Tpy~4Ju-7z*DIIbfw#|K)w5(2 zp2;Cnd2fXC=dr$(Aj}6uNxWX3;+v_B3cQ#U)pp6I8BnX(E6LFo;eAvy!{nWo{U9^< z^l!S3&&7%#JGy_~s}}jZ(Q-4Xq5o;nyChH{s%CcZH}A;alDWKNY`FOQXj zdNf@W_F91Fu22(WO2*R+{ULR}JliHqpIF@(Cqg%atarIDfUi4Ue&WPIIcJbKoh04MrIet_gR{ zxFBPkm`B)7x^YDPrhQqwkB;Jc*{hX~RIMtKy`QAynB1$Tv}1e+2h7|^ULUI;7I6FVIg0$W2EN}iDXWZ z45?d(S0-K1FM5lLM*dZ8VV#AmoY|ddFuV(-5U6av{8(;V-&PTbtlJrlwMFdJ3LSq#Fks zo?Q4~V=3O)Lz>}|U+hEX>vnQalVf%KtL0ulxY5lbo|8u?8e<0bIaa6PQ2Jh>9FQY{( z5G>%TBq`;Y*_VUy{ni?5WVSG1J^nH}{of01izVkToJw9F*%J?kQ^ar3_^MK;-&nCZ9IX;G+e$9_$a0?fm!*DR>1wtGeG*@5c#X66q&?X(bZug) z?k6@odGXK?G1Q*HFjJyn;28)ST6)0$qXLzF>#(0SHz%(7QXUXIBG=(b3Yee_dRsvIU#Sr zoeEuH28h-u}n+6<+nsC9Q^ExmzP!Jv)=1sT{c{&HGOe$2A4Y75`a ze@&_foT$T$K&7~P!IwGBzH{Rp{YCt4(@_oyusGPfzYh`x9&s!ZFWQdo0NCch6f1x}hth|7(3P&{yOJY>~>;N;5ZM#z)i> zD!tW`v&7XhLdHFm?e`_U?j0(d!z)-f=L%RY=!8A^RUywM!5OnsDSx(6Y}e~xu);Q* z;8}bKlB>QbG!!i6VYm%Vch)O8hKnzl5pRK82@ajCSSBjhKZ)dl`(VC&fkG! z8@IvlHBDX717l;qfedi6P$zwxfY4`ovRCp+qZMkKGesCT8T5^55m9fbDeQx|;T7P% zIG0uO+(lSD^Ik{p0C5}r)CWb3-iW<&a(afA$sQ;7k(fc}IVD^*SQ`LKlFt(4g z2Cs+1X7PoBgYeikaff*Z+0M_8UFb%Bq$7UVt>%F0^w$}!KvA98GfNhnKHmKt3OQitkA9jFGm+l-zO8AN=_I9Q ziKWlbck9LRMnlfLP{fL`{T1A@`aTNBkQCYK`_AJ6mXquvvpYA{ z1QG~S?Rhk*o;ye}doz4HNR@O|z0Qy91BVMn3=O^}*qdXT+3I(IlAy`gELmtTlRMg} zCWH;xYOSiDrGSXj((8=o&ooXi>S2F;%MfutnVbfK1V;SNuiols;3oSz*tss4`~YvB za|*B6<_@O$dqfG;6!U4W;!3V6$QZtVBFjS?9+>Y%GAdLS><4XU?6CL(ycYFq<)rtI z6Y8$>yLot>7f-qpv8fD2ewOkV+N?|vUnQ}qBHSZwQ-KuNpv6W9V&)Y5DCxt>`gUz> z?@QMBn6JE}^&&a{ZQa4XkMGFKB=l6Lq`pWbF*_^LmJvUedS=A>*0y^CkzbOa@9lwP zMZRkJ5#|=qHop|pmS0f<{GR`>{+0s9?d?#tKfTcQWu7#2M?PfsRojo!3dWnc*FUO) z$o_GE5v7i8@ZZ#c5YKZeYVHiJM8v{J<@E zzG`1S1fkgyrTqJ5p`C7J_6LWltDVM`H(#lY40;lwYpT&thOdIJV&^5T^+eN2lm^Ka zSZ>~Nw}R@waY_r0c_D=Z%=mT@o>0KG$VboQ;kS^m0G@cio4_q-s^3tnvrPwBg5Ufwx6nJaxDH8tocvlz-?IO$mY9 z06`y5y5@V$rh6G)lcL#)??dyNlTq>qJ>j34E`C)UYDt^pln}t6hj!x`j3*{cN|tYX z$zWfU!p)H8dtbvc55oqg33*Ne``Gr^sG$paHR*|2CfYj-XN9%#yIu5Jt_hu++piqRvip*|n7uT=_TY=nbM%5Q!cJ{h>Z{bUKZ zHMX{VVYL4JQ%_5pY&|;ztrrXF{#Xy$arJF*dT(mtTgf-ljR4nr2{>`-ze{lFci~HS zn0wun3y8<%rR;02cM86x?@@_-W(CaRUP;tZOy|K_=4EZ)m40bT=p)nFzjjr=MsJE5 zV%PkpN8MGa%k??2VL+EzIYo|A^C^G48B5VDqMwB&>fVOSNbk!cUpdHp2$@WJd}I;L ze7dE^p{*G)F{V+q`{W>5z7AZG`!s9L-hZ=2~bWo+1hH*;Yq zcSFB)i-8mW@)Q>AC~rpnQ`FT?-cK$5ub~#PN?xKSD{^KwJYQ5xtBtwTM*Pi?ZgO>b$A6OP8+)xd<)BYB$|@0F1MR;jm9uQe?sGueji-^vZu6vPjKpFNubRWwnj2fKg7{#ZyHh9mAd3$&NByduya8UE+Kc^G z7W)2!p{j0`{v7NigKAX`C`yjY-48pha{7e$L$kGOCT&-^krRk;eD23>=^!T6E zCXzRP68FQeFL`rXj^{my7*-X79L*A>ve*Z`s`kV3H-f_jN~cm!e)ben)i9Pknh^!N zaa+;)yLZYKJs!^BX|)nIwKn9GfR5(r(h!erf3 zh}xgTubn=p!nBptg^i?Wr@goPD_&m__V&h?w^I|}i-B3DLRqX|&SV<(q@Y8B{LIF(m_ zrtRn0^|a6mAEQW@&ZtuxxzWS4&i^53yRWMJrC$S)wPo~S>ZC&6O0*mFRCxTeCNW5-!?$A?q>!l*H18#cw&|Aty@}*6LXJU3Z1A? z=fP#<+5K=%z*s>uN|yr5Jqj}CHlex~3v24U$5x@=7a_nd$&@Y2a~MOt&p{RWL9=5q zUX}6zoOIgO7goettzSPs+Y@HaHFY;b^3A;ty?h(ckP6KVPt$ha&E)-&z4v`>fD{1~7*|*o3wf z4x1BMNeiYA#cfd3xvXTxRSkl<_y}VuX>|hhX6?8%Hh-F$lK5_bTBu|QM_`6#MqoAp zygqd-s;B~=Aa{zXTs!Yq$C8N_yC)i2us83%l8)ZJaby z?b2;oK0mmuuiOBd72eZ>NGBv?un+p6R~kp4tmzLA-!)ojFCV7Gt%v^tm>$#u8xQ99KPcRKZ)lpTygH_w*uH zp6H~?_?2m{lsuP(K}8Jxah)ZnEs vNJtDMD)O)f2@2A#T^RhI0FSr!E{;L}e}H4htB0;A0HCI%rC9yi`osSKanQG4 literal 0 HcmV?d00001