From f833e315c237011990d952e0e9404fc17be05081 Mon Sep 17 00:00:00 2001 From: BTChip github Date: Fri, 20 Oct 2017 16:21:36 +0200 Subject: [PATCH] Update tokens, add Expanse and Ubiq chains --- Makefile.genericwallet | 30 +- app_ethereum.gif => blue_app_ethereum.gif | Bin blue_app_expanse.gif | Bin 0 -> 551 bytes blue_app_ubiq.gif | Bin 0 -> 1579 bytes ...e_ethereum.gif => blue_badge_ethereum.gif} | Bin glyphs/blue_badge_expanse.gif | Bin 0 -> 1477 bytes glyphs/blue_badge_ubiq.gif | Bin 0 -> 386 bytes ..._ethereum.gif => nanos_badge_ethereum.gif} | Bin glyphs/nanos_badge_expanse.gif | Bin 0 -> 1134 bytes glyphs/nanos_badge_ubiq.gif | Bin 0 -> 1136 bytes icon.gif => nanos_app_ethereum.gif | Bin nanos_app_expanse.gif | Bin 0 -> 1134 bytes nanos_app_ubiq.gif | Bin 0 -> 1210 bytes src_genericwallet/main.c | 32 +- src_genericwallet/tokens.c | 622 ++++++++++++++++-- src_genericwallet/tokens.h | 8 +- 16 files changed, 602 insertions(+), 90 deletions(-) rename app_ethereum.gif => blue_app_ethereum.gif (100%) create mode 100644 blue_app_expanse.gif create mode 100644 blue_app_ubiq.gif rename glyphs/{badge_ethereum.gif => blue_badge_ethereum.gif} (100%) create mode 100644 glyphs/blue_badge_expanse.gif create mode 100644 glyphs/blue_badge_ubiq.gif rename glyphs/{icon_ethereum.gif => nanos_badge_ethereum.gif} (100%) create mode 100644 glyphs/nanos_badge_expanse.gif create mode 100644 glyphs/nanos_badge_ubiq.gif rename icon.gif => nanos_app_ethereum.gif (100%) create mode 100644 nanos_app_expanse.gif create mode 100644 nanos_app_ubiq.gif diff --git a/Makefile.genericwallet b/Makefile.genericwallet index ad8bb61..61c79b6 100755 --- a/Makefile.genericwallet +++ b/Makefile.genericwallet @@ -20,22 +20,38 @@ $(error Environment variable BOLOS_SDK is not set) endif include $(BOLOS_SDK)/Makefile.defines -APPNAME = Ethereum -APP_LOAD_PARAMS=--appFlags 0x40 --path "44'/60'" --path "44'/61'" --path "44'/1'" --curve secp256k1 $(COMMON_LOAD_PARAMS) APPVERSION_M=1 APPVERSION_N=0 -APPVERSION_P=17 +APPVERSION_P=19 APPVERSION=$(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P) +ifeq ($(CHAIN),ethereum) +APP_LOAD_PARAMS += --path "44'/60'" --path "44'/61'" +DEFINES += CHAINID_UPCASE=\"ETHEREUM\" CHAINID_NAME=\"Ethereum\" CHAINID=$(CHAIN) CHAIN_TYPE_ETHEREUM +APPNAME = Ethereum +else ifeq ($(CHAIN),expanse) +APP_LOAD_PARAMS += --path "44'/40'" +DEFINES += CHAINID_UPCASE=\"EXPANSE\" CHAINID_NAME=\"Expanse\" CHAINID=$(CHAIN) CHAIN_TYPE_EXPANSE +APPNAME = Expanse +else ifeq ($(CHAIN),ubiq) +APP_LOAD_PARAMS += --path "44'/108'" +DEFINES += CHAINID_UPCASE=\"UBIQ\" CHAINID_NAME=\"Ubiq\" CHAINID=$(CHAIN) CHAIN_TYPE_UBIQ +APPNAME = Ubiq +else +ifeq ($(filter clean,$(MAKECMDGOALS)),) +$(error Unsupported CHAIN - use ethereum, expanse, ubiq) +endif +endif +APP_LOAD_PARAMS += --appFlags 0x40 --path "44'/1'" --curve secp256k1 $(COMMON_LOAD_PARAMS) + #prepare hsm generation ifeq ($(TARGET_NAME),TARGET_BLUE) -ICONNAME=app_ethereum.gif +ICONNAME=blue_app_$(CHAIN).gif else -ICONNAME=icon.gif +ICONNAME=nanos_app_$(CHAIN).gif endif - ################ # Default rule # ################ @@ -80,7 +96,7 @@ LDLIBS += -lm -lgcc -lc include $(BOLOS_SDK)/Makefile.glyphs ### computed variables -APP_SOURCE_PATH += src_genericwallet src_common +APP_SOURCE_PATH += src_genericwallet src_common src SDK_SOURCE_PATH += lib_stusb diff --git a/app_ethereum.gif b/blue_app_ethereum.gif similarity index 100% rename from app_ethereum.gif rename to blue_app_ethereum.gif diff --git a/blue_app_expanse.gif b/blue_app_expanse.gif new file mode 100644 index 0000000000000000000000000000000000000000..82660042dc17fa694947ec9111f4e71ad8f57230 GIT binary patch literal 551 zcmV+?0@(dWNk%w1VKM+R0J8u9{`K(rvybmg0Q<$M_Jl(7a2@>Q*ZkSX_@Z<8lUn@m z=kZ_w@m2u&`T76<|L#QqEC2ui05SkF000F4u*pfA8i*7op8p^yFa?1ON~Nw15ENl7 z&t4G#>>4n1?|Y0uZeoD_j=h2*cidOw9q;7k4pB>-#L%fL0p z>+-pa6(ACwZ&>lQD;y3A2zgi+bqIeB28n`%PZ&^sfChL12?l@w2x>nWNRo;Kj+U4X zE}S$PKcEH#Jp>1U4gm{48$JlKtw^x40gf>oJ^+9Ns67k=vd165GQ^piUEldcc#W$zyelePT-DZuAJ9~pi%009J% z%RmT&Ul2YBFiVC2g&-h$k*F-ej93KR^Ev2-gyXpxnCNK4A~Dwi84Dn;ydp8CgODDS z4R|=xor8rF0panmK$!zNB1s;Rm^0G>c{r2$1nMC{qGCu3_T2Y#MuC}Hl{yPSjMfZ5 zQF3jaF~Uc=0a?+8SU_>o*bgLZ8Fc_RqXQ5H_O7!P)vI89a(iLrg#Zd&UH%+g@v^e4NVgq36xt@7muFJpBEc z;rouS|Ni{^`Sbt({|xWj75{Tb_y#DrB$gxsX&d{Bg2d$P)DnfH)bz|eTc!8A_bVx6 zrr0WloBA5~7C5J7WO`H;r3P2|g(O#HCtIc{+1n}DR9IEy7UZUuBq~(o=HwMyRoE&e zrsOB3S^?Q0VSOb9u#%E&TO~)3gaXJ;=lr5n1yemU-DE>!3k7paJwsDV3nLR91tSAP zGkpU~eM1vn14AnVODh9I1t?Gg+E$d3W)w8T~k=u(Im zatq+b<`wIKy`z_$pQ~SySfFpHX8`gNOrftYexyn>bnwy$e0@Is<&})WMFDOCe765H_NiE7OOHFYr%Fk5*d)z7$w_A*Hng`XJ zg4-=7IQ8lS9itD5UZm)T2?5g(hzU=;Kn^_lr{)3Ed=W5lGyebg_s{QNKYx7x_Vvr> zPai+LfA{vy>sK#dJb(7|$>T>4AKbrp_s;EGH*Z|OcJ<2TOBXMkKX>-b=~E|996xsS z$l*f=5A5H!chBx!J9li~wsp(qO&d3?U$=J6>QyUOEMK;C$>K!|7tEhGch2ltGiOYn zHg(G6NfRgZ_x1L4cXf8Ox3#u3H#IiY*VWckS5;P&mz9*?xfYiVkztEs9eD=8|-%gM?}OG!$Ii;0Q|3keGF^YQXE6%vdS1iY56<5glw)HxrgpzuaZqU3!wn`2&3 z!{5HW4vOIq6z3Zs4!YVBl^Qhl}@S-@c#xP=Sr5g@>u^`AfOi5BQ4CyjaQf!r@8wcK##l8H)-cs|`Lx9pvA? z$Wf`>bGCVHk&>N-!1>0FiM-o(I~cz>Fq6^AI<4hNP|vhulR5HYWs)0YRc3){9x1&Puo~j=#K+|AC;>bl(|QRFo6bL=Q9wG_JGt zP!YON5*L}DQ9DJTxJdhup4y9flQdr56V9?J=N>C9PfXy_Gm77M@Y&WbZb`F%sfLS=bc#4D IF)&yI0DrkwX#fBK literal 0 HcmV?d00001 diff --git a/glyphs/badge_ethereum.gif b/glyphs/blue_badge_ethereum.gif similarity index 100% rename from glyphs/badge_ethereum.gif rename to glyphs/blue_badge_ethereum.gif diff --git a/glyphs/blue_badge_expanse.gif b/glyphs/blue_badge_expanse.gif new file mode 100644 index 0000000000000000000000000000000000000000..9de8e125cfd47054ecce3fe90191a0e4a7468bb4 GIT binary patch literal 1477 zcmZ?wbhEHbG-5Dfn8?8J;K75BA3vTsbLQvIpNjvvBYXoCToOwXfwYZ%ML}Y6c4~=2 zQfhi;o~_dR-TRdkGE;1o!cBb*d<&dYGcrA@ic*8C{6dnevXd=SlxV%Qmue&kg&dz0$52&wylyQNJ0T*r*nQ$s)DJWnQpS7v4w)U zrJkXwrG=4+j)IYap_#scrM{twu7RPIfu)s!p#l^r0c|TvNwW%aaf8|g1^l#~=$ z>Fbx5m+O@q>*W`v>l<2HTIw4Z=^Gj80#)c1SLT%@R_NvxE5l51Ni9w;$}A|!%+FH* znV6WAUs__T1av9H3%LbwWAlpjz~0eI&d=4aNG#Ad)H48i38v837r)ZnT)67ulAu(C zd$Af^98y`3svneEoL^d$oC;K~46>@g%DE^tu_V7JBtJg~7K#BG`6cQdFB2=9ZF3nBND}m`vLFhHbsTY(WatnYqyQCInmZhe+73JqD zfIV)NiQ6qkIL(9VO~LIJW1M>RfsWA!MK4lx!-Rlo2*iXZULXga{8RIQX}$=UxEcTd z`}^njub)4@fBX97^QVs=-oJbM=Jl(WFP=Yp`sDGWhY#-GyL;#Mt(!NlU%Ptc@}-Lx z&YwGb=JctPCypOGdgSn-g9rBS+q-A?uAMu!Z`-%OrteG>WPn$Yr@}!9q`ulo&y1P0%+S^)NnwuIM>g#H2s;eq1%F9Yiii-*h z^7C?Yva>QX($i8?l9Lh>;^SgtqN5@s!oxyCf`bAB{QZ1=yuCa<+}&JVoShsU?CorA ztgS39%*{+qjExKp^!0Rgw6!!f)YVi~l$8_}c#J?&&>E`yVWg@c!7dEz#p7%iT1EjF49%w$s8-PqCiCRAv64c=d&z z?BJM5tDM_!ZN9>DN94nm=NyODm2VSMOJ}s0QE)@)c>0dU@6QWa!e@N&*!J+NgGNE& zOy(CWuSZ-=RJvTiu;b;6hK!q)H$E1fj9R#iF|)ej)W)RSDWSJ^PAE;VVVL94&gdiM zUL#|>hDZ9R*4g0R37S%!;X8F>GuLu0U!ars!IGzTw%uNz)zbZcLf1Wg#asKlX>H$Y znOzlgEE2rkF5F=$eI#>d;{gK!%S`cQCf+Ab9x%=;(cclVC2{%G#%hJTJt1veJf8AQ z({DC@G(6+&aXzeTM&`upiyW>$TVr%0NqKqm`pD1J zUC}b)@mRDe=jL%AfqI`?9bY*Yu9`A4=Z4$VKy?QGoqX0+S3ed{JGoo$wOhu5ZBC2~ F)&M|mJlX&N literal 0 HcmV?d00001 diff --git a/glyphs/blue_badge_ubiq.gif b/glyphs/blue_badge_ubiq.gif new file mode 100644 index 0000000000000000000000000000000000000000..69b1cf3ae5984baa4c8cbad6716d26ecbf5ac2a3 GIT binary patch literal 386 zcmV-|0e${QNk%w1VKM+R0FeLy-rnBt@9)ga%=!8GA^8LV00000EC2ui05SkF00092 zoR4`C00N_9s@l6;+*}3>R?RkjOY?Z)nhJm!ju5b3fmACkoDb>SQ^;t&6fczz5H`|ZkV-feBO z3T%@$^3lEvapiJZ^HbaYBOEA4kGyyb_^XyDHvi5bJY?+;7<>`JC2>VC2$mdEa>z9S zaz|cAI8GKyB#B1efrTg$WOT{0<;aWaTAEU+BW9T`W-RvL*-s}Dpi7ix;noMo$BJKC gfQ;c3j*J;EcrehQ0_D^WT%Xz$gq1{9Bn1EfI~T{Vt^fc4 literal 0 HcmV?d00001 diff --git a/glyphs/icon_ethereum.gif b/glyphs/nanos_badge_ethereum.gif similarity index 100% rename from glyphs/icon_ethereum.gif rename to glyphs/nanos_badge_ethereum.gif diff --git a/glyphs/nanos_badge_expanse.gif b/glyphs/nanos_badge_expanse.gif new file mode 100644 index 0000000000000000000000000000000000000000..b1c996dbad9a55dc76517e36496e3db99b1b69a1 GIT binary patch literal 1134 zcmZ?wbhEHbh+i z#(Mch>H3D2mX`VkM*2oZx= zIZpGSdQ)(_#R8{ZeV}9XLD7p8-7q0w8Uiuli5JL$C;!wuV45!iCT_<6|Nj2@{p;tC z@87({PcxqRv3h4bgmo;iK$ z#u35cm<%;FYmM&SmXyJnS^XAT( zJ!|HS>C>i8nLKIYg#NzXp6;&Bj`p_Jmgc6$hWfhNn(C^`it@73lH#Jmg8aPPob0U3 zjP$hBl;otug!s7FnCPg;i14t`kl>)e0DnJUA8#*D4|g|L7iT9&2YWkP8*3{|3v)A5 z6JsMo1ARSR9c?X54RtkD6=fww1$jAH8EGj=32`w|5n&-g0e(JS9&Rp94t6$H7G@?! zUHd3@pi8IxXKX-g^*F7%3>J-PE%X4h+i z#(Mch>H3D2mX`VkM*2oZxD$|%*>rEV0vBhlS^|`^GaZPQxJMxaq0ynh};68%`T}$nPsUdZbkXI3Sf_0W#V>= z6HfD>dQ)(_#TlnweV}9XLD7p8-7q0w8Uiuli5JL$C;!wuV45!iCT_<6|Nj2@{p;tC z@87({PcxqRv3h4bgmo;iK$ z#u35cm<%;FYmM&SmXyJnS^XAT( zJ!|HS>C>i8nLKIYg#NzXp6;&Bj`p_Jmgc6$hWfhNn(C^`it@73lH#Jmg8aPPob0U3 zjP$hBl;otug!s7FnCPg;i14t`kl>)e0DnJUA8#*D4|g|L7iT9&2YWkP8*3{|3v)A5 z6JsMo1ARSR9c?X54RtkD6=fww1$jAH8EGj=32`w|5n&-g0e(JS9&Rp94t6$H7G@?! zU6v-9O7C~? zS5nAKu~iB;^)>JRtPXT0NVp4u-iLDaQ zr4TRV7Ql_oE7k*hM=v=)SHB{$K;KZ$0OTc@LSJ9}N^^7Js*6j4QW5UOYH)E#WkITb zP-=00X;E@2P`NV5ssbzLqSVBa{GyQj{2W*)24v)yucqiS6q^qmz?V9Vygr+M=vuo#mdFS*vQnv+}PaB($LV*)!f3#z{JJL$w_A*G>eUB2MjsTtNYM=w0;VAl6P|d19C-3i%>$zB`;K7M%r?(Lh`uU@`*{_N?K$B!O9xPR~No!hr=-nf44>XplvE?zi)?(CVz2)%Hf~tIZta@Yt5&X9zHI4|#fug$m_KjsoY}Kx z&X_)J>XgZoCQj(@>+R|8>g;H5Yi((6YHX;ltF5W7s;nq4D=jH5DlEv)%gxEo%FIYl zOHD~mN=%54i;annii`*k3k?Yl3Jmb~^Y!ue^7L?bb9Hfca&)k_v$e6dva~QaGc_?b zGBnWF)78<|($r8_Q&mw`QdE$ala-N{l9Uh^6BQ8_5)|O)K@1Gm E0F!2qIRF3v literal 0 HcmV?d00001 diff --git a/nanos_app_ubiq.gif b/nanos_app_ubiq.gif new file mode 100644 index 0000000000000000000000000000000000000000..2c5a47a70c4bb4174c187971c7701a295a54fe19 GIT binary patch literal 1210 zcmZ?wbhEHb6krfwXkY+=|Ns9h{^ySH4N!1NEJ*~?Hue<-iOJciB??KY>6v-9O7C~? zS5nAKu~iB;^)>JRtPXT0NVp4u-iLDaQ zr4TRV7Wn$Y4bCgp1A9m>IX_pwBC$Z$_i>(q+MlU5Z#VXmr$RyFo zBvscuEhSag#4O2J*V4iwQ8y{o($FZy#30esG!bSFHvP^nhAw8t25ydymQIF-uI3iz zE{1MKW^QgqP9|pNP8Kk|o_WP3iFwJXFuOB>c0={L;?-;AT$Gwvl3x^(pPvIu1pyiP zCHch}`2`Bj&Y)N~SJ3cHOwP;$32K5O3gT~<)S}F?)D*X({9FZaNLyuMaRqT90MVa9 zZV2iF9i9{rvI$+t)9jKYjf0 z{@vR*uV1}<@%-7-CyyUJd~pBX-8;8$-Mn%A+SMzUFI~KF{@mF!r%#aDv3%LmC5sm=Trhv$+&Qyn&73iP+SDnN zCrzBt-`CsI-PPIA-qzaE+|<}mUsqdGT~%38URGLCTvS+)pO>4Hot2r9o|c-DoRpXl z9~T=F9Tgc79u^uB926Mf@8|2|?d9p=?&j*^?BwWRZ)a;`ZDna;Zf0s?Y-DJlucxb{ zt);1EF>tv&&SKd&Be*V&c@2Z%*4pRp!kyoT=?jK tNKjeCz$D+(zw-3k2LcTr&KBI<6a9T(%>tz~#nh|_(Zsjh#~m3NtO1ySs-ge@ literal 0 HcmV?d00001 diff --git a/src_genericwallet/main.c b/src_genericwallet/main.c index d50e4e5..ce1620d 100644 --- a/src_genericwallet/main.c +++ b/src_genericwallet/main.c @@ -28,6 +28,9 @@ #include "glyphs.h" +#define __NAME3(a, b, c) a##b##c +#define NAME3(a, b, c) __NAME3(a, b, c) + #ifdef HAVE_U2F #include "u2f_service.h" @@ -222,7 +225,7 @@ const bagl_element_t ui_idle_blue[] = { /// TOP STATUS BAR {{BAGL_LABELINE, 0x00, 0, 45, 320, 30, 0, 0, BAGL_FILL, 0xFFFFFF, COLOR_APP, BAGL_FONT_OPEN_SANS_SEMIBOLD_10_13PX | BAGL_FONT_ALIGNMENT_CENTER, 0}, - "ETHEREUM", + CHAINID_UPCASE, 0, 0, 0, @@ -255,9 +258,9 @@ const bagl_element_t ui_idle_blue[] = { NULL, NULL}, - // BADGE_ETHEREUM.GIF + // BADGE_.GIF {{BAGL_ICON, 0x00, 135, 178, 50, 50, 0, 0, BAGL_FILL, 0, COLOR_BG_1, 0, 0}, - &C_badge_ethereum, + &NAME3(C_blue_badge_, CHAINID, ), 0, 0, 0, @@ -268,7 +271,7 @@ const bagl_element_t ui_idle_blue[] = { {{BAGL_LABELINE, 0x00, 0, 270, 320, 30, 0, 0, BAGL_FILL, 0x000000, COLOR_BG_1, BAGL_FONT_OPEN_SANS_LIGHT_16_22PX | BAGL_FONT_ALIGNMENT_CENTER, 0}, - "Open Ethereum wallet", + "Open " CHAINID_NAME " wallet", 0, 0, 0, @@ -383,7 +386,8 @@ const ux_menu_entry_t menu_about[] = { UX_MENU_END}; const ux_menu_entry_t menu_main[] = { - {NULL, NULL, 0, &C_icon_ethereum, "Use wallet to", "view accounts", 33, 12}, + {NULL, NULL, 0, &NAME3(C_nanos_badge_, CHAINID, ), "Use wallet to", + "view accounts", 33, 12}, {menu_settings, NULL, 0, NULL, "Settings", NULL, 0, 0}, {menu_about, NULL, 0, NULL, "About", NULL, 0, 0}, {NULL, os_sched_exit, 0, &C_icon_dashboard, "Quit app", NULL, 50, 29}, @@ -868,9 +872,9 @@ const bagl_element_t *ui_approval_blue_1_details(const bagl_element_t *e) { BAGL_FONT_OPEN_SANS_LIGHT_16_22PX_AVG_WIDTH >= 160) { // display details screen - ui_details_init(ui_approval_blue_details_name[G_ui_approval_blue_state] - [0], - ui_approval_blue_values[0], ui_approval_blue_init); + ui_details_init( + ui_approval_blue_details_name[G_ui_approval_blue_state][0], + ui_approval_blue_values[0], ui_approval_blue_init); } return 0; }; @@ -879,9 +883,9 @@ const bagl_element_t *ui_approval_blue_2_details(const bagl_element_t *e) { if (strlen(ui_approval_blue_values[1]) * BAGL_FONT_OPEN_SANS_REGULAR_10_13PX_AVG_WIDTH >= 160) { - ui_details_init(ui_approval_blue_details_name[G_ui_approval_blue_state] - [1], - ui_approval_blue_values[1], ui_approval_blue_init); + ui_details_init( + ui_approval_blue_details_name[G_ui_approval_blue_state][1], + ui_approval_blue_values[1], ui_approval_blue_init); } return 0; }; @@ -890,9 +894,9 @@ const bagl_element_t *ui_approval_blue_3_details(const bagl_element_t *e) { if (strlen(ui_approval_blue_values[2]) * BAGL_FONT_OPEN_SANS_REGULAR_10_13PX_AVG_WIDTH >= 160) { - ui_details_init(ui_approval_blue_details_name[G_ui_approval_blue_state] - [2], - ui_approval_blue_values[2], ui_approval_blue_init); + ui_details_init( + ui_approval_blue_details_name[G_ui_approval_blue_state][2], + ui_approval_blue_values[2], ui_approval_blue_init); } return 0; }; diff --git a/src_genericwallet/tokens.c b/src_genericwallet/tokens.c index cf04525..c03a482 100644 --- a/src_genericwallet/tokens.c +++ b/src_genericwallet/tokens.c @@ -17,12 +17,17 @@ #include "tokens.h" +#if defined(CHAIN_TYPE_ETHEREUM) const tokenDefinition_t const TOKENS[NUM_TOKENS] = { {{0xAf, 0x30, 0xD2, 0xa7, 0xE9, 0x0d, 0x7D, 0xC3, 0x61, 0xc8, 0xC4, 0x58, 0x5e, 0x9B, 0xB7, 0xD2, 0xF6, 0xf1, 0x5b, 0xc7}, "1ST ", 18}, + {{0xaE, 0xc9, 0x8A, 0x70, 0x88, 0x10, 0x41, 0x48, 0x78, 0xc3, + 0xBC, 0xDF, 0x46, 0xAa, 0xd3, 0x1d, 0xEd, 0x4a, 0x45, 0x57}, + "300 ", + 18}, {{0x42, 0x28, 0x66, 0xa8, 0xF0, 0xb0, 0x32, 0xc5, 0xcf, 0x1D, 0xfB, 0xDE, 0xf3, 0x1A, 0x20, 0xF4, 0x50, 0x95, 0x62, 0xb0}, "ADST ", @@ -35,34 +40,90 @@ const tokenDefinition_t const TOKENS[NUM_TOKENS] = { 0xB9, 0x39, 0xBE, 0x33, 0x2f, 0x92, 0x7f, 0x2b, 0x99, 0x2e}, "ADX ", 4}, + {{0x27, 0xdc, 0xe1, 0xec, 0x4d, 0x3f, 0x72, 0xc3, 0xe4, 0x57, + 0xcc, 0x50, 0x35, 0x4f, 0x1f, 0x97, 0x5d, 0xde, 0xf4, 0x88}, + "AIR ", + 8}, + {{0xEA, 0x61, 0x0B, 0x11, 0x53, 0x47, 0x77, 0x20, 0x74, 0x8D, + 0xC1, 0x3E, 0xD3, 0x78, 0x00, 0x39, 0x41, 0xd8, 0x4f, 0xAB}, + "ALIS ", + 18}, + {{0x94, 0x9b, 0xEd, 0x88, 0x6c, 0x73, 0x9f, 0x1A, 0x32, 0x73, + 0x62, 0x9b, 0x33, 0x20, 0xdb, 0x0C, 0x50, 0x24, 0xc7, 0x19}, + "AMIS ", + 9}, {{0x96, 0x0b, 0x23, 0x6A, 0x07, 0xcf, 0x12, 0x26, 0x63, 0xc4, 0x30, 0x33, 0x50, 0x60, 0x9A, 0x66, 0xA7, 0xB2, 0x88, 0xC0}, "ANT ", 18}, - {{0x23, 0xae, 0x3c, 0x5b, 0x39, 0xb1, 0x2f, 0x06, 0x93, 0xe0, - 0x54, 0x35, 0xee, 0xaa, 0x1e, 0x51, 0xd8, 0xc6, 0x15, 0x30}, + {{0x23, 0xaE, 0x3C, 0x5B, 0x39, 0xB1, 0x2f, 0x06, 0x93, 0xe0, + 0x54, 0x35, 0xEe, 0xaA, 0x1e, 0x51, 0xd8, 0xc6, 0x15, 0x30}, "APT ", 18}, {{0xAc, 0x70, 0x9F, 0xcB, 0x44, 0xa4, 0x3c, 0x35, 0xF0, 0xDA, 0x4e, 0x31, 0x63, 0xb1, 0x17, 0xA1, 0x7F, 0x37, 0x70, 0xf5}, "ARC ", 18}, + {{0xBA, 0x5F, 0x11, 0xb1, 0x6B, 0x15, 0x57, 0x92, 0xCf, 0x3B, + 0x2E, 0x68, 0x80, 0xE8, 0x70, 0x68, 0x59, 0xA8, 0xAE, 0xB6}, + "ARN ", + 18}, + {{0xfe, 0xc0, 0xcF, 0x7f, 0xE0, 0x78, 0xa5, 0x00, 0xab, 0xf1, + 0x5F, 0x12, 0x84, 0x95, 0x8F, 0x22, 0x04, 0x9c, 0x2C, 0x7e}, + "ART ", + 18}, + {{0x27, 0x05, 0x4b, 0x13, 0xb1, 0xB7, 0x98, 0xB3, 0x45, 0xb5, + 0x91, 0xa4, 0xd2, 0x2e, 0x65, 0x62, 0xd4, 0x7e, 0xA7, 0x5a}, + "AST ", + 4}, + {{0x17, 0x05, 0x2d, 0x51, 0xE9, 0x54, 0x59, 0x2C, 0x10, 0x46, + 0x32, 0x0c, 0x23, 0x71, 0xAb, 0xaB, 0x6C, 0x73, 0xEf, 0x10}, + "ATH ", + 18}, + {{0x78, 0xB7, 0xFA, 0xDA, 0x55, 0xA6, 0x4d, 0xD8, 0x95, 0xD8, + 0xc8, 0xc3, 0x57, 0x79, 0xDD, 0x8b, 0x67, 0xfA, 0x8a, 0x05}, + "ATL ", + 18}, + {{0xeD, 0x24, 0x79, 0x80, 0x39, 0x6B, 0x10, 0x16, 0x9B, 0xB1, + 0xd3, 0x6f, 0x6e, 0x27, 0x8e, 0xD1, 0x67, 0x00, 0xa6, 0x0f}, + "AVA ", + 4}, + {{0x0d, 0x88, 0xed, 0x6e, 0x74, 0xbb, 0xfd, 0x96, 0xb8, 0x31, + 0x23, 0x16, 0x38, 0xb6, 0x6c, 0x05, 0x57, 0x1e, 0x82, 0x4f}, + "AVT ", + 18}, {{0x0D, 0x87, 0x75, 0xF6, 0x48, 0x43, 0x06, 0x79, 0xA7, 0x09, 0xE9, 0x8d, 0x2b, 0x0C, 0xb6, 0x25, 0x0d, 0x28, 0x87, 0xEF}, "BAT ", 18}, - {{0x74, 0xC1, 0xE4, 0xb8, 0xca, 0xE5, 0x92, 0x69, 0xec, 0x1D, - 0x85, 0xD3, 0xD4, 0xF3, 0x24, 0x39, 0x60, 0x48, 0xF4, 0xac}, - "(^) ", - 0}, - {{0x72, 0x58, 0x03, 0x31, 0x55, 0x19, 0xde, 0x78, 0xd2, 0x32, - 0x26, 0x5a, 0x8f, 0x10, 0x40, 0xf0, 0x54, 0xe7, 0x0b, 0x98}, - "BET ", - 18}, {{0x1e, 0x79, 0x7C, 0xe9, 0x86, 0xC3, 0xCF, 0xF4, 0x47, 0x2F, 0x7D, 0x38, 0xd5, 0xC4, 0xab, 0xa5, 0x5D, 0xfE, 0xFE, 0x40}, "BCDN ", 15}, + {{0x74, 0xC1, 0xE4, 0xb8, 0xca, 0xE5, 0x92, 0x69, 0xec, 0x1D, + 0x85, 0xD3, 0xD4, 0xF3, 0x24, 0x39, 0x60, 0x48, 0xF4, 0xac}, + "(^) ", + 0}, + {{0x72, 0x58, 0x03, 0x31, 0x55, 0x19, 0xde, 0x78, 0xD2, 0x32, + 0x26, 0x5A, 0x8f, 0x10, 0x40, 0xf0, 0x54, 0xe7, 0x0B, 0x98}, + "BET ", + 18}, + {{0xb2, 0xbf, 0xeb, 0x70, 0xb9, 0x03, 0xf1, 0xba, 0xac, 0x7f, + 0x2b, 0xa2, 0xc6, 0x29, 0x34, 0xc7, 0xe5, 0xb9, 0x74, 0xc4}, + "BKB ", + 8}, + {{0xce, 0x59, 0xd2, 0x9b, 0x09, 0xaa, 0xe5, 0x65, 0xfe, 0xee, + 0xf8, 0xe5, 0x2f, 0x47, 0xc3, 0xcd, 0x53, 0x68, 0xc6, 0x63}, + "BLX ", + 18}, + {{0xdf, 0x6e, 0xf3, 0x43, 0x35, 0x07, 0x80, 0xbf, 0x8c, 0x34, + 0x10, 0xbf, 0x06, 0x2e, 0x0c, 0x01, 0x5b, 0x1d, 0xd6, 0x71}, + "BMC ", + 8}, + {{0xf0, 0x28, 0xad, 0xee, 0x51, 0x53, 0x3b, 0x1b, 0x47, 0xbe, + 0xaa, 0x89, 0x0f, 0xeb, 0x54, 0xa4, 0x57, 0xf5, 0x1e, 0x89}, + "BMT ", + 18}, {{0xdD, 0x6B, 0xf5, 0x6C, 0xA2, 0xad, 0xa2, 0x4c, 0x68, 0x3F, 0xAC, 0x50, 0xE3, 0x77, 0x83, 0xe5, 0x5B, 0x57, 0xAF, 0x9F}, "BNC ", @@ -71,46 +132,106 @@ const tokenDefinition_t const TOKENS[NUM_TOKENS] = { 0x44, 0xB4, 0xcE, 0x37, 0x79, 0x4d, 0x79, 0xa7, 0xFF, 0x1C}, "BNT ", 18}, + {{0x7f, 0x1e, 0x2c, 0x7d, 0x6a, 0x69, 0xbf, 0x34, 0x82, 0x4d, + 0x72, 0xc5, 0x3b, 0x45, 0x50, 0xe8, 0x95, 0xc0, 0xd8, 0xc2}, + "BOP ", + 8}, + {{0xC2, 0xC6, 0x3F, 0x23, 0xec, 0x5E, 0x97, 0xef, 0xbD, 0x75, + 0x65, 0xdF, 0x9E, 0xc7, 0x64, 0xFD, 0xc7, 0xd4, 0xe9, 0x1d}, + "BOU ", + 18}, + {{0x9E, 0x77, 0xD5, 0xa1, 0x25, 0x1b, 0x6F, 0x7D, 0x45, 0x67, + 0x22, 0xA6, 0xea, 0xC6, 0xD2, 0xd5, 0x98, 0x0b, 0xd8, 0x91}, + "BRAT ", + 8}, {{0x5A, 0xf2, 0xBe, 0x19, 0x3a, 0x6A, 0xBC, 0xa9, 0xc8, 0x81, 0x70, 0x01, 0xF4, 0x57, 0x44, 0x77, 0x7D, 0xb3, 0x07, 0x56}, "BQX ", 8}, + {{0x73, 0xdd, 0x06, 0x9c, 0x29, 0x9a, 0x5d, 0x69, 0x1e, 0x98, + 0x36, 0x24, 0x3b, 0xca, 0xec, 0x9c, 0x8c, 0x1d, 0x87, 0x34}, + "BTE ", + 8}, + {{0x7d, 0x4b, 0x8C, 0xce, 0x05, 0x91, 0xC9, 0x04, 0x4a, 0x22, + 0xee, 0x54, 0x35, 0x33, 0xb7, 0x2E, 0x97, 0x6E, 0x36, 0xC3}, + "CAG ", + 18}, + {{0x1d, 0x46, 0x24, 0x14, 0xfe, 0x14, 0xcf, 0x48, 0x9c, 0x7A, + 0x21, 0xCa, 0xC7, 0x85, 0x09, 0xf4, 0xbF, 0x8C, 0xD7, 0xc0}, + "CAN ", + 6}, {{0x56, 0xba, 0x2E, 0xe7, 0x89, 0x04, 0x61, 0xf4, 0x63, 0xF7, 0xbe, 0x02, 0xaA, 0xC3, 0x09, 0x9f, 0x6d, 0x58, 0x11, 0xA8}, "CAT ", 18}, + {{0x28, 0x57, 0x7A, 0x6d, 0x31, 0x55, 0x9b, 0xd2, 0x65, 0xCe, + 0x3A, 0xDB, 0x62, 0xd0, 0x45, 0x85, 0x50, 0xF7, 0xb8, 0xa7}, + "CCC ", + 18}, + {{0x17, 0x7d, 0x39, 0xAC, 0x67, 0x6E, 0xD1, 0xC6, 0x7A, 0x2b, + 0x26, 0x8A, 0xD7, 0xF1, 0xE5, 0x88, 0x26, 0xE5, 0xB0, 0xaf}, + "CDT ", + 18}, {{0x12, 0xFE, 0xF5, 0xe5, 0x7b, 0xF4, 0x58, 0x73, 0xCd, 0x9B, 0x62, 0xE9, 0xDB, 0xd7, 0xBF, 0xb9, 0x9e, 0x32, 0xD7, 0x3e}, "CFI ", 18}, + {{0x7e, 0x66, 0x75, 0x25, 0x52, 0x1c, 0xF6, 0x13, 0x52, 0xe2, + 0xE0, 0x1b, 0x50, 0xFa, 0xaa, 0xE7, 0xDf, 0x39, 0x74, 0x9a}, + "CMC ", + 18}, + {{0xb2, 0xf7, 0xeb, 0x1f, 0x2c, 0x37, 0x64, 0x5b, 0xe6, 0x1d, + 0x73, 0x95, 0x30, 0x35, 0x36, 0x0e, 0x76, 0x8d, 0x81, 0xe6}, + "COB ", + 18}, {{0xAe, 0xf3, 0x8f, 0xBF, 0xBF, 0x93, 0x2D, 0x1A, 0xeF, 0x3B, 0x80, 0x8B, 0xc8, 0xfB, 0xd8, 0xCd, 0x8E, 0x1f, 0x8B, 0xC5}, "CRB ", 8}, - {{0x4e, 0x06, 0x03, 0xe2, 0xa2, 0x7a, 0x30, 0x48, 0x0e, 0x5e, - 0x3a, 0x4f, 0xe5, 0x48, 0xe2, 0x9e, 0xf1, 0x2f, 0x64, 0xbe}, + {{0x4E, 0x06, 0x03, 0xe2, 0xA2, 0x7A, 0x30, 0x48, 0x0E, 0x5e, + 0x3a, 0x4F, 0xe5, 0x48, 0xe2, 0x9E, 0xF1, 0x2F, 0x64, 0xbE}, "CRDO ", 18}, - {{0xbf, 0x4c, 0xfd, 0x7d, 0x1e, 0xde, 0xee, 0xa5, 0xf6, 0x60, - 0x08, 0x27, 0x41, 0x1b, 0x41, 0xa2, 0x1e, 0xb0, 0x8a, 0xbd}, - "CTL ", - 2}, {{0xE4, 0xc9, 0x4d, 0x45, 0xf7, 0xAe, 0xf7, 0x01, 0x8a, 0x5D, 0x66, 0xf4, 0x4a, 0xF7, 0x80, 0xec, 0x60, 0x23, 0x37, 0x8e}, "CCRB ", 6}, - {{0x41, 0xe5, 0x56, 0x00, 0x54, 0x82, 0x4e, 0xa6, 0xb0, 0x73, - 0x2e, 0x65, 0x6e, 0x3a, 0xd6, 0x4e, 0x20, 0xe9, 0x4e, 0x45}, + {{0xBf, 0x4c, 0xFD, 0x7d, 0x1e, 0xDe, 0xeE, 0xA5, 0xf6, 0x60, + 0x08, 0x27, 0x41, 0x1B, 0x41, 0xA2, 0x1e, 0xB0, 0x8a, 0xbd}, + "CTL ", + 2}, + {{0x41, 0xe5, 0x56, 0x00, 0x54, 0x82, 0x4e, 0xA6, 0xB0, 0x73, + 0x2E, 0x65, 0x6E, 0x3A, 0xd6, 0x4E, 0x20, 0xe9, 0x4E, 0x45}, "CVC ", 8}, + {{0xda, 0xb0, 0xC3, 0x1B, 0xF3, 0x4C, 0x89, 0x7F, 0xb0, 0xFe, + 0x90, 0xD1, 0x2E, 0xC9, 0x40, 0x1c, 0xaf, 0x5c, 0x36, 0xEc}, + "DAB ", + 0}, + {{0x07, 0xd9, 0xe4, 0x9e, 0xa4, 0x02, 0x19, 0x4b, 0xf4, 0x8a, + 0x82, 0x76, 0xda, 0xfb, 0x16, 0xe4, 0xed, 0x63, 0x33, 0x17}, + "DALC ", + 8}, {{0xBB, 0x9b, 0xc2, 0x44, 0xD7, 0x98, 0x12, 0x3f, 0xDe, 0x78, 0x3f, 0xCc, 0x1C, 0x72, 0xd3, 0xBb, 0x8C, 0x18, 0x94, 0x13}, "DAO ", 16}, + {{0x0c, 0xf0, 0xee, 0x63, 0x78, 0x8a, 0x08, 0x49, 0xfe, 0x52, + 0x97, 0xf3, 0x40, 0x7f, 0x70, 0x1e, 0x12, 0x2c, 0xc0, 0x23}, + "DATS ", + 18}, + {{0x1b, 0x5f, 0x21, 0xee, 0x98, 0xee, 0xd4, 0x8d, 0x29, 0x2e, + 0x8e, 0x2d, 0x3e, 0xd8, 0x2b, 0x40, 0xa9, 0x72, 0x8a, 0x22}, + "DATD ", + 18}, {{0xcC, 0x4e, 0xF9, 0xEE, 0xAF, 0x65, 0x6a, 0xC1, 0xa2, 0xAb, 0x88, 0x67, 0x43, 0xE9, 0x8e, 0x97, 0xE0, 0x90, 0xed, 0x38}, "DDF ", 18}, + {{0x35, 0x97, 0xbf, 0xD5, 0x33, 0xa9, 0x9c, 0x9a, 0xa0, 0x83, + 0x58, 0x7B, 0x07, 0x44, 0x34, 0xE6, 0x1E, 0xb0, 0xA2, 0x58}, + "DENT ", + 8}, {{0xE0, 0xB7, 0x92, 0x7c, 0x4a, 0xF2, 0x37, 0x65, 0xCb, 0x51, 0x31, 0x4A, 0x0E, 0x05, 0x21, 0xA9, 0x64, 0x5F, 0x0E, 0x2A}, "DGD ", @@ -123,36 +244,88 @@ const tokenDefinition_t const TOKENS[NUM_TOKENS] = { 0x00, 0x58, 0x85, 0xbA, 0x19, 0x77, 0xD6, 0x03, 0x8A, 0x65}, "DICE ", 16}, - {{0x62, 0x1d, 0x78, 0xf2, 0xef, 0x2f, 0xd9, 0x37, 0xbf, 0xca, - 0x69, 0x6c, 0xab, 0xaf, 0x9a, 0x77, 0x9f, 0x59, 0xb3, 0xed}, - "DRP ", - 2}, - {{0x0a, 0xbd, 0xac, 0xe7, 0x0d, 0x37, 0x90, 0x23, 0x5a, 0xf4, - 0x48, 0xc8, 0x85, 0x47, 0x60, 0x3b, 0x94, 0x56, 0x04, 0xea}, + {{0x0A, 0xbd, 0xAc, 0xe7, 0x0D, 0x37, 0x90, 0x23, 0x5a, 0xf4, + 0x48, 0xC8, 0x85, 0x47, 0x60, 0x3b, 0x94, 0x56, 0x04, 0xea}, "DNT ", 18}, + {{0x3c, 0x75, 0x22, 0x65, 0x55, 0xFC, 0x49, 0x61, 0x68, 0xd4, + 0x8B, 0x88, 0xDF, 0x83, 0xB9, 0x5F, 0x16, 0x77, 0x1F, 0x37}, + "DROP ", + 0}, + {{0x01, 0xb3, 0xEc, 0x4a, 0xAe, 0x1B, 0x87, 0x29, 0x52, 0x9B, + 0xEB, 0x49, 0x65, 0xF2, 0x7d, 0x00, 0x87, 0x88, 0xB0, 0xEB}, + "DPP ", + 18}, + {{0x62, 0x1d, 0x78, 0xf2, 0xEF, 0x2f, 0xd9, 0x37, 0xBF, 0xca, + 0x69, 0x6C, 0xab, 0xaF, 0x9A, 0x77, 0x9F, 0x59, 0xB3, 0xEd}, + "DRP ", + 2}, + {{0xa5, 0x78, 0xaC, 0xc0, 0xcB, 0x78, 0x75, 0x78, 0x1b, 0x78, + 0x80, 0x90, 0x3F, 0x45, 0x94, 0xD1, 0x3c, 0xFa, 0x8B, 0x98}, + "ECN ", + 2}, + {{0xce, 0xd4, 0xe9, 0x31, 0x98, 0x73, 0x4d, 0xda, 0xff, 0x84, + 0x92, 0xd5, 0x25, 0xbd, 0x25, 0x8d, 0x49, 0xeb, 0x38, 0x8e}, + "EDO ", + 18}, + {{0xf9, 0xF0, 0xFC, 0x71, 0x67, 0xc3, 0x11, 0xDd, 0x2F, 0x1e, + 0x21, 0xE9, 0x20, 0x4F, 0x87, 0xEB, 0xA9, 0x01, 0x2f, 0xB2}, + "EHT ", + 8}, {{0x08, 0x71, 0x1D, 0x3B, 0x02, 0xC8, 0x75, 0x8F, 0x2F, 0xB3, 0xab, 0x4e, 0x80, 0x22, 0x84, 0x18, 0xa7, 0xF8, 0xe3, 0x9c}, "EDG ", 0}, + {{0xc8, 0xC6, 0xA3, 0x1A, 0x4A, 0x80, 0x6d, 0x37, 0x10, 0xA7, + 0xB3, 0x8b, 0x7B, 0x29, 0x6D, 0x2f, 0xAB, 0xCC, 0xDB, 0xA8}, + "ELIX ", + 18}, {{0xB8, 0x02, 0xb2, 0x4E, 0x06, 0x37, 0xc2, 0xB8, 0x7D, 0x2E, 0x8b, 0x77, 0x84, 0xC0, 0x55, 0xBB, 0xE9, 0x21, 0x01, 0x1a}, "EMV ", 2}, - {{0x86, 0xfa, 0x04, 0x98, 0x57, 0xe0, 0x20, 0x9a, 0xa7, 0xd9, - 0xe6, 0x16, 0xf7, 0xeb, 0x3b, 0x3b, 0x78, 0xec, 0xfd, 0xb0}, + {{0x9b, 0x73, 0xD1, 0x77, 0x9C, 0x41, 0xDc, 0xA3, 0x63, 0x14, + 0xfB, 0x7c, 0x4D, 0x33, 0x09, 0x83, 0x8e, 0x20, 0xC4, 0xE7}, + "ENJ ", + 18}, + {{0x86, 0xFa, 0x04, 0x98, 0x57, 0xE0, 0x20, 0x9a, 0xa7, 0xD9, + 0xe6, 0x16, 0xF7, 0xeb, 0x3b, 0x3B, 0x78, 0xEC, 0xfd, 0xb0}, "EOS ", 18}, + {{0x1b, 0x97, 0x43, 0xf5, 0x56, 0xd6, 0x5e, 0x75, 0x7c, 0x4c, + 0x65, 0x0b, 0x45, 0x55, 0xba, 0xf3, 0x54, 0xcb, 0x8b, 0xd3}, + "ETBS ", + 12}, {{0x19, 0x0e, 0x56, 0x9b, 0xE0, 0x71, 0xF4, 0x0c, 0x70, 0x4e, 0x15, 0x82, 0x5F, 0x28, 0x54, 0x81, 0xCB, 0x74, 0xB6, 0xcC}, "FAM ", 12}, + {{0x0A, 0xBe, 0xFb, 0x76, 0x11, 0xCb, 0x3A, 0x01, 0xEA, 0x3F, + 0xaD, 0x85, 0xf3, 0x3C, 0x3C, 0x93, 0x4F, 0x8e, 0x2c, 0xF4}, + "FRD ", + 18}, + {{0xe6, 0xf7, 0x4d, 0xcf, 0xa0, 0xe2, 0x08, 0x83, 0x00, 0x8d, + 0x8c, 0x16, 0xb6, 0xd9, 0xa3, 0x29, 0x18, 0x9d, 0x0c, 0x30}, + "FTC ", + 2}, + {{0xEA, 0x38, 0xeA, 0xa3, 0xC8, 0x6c, 0x8F, 0x9B, 0x75, 0x15, + 0x33, 0xBa, 0x2E, 0x56, 0x2d, 0xeb, 0x9a, 0xcD, 0xED, 0x40}, + "FUEL ", + 18}, {{0x41, 0x9D, 0x0d, 0x8B, 0xdD, 0x9a, 0xF5, 0xe6, 0x06, 0xAe, 0x22, 0x32, 0xed, 0x28, 0x5A, 0xff, 0x19, 0x0E, 0x71, 0x1b}, "FUN ", 8}, - {{0x24, 0x08, 0x3b, 0xb3, 0x00, 0x72, 0x64, 0x3c, 0x3b, 0xb9, - 0x0b, 0x44, 0xb7, 0x28, 0x58, 0x60, 0xa7, 0x55, 0xe6, 0x87}, + {{0x88, 0xFC, 0xFB, 0xc2, 0x2C, 0x6d, 0x3d, 0xBa, 0xa2, 0x5a, + 0xF4, 0x78, 0xC5, 0x78, 0x97, 0x83, 0x39, 0xBD, 0xe7, 0x7a}, + "FYN ", + 18}, + {{0x75, 0x85, 0xF8, 0x35, 0xae, 0x2d, 0x52, 0x27, 0x22, 0xd2, + 0x68, 0x43, 0x23, 0xa0, 0xba, 0x83, 0x40, 0x1f, 0x32, 0xf5}, + "GBT ", + 18}, + {{0x24, 0x08, 0x3B, 0xb3, 0x00, 0x72, 0x64, 0x3C, 0x3b, 0xB9, + 0x0B, 0x44, 0xB7, 0x28, 0x58, 0x60, 0xa7, 0x55, 0xe6, 0x87}, "GELD ", 18}, {{0x68, 0x10, 0xe7, 0x76, 0x88, 0x0C, 0x02, 0x93, 0x3D, 0x47, @@ -163,14 +336,26 @@ const tokenDefinition_t const TOKENS[NUM_TOKENS] = { 0x85, 0x90, 0xFe, 0x1f, 0x24, 0x54, 0xd7, 0xD4, 0xaC, 0x0d}, "GNT ", 18}, + {{0xB7, 0x08, 0x35, 0xD7, 0x82, 0x2e, 0xBB, 0x94, 0x26, 0xB5, + 0x65, 0x43, 0xE3, 0x91, 0x84, 0x6C, 0x10, 0x7b, 0xd3, 0x2C}, + "GTC ", + 18}, + {{0x02, 0x5a, 0xbA, 0xD9, 0xe5, 0x18, 0x51, 0x6f, 0xda, 0xAF, + 0xBD, 0xcd, 0xB9, 0x70, 0x1b, 0x37, 0xfb, 0x7e, 0xF0, 0xFA}, + "GTKT ", + 0}, {{0xf7, 0xB0, 0x98, 0x29, 0x8f, 0x7C, 0x69, 0xFc, 0x14, 0x61, 0x0b, 0xf7, 0x1d, 0x5e, 0x02, 0xc6, 0x07, 0x92, 0x89, 0x4C}, "GUP ", 3}, - {{0x1D, 0x92, 0x1E, 0xeD, 0x55, 0xa6, 0xa9, 0xcc, 0xaA, 0x9C, - 0x79, 0xB1, 0xA4, 0xf7, 0xB2, 0x55, 0x56, 0xe4, 0x43, 0x65}, - "GT ", - 0}, + {{0xFe, 0xeD, 0x1a, 0x53, 0xbd, 0x53, 0xFF, 0xE4, 0x53, 0xD2, + 0x65, 0xFC, 0x6E, 0x70, 0xdD, 0x85, 0xf8, 0xe9, 0x93, 0xb6}, + "H2O ", + 18}, + {{0xba, 0x21, 0x84, 0x52, 0x0A, 0x1c, 0xC4, 0x9a, 0x61, 0x59, + 0xc5, 0x7e, 0x61, 0xE1, 0x84, 0x4E, 0x08, 0x56, 0x15, 0xB6}, + "HGT ", + 8}, {{0x14, 0xF3, 0x7B, 0x57, 0x42, 0x42, 0xD3, 0x66, 0x55, 0x8d, 0xB6, 0x1f, 0x33, 0x35, 0x28, 0x9a, 0x50, 0x35, 0xc5, 0x06}, "HKG ", @@ -179,6 +364,10 @@ const tokenDefinition_t const TOKENS[NUM_TOKENS] = { 0x0f, 0xEE, 0x32, 0x87, 0x3d, 0x6A, 0x74, 0x87, 0xb9, 0x08}, "HMQ ", 8}, + {{0x55, 0x4C, 0x20, 0xB7, 0xc4, 0x86, 0xbe, 0xeE, 0x43, 0x92, + 0x77, 0xb4, 0x54, 0x0A, 0x43, 0x45, 0x66, 0xdC, 0x4C, 0x02}, + "HST ", + 18}, {{0x5a, 0x84, 0x96, 0x9b, 0xb6, 0x63, 0xfb, 0x64, 0xF6, 0xd0, 0x15, 0xDc, 0xF9, 0xF6, 0x22, 0xAe, 0xdc, 0x79, 0x67, 0x50}, "ICE ", @@ -187,34 +376,122 @@ const tokenDefinition_t const TOKENS[NUM_TOKENS] = { 0xD7, 0x5b, 0x57, 0x26, 0xCe, 0xe9, 0x9A, 0x87, 0xD6, 0x98}, "ICN ", 18}, + {{0x01, 0x4B, 0x50, 0x46, 0x65, 0x90, 0x34, 0x0D, 0x41, 0x30, + 0x7C, 0xc5, 0x4D, 0xCe, 0xe9, 0x90, 0xc8, 0xD5, 0x8a, 0xa8}, + "ICOS ", + 6}, + {{0x81, 0x4c, 0xaf, 0xd4, 0x78, 0x2d, 0x2e, 0x72, 0x81, 0x70, + 0xfd, 0xa6, 0x82, 0x57, 0x98, 0x3f, 0x03, 0x32, 0x1c, 0x58}, + "IDEA ", + 0}, + {{0x76, 0x54, 0x91, 0x5a, 0x1b, 0x82, 0xd6, 0xd2, 0xd0, 0xaf, + 0xc3, 0x7c, 0x52, 0xaf, 0x55, 0x6e, 0xa8, 0x98, 0x3c, 0x7e}, + "IFT ", + 18}, + {{0x88, 0xAE, 0x96, 0x84, 0x5e, 0x15, 0x75, 0x58, 0xef, 0x59, + 0xe9, 0xFf, 0x90, 0xE7, 0x66, 0xE2, 0x2E, 0x48, 0x03, 0x90}, + "IKB ", + 0}, + {{0x22, 0xE5, 0xF6, 0x2D, 0x0F, 0xA1, 0x99, 0x74, 0x74, 0x9f, + 0xaa, 0x19, 0x4e, 0x3d, 0x3e, 0xF6, 0xd8, 0x9c, 0x08, 0xd7}, + "IMT ", + 0}, + {{0xf8, 0xe3, 0x86, 0xED, 0xa8, 0x57, 0x48, 0x4f, 0x5a, 0x12, + 0xe4, 0xB5, 0xDA, 0xa9, 0x98, 0x4E, 0x06, 0xE7, 0x37, 0x05}, + "IND ", + 18}, + {{0x0a, 0xeF, 0x06, 0xDc, 0xCC, 0xC5, 0x31, 0xe5, 0x81, 0xf0, + 0x44, 0x00, 0x59, 0xE6, 0xFf, 0xCC, 0x20, 0x60, 0x39, 0xEE}, + "ITT ", + 8}, + {{0xfc, 0xa4, 0x79, 0x62, 0xd4, 0x5a, 0xdf, 0xdf, 0xd1, 0xab, + 0x2d, 0x97, 0x23, 0x15, 0xdb, 0x4c, 0xe7, 0xcc, 0xf0, 0x94}, + "IXT ", + 8}, + {{0x87, 0x27, 0xc1, 0x12, 0xC7, 0x12, 0xc4, 0xa0, 0x33, 0x71, + 0xAC, 0x87, 0xa7, 0x4d, 0xD6, 0xaB, 0x10, 0x4A, 0xf7, 0x68}, + "JETn ", + 18}, {{0xc1, 0xE6, 0xC6, 0xC6, 0x81, 0xB2, 0x86, 0xFb, 0x50, 0x3B, 0x36, 0xa9, 0xdD, 0x6c, 0x1d, 0xbF, 0xF8, 0x5E, 0x73, 0xCF}, - "JET ", + "JETo ", 18}, {{0x77, 0x34, 0x50, 0x33, 0x5e, 0xD4, 0xec, 0x3D, 0xB4, 0x5a, 0xF7, 0x4f, 0x34, 0xF2, 0xc8, 0x53, 0x48, 0x64, 0x5D, 0x39}, "JTC ", 18}, + {{0x27, 0x69, 0x5E, 0x09, 0x14, 0x9A, 0xdC, 0x73, 0x8A, 0x97, + 0x8e, 0x9A, 0x67, 0x8F, 0x99, 0xE4, 0xc3, 0x9e, 0x9e, 0xb9}, + "KICK ", + 8}, + {{0x81, 0x8F, 0xc6, 0xC2, 0xEc, 0x59, 0x86, 0xbc, 0x6E, 0x2C, + 0xBf, 0x00, 0x93, 0x9d, 0x90, 0x55, 0x6a, 0xB1, 0x2c, 0xe5}, + "KIN ", + 18}, + {{0xdd, 0x97, 0x4D, 0x5C, 0x2e, 0x29, 0x28, 0xde, 0xA5, 0xF7, + 0x1b, 0x98, 0x25, 0xb8, 0xb6, 0x46, 0x68, 0x6B, 0xD2, 0x00}, + "KNC ", + 18}, + {{0x95, 0x41, 0xFD, 0x8B, 0x9b, 0x5F, 0xA9, 0x73, 0x81, 0x78, + 0x37, 0x83, 0xCe, 0xBF, 0x2F, 0x5f, 0xA7, 0x93, 0xC2, 0x62}, + "KZN ", + 8}, + {{0xff, 0x18, 0xdb, 0xc4, 0x87, 0xb4, 0xc2, 0xe3, 0x22, 0x2d, + 0x11, 0x59, 0x52, 0xba, 0xbf, 0xda, 0x8b, 0xa5, 0x2f, 0x5f}, + "LIFE ", + 18}, + {{0x51, 0x49, 0x10, 0x77, 0x1a, 0xf9, 0xca, 0x65, 0x6a, 0xf8, + 0x40, 0xdf, 0xf8, 0x3e, 0x82, 0x64, 0xec, 0xf9, 0x86, 0xca}, + "LINK ", + 18}, + {{0x21, 0xaE, 0x23, 0xB8, 0x82, 0xA3, 0x40, 0xA2, 0x22, 0x82, + 0x16, 0x20, 0x86, 0xbC, 0x98, 0xD3, 0xE2, 0xB7, 0x30, 0x18}, + "LOK ", + 18}, + {{0x63, 0xe6, 0x34, 0x33, 0x0A, 0x20, 0x15, 0x0D, 0xbB, 0x61, + 0xB1, 0x56, 0x48, 0xbC, 0x73, 0x85, 0x5d, 0x6C, 0xCF, 0x07}, + "LNC ", + 18}, + {{0xEF, 0x68, 0xe7, 0xC6, 0x94, 0xF4, 0x0c, 0x82, 0x02, 0x82, + 0x1e, 0xDF, 0x52, 0x5d, 0xE3, 0x78, 0x24, 0x58, 0x63, 0x9f}, + "LRC ", + 18}, + {{0xFB, 0x12, 0xe3, 0xCc, 0xA9, 0x83, 0xB9, 0xf5, 0x9D, 0x90, + 0x91, 0x2F, 0xd1, 0x7F, 0x8D, 0x74, 0x5A, 0x8B, 0x29, 0x53}, + "LUCK ", + 0}, {{0xfa, 0x05, 0xA7, 0x3F, 0xfE, 0x78, 0xef, 0x8f, 0x1a, 0x73, 0x94, 0x73, 0xe4, 0x62, 0xc5, 0x4b, 0xae, 0x65, 0x67, 0xD9}, "LUN ", 18}, + {{0x0F, 0x5D, 0x2f, 0xB2, 0x9f, 0xb7, 0xd3, 0xCF, 0xeE, 0x44, + 0x4a, 0x20, 0x02, 0x98, 0xf4, 0x68, 0x90, 0x8c, 0xC9, 0x42}, + "MANA ", + 18}, + {{0x38, 0x64, 0x67, 0xf1, 0xf3, 0xdd, 0xbe, 0x83, 0x24, 0x48, + 0x65, 0x04, 0x18, 0x31, 0x1a, 0x47, 0x9e, 0xec, 0xfc, 0x57}, + "MBRS ", + 0}, {{0x93, 0xE6, 0x82, 0x10, 0x7d, 0x1E, 0x9d, 0xef, 0xB0, 0xb5, 0xee, 0x70, 0x1C, 0x71, 0x70, 0x7a, 0x4B, 0x2E, 0x46, 0xBc}, "MCAP ", 8}, + {{0x13, 0x8A, 0x87, 0x52, 0x09, 0x3F, 0x4f, 0x9a, 0x79, 0xAa, + 0xeD, 0xF4, 0x8d, 0x4B, 0x92, 0x48, 0xfa, 0xb9, 0x3c, 0x9C}, + "MCI ", + 18}, {{0xB6, 0x3B, 0x60, 0x6A, 0xc8, 0x10, 0xa5, 0x2c, 0xCa, 0x15, 0xe4, 0x4b, 0xB6, 0x30, 0xfd, 0x42, 0xD8, 0xd1, 0xd8, 0x3d}, "MCO ", 8}, - {{0x40, 0x39, 0x50, 0x44, 0xac, 0x3c, 0x0c, 0x57, 0x05, 0x19, - 0x06, 0xda, 0x93, 0x8b, 0x54, 0xbd, 0x65, 0x57, 0xf2, 0x12}, - "MGO ", - 8}, - {{0xd0, 0xb1, 0x71, 0xEb, 0x0b, 0x0F, 0x2C, 0xbD, 0x35, 0xcC, - 0xD9, 0x7c, 0xDC, 0x5E, 0xDC, 0x3f, 0xfe, 0x48, 0x71, 0xaa}, + {{0x51, 0xDB, 0x5A, 0xd3, 0x5C, 0x67, 0x1a, 0x87, 0x20, 0x7d, + 0x88, 0xfC, 0x11, 0xd5, 0x93, 0xAC, 0x0C, 0x84, 0x15, 0xbd}, "MDA ", 18}, + {{0x40, 0x39, 0x50, 0x44, 0xAc, 0x3c, 0x0C, 0x57, 0x05, 0x19, + 0x06, 0xdA, 0x93, 0x8B, 0x54, 0xBD, 0x65, 0x57, 0xF2, 0x12}, + "MGO ", + 8}, {{0xe2, 0x3c, 0xd1, 0x60, 0x76, 0x1f, 0x63, 0xFC, 0x3a, 0x1c, 0xF7, 0x8A, 0xa0, 0x34, 0xb6, 0xcd, 0xF9, 0x7d, 0x3E, 0x0C}, "MIT ", @@ -231,14 +508,30 @@ const tokenDefinition_t const TOKENS[NUM_TOKENS] = { 0x93, 0x2D, 0xab, 0xa3, 0x1B, 0xA6, 0x12, 0xb5, 0x29, 0x46}, "MNE ", 8}, + {{0xAB, 0x6C, 0xF8, 0x7a, 0x50, 0xF1, 0x7d, 0x7F, 0x5E, 0x1F, + 0xEa, 0xf8, 0x1B, 0x6f, 0xE9, 0xFf, 0xBe, 0x8E, 0xBF, 0x84}, + "MRV ", + 18}, {{0x68, 0xAA, 0x3F, 0x23, 0x2d, 0xA9, 0xbd, 0xC2, 0x34, 0x34, 0x65, 0x54, 0x57, 0x94, 0xef, 0x3e, 0xEa, 0x52, 0x09, 0xBD}, "MSP ", 18}, + {{0xaF, 0x4D, 0xcE, 0x16, 0xDa, 0x28, 0x77, 0xf8, 0xc9, 0xe0, + 0x05, 0x44, 0xc9, 0x3B, 0x62, 0xAc, 0x40, 0x63, 0x1F, 0x16}, + "MTH ", + 5}, {{0xF4, 0x33, 0x08, 0x93, 0x66, 0x89, 0x9D, 0x83, 0xa9, 0xf2, 0x6A, 0x77, 0x3D, 0x59, 0xec, 0x7e, 0xCF, 0x30, 0x35, 0x5e}, "MTL ", 8}, + {{0x7F, 0xC4, 0x08, 0x01, 0x11, 0x65, 0x76, 0x0e, 0xE3, 0x1b, + 0xE2, 0xBF, 0x20, 0xdA, 0xf4, 0x50, 0x35, 0x66, 0x92, 0xAf}, + "MTR ", + 8}, + {{0x0A, 0xF4, 0x4e, 0x27, 0x84, 0x63, 0x72, 0x18, 0xdD, 0x1D, + 0x32, 0xA3, 0x22, 0xD4, 0x4e, 0x60, 0x3A, 0x8f, 0x0c, 0x6A}, + "MTX ", + 18}, {{0xf7, 0xe9, 0x83, 0x78, 0x16, 0x09, 0x01, 0x23, 0x07, 0xf2, 0x51, 0x4f, 0x63, 0xD5, 0x26, 0xD8, 0x3D, 0x24, 0xF4, 0x66}, "MYD ", @@ -263,46 +556,94 @@ const tokenDefinition_t const TOKENS[NUM_TOKENS] = { 0xbb, 0x5F, 0x65, 0x8a, 0xD5, 0x14, 0x38, 0x3e, 0x94, 0x19}, "NXX ", 8}, + {{0xe2, 0x65, 0x17, 0xA9, 0x96, 0x72, 0x99, 0x45, 0x3d, 0x3F, + 0x1B, 0x48, 0xAa, 0x00, 0x5E, 0x61, 0x27, 0xe6, 0x72, 0x10}, + "NMFA ", + 18}, {{0x70, 0x1C, 0x24, 0x4b, 0x98, 0x8a, 0x51, 0x3c, 0x94, 0x59, 0x73, 0xdE, 0xFA, 0x05, 0xde, 0x93, 0x3b, 0x23, 0xFe, 0x1D}, "OAX ", 18}, + {{0x7F, 0x21, 0x76, 0xcE, 0xB1, 0x6d, 0xcb, 0x64, 0x8d, 0xc9, + 0x24, 0xef, 0xf6, 0x17, 0xc3, 0xdC, 0x2B, 0xEf, 0xd3, 0x0d}, + "OHNI ", + 0}, {{0xd2, 0x61, 0x14, 0xcd, 0x6E, 0xE2, 0x89, 0xAc, 0xcF, 0x82, 0x35, 0x0c, 0x8d, 0x84, 0x87, 0xfe, 0xdB, 0x8A, 0x0C, 0x07}, "OMG ", 18}, + {{0xb2, 0x3b, 0xe7, 0x35, 0x73, 0xbc, 0x7e, 0x03, 0xdb, 0x6e, + 0x5d, 0xfc, 0x62, 0x40, 0x53, 0x68, 0x71, 0x6d, 0x28, 0xa8}, + "ONEK ", + 18}, + {{0x43, 0x55, 0xfC, 0x16, 0x0f, 0x74, 0x32, 0x8f, 0x9b, 0x38, + 0x3d, 0xF2, 0xEC, 0x58, 0x9b, 0xB3, 0xdF, 0xd8, 0x2B, 0xa0}, + "OPT ", + 18}, {{0xB9, 0x70, 0x48, 0x62, 0x8D, 0xB6, 0xB6, 0x61, 0xD4, 0xC2, 0xaA, 0x83, 0x3e, 0x95, 0xDb, 0xe1, 0xA9, 0x05, 0xB2, 0x80}, "PAY ", 18}, - {{0x22, 0x6b, 0xb5, 0x99, 0xa1, 0x2C, 0x82, 0x64, 0x76, 0xe3, - 0xA7, 0x71, 0x45, 0x46, 0x97, 0xEA, 0x52, 0xE9, 0xE2, 0x20}, - "PRO ", - 8}, + {{0x8e, 0xFF, 0xd4, 0x94, 0xeB, 0x69, 0x8c, 0xc3, 0x99, 0xAF, + 0x62, 0x31, 0xfC, 0xcd, 0x39, 0xE0, 0x8f, 0xd2, 0x0B, 0x15}, + "PIX ", + 0}, + {{0xE4, 0x77, 0x29, 0x2f, 0x1B, 0x32, 0x68, 0x68, 0x7A, 0x29, + 0x37, 0x61, 0x16, 0xB0, 0xED, 0x27, 0xA9, 0xc7, 0x61, 0x70}, + "PLAY ", + 18}, {{0x0A, 0xfF, 0xa0, 0x6e, 0x7F, 0xbe, 0x5b, 0xC9, 0xa7, 0x64, 0xC9, 0x79, 0xaA, 0x66, 0xE8, 0x25, 0x6A, 0x63, 0x1f, 0x02}, "PLBT ", 6}, + {{0xe3, 0x81, 0x85, 0x04, 0xc1, 0xB3, 0x2b, 0xF1, 0x55, 0x7b, + 0x16, 0xC2, 0x38, 0xB2, 0xE0, 0x1F, 0xd3, 0x14, 0x9C, 0x17}, + "PLR ", + 18}, + {{0xD8, 0x91, 0x2C, 0x10, 0x68, 0x1D, 0x8B, 0x21, 0xFd, 0x37, + 0x42, 0x24, 0x4f, 0x44, 0x65, 0x8d, 0xBA, 0x12, 0x26, 0x4E}, + "PLU ", + 18}, + {{0x0e, 0x09, 0x89, 0xb1, 0xf9, 0xb8, 0xa3, 0x89, 0x83, 0xc2, + 0xba, 0x80, 0x53, 0x26, 0x9c, 0xa6, 0x2e, 0xc9, 0xb1, 0x95}, + "POE ", + 8}, + {{0xee, 0x60, 0x9f, 0xe2, 0x92, 0x12, 0x8c, 0xad, 0x03, 0xb7, + 0x86, 0xdb, 0xb9, 0xbc, 0x26, 0x34, 0xcc, 0xdb, 0xe7, 0xfc}, + "POS ", + 18}, {{0xd4, 0xfa, 0x14, 0x60, 0xF5, 0x37, 0xbb, 0x90, 0x85, 0xd2, 0x2C, 0x7b, 0xcC, 0xB5, 0xDD, 0x45, 0x0E, 0xf2, 0x8e, 0x3a}, "PPT ", 8}, - {{0xe3, 0x81, 0x85, 0x04, 0xc1, 0xB3, 0x2b, 0xF1, 0x55, 0x7b, - 0x16, 0xC2, 0x38, 0xB2, 0xE0, 0x1F, 0xd3, 0x14, 0x9C, 0x17}, - "PLR ", + {{0x22, 0x6b, 0xb5, 0x99, 0xa1, 0x2C, 0x82, 0x64, 0x76, 0xe3, + 0xA7, 0x71, 0x45, 0x46, 0x97, 0xEA, 0x52, 0xE9, 0xE2, 0x20}, + "PRO ", + 8}, + {{0x16, 0x37, 0x33, 0xbc, 0xc2, 0x8d, 0xbf, 0x26, 0xB4, 0x1a, + 0x8C, 0xfA, 0x83, 0xe3, 0x69, 0xb5, 0xB3, 0xaf, 0x74, 0x1b}, + "PRS ", + 18}, + {{0x0c, 0x04, 0xd4, 0xf3, 0x31, 0xda, 0x8d, 0xf7, 0x5f, 0x9e, + 0x2e, 0x27, 0x1e, 0x3f, 0x3f, 0x14, 0x94, 0xc6, 0x6c, 0x36}, + "PRSP ", + 9}, + {{0x66, 0x49, 0x7a, 0x28, 0x3e, 0x0a, 0x00, 0x7b, 0xa3, 0x97, + 0x4e, 0x83, 0x77, 0x84, 0xc6, 0xae, 0x32, 0x34, 0x47, 0xde}, + "PT ", 18}, {{0x8A, 0xe4, 0xBF, 0x2C, 0x33, 0xa8, 0xe6, 0x67, 0xde, 0x34, 0xB5, 0x49, 0x38, 0xB0, 0xcc, 0xD0, 0x3E, 0xb8, 0xCC, 0x06}, "PTOY ", 8}, - {{0xD8, 0x91, 0x2C, 0x10, 0x68, 0x1D, 0x8B, 0x21, 0xFd, 0x37, - 0x42, 0x24, 0x4f, 0x44, 0x65, 0x8d, 0xBA, 0x12, 0x26, 0x4E}, - "PLU ", - 18}, {{0x67, 0x1A, 0xbB, 0xe5, 0xCE, 0x65, 0x24, 0x91, 0x98, 0x53, 0x42, 0xe8, 0x54, 0x28, 0xEB, 0x1b, 0x07, 0xbC, 0x6c, 0x64}, "QAU ", 8}, + {{0x9a, 0x64, 0x2d, 0x6b, 0x33, 0x68, 0xdd, 0xc6, 0x62, 0xCA, + 0x24, 0x4b, 0xAd, 0xf3, 0x2c, 0xDA, 0x71, 0x60, 0x05, 0xBC}, + "QTUM ", + 18}, {{0x69, 0x7b, 0xea, 0xc2, 0x8B, 0x09, 0xE1, 0x22, 0xC4, 0x33, 0x2D, 0x16, 0x39, 0x85, 0xe8, 0xa7, 0x31, 0x21, 0xb9, 0x7F}, "QRL ", @@ -311,6 +652,10 @@ const tokenDefinition_t const TOKENS[NUM_TOKENS] = { 0x78, 0x8E, 0x5a, 0xDf, 0x2e, 0xd4, 0x24, 0xad, 0xDf, 0xf6}, "REP ", 18}, + {{0xf0, 0x5a, 0x93, 0x82, 0xA4, 0xC3, 0xF2, 0x9E, 0x27, 0x84, + 0x50, 0x27, 0x54, 0x29, 0x3D, 0x88, 0xb8, 0x35, 0x10, 0x9C}, + "REX ", + 18}, {{0x60, 0x7F, 0x4C, 0x5B, 0xB6, 0x72, 0x23, 0x0e, 0x86, 0x72, 0x08, 0x55, 0x32, 0xf7, 0xe9, 0x01, 0x54, 0x4a, 0x73, 0x75}, "RLC ", @@ -319,14 +664,42 @@ const tokenDefinition_t const TOKENS[NUM_TOKENS] = { 0x23, 0x56, 0x7e, 0x68, 0x4C, 0x37, 0x40, 0xbe, 0x4D, 0x48}, "RLT ", 10}, + {{0x4a, 0x42, 0xd2, 0xc5, 0x80, 0xf8, 0x3d, 0xce, 0x40, 0x4a, + 0xca, 0xd1, 0x8d, 0xab, 0x26, 0xdb, 0x11, 0xa1, 0x75, 0x0e}, + "RLX ", + 18}, + {{0x09, 0x96, 0xbf, 0xb5, 0xd0, 0x57, 0xfa, 0xa2, 0x37, 0x64, + 0x0e, 0x25, 0x06, 0xbe, 0x7b, 0x4f, 0x9c, 0x46, 0xde, 0x0b}, + "RNDR ", + 18}, {{0x49, 0x93, 0xCB, 0x95, 0xc7, 0x44, 0x3b, 0xdC, 0x06, 0x15, 0x5c, 0x5f, 0x56, 0x88, 0xBe, 0x9D, 0x8f, 0x69, 0x99, 0xa5}, "RND ", 18}, + {{0x3d, 0x1b, 0xa9, 0xbe, 0x9f, 0x66, 0xb8, 0xee, 0x10, 0x19, + 0x11, 0xbc, 0x36, 0xd3, 0xfb, 0x56, 0x2e, 0xac, 0x22, 0x44}, + "RVT ", + 18}, + {{0x8f, 0x82, 0x21, 0xaF, 0xbB, 0x33, 0x99, 0x8d, 0x85, 0x84, + 0xA2, 0xB0, 0x57, 0x49, 0xbA, 0x73, 0xc3, 0x7a, 0x93, 0x8a}, + "REQ ", + 18}, + {{0x41, 0x56, 0xD3, 0x34, 0x2D, 0x5c, 0x38, 0x5a, 0x87, 0xD2, + 0x64, 0xF9, 0x06, 0x53, 0x73, 0x35, 0x92, 0x00, 0x05, 0x81}, + "SALT ", + 8}, {{0x7C, 0x5A, 0x0C, 0xE9, 0x26, 0x7E, 0xD1, 0x9B, 0x22, 0xF8, 0xca, 0xe6, 0x53, 0xF1, 0x98, 0xe3, 0xE8, 0xda, 0xf0, 0x98}, "SAN ", 18}, + {{0xd7, 0x63, 0x17, 0x87, 0xB4, 0xdC, 0xc8, 0x7b, 0x12, 0x54, + 0xcf, 0xd1, 0xe5, 0xcE, 0x48, 0xe9, 0x68, 0x23, 0xdE, 0xe8}, + "SCL ", + 8}, + {{0x4c, 0xa7, 0x41, 0x85, 0x53, 0x2d, 0xc1, 0x78, 0x95, 0x27, + 0x19, 0x4e, 0x5b, 0x9c, 0x86, 0x6d, 0xd3, 0x3f, 0x4e, 0x82}, + "sens ", + 18}, {{0xa1, 0xcc, 0xc1, 0x66, 0xfa, 0xf0, 0xE9, 0x98, 0xb3, 0xE3, 0x32, 0x25, 0xA1, 0xA0, 0x30, 0x1B, 0x1C, 0x86, 0x11, 0x9D}, "SGEL ", @@ -339,6 +712,10 @@ const tokenDefinition_t const TOKENS[NUM_TOKENS] = { 0x75, 0xd5, 0xDf, 0x8d, 0x67, 0xB7, 0xdB, 0x8A, 0x78, 0x0D}, "SHIT ", 0}, + {{0x8a, 0x18, 0x7d, 0x52, 0x85, 0xd3, 0x16, 0xbc, 0xbc, 0x9a, + 0xda, 0xfc, 0x08, 0xb5, 0x1d, 0x70, 0xa0, 0xd8, 0xe0, 0x00}, + "SIFT ", + 0}, {{0x2b, 0xDC, 0x0D, 0x42, 0x99, 0x60, 0x17, 0xfC, 0xe2, 0x14, 0xb2, 0x16, 0x07, 0xa5, 0x15, 0xDA, 0x41, 0xA9, 0xE0, 0xC5}, "SKIN ", @@ -347,10 +724,22 @@ const tokenDefinition_t const TOKENS[NUM_TOKENS] = { 0x35, 0xeb, 0x8C, 0xEd, 0xEE, 0xd3, 0xc6, 0xfF, 0xF6, 0x97}, "SKO1 ", 18}, + {{0x6F, 0x6D, 0xEb, 0x5d, 0xb0, 0xC4, 0x99, 0x4A, 0x82, 0x83, + 0xA0, 0x1D, 0x6C, 0xFe, 0xEB, 0x27, 0xFc, 0x3b, 0xBe, 0x9C}, + "smrt ", + 0}, + {{0xF4, 0x13, 0x41, 0x46, 0xAF, 0x2d, 0x51, 0x1D, 0xd5, 0xEA, + 0x8c, 0xDB, 0x1C, 0x4A, 0xC8, 0x8C, 0x57, 0xD6, 0x04, 0x04}, + "SNC ", + 18}, {{0xae, 0xC2, 0xE8, 0x7E, 0x0A, 0x23, 0x52, 0x66, 0xD9, 0xC5, 0xAD, 0xc9, 0xDE, 0xb4, 0xb2, 0xE2, 0x9b, 0x54, 0xD0, 0x09}, "SNGL ", 0}, + {{0xf3, 0x33, 0xb2, 0xAc, 0xe9, 0x92, 0xac, 0x2b, 0xBD, 0x87, + 0x98, 0xbF, 0x57, 0xBc, 0x65, 0xa0, 0x61, 0x84, 0xaf, 0xBa}, + "SND ", + 0}, {{0x98, 0x3F, 0x6d, 0x60, 0xdb, 0x79, 0xea, 0x8c, 0xA4, 0xeB, 0x99, 0x68, 0xC6, 0xaF, 0xf8, 0xcf, 0xA0, 0x4B, 0x3c, 0x63}, "SNM ", @@ -359,30 +748,54 @@ const tokenDefinition_t const TOKENS[NUM_TOKENS] = { 0x16, 0x26, 0x61, 0x4a, 0x17, 0x63, 0xDF, 0x80, 0x5B, 0x9E}, "SNT ", 18}, - {{0x1d, 0xCE, 0x4F, 0xa0, 0x36, 0x39, 0xB7, 0xF0, 0xC3, 0x8e, - 0xe5, 0xbB, 0x60, 0x65, 0x04, 0x5E, 0xdC, 0xf9, 0x81, 0x9a}, - "SRC ", - 8}, + {{0x58, 0xbf, 0x7d, 0xf5, 0x7d, 0x9D, 0xA7, 0x11, 0x3c, 0x4c, + 0xCb, 0x49, 0xd8, 0x46, 0x3D, 0x49, 0x08, 0xC7, 0x35, 0xcb}, + "SPRC ", + 18}, + {{0x24, 0xae, 0xf3, 0xbf, 0x1a, 0x47, 0x56, 0x15, 0x00, 0xf9, + 0x43, 0x0d, 0x74, 0xed, 0x40, 0x97, 0xc4, 0x7f, 0x51, 0xf2}, + "SPTA ", + 4}, {{0xB6, 0x4e, 0xf5, 0x1C, 0x88, 0x89, 0x72, 0xc9, 0x08, 0xCF, 0xac, 0xf5, 0x9B, 0x47, 0xC1, 0xAf, 0xBC, 0x0A, 0xb8, 0xaC}, "STRJ ", 8}, + {{0x46, 0x49, 0x24, 0x73, 0x75, 0x5e, 0x8d, 0xF9, 0x60, 0xF8, + 0x03, 0x48, 0x77, 0xF6, 0x17, 0x32, 0xD7, 0x18, 0xCE, 0x96}, + "STRC ", + 8}, + {{0x00, 0x6B, 0xeA, 0x43, 0xBa, 0xa3, 0xf7, 0xA6, 0xf7, 0x65, + 0xF1, 0x4f, 0x10, 0xA1, 0xa1, 0xb0, 0x83, 0x34, 0xEF, 0x45}, + "STX ", + 18}, + {{0x12, 0x48, 0x0E, 0x24, 0xeb, 0x5b, 0xec, 0x1a, 0x9D, 0x43, + 0x69, 0xCa, 0xB6, 0xa8, 0x0c, 0xaD, 0x3c, 0x0A, 0x37, 0x7A}, + "SUB ", + 2}, {{0xB9, 0xe7, 0xF8, 0x56, 0x8e, 0x08, 0xd5, 0x65, 0x9f, 0x5D, 0x29, 0xC4, 0x99, 0x71, 0x73, 0xd8, 0x4C, 0xdF, 0x26, 0x07}, "SWT ", 18}, - {{0xF4, 0x13, 0x41, 0x46, 0xAF, 0x2d, 0x51, 0x1D, 0xd5, 0xEA, - 0x8c, 0xDB, 0x1C, 0x4A, 0xC8, 0x8C, 0x57, 0xD6, 0x04, 0x04}, - "SNC ", + {{0x10, 0xb1, 0x23, 0xfd, 0xdd, 0xe0, 0x03, 0x24, 0x31, 0x99, + 0xaa, 0xd0, 0x35, 0x22, 0x06, 0x5d, 0xc0, 0x58, 0x27, 0xa0}, + "SYN ", 18}, {{0xE7, 0x77, 0x5A, 0x6e, 0x9B, 0xcf, 0x90, 0x4e, 0xb3, 0x9D, 0xA2, 0xb6, 0x8c, 0x5e, 0xfb, 0x4F, 0x93, 0x60, 0xe0, 0x8C}, "TaaS ", 6}, + {{0xAF, 0xe6, 0x05, 0x11, 0x34, 0x1a, 0x37, 0x48, 0x8d, 0xe2, + 0x5B, 0xef, 0x35, 0x19, 0x52, 0x56, 0x2E, 0x31, 0xfC, 0xc1}, + "TBT ", + 8}, {{0xa7, 0xf9, 0x76, 0xC3, 0x60, 0xeb, 0xBe, 0xD4, 0x46, 0x5c, 0x28, 0x55, 0x68, 0x4D, 0x1A, 0xAE, 0x52, 0x71, 0xeF, 0xa9}, "TFL ", 8}, + {{0xFA, 0xCC, 0xD5, 0xFc, 0x83, 0xc3, 0xE4, 0xC3, 0xc1, 0xAC, + 0x1E, 0xF3, 0x5D, 0x15, 0xad, 0xf0, 0x6b, 0xCF, 0x20, 0x9C}, + "TBC2 ", + 8}, {{0x65, 0x31, 0xf1, 0x33, 0xe6, 0xDe, 0xeB, 0xe7, 0xF2, 0xdc, 0xE5, 0xA0, 0x44, 0x1a, 0xA7, 0xef, 0x33, 0x0B, 0x4e, 0x53}, "TIME ", @@ -395,6 +808,14 @@ const tokenDefinition_t const TOKENS[NUM_TOKENS] = { 0x55, 0xc2, 0x05, 0xfd, 0x69, 0x89, 0xc9, 0x77, 0xE7, 0x3a}, "TKN ", 8}, + {{0xEe, 0x22, 0x43, 0x05, 0x95, 0xaE, 0x40, 0x0a, 0x30, 0xFF, + 0xBA, 0x37, 0x88, 0x33, 0x63, 0xFb, 0xf2, 0x93, 0xe2, 0x4e}, + "TME ", + 18}, + {{0x08, 0xf5, 0xa9, 0x23, 0x5b, 0x08, 0x17, 0x3b, 0x75, 0x69, + 0xf8, 0x36, 0x45, 0xd2, 0xc7, 0xfb, 0x55, 0xe8, 0xcc, 0xd8}, + "TNT ", + 8}, {{0xCb, 0x94, 0xbe, 0x6f, 0x13, 0xA1, 0x18, 0x2E, 0x4A, 0x4B, 0x61, 0x40, 0xcb, 0x7b, 0xf2, 0x02, 0x5d, 0x28, 0xe4, 0x1B}, "TRST ", @@ -403,30 +824,62 @@ const tokenDefinition_t const TOKENS[NUM_TOKENS] = { 0x7f, 0x01, 0xED, 0x13, 0xB2, 0x10, 0x8B, 0x2c, 0x43, 0xe7}, "o> ", 0}, + {{0x8f, 0x34, 0x70, 0xA7, 0x38, 0x8c, 0x05, 0xeE, 0x4e, 0x7A, + 0xF3, 0xd0, 0x1D, 0x8C, 0x72, 0x2b, 0x0F, 0xF5, 0x23, 0x74}, + "VERI ", + 18}, + {{0xD8, 0x50, 0x94, 0x2e, 0xF8, 0x81, 0x1f, 0x2A, 0x86, 0x66, + 0x92, 0xA6, 0x23, 0x01, 0x1b, 0xDE, 0x52, 0xa4, 0x62, 0xC1}, + "VEN ", + 18}, + {{0xe8, 0xff, 0x5c, 0x9c, 0x75, 0xde, 0xb3, 0x46, 0xac, 0xac, + 0x49, 0x3c, 0x46, 0x3c, 0x89, 0x50, 0xbe, 0x03, 0xdf, 0xba}, + "VIBE ", + 18}, + {{0x88, 0x24, 0x48, 0xf8, 0x3d, 0x90, 0xb2, 0xbf, 0x47, 0x7a, + 0xf2, 0xea, 0x79, 0x32, 0x7f, 0xde, 0xa1, 0x33, 0x5d, 0x93}, + "VIBX ", + 18}, + {{0x2C, 0x97, 0x4B, 0x2d, 0x0B, 0xA1, 0x71, 0x6E, 0x64, 0x4c, + 0x1F, 0xC5, 0x99, 0x82, 0xa8, 0x9D, 0xDD, 0x2f, 0xF7, 0x24}, + "VIB ", + 18}, + {{0x83, 0xeE, 0xA0, 0x0D, 0x83, 0x8f, 0x92, 0xdE, 0xC4, 0xD1, + 0x47, 0x56, 0x97, 0xB9, 0xf4, 0xD3, 0x53, 0x7b, 0x56, 0xE3}, + "VOIS ", + 8}, + {{0xeD, 0xBa, 0xF3, 0xc5, 0x10, 0x03, 0x02, 0xdC, 0xdd, 0xA5, + 0x32, 0x69, 0x32, 0x2f, 0x37, 0x30, 0xb1, 0xF0, 0x41, 0x6d}, + "VRS ", + 5}, {{0x5c, 0x54, 0x3e, 0x7A, 0xE0, 0xA1, 0x10, 0x4f, 0x78, 0x40, 0x6C, 0x34, 0x0E, 0x9C, 0x64, 0xFD, 0x9f, 0xCE, 0x51, 0x70}, "VSL ", 18}, {{0x82, 0x66, 0x57, 0x64, 0xea, 0x0b, 0x58, 0x15, 0x7E, 0x1e, 0x5E, 0x9b, 0xab, 0x32, 0xF6, 0x8c, 0x76, 0xEc, 0x0C, 0xdF}, - "VSM ", + "VSMo ", 0}, - {{0x8f, 0x34, 0x70, 0xA7, 0x38, 0x8c, 0x05, 0xeE, 0x4e, 0x7A, - 0xF3, 0xd0, 0x1D, 0x8C, 0x72, 0x2b, 0x0F, 0xF5, 0x23, 0x74}, - "VERI ", - 18}, - {{0xeD, 0xBa, 0xF3, 0xc5, 0x10, 0x03, 0x02, 0xdC, 0xdd, 0xA5, - 0x32, 0x69, 0x32, 0x2f, 0x37, 0x30, 0xb1, 0xF0, 0x41, 0x6d}, - "VRS ", - 5}, - {{0x6a, 0x0a, 0x97, 0xe4, 0x7d, 0x15, 0xaa, 0xd1, 0xd1, 0x32, - 0xa1, 0xac, 0x79, 0xa4, 0x80, 0xe3, 0xf2, 0x07, 0x90, 0x63}, + {{0x03, 0xc1, 0x8d, 0x64, 0x9e, 0x74, 0x3e, 0xe0, 0xb0, 0x9f, + 0x28, 0xa8, 0x1d, 0x33, 0x57, 0x5f, 0x03, 0xaf, 0x98, 0x26}, + "WBC ", + 7}, + {{0x6a, 0x0A, 0x97, 0xE4, 0x7d, 0x15, 0xaA, 0xd1, 0xD1, 0x32, + 0xa1, 0xAc, 0x79, 0xa4, 0x80, 0xE3, 0xF2, 0x07, 0x90, 0x63}, "WCT ", 18}, + {{0x5e, 0x4A, 0xBE, 0x64, 0x19, 0x65, 0x0C, 0xA8, 0x39, 0xCe, + 0x5B, 0xB7, 0xDb, 0x42, 0x2b, 0x88, 0x1a, 0x60, 0x64, 0xbB}, + "WiC ", + 18}, {{0x66, 0x70, 0x88, 0xb2, 0x12, 0xce, 0x3d, 0x06, 0xa1, 0xb5, 0x53, 0xa7, 0x22, 0x1E, 0x1f, 0xD1, 0x90, 0x00, 0xd9, 0xaF}, "WING ", 18}, + {{0x72, 0x87, 0x81, 0xE7, 0x57, 0x35, 0xdc, 0x09, 0x62, 0xDf, + 0x3a, 0x51, 0xd7, 0xEf, 0x47, 0xE7, 0x98, 0xA7, 0x10, 0x7E}, + "WOLK ", + 18}, {{0x4D, 0xF8, 0x12, 0xF6, 0x06, 0x4d, 0xef, 0x1e, 0x5e, 0x02, 0x9f, 0x1c, 0xa8, 0x58, 0x77, 0x7C, 0xC9, 0x8D, 0x2D, 0x81}, "XAUR ", @@ -439,5 +892,38 @@ const tokenDefinition_t const TOKENS[NUM_TOKENS] = { 0xdC, 0x16, 0x0d, 0xdF, 0x5C, 0xd9, 0xb7, 0x43, 0x61, 0xa4}, "XRL ", 9}, + {{0x0F, 0x33, 0xbb, 0x20, 0xa2, 0x82, 0xA7, 0x64, 0x9C, 0x7B, + 0x3A, 0xFf, 0x64, 0x4F, 0x08, 0x4a, 0x93, 0x48, 0xe9, 0x33}, + "YUPI ", + 18}, + {{0xE4, 0x1d, 0x24, 0x89, 0x57, 0x1d, 0x32, 0x21, 0x89, 0x24, + 0x6D, 0xaF, 0xA5, 0xeb, 0xDe, 0x1F, 0x46, 0x99, 0xF4, 0x98}, + "ZRX ", + 18}, + {{0xe3, 0x86, 0xb1, 0x39, 0xed, 0x37, 0x15, 0xca, 0x4b, 0x18, + 0xfd, 0x52, 0x67, 0x1b, 0xdc, 0xea, 0x1c, 0xdf, 0xe4, 0xb1}, + "ZST ", + 8}, }; + +#elif defined(CHAIN_TYPE_UBIQ) + +const tokenDefinition_t const TOKENS[NUM_TOKENS] = { + {{0xd2, 0x45, 0x20, 0x7c, 0xfb, 0xf6, 0xeb, 0x6f, 0x34, 0x97, + 0x0d, 0xb2, 0xa8, 0x07, 0xab, 0x1d, 0x17, 0x8f, 0xde, 0x6c}, + "APX ", + 8}, + + {{0x4b, 0x48, 0x99, 0xa1, 0x0f, 0x3e, 0x50, 0x7d, 0xb2, 0x07, + 0xb0, 0xee, 0x24, 0x26, 0x02, 0x9e, 0xfa, 0x16, 0x8a, 0x67}, + "QWRK ", + 8} + +}; + +#elif defined(CHAIN_TYPE_EXPANSE) + +const tokenDefinition_t const TOKENS[NUM_TOKENS] = {}; + +#endif diff --git a/src_genericwallet/tokens.h b/src_genericwallet/tokens.h index 787f4f9..8b82aa4 100644 --- a/src_genericwallet/tokens.h +++ b/src_genericwallet/tokens.h @@ -23,6 +23,12 @@ typedef struct tokenDefinition_t { uint8_t decimals; } tokenDefinition_t; -#define NUM_TOKENS 105 +#if defined(CHAIN_TYPE_ETHEREUM) +#define NUM_TOKENS 221 +#elif defined(CHAIN_TYPE_UBIQ) +#define NUM_TOKENS 2 +#elif defined(CHAIN_TYPE_EXPANSE) +#define NUM_TOKENS 0 +#endif extern tokenDefinition_t const TOKENS[NUM_TOKENS];