Simplified adding new clones
Removed dead code from the app (was safeguarded by #ifdefs of macros that weren't defined)
This commit is contained in:
15
Makefile
15
Makefile
@@ -55,6 +55,7 @@ else
|
||||
$(error Unsupported CHAIN - use $(SUPPORTED_CHAINS))
|
||||
endif
|
||||
CFLAGS += -DAPPNAME=\"$(APPNAME)\"
|
||||
DEFINES += CHAINID_COINNAME=\"$(TICKER)\" CHAIN_ID=$(CHAIN_ID)
|
||||
|
||||
#########
|
||||
# Other #
|
||||
@@ -65,15 +66,15 @@ DEFINES += $(DEFINES_LIB)
|
||||
|
||||
#prepare hsm generation
|
||||
ifeq ($(TARGET_NAME),TARGET_NANOS)
|
||||
ICONNAME=icons/nanos_app_$(CHAIN_ID).gif
|
||||
ICONNAME=icons/nanos_app_chain_$(CHAIN_ID).gif
|
||||
else ifeq ($(TARGET_NAME),TARGET_STAX)
|
||||
ICONNAME=icons/stax_app_$(CHAIN_ID).gif
|
||||
DEFINES += ICONGLYPH=C_stax_$(CHAIN_ID)_64px
|
||||
DEFINES += ICONBITMAP=C_stax_$(CHAIN_ID)_64px_bitmap
|
||||
DEFINES += ICONGLYPH_SMALL=C_stax_$(CHAIN_ID)
|
||||
ICONNAME=icons/stax_app_chain_$(CHAIN_ID).gif
|
||||
DEFINES += ICONGLYPH=C_stax_chain_$(CHAIN_ID)_64px
|
||||
DEFINES += ICONBITMAP=C_stax_chain_$(CHAIN_ID)_64px_bitmap
|
||||
DEFINES += ICONGLYPH_SMALL=C_stax_chain_$(CHAIN_ID)
|
||||
GLYPH_FILES += $(ICONNAME)
|
||||
else
|
||||
ICONNAME=icons/nanox_app_$(CHAIN_ID).gif
|
||||
ICONNAME=icons/nanox_app_chain_$(CHAIN_ID).gif
|
||||
endif
|
||||
|
||||
################
|
||||
@@ -223,8 +224,6 @@ ifneq ($(NOCONSENT),)
|
||||
DEFINES += NO_CONSENT
|
||||
endif
|
||||
|
||||
#DEFINES += HAVE_TOKENS_LIST # Do not activate external ERC-20 support yet
|
||||
|
||||
##############
|
||||
# Compiler #
|
||||
##############
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/200625'"
|
||||
DEFINES += CHAINID_UPCASE=\"AKA\" CHAINID_COINNAME=\"AKA\" CHAIN_KIND=CHAIN_KIND_AKROMA CHAIN_ID=200625
|
||||
TICKER = "AKA"
|
||||
CHAIN_ID = 200625
|
||||
APPNAME = "Akroma"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/550'"
|
||||
DEFINES += CHAINID_UPCASE=\"APOTHEMNETWORK\" CHAINID_COINNAME=\"TXDC\" CHAIN_KIND=CHAIN_KIND_APOTHEMNETWORK CHAIN_ID=51
|
||||
TICKER = "TXDC"
|
||||
CHAIN_ID = 51
|
||||
APPNAME = "ApothemNetwork"
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/246529'"
|
||||
DEFINES += CHAINID_UPCASE=\"ARTISSIGMA1\" CHAINID_COINNAME=\"ATS\" CHAIN_KIND=CHAIN_KIND_ARTIS_SIGMA1 CHAIN_ID=246529
|
||||
TICKER = "ATS"
|
||||
CHAIN_ID = 246529
|
||||
APPNAME = "ARTIS sigma1"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/246785'"
|
||||
DEFINES += CHAINID_UPCASE=\"ARTISTAU1\" CHAINID_COINNAME=\"ATS\" CHAIN_KIND=CHAIN_KIND_ARTIS_TAU1 CHAIN_ID=246785
|
||||
TICKER = "ATS"
|
||||
CHAIN_ID = 246785
|
||||
APPNAME = "ARTIS tau1"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/810'" --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"ASTAR\" CHAINID_COINNAME=\"ASTR\" CHAIN_KIND=CHAIN_KIND_ASTAR CHAIN_ID=592
|
||||
TICKER = "ASTR"
|
||||
CHAIN_ID = 592
|
||||
APPNAME = "Astar EVM"
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/1620'"
|
||||
DEFINES += CHAINID_UPCASE=\"ATHEIOS\" CHAINID_COINNAME=\"ATH\" CHAIN_KIND=CHAIN_KIND_ATHEIOS CHAIN_ID=1620
|
||||
TICKER = "ATH"
|
||||
CHAIN_ID = 1620
|
||||
APPNAME = "Atheios"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"BSC\" CHAINID_COINNAME=\"BNB\" CHAIN_KIND=CHAIN_KIND_BSC CHAIN_ID=56
|
||||
TICKER = "BNB"
|
||||
CHAIN_ID = 56
|
||||
APPNAME = "Binance Smart Chain"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"BTTC\" CHAINID_COINNAME=\"BTT\" CHAIN_KIND=CHAIN_KIND_BTTC CHAIN_ID=199
|
||||
APP_LOAD_PARAMS += --path "44'/60'"
|
||||
TICKER = "BTT"
|
||||
CHAIN_ID = 199
|
||||
APPNAME = "BTTC"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/820'"
|
||||
DEFINES += CHAINID_UPCASE=\"CALLISTO\" CHAINID_COINNAME=\"CLO\" CHAIN_KIND=CHAIN_KIND_CALLISTO CHAIN_ID=820
|
||||
TICKER = "CLO"
|
||||
CHAIN_ID = 820
|
||||
APPNAME = "Callisto"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"CONFLUX\" CHAINID_COINNAME=\"CFX\" CHAIN_KIND=CHAIN_KIND_CONFLUX_ESPACE CHAIN_ID=1030
|
||||
TICKER = "CFX"
|
||||
CHAIN_ID = 1030
|
||||
APPNAME = "Conflux eSpace"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"CUBE\" CHAINID_COINNAME=\"CUBE\" CHAIN_KIND=CHAIN_KIND_CUBE CHAIN_ID=1818
|
||||
TICKER = "CUBE"
|
||||
CHAIN_ID = 1818
|
||||
APPNAME = "Cube"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/237'"
|
||||
DEFINES += CHAINID_UPCASE=\"DEXON\" CHAINID_COINNAME=\"DXN\" CHAIN_KIND=CHAIN_KIND_DEXON CHAIN_ID=237
|
||||
TICKER = "DXN"
|
||||
CHAIN_ID = 237
|
||||
APPNAME = "DEXON"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/163'"
|
||||
DEFINES += CHAINID_UPCASE=\"ELLA\" CHAINID_COINNAME=\"ELLA\" CHAIN_KIND=CHAIN_KIND_ELLAISM CHAIN_ID=64
|
||||
TICKER = "ELLA"
|
||||
CHAIN_ID = 64
|
||||
APPNAME = "Ellaism"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/246'" --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"ENERGYWEBCHAIN\" CHAINID_COINNAME=\"EWT\" CHAIN_KIND=CHAIN_KIND_ENERGYWEBCHAIN CHAIN_ID=246
|
||||
TICKER = "EWT"
|
||||
CHAIN_ID = 246
|
||||
APPNAME = "EnergyWebChain"
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/1313114'"
|
||||
DEFINES += CHAINID_UPCASE=\"ETHER1\" CHAINID_COINNAME=\"ETHO\" CHAIN_KIND=CHAIN_KIND_ETHER1 CHAIN_ID=1313114
|
||||
TICKER = "ETHO"
|
||||
CHAIN_ID = 1313114
|
||||
APPNAME = "Ether-1"
|
||||
@@ -1,6 +1,7 @@
|
||||
# Lock the application on its standard path for 1.5. Please complain if non compliant
|
||||
APP_LOAD_PARAMS += --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"ETHEREUM\" CHAINID_COINNAME=\"ETH\" CHAIN_KIND=CHAIN_KIND_ETHEREUM CHAIN_ID=1
|
||||
TICKER = "ETH"
|
||||
CHAIN_ID = 1
|
||||
# Starkware integration
|
||||
APP_LOAD_PARAMS += --path "2645'/579218131'"
|
||||
DEFINES += HAVE_STARKWARE
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
# Also allows ETC to access the ETH derivation path to recover forked assets
|
||||
APP_LOAD_PARAMS += --path "44'/61'" --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"ETC\" CHAINID_COINNAME=\"ETC\" CHAIN_KIND=CHAIN_KIND_ETHEREUM_CLASSIC CHAIN_ID=61
|
||||
TICKER = "ETC"
|
||||
CHAIN_ID = 61
|
||||
APPNAME = "Ethereum Classic"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/1987'"
|
||||
DEFINES += CHAINID_UPCASE=\"ETHERGEM\" CHAINID_COINNAME=\"EGEM\" CHAIN_KIND=CHAIN_KIND_ETHERGEM CHAIN_ID=1987
|
||||
TICKER = "EGEM"
|
||||
CHAIN_ID = 1987
|
||||
APPNAME = "EtherGem"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/31102'"
|
||||
DEFINES += CHAINID_UPCASE=\"ETHERSOCIAL\" CHAINID_COINNAME=\"ESN\" CHAIN_KIND=CHAIN_KIND_ETHERSOCIAL CHAIN_ID=31102
|
||||
TICKER = "ESN"
|
||||
CHAIN_ID = 31102
|
||||
APPNAME = "Ethersocial"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/40'"
|
||||
DEFINES += CHAINID_UPCASE=\"EXPANSE\" CHAINID_COINNAME=\"EXP\" CHAIN_KIND=CHAIN_KIND_EXPANSE CHAIN_ID=2
|
||||
TICKER = "EXP"
|
||||
CHAIN_ID = 2
|
||||
APPNAME = "Expanse"
|
||||
@@ -1,5 +1,6 @@
|
||||
APP_LOAD_PARAMS += --path "44'/554'" --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"FLARE\" CHAINID_COINNAME=\"FLR\" CHAIN_KIND=CHAIN_KIND_FLARE CHAIN_ID=14
|
||||
TICKER = "FLR"
|
||||
CHAIN_ID = 14
|
||||
|
||||
# Pending review parameters
|
||||
APP_LOAD_PARAMS += --tlvraw 9F:01
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/554'" --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"FLARE\" CHAINID_COINNAME=\"FLR\" CHAIN_KIND=CHAIN_KIND_FLARE CHAIN_ID=16
|
||||
TICKER = "FLR"
|
||||
CHAIN_ID = 16
|
||||
APPNAME = "Flare Coston"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/6060'"
|
||||
DEFINES += CHAINID_UPCASE=\"GOCHAIN\" CHAINID_COINNAME=\"GO\" CHAIN_KIND=CHAIN_KIND_GOCHAIN CHAIN_ID=60
|
||||
TICKER = "GO"
|
||||
CHAIN_ID = 60
|
||||
APPNAME = "GoChain"
|
||||
@@ -1,5 +1,6 @@
|
||||
APP_LOAD_PARAMS += --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"ETHEREUM\" CHAINID_COINNAME=\"ETH\" CHAIN_KIND=CHAIN_KIND_ETHEREUM CHAIN_ID=5
|
||||
TICKER = "ETH"
|
||||
CHAIN_ID = 5
|
||||
# Starkware integration
|
||||
APP_LOAD_PARAMS += --path "2645'/579218131'"
|
||||
DEFINES += HAVE_STARKWARE
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/269'"
|
||||
DEFINES += CHAINID_UPCASE=\"HPB\" CHAINID_COINNAME=\"HPB\" CHAIN_KIND=CHAIN_KIND_HPB CHAIN_ID=269
|
||||
TICKER = "HPB"
|
||||
CHAIN_ID = 269
|
||||
APPNAME = "HPB"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/161803'"
|
||||
DEFINES += CHAINID_UPCASE=\"ID4GOOD\" CHAINID_COINNAME=\"A4G\" CHAIN_KIND=CHAIN_KIND_ID4GOOD CHAIN_ID=846000
|
||||
TICKER = "A4G"
|
||||
CHAIN_ID = 846000
|
||||
APPNAME = "ID4Good"
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"KARDIACHAIN\" CHAINID_COINNAME=\"KAI\" CHAIN_KIND=CHAIN_KIND_KARDIACHAIN CHAIN_ID=24
|
||||
TICKER = "KAI"
|
||||
CHAIN_ID = 24
|
||||
APPNAME = "KardiaChain"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"METER\" CHAINID_COINNAME=\"MTR\" CHAIN_KIND=CHAIN_KIND_METER CHAIN_ID=82
|
||||
TICKER = "MTR"
|
||||
CHAIN_ID = 82
|
||||
APPNAME = "Meter"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/76'"
|
||||
DEFINES += CHAINID_UPCASE=\"MIX\" CHAINID_COINNAME=\"MIX\" CHAIN_KIND=CHAIN_KIND_MIX CHAIN_ID=76
|
||||
TICKER = "MIX"
|
||||
CHAIN_ID = 76
|
||||
APPNAME = "Mix"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/60'" --path "44'/1284'"
|
||||
DEFINES += CHAINID_UPCASE=\"MOONBEAM\" CHAINID_COINNAME=\"GLMR\" CHAIN_KIND=CHAIN_KIND_MOONBEAM CHAIN_ID=1284
|
||||
TICKER = "GLMR"
|
||||
CHAIN_ID = 1284
|
||||
APPNAME = "Moonbeam"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/60'" --path "44'/1285'"
|
||||
DEFINES += CHAINID_UPCASE=\"MOONRIVER\" CHAINID_COINNAME=\"MOVR\" CHAIN_KIND=CHAIN_KIND_MOONRIVER CHAIN_ID=1285
|
||||
TICKER = "MOVR"
|
||||
CHAIN_ID = 1285
|
||||
APPNAME = "Moonriver"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"MULTIVAC\" CHAINID_COINNAME=\"MTV\" CHAIN_KIND=CHAIN_KIND_MULTIVAC CHAIN_ID=62621
|
||||
TICKER = "MTV"
|
||||
CHAIN_ID = 62621
|
||||
APPNAME = "MultiVAC"
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/184'"
|
||||
DEFINES += CHAINID_UPCASE=\"MUSICOIN\" CHAINID_COINNAME=\"MUSIC\" CHAIN_KIND=CHAIN_KIND_MUSICOIN CHAIN_ID=7762959
|
||||
TICKER = "MUSIC"
|
||||
CHAIN_ID = 7762959
|
||||
APPNAME = "Musicoin"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/685'" --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"OASYS\" CHAINID_COINNAME=\"OAS\" CHAIN_KIND=CHAIN_KIND_OASYS CHAIN_ID=248
|
||||
TICKER = "OAS"
|
||||
CHAIN_ID = 248
|
||||
APPNAME = "Oasys"
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"OKC\" CHAINID_COINNAME=\"OKT\" CHAIN_KIND=CHAIN_KIND_OKC CHAIN_ID=66
|
||||
TICKER = "OKT"
|
||||
CHAIN_ID = 66
|
||||
APPNAME = "OKXChain"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/164'"
|
||||
DEFINES += CHAINID_UPCASE=\"PIRL\" CHAINID_COINNAME=\"PIRL\" CHAIN_KIND=CHAIN_KIND_PIRL CHAIN_ID=3125659152
|
||||
TICKER = "PIRL"
|
||||
CHAIN_ID = 3125659152
|
||||
APPNAME = "Pirl"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"POA\" CHAINID_COINNAME=\"POA\" CHAIN_KIND=CHAIN_KIND_POA CHAIN_ID=99
|
||||
TICKER = "POA"
|
||||
CHAIN_ID = 99
|
||||
APPNAME = "POA"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"POLYGON\" CHAINID_COINNAME=\"MATIC\" CHAIN_KIND=CHAIN_KIND_POLYGON CHAIN_ID=137
|
||||
TICKER = "MATIC"
|
||||
CHAIN_ID = 137
|
||||
APPNAME = "Polygon"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/2894'"
|
||||
DEFINES += CHAINID_UPCASE=\"REOSC\" CHAINID_COINNAME=\"REOSC\" CHAIN_KIND=CHAIN_KIND_REOSC CHAIN_ID=2894
|
||||
TICKER = "REOSC"
|
||||
CHAIN_ID = 2894
|
||||
APPNAME = "REOSC"
|
||||
@@ -1,5 +1,6 @@
|
||||
APP_LOAD_PARAMS += --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"ETHEREUM\" CHAINID_COINNAME=\"ETH\" CHAIN_KIND=CHAIN_KIND_ETHEREUM CHAIN_ID=3
|
||||
TICKER = "ETH"
|
||||
CHAIN_ID = 3
|
||||
# Starkware integration
|
||||
APP_LOAD_PARAMS += --path "2645'/579218131'"
|
||||
DEFINES += HAVE_STARKWARE
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/137'" --path "44'/00'"
|
||||
DEFINES += CHAINID_UPCASE=\"RSK\" CHAINID_COINNAME=\"RBTC\" CHAIN_KIND=CHAIN_KIND_RSK CHAIN_ID=30
|
||||
TICKER = "RBTC"
|
||||
CHAIN_ID = 30
|
||||
APPNAME = "RSK"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/37310'"
|
||||
DEFINES += CHAINID_UPCASE=\"RSKTESTNET\" CHAINID_COINNAME=\"RBTC\" CHAIN_KIND=CHAIN_KIND_RSK CHAIN_ID=31
|
||||
TICKER = "RBTC"
|
||||
CHAIN_ID = 31
|
||||
APPNAME = "RSK Test"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/809'" --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"SHIDEN\" CHAINID_COINNAME=\"SDN\" CHAIN_KIND=CHAIN_KIND_SHIDEN CHAIN_ID=336
|
||||
TICKER = "SDN"
|
||||
CHAIN_ID = 336
|
||||
APPNAME = "Shiden EVM"
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"SHYFT\" CHAINID_COINNAME=\"SHFT\" CHAIN_KIND=CHAIN_KIND_SHYFT CHAIN_ID=7341
|
||||
TICKER = "SHFT"
|
||||
CHAIN_ID = 7341
|
||||
APPNAME = "Shyft"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/554'" --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"SONGBIRD\" CHAINID_COINNAME=\"SGB\" CHAIN_KIND=CHAIN_KIND_SONGBIRD CHAIN_ID=19
|
||||
TICKER = "SGB"
|
||||
CHAIN_ID = 19
|
||||
APPNAME = "Songbird"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/554'" --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"TECRA\" CHAINID_COINNAME=\"TCR\" CHAIN_KIND=CHAIN_KIND_TECRA CHAIN_ID=20531812
|
||||
TICKER = "TCR"
|
||||
CHAIN_ID = 20531812
|
||||
APPNAME = "TecraCoin"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/554'" --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"TECRATESTNET\" CHAINID_COINNAME=\"TCR\" CHAIN_KIND=CHAIN_KIND_TECRA CHAIN_ID=20531811
|
||||
TICKER = "TCR"
|
||||
CHAIN_ID = 20531811
|
||||
APPNAME = "TecraTestnet"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/1001'"
|
||||
DEFINES += CHAINID_UPCASE=\"THUNDERCORE\" CHAINID_COINNAME=\"TT\" CHAIN_KIND=CHAIN_KIND_THUNDERCORE CHAIN_ID=108
|
||||
TICKER = "TT"
|
||||
CHAIN_ID = 108
|
||||
APPNAME = "ThunderCore"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/889'"
|
||||
DEFINES += CHAINID_UPCASE=\"TOMOCHAIN\" CHAINID_COINNAME=\"TOMO\" CHAIN_KIND=CHAIN_KIND_TOMOCHAIN CHAIN_ID=88
|
||||
TICKER = "TOMO"
|
||||
CHAIN_ID = 88
|
||||
APPNAME = "TomoChain"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/108'"
|
||||
DEFINES += CHAINID_UPCASE=\"UBIQ\" CHAINID_COINNAME=\"UBQ\" CHAIN_KIND=CHAIN_KIND_UBIQ CHAIN_ID=8
|
||||
TICKER = "UBQ"
|
||||
CHAIN_ID = 8
|
||||
APPNAME = "Ubiq"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/73799'" --path "44'/60'"
|
||||
DEFINES += CHAINID_UPCASE=\"VOLTA\" CHAINID_COINNAME=\"VOLTA\" CHAIN_KIND=CHAIN_KIND_VOLTA CHAIN_ID=73799
|
||||
TICKER = "VOLTA"
|
||||
CHAIN_ID = 73799
|
||||
APPNAME = "Volta"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/5718350'"
|
||||
DEFINES += CHAINID_UPCASE=\"WAN\" CHAINID_COINNAME=\"WAN\" CHAIN_KIND=CHAIN_KIND_WANCHAIN CHAIN_ID=888
|
||||
TICKER = "WAN"
|
||||
CHAIN_ID = 888
|
||||
APPNAME = "Wanchain"
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/227'"
|
||||
DEFINES += CHAINID_UPCASE=\"WEBCHAIN\" CHAINID_COINNAME=\"WEB\" CHAIN_KIND=CHAIN_KIND_WEBCHAIN CHAIN_ID=24484
|
||||
TICKER = "WEB"
|
||||
CHAIN_ID = 24484
|
||||
APPNAME = "Webchain"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/77777'"
|
||||
DEFINES += CHAINID_UPCASE=\"WETHIO\" CHAINID_COINNAME=\"ZYN\" CHAIN_KIND=CHAIN_KIND_WETHIO CHAIN_ID=78
|
||||
TICKER = "ZYN"
|
||||
CHAIN_ID = 78
|
||||
APPNAME = "Wethio"
|
||||
@@ -1,3 +1,4 @@
|
||||
APP_LOAD_PARAMS += --path "44'/60'" --path "44'/550'"
|
||||
DEFINES += CHAINID_UPCASE=\"XDCNETWORK\" CHAINID_COINNAME=\"XDC\" CHAIN_KIND=CHAIN_KIND_XDCNETWORK CHAIN_ID=50
|
||||
TICKER = "XDC"
|
||||
CHAIN_ID = 50
|
||||
APPNAME = "XDC Network"
|
||||
|
||||
@@ -22,63 +22,9 @@
|
||||
|
||||
#include "os.h"
|
||||
|
||||
typedef enum chain_kind_e {
|
||||
CHAIN_KIND_ETHEREUM,
|
||||
CHAIN_KIND_MOONRIVER,
|
||||
CHAIN_KIND_ETHEREUM_CLASSIC,
|
||||
CHAIN_KIND_EXPANSE,
|
||||
CHAIN_KIND_POA,
|
||||
CHAIN_KIND_RSK,
|
||||
CHAIN_KIND_UBIQ,
|
||||
CHAIN_KIND_WANCHAIN,
|
||||
CHAIN_KIND_PIRL,
|
||||
CHAIN_KIND_AKROMA,
|
||||
CHAIN_KIND_MUSICOIN,
|
||||
CHAIN_KIND_CALLISTO,
|
||||
CHAIN_KIND_ETHERSOCIAL,
|
||||
CHAIN_KIND_ELLAISM,
|
||||
CHAIN_KIND_ETHER1,
|
||||
CHAIN_KIND_ETHERGEM,
|
||||
CHAIN_KIND_ATHEIOS,
|
||||
CHAIN_KIND_GOCHAIN,
|
||||
CHAIN_KIND_MIX,
|
||||
CHAIN_KIND_REOSC,
|
||||
CHAIN_KIND_HPB,
|
||||
CHAIN_KIND_TOMOCHAIN,
|
||||
CHAIN_KIND_DEXON,
|
||||
CHAIN_KIND_VOLTA,
|
||||
CHAIN_KIND_ENERGYWEBCHAIN,
|
||||
CHAIN_KIND_ARTIS_SIGMA1,
|
||||
CHAIN_KIND_ARTIS_TAU1,
|
||||
CHAIN_KIND_WEBCHAIN,
|
||||
CHAIN_KIND_THUNDERCORE,
|
||||
CHAIN_KIND_FLARE,
|
||||
CHAIN_KIND_BSC,
|
||||
CHAIN_KIND_SONGBIRD,
|
||||
CHAIN_KIND_POLYGON,
|
||||
CHAIN_KIND_SHYFT,
|
||||
CHAIN_KIND_CONFLUX_ESPACE,
|
||||
CHAIN_KIND_MOONBEAM,
|
||||
CHAIN_KIND_BTTC,
|
||||
CHAIN_KIND_KARDIACHAIN,
|
||||
CHAIN_KIND_WETHIO,
|
||||
CHAIN_KIND_OKC,
|
||||
CHAIN_KIND_CUBE,
|
||||
CHAIN_KIND_SHIDEN,
|
||||
CHAIN_KIND_ASTAR,
|
||||
CHAIN_KIND_XDCNETWORK,
|
||||
CHAIN_KIND_METER,
|
||||
CHAIN_KIND_MULTIVAC,
|
||||
CHAIN_KIND_TECRA,
|
||||
CHAIN_KIND_APOTHEMNETWORK,
|
||||
CHAIN_KIND_ID4GOOD,
|
||||
CHAIN_KIND_OASYS
|
||||
} chain_kind_t;
|
||||
|
||||
typedef struct chain_config_s {
|
||||
char coinName[10]; // ticker
|
||||
uint64_t chainId;
|
||||
chain_kind_t kind;
|
||||
} chain_config_t;
|
||||
|
||||
#define ETHEREUM_MAINNET_CHAINID 1
|
||||
|
||||
314
src/main.c
314
src/main.c
@@ -145,319 +145,6 @@ unsigned short io_exchange_al(unsigned char channel, unsigned short tx_len) {
|
||||
|
||||
extraInfo_t *getKnownToken(uint8_t *contractAddress) {
|
||||
union extraInfo_t *currentItem = NULL;
|
||||
#ifdef HAVE_TOKENS_LIST
|
||||
uint32_t numTokens = 0;
|
||||
uint32_t i;
|
||||
switch (chainConfig->kind) {
|
||||
case CHAIN_KIND_AKROMA:
|
||||
numTokens = NUM_TOKENS_AKROMA;
|
||||
break;
|
||||
case CHAIN_KIND_ETHEREUM:
|
||||
numTokens = NUM_TOKENS_ETHEREUM;
|
||||
break;
|
||||
case CHAIN_KIND_ETHEREUM_CLASSIC:
|
||||
numTokens = NUM_TOKENS_ETHEREUM_CLASSIC;
|
||||
break;
|
||||
case CHAIN_KIND_PIRL:
|
||||
numTokens = NUM_TOKENS_PIRL;
|
||||
break;
|
||||
case CHAIN_KIND_POA:
|
||||
numTokens = NUM_TOKENS_POA;
|
||||
break;
|
||||
case CHAIN_KIND_ARTIS_SIGMA1:
|
||||
numTokens = NUM_TOKENS_ARTIS_SIGMA1;
|
||||
break;
|
||||
case CHAIN_KIND_ARTIS_TAU1:
|
||||
numTokens = NUM_TOKENS_ARTIS_TAU1;
|
||||
break;
|
||||
case CHAIN_KIND_RSK:
|
||||
numTokens = NUM_TOKENS_RSK;
|
||||
break;
|
||||
case CHAIN_KIND_EXPANSE:
|
||||
numTokens = NUM_TOKENS_EXPANSE;
|
||||
break;
|
||||
case CHAIN_KIND_UBIQ:
|
||||
numTokens = NUM_TOKENS_UBIQ;
|
||||
break;
|
||||
case CHAIN_KIND_WANCHAIN:
|
||||
numTokens = NUM_TOKENS_WANCHAIN;
|
||||
break;
|
||||
case CHAIN_KIND_MUSICOIN:
|
||||
numTokens = NUM_TOKENS_MUSICOIN;
|
||||
break;
|
||||
case CHAIN_KIND_CALLISTO:
|
||||
numTokens = NUM_TOKENS_CALLISTO;
|
||||
break;
|
||||
case CHAIN_KIND_ETHERSOCIAL:
|
||||
numTokens = NUM_TOKENS_ETHERSOCIAL;
|
||||
break;
|
||||
case CHAIN_KIND_ELLAISM:
|
||||
numTokens = NUM_TOKENS_ELLAISM;
|
||||
break;
|
||||
case CHAIN_KIND_ETHER1:
|
||||
numTokens = NUM_TOKENS_ETHER1;
|
||||
break;
|
||||
case CHAIN_KIND_ETHERGEM:
|
||||
numTokens = NUM_TOKENS_ETHERGEM;
|
||||
break;
|
||||
case CHAIN_KIND_ATHEIOS:
|
||||
numTokens = NUM_TOKENS_ATHEIOS;
|
||||
break;
|
||||
case CHAIN_KIND_GOCHAIN:
|
||||
numTokens = NUM_TOKENS_GOCHAIN;
|
||||
break;
|
||||
case CHAIN_KIND_MIX:
|
||||
numTokens = NUM_TOKENS_MIX;
|
||||
break;
|
||||
case CHAIN_KIND_REOSC:
|
||||
numTokens = NUM_TOKENS_REOSC;
|
||||
break;
|
||||
case CHAIN_KIND_HPB:
|
||||
numTokens = NUM_TOKENS_HPB;
|
||||
break;
|
||||
case CHAIN_KIND_TOMOCHAIN:
|
||||
numTokens = NUM_TOKENS_TOMOCHAIN;
|
||||
break;
|
||||
case CHAIN_KIND_MOONRIVER:
|
||||
numTokens = NUM_TOKENS_MOONRIVER;
|
||||
break;
|
||||
case CHAIN_KIND_DEXON:
|
||||
numTokens = NUM_TOKENS_DEXON;
|
||||
break;
|
||||
case CHAIN_KIND_VOLTA:
|
||||
numTokens = NUM_TOKENS_VOLTA;
|
||||
break;
|
||||
case CHAIN_KIND_ENERGYWEBCHAIN:
|
||||
numTokens = NUM_TOKENS_ENERGYWEBCHAIN;
|
||||
break;
|
||||
case CHAIN_KIND_WEBCHAIN:
|
||||
numTokens = NUM_TOKENS_WEBCHAIN;
|
||||
break;
|
||||
case CHAIN_KIND_THUNDERCORE:
|
||||
numTokens = NUM_TOKENS_THUNDERCORE;
|
||||
break;
|
||||
case CHAIN_KIND_FLARE:
|
||||
numTokens = NUM_TOKENS_FLARE;
|
||||
break;
|
||||
case CHAIN_KIND_BSC:
|
||||
numTokens = NUM_TOKENS_BSC;
|
||||
break;
|
||||
case CHAIN_KIND_SONGBIRD:
|
||||
numTokens = NUM_TOKENS_SONGBIRD;
|
||||
break;
|
||||
case CHAIN_KIND_POLYGON:
|
||||
numTokens = NUM_TOKENS_POLYGON;
|
||||
break;
|
||||
case CHAIN_KIND_SHYFT:
|
||||
numTokens = NUM_TOKENS_SHYFT;
|
||||
break;
|
||||
case CHAIN_KIND_CONFLUX_ESPACE:
|
||||
numTokens = NUM_TOKENS_CONFLUX_ESPACE;
|
||||
break;
|
||||
case CHAIN_KIND_MOONBEAM:
|
||||
numTokens = NUM_TOKENS_MOONBEAM;
|
||||
break;
|
||||
case CHAIN_KIND_KARDIACHAIN:
|
||||
numTokens = NUM_TOKENS_KARDIACHAIN;
|
||||
break;
|
||||
case CHAIN_KIND_BTTC:
|
||||
numTokens = NUM_TOKENS_BTTC;
|
||||
break;
|
||||
case CHAIN_KIND_WETHIO:
|
||||
numTokens = NUM_TOKENS_WETHIO;
|
||||
break;
|
||||
case CHAIN_KIND_OKC:
|
||||
numTokens = NUM_TOKENS_OKC;
|
||||
break;
|
||||
case CHAIN_KIND_CUBE:
|
||||
numTokens = NUM_TOKENS_CUBE;
|
||||
break;
|
||||
case CHAIN_KIND_SHIDEN:
|
||||
numTokens = NUM_TOKENS_SHIDEN;
|
||||
break;
|
||||
case CHAIN_KIND_ASTAR:
|
||||
numTokens = NUM_TOKENS_ASTAR;
|
||||
break;
|
||||
case CHAIN_KIND_XDCNETWORK:
|
||||
numTokens = NUM_TOKENS_XDCNETWORK;
|
||||
break;
|
||||
case CHAIN_KIND_METER:
|
||||
numTokens = NUM_TOKENS_METER;
|
||||
break;
|
||||
case CHAIN_KIND_MULTIVAC:
|
||||
numTokens = NUM_TOKENS_MULTIVAC;
|
||||
break;
|
||||
case CHAIN_KIND_TECRA:
|
||||
numTokens = NUM_TOKENS_TECRA;
|
||||
break;
|
||||
case CHAIN_KIND_APOTHEMNETWORK:
|
||||
numTokens = NUM_TOKENS_APOTHEMNETWORK;
|
||||
break;
|
||||
case CHAIN_KIND_ID4GOOD:
|
||||
numTokens = NUM_TOKENS_ID4GOOD;
|
||||
break;
|
||||
case CHAIN_KIND_OASYS:
|
||||
numTokens = NUM_TOKENS_OASYS;
|
||||
break;
|
||||
}
|
||||
for (i = 0; i < numTokens; i++) {
|
||||
switch (chainConfig->kind) {
|
||||
case CHAIN_KIND_AKROMA:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_AKROMA[i]);
|
||||
break;
|
||||
case CHAIN_KIND_ETHEREUM:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_ETHEREUM[i]);
|
||||
break;
|
||||
case CHAIN_KIND_ETHEREUM_CLASSIC:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_ETHEREUM_CLASSIC[i]);
|
||||
break;
|
||||
case CHAIN_KIND_PIRL:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_PIRL[i]);
|
||||
break;
|
||||
case CHAIN_KIND_POA:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_POA[i]);
|
||||
break;
|
||||
case CHAIN_KIND_ARTIS_SIGMA1:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_ARTIS_SIGMA1[i]);
|
||||
break;
|
||||
case CHAIN_KIND_ARTIS_TAU1:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_ARTIS_TAU1[i]);
|
||||
break;
|
||||
case CHAIN_KIND_RSK:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_RSK[i]);
|
||||
break;
|
||||
case CHAIN_KIND_EXPANSE:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_EXPANSE[i]);
|
||||
break;
|
||||
case CHAIN_KIND_UBIQ:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_UBIQ[i]);
|
||||
break;
|
||||
case CHAIN_KIND_WANCHAIN:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_WANCHAIN[i]);
|
||||
break;
|
||||
case CHAIN_KIND_MUSICOIN:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_MUSICOIN[i]);
|
||||
break;
|
||||
case CHAIN_KIND_CALLISTO:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_CALLISTO[i]);
|
||||
break;
|
||||
case CHAIN_KIND_ETHERSOCIAL:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_ETHERSOCIAL[i]);
|
||||
break;
|
||||
case CHAIN_KIND_ELLAISM:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_ELLAISM[i]);
|
||||
break;
|
||||
case CHAIN_KIND_ETHER1:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_ETHER1[i]);
|
||||
break;
|
||||
case CHAIN_KIND_ETHERGEM:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_ETHERGEM[i]);
|
||||
break;
|
||||
case CHAIN_KIND_ATHEIOS:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_ATHEIOS[i]);
|
||||
break;
|
||||
case CHAIN_KIND_GOCHAIN:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_GOCHAIN[i]);
|
||||
break;
|
||||
case CHAIN_KIND_MIX:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_MIX[i]);
|
||||
break;
|
||||
case CHAIN_KIND_REOSC:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_REOSC[i]);
|
||||
break;
|
||||
case CHAIN_KIND_HPB:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_HPB[i]);
|
||||
break;
|
||||
case CHAIN_KIND_TOMOCHAIN:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_TOMOCHAIN[i]);
|
||||
break;
|
||||
case CHAIN_KIND_MOONRIVER:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_MOONRIVER[i]);
|
||||
break;
|
||||
case CHAIN_KIND_DEXON:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_DEXON[i]);
|
||||
break;
|
||||
case CHAIN_KIND_VOLTA:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_VOLTA[i]);
|
||||
break;
|
||||
case CHAIN_KIND_ENERGYWEBCHAIN:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_ENERGYWEBCHAIN[i]);
|
||||
break;
|
||||
case CHAIN_KIND_WEBCHAIN:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_WEBCHAIN[i]);
|
||||
break;
|
||||
case CHAIN_KIND_THUNDERCORE:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_THUNDERCORE[i]);
|
||||
break;
|
||||
case CHAIN_KIND_FLARE:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_FLARE[i]);
|
||||
break;
|
||||
case CHAIN_KIND_BSC:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_BSC[i]);
|
||||
break;
|
||||
case CHAIN_KIND_SONGBIRD:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_SONGBIRD[i]);
|
||||
break;
|
||||
case CHAIN_KIND_POLYGON:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_POLYGON[i]);
|
||||
break;
|
||||
case CHAIN_KIND_SHYFT:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_SHYFT[i]);
|
||||
break;
|
||||
case CHAIN_KIND_CONFLUX_ESPACE:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_CONFLUX_ESPACE[i]);
|
||||
break;
|
||||
case CHAIN_KIND_MOONBEAM:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_MOONBEAM[i]);
|
||||
break;
|
||||
case CHAIN_KIND_BTTC:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_BTTC[i]);
|
||||
break;
|
||||
case CHAIN_KIND_KARDIACHAIN:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_KARDIACHAIN[i]);
|
||||
break;
|
||||
case CHAIN_KIND_WETHIO:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_WETHIO[i]);
|
||||
break;
|
||||
case CHAIN_KIND_OKC:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_OKC[i]);
|
||||
break;
|
||||
case CHAIN_KIND_CUBE:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_CUBE[i]);
|
||||
break;
|
||||
case CHAIN_KIND_SHIDEN:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_SHIDEN[i]);
|
||||
break;
|
||||
case CHAIN_KIND_ASTAR:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_ASTAR[i]);
|
||||
break;
|
||||
case CHAIN_KIND_XDCNETWORK:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_XDCNETWORK[i]);
|
||||
break;
|
||||
case CHAIN_KIND_METER:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_METER[i]);
|
||||
break;
|
||||
case CHAIN_KIND_MULTIVAC:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_MULTIVAC[i]);
|
||||
break;
|
||||
case CHAIN_KIND_TECRA:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_TECRA[i]);
|
||||
break;
|
||||
case CHAIN_KIND_APOTHEMNETWORK:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_APOTHEMNETWORK[i]);
|
||||
break;
|
||||
case CHAIN_KIND_ID4GOOD:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_ID4GOOD[i]);
|
||||
break;
|
||||
case CHAIN_KIND_OASYS:
|
||||
currentToken = (tokenDefinition_t *) PIC(&TOKENS_OASYS[i]);
|
||||
break;
|
||||
}
|
||||
if (memcmp(currentToken->address, tmpContent.txContent.destination, ADDRESS_LENGTH) == 0) {
|
||||
return currentToken;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
// Works for ERC-20 & NFT tokens since both structs in the union have the
|
||||
// contract address aligned
|
||||
for (uint8_t i = 0; i < MAX_ITEMS; i++) {
|
||||
@@ -938,7 +625,6 @@ void init_coin_config(chain_config_t *coin_config) {
|
||||
memset(coin_config, 0, sizeof(chain_config_t));
|
||||
strcpy(coin_config->coinName, CHAINID_COINNAME);
|
||||
coin_config->chainId = CHAIN_ID;
|
||||
coin_config->kind = CHAIN_KIND;
|
||||
}
|
||||
|
||||
void coin_main(libargs_t *args) {
|
||||
|
||||
162
src/tokens.c
162
src/tokens.c
@@ -59,165 +59,3 @@ const tokenDefinition_t TOKENS_EXTRA[NUM_TOKENS_EXTRA] = {
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_TOKENS_LIST
|
||||
|
||||
#include "tokens.h"
|
||||
|
||||
// Example of custom tokens (not actually used by the main ethereum app).
|
||||
// Format of a token is: `{address, ticker, decimals}`.
|
||||
const tokenDefinition_t const TOKENS_ETHEREUM[NUM_TOKENS_ETHEREUM] = {
|
||||
{{0xdb, 0x25, 0xf2, 0x11, 0xab, 0x05, 0xb1, 0xc9, 0x7d, 0x59,
|
||||
0x55, 0x16, 0xf4, 0x57, 0x94, 0x52, 0x8a, 0x80, 0x7a, 0xd8},
|
||||
"EURS",
|
||||
2},
|
||||
{{0xa7, 0x44, 0x76, 0x44, 0x31, 0x19, 0xA9, 0x42, 0xdE, 0x49,
|
||||
0x85, 0x90, 0xFe, 0x1f, 0x24, 0x54, 0xd7, 0xD4, 0xaC, 0x0d},
|
||||
"GNT",
|
||||
18},
|
||||
};
|
||||
|
||||
const tokenDefinition_t const TOKENS_AKROMA[NUM_TOKENS_AKROMA] = {};
|
||||
|
||||
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] = {
|
||||
{{0x6F, 0x6D, 0xEb, 0x5d, 0xb0, 0xC4, 0x99, 0x4A, 0x82, 0x83,
|
||||
0xA0, 0x1D, 0x6C, 0xFe, 0xEB, 0x27, 0xFc, 0x3b, 0xBe, 0x9C},
|
||||
"Smart",
|
||||
0},
|
||||
{{0x08, 0x5f, 0xb4, 0xf2, 0x40, 0x31, 0xea, 0xed, 0xbc, 0x2b,
|
||||
0x61, 0x1a, 0xa5, 0x28, 0xf2, 0x23, 0x43, 0xeb, 0x52, 0xdb},
|
||||
"BEC",
|
||||
8},
|
||||
{{0x5a, 0xce, 0x17, 0xf8, 0x7c, 0x73, 0x91, 0xe5, 0x79, 0x2a,
|
||||
0x76, 0x83, 0x06, 0x9a, 0x80, 0x25, 0xb8, 0x3b, 0xbd, 0x85},
|
||||
"PLAY",
|
||||
0},
|
||||
{{0x6A, 0xDa, 0x6F, 0x48, 0xC8, 0x15, 0x68, 0x95, 0x02, 0xC4,
|
||||
0x3e, 0xC1, 0xa5, 0x9F, 0x1b, 0x5D, 0xD3, 0xC0, 0x4E, 0x1F},
|
||||
"UNV",
|
||||
18},
|
||||
};
|
||||
|
||||
const tokenDefinition_t const TOKENS_ETHERSOCIAL[NUM_TOKENS_ETHERSOCIAL] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_ETHER1[NUM_TOKENS_ETHER1] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_PIRL[NUM_TOKENS_PIRL] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_POA[NUM_TOKENS_POA] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_RSK[NUM_TOKENS_RSK] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_UBIQ[NUM_TOKENS_UBIQ] = {
|
||||
{{0xd2, 0x45, 0x20, 0x7c, 0xfb, 0xf6, 0xeb, 0x6f, 0x34, 0x97,
|
||||
0x0d, 0xb2, 0xa8, 0x07, 0xab, 0x1d, 0x17, 0x8f, 0xde, 0x6c},
|
||||
"APX",
|
||||
8},
|
||||
{{0xff, 0x3b, 0xf0, 0x57, 0xad, 0xf3, 0xb0, 0xe0, 0x15, 0xb6,
|
||||
0x46, 0x53, 0x31, 0xa6, 0x23, 0x6e, 0x55, 0x68, 0x82, 0x74},
|
||||
"BEER",
|
||||
0},
|
||||
{{0x08, 0x53, 0x3d, 0x6a, 0x06, 0xce, 0x36, 0x52, 0x98, 0xb1,
|
||||
0x2e, 0xf9, 0x2e, 0xb4, 0x07, 0xcb, 0xa8, 0xaa, 0x82, 0x73},
|
||||
"CEFS",
|
||||
8},
|
||||
{{0x94, 0xad, 0x7e, 0x41, 0xc1, 0xd4, 0x40, 0x22, 0xc4, 0xf4,
|
||||
0x7c, 0xb1, 0xba, 0x01, 0x9f, 0xd1, 0xa0, 0x22, 0xc5, 0x36},
|
||||
"DOT",
|
||||
8},
|
||||
{{0x4b, 0x48, 0x99, 0xa1, 0x0f, 0x3e, 0x50, 0x7d, 0xb2, 0x07,
|
||||
0xb0, 0xee, 0x24, 0x26, 0x02, 0x9e, 0xfa, 0x16, 0x8a, 0x67},
|
||||
"QWARK",
|
||||
8},
|
||||
{{0x5e, 0x17, 0x15, 0xbb, 0x79, 0x80, 0x5b, 0xd6, 0x72, 0x72,
|
||||
0x97, 0x60, 0xb3, 0xf7, 0xf3, 0x4d, 0x6f, 0x48, 0x50, 0x98},
|
||||
"RICKS",
|
||||
8},
|
||||
};
|
||||
|
||||
const tokenDefinition_t const TOKENS_EXPANSE[NUM_TOKENS_EXPANSE] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_WANCHAIN[NUM_TOKENS_WANCHAIN] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_MUSICOIN[NUM_TOKENS_MUSICOIN] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_CALLISTO[NUM_TOKENS_CALLISTO] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_ETHERGEM[NUM_TOKENS_ETHERGEM] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_ATHEIOS[NUM_TOKENS_ATHEIOS] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_GOCHAIN[NUM_TOKENS_GOCHAIN] = {};
|
||||
|
||||
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] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_DEXON[NUM_TOKENS_DEXON] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_VOLTA[NUM_TOKENS_VOLTA] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_ENERGYWEBCHAIN[NUM_TOKENS_ENERGYWEBCHAIN] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_ARTIS_SIGMA1[NUM_TOKENS_ARTIS_SIGMA1] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_ARTIS_TAU1[NUM_TOKENS_ARTIS_TAU1] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_WEBCHAIN[NUM_TOKENS_WEBCHAIN] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_THUNDERCORE[NUM_TOKENS_THUNDERCORE] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_FLARE[NUM_TOKENS_FLARE] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_BSC[NUM_TOKENS_BSC] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_SONGBIRD[NUM_TOKENS_SONGBIRD] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_MOONRIVER[NUM_TOKENS_MOONRIVER] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_POLYGON[NUM_TOKENS_POLYGON] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_SHYFT[NUM_TOKENS_SHYFT] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_CONFLUX_ESPACE[NUM_TOKENS_CONFLUX_ESPACE] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_MOONBEAM[NUM_TOKENS_MOONBEAM] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_BTTC[NUM_TOKENS_BTTC] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_KARDIACHAIN[NUM_TOKENS_KARDIACHAIN] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_WETHIO[NUM_TOKENS_WETHIO] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_OKC[NUM_TOKENS_OKC] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_CUBE[NUM_TOKENS_CUBE] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_ASTAR[NUM_TOKENS_ASTAR] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_SHIDEN[NUM_TOKENS_SHIDEN] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_XDCNETWORK[NUM_TOKENS_XDCNETWORK] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_METER[NUM_TOKENS_METER] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_MULTIVAC[NUM_TOKENS_MULTIVAC] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_TECRA[NUM_TOKENS_TECRA] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_APOTHEMNETWORK[NUM_TOKENS_APOTHEMNETWORK] = {};
|
||||
|
||||
const tokenDefinition_t const TOKENS_OASYS[NUM_TOKENS_OASYS] = {};
|
||||
|
||||
#endif
|
||||
|
||||
107
src/tokens.h
107
src/tokens.h
@@ -41,8 +41,6 @@ extern tokenDefinition_t const TOKENS_EXTRA[NUM_TOKENS_EXTRA];
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_TOKENS_LIST
|
||||
|
||||
static const uint8_t LEDGER_SIGNATURE_PUBLIC_KEY[] = {
|
||||
#if defined(HAVE_CAL_TEST_KEY)
|
||||
0x04, 0x4c, 0xca, 0x8f, 0xad, 0x49, 0x6a, 0xa5, 0x04, 0x0a, 0x00, 0xa7, 0xeb, 0x2f,
|
||||
@@ -67,109 +65,4 @@ static const uint8_t LEDGER_SIGNATURE_PUBLIC_KEY[] = {
|
||||
#endif
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
// These defines need to follow tokens.c
|
||||
|
||||
#define NUM_TOKENS_AKROMA 0
|
||||
#define NUM_TOKENS_ELLAISM 1
|
||||
#define NUM_TOKENS_ETHEREUM 2
|
||||
#define NUM_TOKENS_ETHEREUM_CLASSIC 4
|
||||
#define NUM_TOKENS_ETHERSOCIAL 0
|
||||
#define NUM_TOKENS_ETHER1 0
|
||||
#define NUM_TOKENS_PIRL 0
|
||||
#define NUM_TOKENS_POA 0
|
||||
#define NUM_TOKENS_RSK 0
|
||||
#define NUM_TOKENS_UBIQ 6
|
||||
#define NUM_TOKENS_EXPANSE 0
|
||||
#define NUM_TOKENS_WANCHAIN 0
|
||||
#define NUM_TOKENS_MUSICOIN 0
|
||||
#define NUM_TOKENS_CALLISTO 0
|
||||
#define NUM_TOKENS_ETHERGEM 0
|
||||
#define NUM_TOKENS_ATHEIOS 0
|
||||
#define NUM_TOKENS_GOCHAIN 0
|
||||
#define NUM_TOKENS_MIX 0
|
||||
#define NUM_TOKENS_REOSC 0
|
||||
#define NUM_TOKENS_HPB 0
|
||||
#define NUM_TOKENS_TOMOCHAIN 0
|
||||
#define NUM_TOKENS_DEXON 0
|
||||
#define NUM_TOKENS_VOLTA 0
|
||||
#define NUM_TOKENS_ENERGYWEBCHAIN 0
|
||||
#define NUM_TOKENS_ARTIS_SIGMA1 0
|
||||
#define NUM_TOKENS_ARTIS_TAU1 0
|
||||
#define NUM_TOKENS_WEBCHAIN 0
|
||||
#define NUM_TOKENS_THUNDERCORE 0
|
||||
#define NUM_TOKENS_FLARE 0
|
||||
#define NUM_TOKENS_BSC 0
|
||||
#define NUM_TOKENS_SONGBIRD 0
|
||||
#define NUM_TOKENS_MOONRIVER 0
|
||||
#define NUM_TOKENS_POLYGON 0
|
||||
#define NUM_TOKENS_SHYFT 0
|
||||
#define NUM_TOKENS_CONFLUX_ESPACE 0
|
||||
#define NUM_TOKENS_MOONBEAM 0
|
||||
#define NUM_TOKENS_BTTC 0
|
||||
#define NUM_TOKENS_KARDIACHAIN 0
|
||||
#define NUM_TOKENS_WETHIO 0
|
||||
#define NUM_TOKENS_OKC 0
|
||||
#define NUM_TOKENS_CUBE 0
|
||||
#define NUM_TOKENS_ASTAR 0
|
||||
#define NUM_TOKENS_SHIDEN 0
|
||||
#define NUM_TOKENS_XDCNETWORK 0
|
||||
#define NUM_TOKENS_METER 0
|
||||
#define NUM_TOKENS_MULTIVAC 0
|
||||
#define NUM_TOKENS_TECRA 0
|
||||
#define NUM_TOKENS_APOTHEMNETWORK 0
|
||||
#define NUM_TOKENS_OASYS 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_ETHERSOCIAL[NUM_TOKENS_ETHERSOCIAL];
|
||||
extern tokenDefinition_t const TOKENS_ETHER1[NUM_TOKENS_ETHER1];
|
||||
extern tokenDefinition_t const TOKENS_PIRL[NUM_TOKENS_PIRL];
|
||||
extern tokenDefinition_t const TOKENS_POA[NUM_TOKENS_POA];
|
||||
extern tokenDefinition_t const TOKENS_RSK[NUM_TOKENS_RSK];
|
||||
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_MUSICOIN[NUM_TOKENS_MUSICOIN];
|
||||
extern tokenDefinition_t const TOKENS_CALLISTO[NUM_TOKENS_CALLISTO];
|
||||
extern tokenDefinition_t const TOKENS_ETHERGEM[NUM_TOKENS_ETHERGEM];
|
||||
extern tokenDefinition_t const TOKENS_ATHEIOS[NUM_TOKENS_ATHEIOS];
|
||||
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];
|
||||
extern tokenDefinition_t const TOKENS_DEXON[NUM_TOKENS_DEXON];
|
||||
extern tokenDefinition_t const TOKENS_VOLTA[NUM_TOKENS_VOLTA];
|
||||
extern tokenDefinition_t const TOKENS_ENERGYWEBCHAIN[NUM_TOKENS_ENERGYWEBCHAIN];
|
||||
extern tokenDefinition_t const TOKENS_ARTIS_SIGMA1[NUM_TOKENS_ARTIS_SIGMA1];
|
||||
extern tokenDefinition_t const TOKENS_ARTIS_TAU1[NUM_TOKENS_ARTIS_TAU1];
|
||||
extern tokenDefinition_t const TOKENS_WEBCHAIN[NUM_TOKENS_WEBCHAIN];
|
||||
extern tokenDefinition_t const TOKENS_THUNDERCORE[NUM_TOKENS_THUNDERCORE];
|
||||
extern tokenDefinition_t const TOKENS_FLARE[NUM_TOKENS_FLARE];
|
||||
extern tokenDefinition_t const TOKENS_BSC[NUM_TOKENS_BSC];
|
||||
extern tokenDefinition_t const TOKENS_SONGBIRD[NUM_TOKENS_SONGBIRD];
|
||||
extern tokenDefinition_t const TOKENS_MOONRIVER[NUM_TOKENS_MOONRIVER];
|
||||
extern tokenDefinition_t const TOKENS_POLYGON[NUM_TOKENS_POLYGON];
|
||||
extern tokenDefinition_t const TOKENS_SHYFT[NUM_TOKENS_SHYFT];
|
||||
extern tokenDefinition_t const TOKENS_CONFLUX_ESPACE[NUM_TOKENS_CONFLUX_ESPACE];
|
||||
extern tokenDefinition_t const TOKENS_MOONBEAM[NUM_TOKENS_MOONBEAM];
|
||||
extern tokenDefinition_t const TOKENS_BTTC[NUM_TOKENS_BTTC];
|
||||
extern tokenDefinition_t const TOKENS_KARDIACHAIN[NUM_TOKENS_KARDIACHAIN];
|
||||
extern tokenDefinition_t const TOKENS_WETHIO[NUM_TOKENS_WETHIO];
|
||||
extern tokenDefinition_t const TOKENS_CUBE[NUM_TOKENS_CUBE];
|
||||
extern tokenDefinition_t const TOKENS_ASTAR[NUM_TOKENS_ASTAR];
|
||||
extern tokenDefinition_t const TOKENS_SHIDEN[NUM_TOKENS_SHIDEN];
|
||||
extern tokenDefinition_t const TOKENS_XDCNETWORK[NUM_TOKENS_XDCNETWORK];
|
||||
extern tokenDefinition_t const TOKENS_METER[NUM_TOKENS_METER];
|
||||
extern tokenDefinition_t const TOKENS_MULTIVAC[NUM_TOKENS_MULTIVAC];
|
||||
extern tokenDefinition_t const TOKENS_TECRA[NUM_TOKENS_TECRA];
|
||||
extern tokenDefinition_t const TOKENS_APOTHEMNETWORK[NUM_TOKENS_APOTHEMNETWORK];
|
||||
extern tokenDefinition_t const TOKENS_OASYS[NUM_TOKENS_OASYS];
|
||||
|
||||
#endif /* HAVE_TOKENS_LIST */
|
||||
|
||||
#endif // _TOKENS_H_
|
||||
|
||||
@@ -13,9 +13,7 @@ void handleGetAppConfiguration(uint8_t p1,
|
||||
UNUSED(dataLength);
|
||||
UNUSED(flags);
|
||||
G_io_apdu_buffer[0] = (N_storage.dataAllowed ? APP_FLAG_DATA_ALLOWED : 0x00);
|
||||
#ifndef HAVE_TOKENS_LIST
|
||||
G_io_apdu_buffer[0] |= APP_FLAG_EXTERNAL_TOKEN_NEEDED;
|
||||
#endif
|
||||
#ifdef HAVE_STARKWARE
|
||||
G_io_apdu_buffer[0] |= APP_FLAG_STARKWARE;
|
||||
G_io_apdu_buffer[0] |= APP_FLAG_STARKWARE_V2;
|
||||
|
||||
@@ -72,7 +72,7 @@ void handleSign(uint8_t p1,
|
||||
txResult = processTx(&txContext,
|
||||
workBuffer,
|
||||
dataLength,
|
||||
(chainConfig->kind == CHAIN_KIND_WANCHAIN ? TX_FLAG_TYPE : 0));
|
||||
(chainConfig->chainId == 888 ? TX_FLAG_TYPE : 0)); // Wanchain exception
|
||||
switch (txResult) {
|
||||
case USTREAM_SUSPENDED:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user