From 51ea8ccecd01f00f5bdd26235263649b4d34343a Mon Sep 17 00:00:00 2001 From: matejcik Date: Fri, 7 Aug 2020 11:49:26 +0200 Subject: [PATCH] common: update token support --- common/defs/ethereum/tokens | 2 +- common/defs/support.json | 274 ++++++++++++++++++++++++++++++ common/tools/support.py | 2 +- core/src/apps/ethereum/tokens.py | 278 ++++++++++++++++++++++++++++++- 4 files changed, 551 insertions(+), 5 deletions(-) diff --git a/common/defs/ethereum/tokens b/common/defs/ethereum/tokens index bde3ac3eb..f7040e56a 160000 --- a/common/defs/ethereum/tokens +++ b/common/defs/ethereum/tokens @@ -1 +1 @@ -Subproject commit bde3ac3eb40c0b6cd2242b4ddd7c11ed4cce9022 +Subproject commit f7040e56a80584655f85c25ca8e19b2e6e4c1bdd diff --git a/common/defs/support.json b/common/defs/support.json index 0e2ced8d5..69d946c18 100644 --- a/common/defs/support.json +++ b/common/defs/support.json @@ -169,6 +169,7 @@ "erc20:etc:BEC": "1.6.2", "erc20:etc:UNV": "1.7.1", "erc20:etc:UVC": "1.9.0", + "erc20:etc:UVCX": "1.9.3", "erc20:eth:$FFC": "1.6.2", "erc20:eth:$TEAK": "1.6.2", "erc20:eth:0xBTC": "1.6.2", @@ -259,6 +260,7 @@ "erc20:eth:AXPR": "1.6.3", "erc20:eth:B2BX": "1.8.0", "erc20:eth:BAC": "1.8.4", + "erc20:eth:BAL": "1.9.3", "erc20:eth:BALI": "1.9.0", "erc20:eth:BANCA": "1.8.0", "erc20:eth:BANX": "1.6.2", @@ -417,6 +419,7 @@ "erc20:eth:COBR": "1.8.4", "erc20:eth:COFI": "1.6.2", "erc20:eth:COIL": "1.6.2", + "erc20:eth:COMP": "1.9.3", "erc20:eth:CORI": "1.6.3", "erc20:eth:COSM": "1.8.0", "erc20:eth:COV": "1.6.2", @@ -650,9 +653,11 @@ "erc20:eth:FXY": "1.9.0", "erc20:eth:FYN": "1.6.2", "erc20:eth:FYP": "1.8.0", + "erc20:eth:FYZ": "1.9.3", "erc20:eth:Fzcoin": "1.8.0", "erc20:eth:G-CRE": "1.8.4", "erc20:eth:GAM": "1.6.2", + "erc20:eth:GAME": "1.9.3", "erc20:eth:GAT": "1.8.0", "erc20:eth:GAVEL": "1.6.2", "erc20:eth:GBO": "1.8.4", @@ -992,6 +997,7 @@ "erc20:eth:ORBS": "1.6.2", "erc20:eth:ORCA": "1.6.3", "erc20:eth:ORI": "1.8.0", + "erc20:eth:ORN": "1.9.3", "erc20:eth:ORS": "1.8.0", "erc20:eth:ORX": "1.8.4", "erc20:eth:OSPVS": "1.9.0", @@ -1094,6 +1100,7 @@ "erc20:eth:RAO": "1.6.2", "erc20:eth:RATING": "1.8.0", "erc20:eth:RBLX": "1.6.2", + "erc20:eth:RBT": "1.9.3", "erc20:eth:RCN": "1.6.2", "erc20:eth:RDN": "1.8.0", "erc20:eth:RDV": "1.9.0", @@ -1133,6 +1140,7 @@ "erc20:eth:ROCK2": "1.8.0", "erc20:eth:ROCK2PAY": "1.8.0", "erc20:eth:ROK": "1.6.2", + "erc20:eth:ROOBEE": "1.9.3", "erc20:eth:ROUND": "1.6.2", "erc20:eth:RPE": "1.8.4", "erc20:eth:RPL": "1.6.2", @@ -1303,6 +1311,7 @@ "erc20:eth:TRDT": "1.8.0", "erc20:eth:TRST": "1.6.2", "erc20:eth:TRYB": "1.9.0", + "erc20:eth:TST": "1.9.3", "erc20:eth:TSW": "1.6.3", "erc20:eth:TTA": "1.8.0", "erc20:eth:TTC": "1.8.0", @@ -1368,6 +1377,7 @@ "erc20:eth:VOC": "1.6.2", "erc20:eth:VOISE": "1.6.2", "erc20:eth:VRE": "1.9.0", + "erc20:eth:VRO": "1.9.3", "erc20:eth:VSF": "1.9.0", "erc20:eth:VSL": "1.6.2", "erc20:eth:VUU": "1.8.0", @@ -1680,6 +1690,133 @@ "erc20:eth:uniimBTC": "1.9.1", "erc20:eth:unisETH": "1.9.1", "erc20:eth:unisUSD": "1.9.1", + "erc20:eth:univ20xBTCETH": "1.9.3", + "erc20:eth:univ21UPETH": "1.9.3", + "erc20:eth:univ2AKROETH": "1.9.3", + "erc20:eth:univ2ALEPHETH": "1.9.3", + "erc20:eth:univ2ATISETH": "1.9.3", + "erc20:eth:univ2BANDETH": "1.9.3", + "erc20:eth:univ2BATETH": "1.9.3", + "erc20:eth:univ2BIZETH": "1.9.3", + "erc20:eth:univ2BNTETH": "1.9.3", + "erc20:eth:univ2BPTETH": "1.9.3", + "erc20:eth:univ2CAMOETH": "1.9.3", + "erc20:eth:univ2CELETH": "1.9.3", + "erc20:eth:univ2CHIETH": "1.9.3", + "erc20:eth:univ2COMPETH": "1.9.3", + "erc20:eth:univ2DAI2KEY": "1.9.3", + "erc20:eth:univ2DAIALEPH": "1.9.3", + "erc20:eth:univ2DAIETH": "1.9.3", + "erc20:eth:univ2DAIJRT": "1.9.3", + "erc20:eth:univ2DAILEND": "1.9.3", + "erc20:eth:univ2DAIMFT": "1.9.3", + "erc20:eth:univ2DAIUSDC": "1.9.3", + "erc20:eth:univ2DATAETH": "1.9.3", + "erc20:eth:univ2DECETH": "1.9.3", + "erc20:eth:univ2DEVETH": "1.9.3", + "erc20:eth:univ2DEXTETH": "1.9.3", + "erc20:eth:univ2DXDETH": "1.9.3", + "erc20:eth:univ2DZARETH": "1.9.3", + "erc20:eth:univ2EBASEETH": "1.9.3", + "erc20:eth:univ2ESWAETH": "1.9.3", + "erc20:eth:univ2ETH2KEY": "1.9.3", + "erc20:eth:univ2ETHACID": "1.9.3", + "erc20:eth:univ2ETHAMPL": "1.9.3", + "erc20:eth:univ2ETHANJ": "1.9.3", + "erc20:eth:univ2ETHASKO": "1.9.3", + "erc20:eth:univ2ETHAUC": "1.9.3", + "erc20:eth:univ2ETHBUIDL": "1.9.3", + "erc20:eth:univ2ETHCKN": "1.9.3", + "erc20:eth:univ2ETHDAM": "1.9.3", + "erc20:eth:univ2ETHDAOX": "1.9.3", + "erc20:eth:univ2ETHDMG": "1.9.3", + "erc20:eth:univ2ETHENJ": "1.9.3", + "erc20:eth:univ2ETHESH": "1.9.3", + "erc20:eth:univ2ETHFRM": "1.9.3", + "erc20:eth:univ2ETHHEX2T": "1.9.3", + "erc20:eth:univ2ETHKNC": "1.9.3", + "erc20:eth:univ2ETHNEC": "1.9.3", + "erc20:eth:univ2ETHPAMP": "1.9.3", + "erc20:eth:univ2ETHPAN": "1.9.3", + "erc20:eth:univ2ETHPDS": "1.9.3", + "erc20:eth:univ2ETHPOWER": "1.9.3", + "erc20:eth:univ2ETHSHIP": "1.9.3", + "erc20:eth:univ2ETHUBOMB": "1.9.3", + "erc20:eth:univ2ETHUNC": "1.9.3", + "erc20:eth:univ2ETHUSDT": "1.9.3", + "erc20:eth:univ2ETHZRX": "1.9.3", + "erc20:eth:univ2EWTBETH": "1.9.3", + "erc20:eth:univ2FMAETH": "1.9.3", + "erc20:eth:univ2FOAMETH": "1.9.3", + "erc20:eth:univ2FUNETH": "1.9.3", + "erc20:eth:univ2FXCETH": "1.9.3", + "erc20:eth:univ2GENETH": "1.9.3", + "erc20:eth:univ2GHOSTETH": "1.9.3", + "erc20:eth:univ2H3XETH": "1.9.3", + "erc20:eth:univ2HEXETH": "1.9.3", + "erc20:eth:univ2HXBETH": "1.9.3", + "erc20:eth:univ2IDXTETH": "1.9.3", + "erc20:eth:univ2JRTETH": "1.9.3", + "erc20:eth:univ2KAIETH": "1.9.3", + "erc20:eth:univ2LENDETH": "1.9.3", + "erc20:eth:univ2LENDUSDC": "1.9.3", + "erc20:eth:univ2LINKETH": "1.9.3", + "erc20:eth:univ2LPTDAI": "1.9.3", + "erc20:eth:univ2LPTETH": "1.9.3", + "erc20:eth:univ2LRCETH": "1.9.3", + "erc20:eth:univ2MANAETH": "1.9.3", + "erc20:eth:univ2MATHETH": "1.9.3", + "erc20:eth:univ2MCBETH": "1.9.3", + "erc20:eth:univ2MKRETH": "1.9.3", + "erc20:eth:univ2MKRMLN": "1.9.3", + "erc20:eth:univ2MKRUSDC": "1.9.3", + "erc20:eth:univ2MOONETH": "1.9.3", + "erc20:eth:univ2MRDNETH": "1.9.3", + "erc20:eth:univ2NMRETH": "1.9.3", + "erc20:eth:univ2OCEANETH": "1.9.3", + "erc20:eth:univ2OGNETH": "1.9.3", + "erc20:eth:univ2PAXGETH": "1.9.3", + "erc20:eth:univ2PLRETH": "1.9.3", + "erc20:eth:univ2PNKETH": "1.9.3", + "erc20:eth:univ2PODETH": "1.9.3", + "erc20:eth:univ2RAINETH": "1.9.3", + "erc20:eth:univ2RELETH": "1.9.3", + "erc20:eth:univ2RENETH": "1.9.3", + "erc20:eth:univ2REPETH": "1.9.3", + "erc20:eth:univ2RINGETH": "1.9.3", + "erc20:eth:univ2RLCETH": "1.9.3", + "erc20:eth:univ2RPLETH": "1.9.3", + "erc20:eth:univ2RSRETH": "1.9.3", + "erc20:eth:univ2SHUFETH": "1.9.3", + "erc20:eth:univ2SNXETH": "1.9.3", + "erc20:eth:univ2STAETH": "1.9.3", + "erc20:eth:univ2STAKEETH": "1.9.3", + "erc20:eth:univ2STONKETH": "1.9.3", + "erc20:eth:univ2STORJETH": "1.9.3", + "erc20:eth:univ2TRACETH": "1.9.3", + "erc20:eth:univ2TRBDAI": "1.9.3", + "erc20:eth:univ2TRBETH": "1.9.3", + "erc20:eth:univ2UBTETH": "1.9.3", + "erc20:eth:univ2UMAETH": "1.9.3", + "erc20:eth:univ2UNIUSDETH": "1.9.3", + "erc20:eth:univ2USDCBUIDL": "1.9.3", + "erc20:eth:univ2USDCETH": "1.9.3", + "erc20:eth:univ2USDCUSDT": "1.9.3", + "erc20:eth:univ2VLINKETH": "1.9.3", + "erc20:eth:univ2VLTETH": "1.9.3", + "erc20:eth:univ2VXVETH": "1.9.3", + "erc20:eth:univ2WBOMBETH": "1.9.3", + "erc20:eth:univ2WBTCETH": "1.9.3", + "erc20:eth:univ2WINGSETH": "1.9.3", + "erc20:eth:univ2XBASEETH": "1.9.3", + "erc20:eth:univ2XIOETH": "1.9.3", + "erc20:eth:univ2XNSETH": "1.9.3", + "erc20:eth:univ2XORETH": "1.9.3", + "erc20:eth:univ2XRTETH": "1.9.3", + "erc20:eth:univ2sETHETH": "1.9.3", + "erc20:eth:univ2sUSDETH": "1.9.3", + "erc20:eth:univ2sXAUUSDC": "1.9.3", + "erc20:eth:univ2uTOPIAETH": "1.9.3", "erc20:eth:usBAT": "1.9.0", "erc20:eth:usBAT2x": "1.9.0", "erc20:eth:usBAT3x": "1.9.0", @@ -2104,6 +2241,7 @@ "erc20:etc:BEC": "2.0.7", "erc20:etc:UNV": "2.0.8", "erc20:etc:UVC": "2.3.0", + "erc20:etc:UVCX": "2.3.3", "erc20:eth:$FFC": "2.0.7", "erc20:eth:$TEAK": "2.0.7", "erc20:eth:0xBTC": "2.0.7", @@ -2194,6 +2332,7 @@ "erc20:eth:AXPR": "2.0.8", "erc20:eth:B2BX": "2.0.10", "erc20:eth:BAC": "2.1.8", + "erc20:eth:BAL": "2.3.3", "erc20:eth:BALI": "2.3.0", "erc20:eth:BANCA": "2.0.10", "erc20:eth:BANX": "2.0.7", @@ -2352,6 +2491,7 @@ "erc20:eth:COBR": "2.1.8", "erc20:eth:COFI": "2.0.7", "erc20:eth:COIL": "2.0.7", + "erc20:eth:COMP": "2.3.3", "erc20:eth:CORI": "2.0.8", "erc20:eth:COSM": "2.0.10", "erc20:eth:COV": "2.0.7", @@ -2585,9 +2725,11 @@ "erc20:eth:FXY": "2.3.0", "erc20:eth:FYN": "2.0.7", "erc20:eth:FYP": "2.0.10", + "erc20:eth:FYZ": "2.3.3", "erc20:eth:Fzcoin": "2.0.10", "erc20:eth:G-CRE": "2.1.8", "erc20:eth:GAM": "2.0.7", + "erc20:eth:GAME": "2.3.3", "erc20:eth:GAT": "2.0.10", "erc20:eth:GAVEL": "2.0.7", "erc20:eth:GBO": "2.1.8", @@ -2927,6 +3069,7 @@ "erc20:eth:ORBS": "2.0.7", "erc20:eth:ORCA": "2.0.8", "erc20:eth:ORI": "2.0.10", + "erc20:eth:ORN": "2.3.3", "erc20:eth:ORS": "2.0.10", "erc20:eth:ORX": "2.1.8", "erc20:eth:OSPVS": "2.3.0", @@ -3029,6 +3172,7 @@ "erc20:eth:RAO": "2.0.7", "erc20:eth:RATING": "2.0.11", "erc20:eth:RBLX": "2.0.7", + "erc20:eth:RBT": "2.3.3", "erc20:eth:RCN": "2.0.7", "erc20:eth:RDN": "2.0.10", "erc20:eth:RDV": "2.3.0", @@ -3068,6 +3212,7 @@ "erc20:eth:ROCK2": "2.0.10", "erc20:eth:ROCK2PAY": "2.0.10", "erc20:eth:ROK": "2.0.7", + "erc20:eth:ROOBEE": "2.3.3", "erc20:eth:ROUND": "2.0.7", "erc20:eth:RPE": "2.1.8", "erc20:eth:RPL": "2.0.7", @@ -3238,6 +3383,7 @@ "erc20:eth:TRDT": "2.0.10", "erc20:eth:TRST": "2.0.7", "erc20:eth:TRYB": "2.3.0", + "erc20:eth:TST": "2.3.3", "erc20:eth:TSW": "2.0.8", "erc20:eth:TTA": "2.0.10", "erc20:eth:TTC": "2.0.11", @@ -3303,6 +3449,7 @@ "erc20:eth:VOC": "2.0.7", "erc20:eth:VOISE": "2.0.7", "erc20:eth:VRE": "2.3.0", + "erc20:eth:VRO": "2.3.3", "erc20:eth:VSF": "2.3.0", "erc20:eth:VSL": "2.0.7", "erc20:eth:VUU": "2.0.10", @@ -3615,6 +3762,133 @@ "erc20:eth:uniimBTC": "2.3.1", "erc20:eth:unisETH": "2.3.1", "erc20:eth:unisUSD": "2.3.1", + "erc20:eth:univ20xBTCETH": "2.3.3", + "erc20:eth:univ21UPETH": "2.3.3", + "erc20:eth:univ2AKROETH": "2.3.3", + "erc20:eth:univ2ALEPHETH": "2.3.3", + "erc20:eth:univ2ATISETH": "2.3.3", + "erc20:eth:univ2BANDETH": "2.3.3", + "erc20:eth:univ2BATETH": "2.3.3", + "erc20:eth:univ2BIZETH": "2.3.3", + "erc20:eth:univ2BNTETH": "2.3.3", + "erc20:eth:univ2BPTETH": "2.3.3", + "erc20:eth:univ2CAMOETH": "2.3.3", + "erc20:eth:univ2CELETH": "2.3.3", + "erc20:eth:univ2CHIETH": "2.3.3", + "erc20:eth:univ2COMPETH": "2.3.3", + "erc20:eth:univ2DAI2KEY": "2.3.3", + "erc20:eth:univ2DAIALEPH": "2.3.3", + "erc20:eth:univ2DAIETH": "2.3.3", + "erc20:eth:univ2DAIJRT": "2.3.3", + "erc20:eth:univ2DAILEND": "2.3.3", + "erc20:eth:univ2DAIMFT": "2.3.3", + "erc20:eth:univ2DAIUSDC": "2.3.3", + "erc20:eth:univ2DATAETH": "2.3.3", + "erc20:eth:univ2DECETH": "2.3.3", + "erc20:eth:univ2DEVETH": "2.3.3", + "erc20:eth:univ2DEXTETH": "2.3.3", + "erc20:eth:univ2DXDETH": "2.3.3", + "erc20:eth:univ2DZARETH": "2.3.3", + "erc20:eth:univ2EBASEETH": "2.3.3", + "erc20:eth:univ2ESWAETH": "2.3.3", + "erc20:eth:univ2ETH2KEY": "2.3.3", + "erc20:eth:univ2ETHACID": "2.3.3", + "erc20:eth:univ2ETHAMPL": "2.3.3", + "erc20:eth:univ2ETHANJ": "2.3.3", + "erc20:eth:univ2ETHASKO": "2.3.3", + "erc20:eth:univ2ETHAUC": "2.3.3", + "erc20:eth:univ2ETHBUIDL": "2.3.3", + "erc20:eth:univ2ETHCKN": "2.3.3", + "erc20:eth:univ2ETHDAM": "2.3.3", + "erc20:eth:univ2ETHDAOX": "2.3.3", + "erc20:eth:univ2ETHDMG": "2.3.3", + "erc20:eth:univ2ETHENJ": "2.3.3", + "erc20:eth:univ2ETHESH": "2.3.3", + "erc20:eth:univ2ETHFRM": "2.3.3", + "erc20:eth:univ2ETHHEX2T": "2.3.3", + "erc20:eth:univ2ETHKNC": "2.3.3", + "erc20:eth:univ2ETHNEC": "2.3.3", + "erc20:eth:univ2ETHPAMP": "2.3.3", + "erc20:eth:univ2ETHPAN": "2.3.3", + "erc20:eth:univ2ETHPDS": "2.3.3", + "erc20:eth:univ2ETHPOWER": "2.3.3", + "erc20:eth:univ2ETHSHIP": "2.3.3", + "erc20:eth:univ2ETHUBOMB": "2.3.3", + "erc20:eth:univ2ETHUNC": "2.3.3", + "erc20:eth:univ2ETHUSDT": "2.3.3", + "erc20:eth:univ2ETHZRX": "2.3.3", + "erc20:eth:univ2EWTBETH": "2.3.3", + "erc20:eth:univ2FMAETH": "2.3.3", + "erc20:eth:univ2FOAMETH": "2.3.3", + "erc20:eth:univ2FUNETH": "2.3.3", + "erc20:eth:univ2FXCETH": "2.3.3", + "erc20:eth:univ2GENETH": "2.3.3", + "erc20:eth:univ2GHOSTETH": "2.3.3", + "erc20:eth:univ2H3XETH": "2.3.3", + "erc20:eth:univ2HEXETH": "2.3.3", + "erc20:eth:univ2HXBETH": "2.3.3", + "erc20:eth:univ2IDXTETH": "2.3.3", + "erc20:eth:univ2JRTETH": "2.3.3", + "erc20:eth:univ2KAIETH": "2.3.3", + "erc20:eth:univ2LENDETH": "2.3.3", + "erc20:eth:univ2LENDUSDC": "2.3.3", + "erc20:eth:univ2LINKETH": "2.3.3", + "erc20:eth:univ2LPTDAI": "2.3.3", + "erc20:eth:univ2LPTETH": "2.3.3", + "erc20:eth:univ2LRCETH": "2.3.3", + "erc20:eth:univ2MANAETH": "2.3.3", + "erc20:eth:univ2MATHETH": "2.3.3", + "erc20:eth:univ2MCBETH": "2.3.3", + "erc20:eth:univ2MKRETH": "2.3.3", + "erc20:eth:univ2MKRMLN": "2.3.3", + "erc20:eth:univ2MKRUSDC": "2.3.3", + "erc20:eth:univ2MOONETH": "2.3.3", + "erc20:eth:univ2MRDNETH": "2.3.3", + "erc20:eth:univ2NMRETH": "2.3.3", + "erc20:eth:univ2OCEANETH": "2.3.3", + "erc20:eth:univ2OGNETH": "2.3.3", + "erc20:eth:univ2PAXGETH": "2.3.3", + "erc20:eth:univ2PLRETH": "2.3.3", + "erc20:eth:univ2PNKETH": "2.3.3", + "erc20:eth:univ2PODETH": "2.3.3", + "erc20:eth:univ2RAINETH": "2.3.3", + "erc20:eth:univ2RELETH": "2.3.3", + "erc20:eth:univ2RENETH": "2.3.3", + "erc20:eth:univ2REPETH": "2.3.3", + "erc20:eth:univ2RINGETH": "2.3.3", + "erc20:eth:univ2RLCETH": "2.3.3", + "erc20:eth:univ2RPLETH": "2.3.3", + "erc20:eth:univ2RSRETH": "2.3.3", + "erc20:eth:univ2SHUFETH": "2.3.3", + "erc20:eth:univ2SNXETH": "2.3.3", + "erc20:eth:univ2STAETH": "2.3.3", + "erc20:eth:univ2STAKEETH": "2.3.3", + "erc20:eth:univ2STONKETH": "2.3.3", + "erc20:eth:univ2STORJETH": "2.3.3", + "erc20:eth:univ2TRACETH": "2.3.3", + "erc20:eth:univ2TRBDAI": "2.3.3", + "erc20:eth:univ2TRBETH": "2.3.3", + "erc20:eth:univ2UBTETH": "2.3.3", + "erc20:eth:univ2UMAETH": "2.3.3", + "erc20:eth:univ2UNIUSDETH": "2.3.3", + "erc20:eth:univ2USDCBUIDL": "2.3.3", + "erc20:eth:univ2USDCETH": "2.3.3", + "erc20:eth:univ2USDCUSDT": "2.3.3", + "erc20:eth:univ2VLINKETH": "2.3.3", + "erc20:eth:univ2VLTETH": "2.3.3", + "erc20:eth:univ2VXVETH": "2.3.3", + "erc20:eth:univ2WBOMBETH": "2.3.3", + "erc20:eth:univ2WBTCETH": "2.3.3", + "erc20:eth:univ2WINGSETH": "2.3.3", + "erc20:eth:univ2XBASEETH": "2.3.3", + "erc20:eth:univ2XIOETH": "2.3.3", + "erc20:eth:univ2XNSETH": "2.3.3", + "erc20:eth:univ2XORETH": "2.3.3", + "erc20:eth:univ2XRTETH": "2.3.3", + "erc20:eth:univ2sETHETH": "2.3.3", + "erc20:eth:univ2sUSDETH": "2.3.3", + "erc20:eth:univ2sXAUUSDC": "2.3.3", + "erc20:eth:univ2uTOPIAETH": "2.3.3", "erc20:eth:usBAT": "2.3.0", "erc20:eth:usBAT2x": "2.3.0", "erc20:eth:usBAT3x": "2.3.0", diff --git a/common/tools/support.py b/common/tools/support.py index 8cc7d2447..22ae38d5a 100755 --- a/common/tools/support.py +++ b/common/tools/support.py @@ -418,7 +418,7 @@ def release( nontokens = [coin for coin in missing_list if not coin_info.is_token(coin)] for coin in tokens: key = coin["key"] - assert not coin.get("duplicate") +# assert not coin.get("duplicate"), key if verbose: print(f"Adding missing {key} ({coin['name']})") set_supported(device, key, version) diff --git a/core/src/apps/ethereum/tokens.py b/core/src/apps/ethereum/tokens.py index 69cb640ec..dedf58f49 100644 --- a/core/src/apps/ethereum/tokens.py +++ b/core/src/apps/ethereum/tokens.py @@ -214,6 +214,8 @@ def token_by_chain_address(chain_id, address): return (chain_id, address, "B2BX", 18) # eth / B2BX elif address == b"\x06\x2e\x3b\xe6\xa7\xc5\x6a\x39\x5b\x18\x81\xa0\xcd\x69\xa4\x92\x3a\xde\x4f\xa2": return (chain_id, address, "BAC", 18) # eth / Bowl A Coin + elif address == b"\xba\x10\x00\x00\x62\x5a\x37\x54\x42\x39\x78\xa6\x0c\x93\x17\xc5\x8a\x42\x4e\x3d": + return (chain_id, address, "BAL", 18) # eth / Balancer elif address == b"\x01\x3a\x06\x55\x8f\x07\xd9\xe6\xf9\xa0\x0c\x95\xa3\x3f\x3a\x0e\x02\x55\x17\x6b": return (chain_id, address, "BALI", 18) # eth / BALI COIN elif address == b"\x99\x8b\x3b\x82\xbc\x9d\xba\x17\x39\x90\xbe\x7a\xfb\x77\x27\x88\xb5\xac\xb8\xbd": @@ -518,8 +520,6 @@ def token_by_chain_address(chain_id, address): return (chain_id, address, "CMC", 18) # eth / CryptoMart elif address == b"\x47\xbc\x01\x59\x77\x98\xdc\xd7\x50\x6d\xcc\xa3\x6a\xc4\x30\x2f\xc9\x3a\x8c\xfb": return (chain_id, address, "CMCT", 8) # eth / Crowd Machine Compute Token - elif address == b"\xf8\x5f\xee\xa2\xfd\xd8\x1d\x51\x17\x7f\x6b\x8f\x35\xf0\xe6\x73\x4c\xe4\x5f\x5f": - return (chain_id, address, "CMT", 18) # eth / CyberMiles Token elif address == b"\xeb\xf2\xf9\xe8\xde\x96\x0f\x64\xec\x0f\xdc\xda\x6c\xb2\x82\x42\x31\x33\x34\x7b": return (chain_id, address, "CNB", 8) # eth / Canabio elif address == b"\xd4\xc4\x35\xf5\xb0\x9f\x85\x5c\x33\x17\xc8\x52\x4c\xb1\xf5\x86\xe4\x27\x95\xfa": @@ -538,6 +538,8 @@ def token_by_chain_address(chain_id, address): return (chain_id, address, "COFI", 18) # eth / CoinFi Token elif address == b"\x0c\x91\xb0\x15\xab\xa6\xf7\xb4\x73\x8d\xcd\x36\xe7\x41\x01\x38\xb2\x9a\xdc\x29": return (chain_id, address, "COIL", 8) # eth / CoinOil + elif address == b"\xc0\x0e\x94\xcb\x66\x2c\x35\x20\x28\x2e\x6f\x57\x17\x21\x40\x04\xa7\xf2\x68\x88": + return (chain_id, address, "COMP", 18) # eth / Compound elif address == b"\x72\x5b\x19\x0b\xc0\x77\xff\xde\x17\xcf\x54\x9a\xa8\xba\x25\xe2\x98\x55\x0b\x18": return (chain_id, address, "CORI", 2) # eth / Corrently Invest Token elif address == b"\xc4\xbc\xd6\x4c\xb2\x16\xd4\x9f\xd3\xc6\x43\xa3\x27\x62\xf3\x46\x26\xb4\x5a\x1a": @@ -1114,12 +1116,16 @@ def token_by_chain_address(chain_id, address): return (chain_id, address, "FYN", 18) # eth / Fund Yourself Now elif address == b"\x8f\x09\x21\xf3\x05\x55\x62\x41\x43\xd4\x27\xb3\x40\xb1\x15\x69\x14\x88\x2c\x10": return (chain_id, address, "FYP", 18) # eth / FlypMe + elif address == b"\x6b\xff\x2f\xe2\x49\x60\x1e\xd0\xdb\x3a\x87\x42\x4a\x2e\x92\x31\x18\xbb\x03\x12": + return (chain_id, address, "FYZ", 18) # eth / Fyooz elif address == b"\xe5\xae\xe1\x63\x51\x31\x19\xf4\xf7\x50\x37\x6c\x71\x87\x66\xb4\x0f\xa3\x7a\x5f": return (chain_id, address, "Fzcoin", 18) # eth / Frozencoin Network elif address == b"\xa3\xee\x21\xc3\x06\xa7\x00\xe6\x82\xab\xcd\xfe\x9b\xaa\x6a\x08\xf3\x82\x04\x19": return (chain_id, address, "G-CRE", 18) # eth / Creditcoin Token elif address == b"\xf6\x74\x51\xdc\x84\x21\xf0\xe0\xaf\xeb\x52\xfa\xa8\x10\x10\x34\xed\x08\x1e\xd9": return (chain_id, address, "GAM", 8) # eth / Gambit + elif address == b"\x63\xf8\x8a\x22\x98\xa5\xc4\xae\xe3\xc2\x16\xaa\x6d\x92\x6b\x18\x4a\x4b\x24\x37": + return (chain_id, address, "GAME", 18) # eth / GAME Credits elif address == b"\x68\x71\x74\xf8\xc4\x9c\xeb\x77\x29\xd9\x25\xc3\xa9\x61\x50\x7e\xa4\xac\x7b\x28": return (chain_id, address, "GAT", 18) # eth / Global Awards Token elif address == b"\x70\x88\x76\xf4\x86\xe4\x48\xee\x89\xeb\x33\x2b\xfb\xc8\xe5\x93\x55\x30\x58\xb9": @@ -1503,7 +1509,7 @@ def token_by_chain_address(chain_id, address): elif address == b"\x5b\x26\xc5\xd0\x77\x2e\x5b\xba\xc8\xb3\x18\x2a\xe9\xa1\x3f\x9b\xb2\xd0\x37\x65": return (chain_id, address, "LEDU", 8) # eth / Education Ecosystem elif address == b"\x80\xfb\x78\x4b\x7e\xd6\x67\x30\xe8\xb1\xdb\xd9\x82\x0a\xfd\x29\x93\x1a\xab\x03": - return (chain_id, address, "LEND", 18) # eth / EHTLend + return (chain_id, address, "LEND", 18) # eth / ETHLend elif address == b"\xf9\x7b\x5d\x65\xda\x6b\x04\x68\xb9\x0d\x53\x1d\xda\xe2\xa6\x98\x43\xe6\x79\x7d": return (chain_id, address, "LEO", 18) # eth / LEOcoin elif address == b"\x0f\x4c\xa9\x26\x60\xef\xad\x97\xa9\xa7\x0c\xb0\xfe\x96\x9c\x75\x54\x39\x77\x2c": @@ -1832,6 +1838,8 @@ def token_by_chain_address(chain_id, address): return (chain_id, address, "ORCA", 18) # eth / ORCA Token elif address == b"\xd2\xfa\x8f\x92\xea\x72\xab\xb3\x5d\xbd\x6d\xec\xa5\x71\x73\xd2\x2d\xb2\xba\x49": return (chain_id, address, "ORI", 18) # eth / Origami + elif address == b"\x8f\xb0\x0f\xde\xbb\x4e\x83\xf2\xc5\x8b\x3b\xcd\x67\x32\xac\x1b\x6a\x7b\x72\x21": + return (chain_id, address, "ORN", 8) # eth / Orion Protocol elif address == b"\xeb\x9a\x4b\x18\x58\x16\xc3\x54\xdb\x92\xdb\x09\xcc\x3b\x50\xbe\x60\xb9\x01\xb6": return (chain_id, address, "ORS", 18) # eth / Origin Sport elif address == b"\x4e\x84\xa6\x5b\x56\x64\xd3\x3b\x67\x75\x07\x71\xf8\xbe\xae\xc4\x58\xbd\x67\x29": @@ -2040,6 +2048,8 @@ def token_by_chain_address(chain_id, address): return (chain_id, address, "RATING", 8) # eth / DPRating elif address == b"\xfc\x2c\x4d\x8f\x95\x00\x2c\x14\xed\x0a\x7a\xa6\x51\x02\xca\xc9\xe5\x95\x3b\x5e": return (chain_id, address, "RBLX", 18) # eth / Rublix + elif address == b"\x16\x5b\x67\x49\x81\x29\x00\x53\x84\x02\xcd\x54\x0c\x55\xbe\x68\x41\x1f\x8e\xa0": + return (chain_id, address, "RBT", 18) # eth / realtybits elif address == b"\xf9\x70\xb8\xe3\x6e\x23\xf7\xfc\x3f\xd7\x52\xee\xa8\x6f\x8b\xe8\xd8\x33\x75\xa6": return (chain_id, address, "RCN", 18) # eth / Ripio Credit Network elif address == b"\x25\x5a\xa6\xdf\x07\x54\x0c\xb5\xd3\xd2\x97\xf0\xd0\xd4\xd8\x4c\xb5\x2b\xc8\xe6": @@ -2118,6 +2128,8 @@ def token_by_chain_address(chain_id, address): return (chain_id, address, "ROCK2PAY", 18) # eth / ICE ROCK MINING elif address == b"\xc9\xde\x4b\x7f\x0c\x3d\x99\x1e\x96\x71\x58\xe4\xd4\xbf\xa4\xb5\x1e\xc0\xb1\x14": return (chain_id, address, "ROK", 18) # eth / Rocketchain + elif address == b"\xa3\x1b\x17\x67\xe0\x9f\x84\x2e\xcf\xd4\xbc\x47\x1f\xe4\x4f\x83\x0e\x38\x91\xaa": + return (chain_id, address, "ROOBEE", 18) # eth / ROOBEE elif address == b"\x49\x93\xcb\x95\xc7\x44\x3b\xdc\x06\x15\x5c\x5f\x56\x88\xbe\x9d\x8f\x69\x99\xa5": return (chain_id, address, "ROUND", 18) # eth / ROUND elif address == b"\xcc\xc8\x5a\xa8\x99\x95\x05\xd6\xf8\x86\xa3\x2d\xa4\xa1\x07\xbb\xe0\xd1\xde\x9e": @@ -2496,6 +2508,8 @@ def token_by_chain_address(chain_id, address): return (chain_id, address, "TRST", 6) # eth / WeTrust elif address == b"\x2c\x53\x7e\x56\x24\xe4\xaf\x88\xa7\xae\x40\x60\xc0\x22\x60\x93\x76\xc8\xd0\xeb": return (chain_id, address, "TRYB", 6) # eth / Bilira + elif address == b"\xd9\xba\xe3\x9c\x72\x5a\x18\x64\xb1\x13\x3a\xd0\xef\x16\x40\xd0\x2f\x79\xb7\x8c": + return (chain_id, address, "TST", 18) # eth / Touch Social Token elif address == b"\x6b\x87\x99\x9b\xe8\x73\x58\x06\x5b\xbd\xe4\x1e\x8a\x0f\xe0\xb7\xb1\xcd\x25\x14": return (chain_id, address, "TSW", 18) # eth / TeslaWatt elif address == b"\xaa\xb6\x06\x81\x78\x09\x84\x1e\x8b\x11\x68\xbe\x87\x79\xee\xaf\x67\x44\xef\x64": @@ -2742,6 +2756,260 @@ def token_by_chain_address(chain_id, address): return (chain_id, address, "uniUSDC", 18) # eth / Uniswap: USD//C elif address == b"\x7e\xf7\x19\x1a\xb9\x1d\xdb\x4d\x7c\xc3\x47\xfb\xfa\x17\x03\x55\xac\xba\xf0\x2d": return (chain_id, address, "uniUSDS", 18) # eth / Uniswap: StableUSD + elif address == b"\xc1\x2c\x4c\x3e\x00\x08\xb8\x38\xf7\x51\x89\xbf\xb3\x92\x83\x46\x7c\xf6\xe5\xb3": + return (chain_id, address, "univ20xBTCETH", 18) # eth / Uniswap V2 0xBTC-ETH + elif address == b"\xf4\x91\x44\xe6\x1c\x05\x12\x0f\x1b\x16\x7e\x4b\x4f\x59\xcf\x0a\x5d\x77\x90\x3f": + return (chain_id, address, "univ21UPETH", 18) # eth / Uniswap V2 1UP-ETH + elif address == b"\x8c\xb7\x7e\xa8\x69\xde\xf8\xf7\xfd\xea\xb9\xe4\xda\x6c\xf0\x28\x97\xbb\xf0\x76": + return (chain_id, address, "univ2AKROETH", 18) # eth / Uniswap V2 AKRO-ETH + elif address == b"\x58\x3c\xad\xd8\x30\x37\x4b\xb5\xc1\xec\x8e\x1b\x64\x8e\x02\x94\xcc\x1e\x01\xf1": + return (chain_id, address, "univ2ALEPHETH", 18) # eth / Uniswap V2 ALEPH-ETH + elif address == b"\x49\x0b\x5b\x24\x89\xee\xfc\x41\x06\xc6\x97\x43\xf6\x57\xe3\xc4\xa2\x87\x0a\xc5": + return (chain_id, address, "univ2ATISETH", 18) # eth / Uniswap V2 ATIS-ETH + elif address == b"\xf4\x21\xc3\xf2\xe6\x95\xc2\xd4\xc0\x76\x53\x79\xcc\xac\xe8\xad\xe4\xa4\x80\xd9": + return (chain_id, address, "univ2BANDETH", 18) # eth / Uniswap V2 BAND-ETH + elif address == b"\xb6\x90\x9b\x96\x0d\xbb\xe7\x39\x2d\x40\x54\x29\xeb\x2b\x36\x49\x75\x2b\x48\x38": + return (chain_id, address, "univ2BATETH", 18) # eth / Uniswap V2 BAT-ETH + elif address == b"\xfa\xd8\xb0\x70\x55\xa0\x37\x14\x42\xa3\x10\x6a\x22\x44\xa8\x2b\x24\xe3\x1c\xec": + return (chain_id, address, "univ2BIZETH", 18) # eth / Uniswap V2 BIZ-ETH + elif address == b"\x3f\xd4\xcf\x93\x03\xc4\xbc\x9e\x13\x77\x26\x18\x82\x87\x12\xc8\xea\xc7\xdd\x2f": + return (chain_id, address, "univ2BNTETH", 18) # eth / Uniswap V2 BNT-ETH + elif address == b"\x13\xe6\x38\xb4\xf8\x97\x40\xa1\xc2\xff\x45\xd7\x1f\x71\xee\x28\x10\x1c\xc1\xdc": + return (chain_id, address, "univ2BPTETH", 18) # eth / Uniswap V2 BPT-ETH + elif address == b"\x48\xf4\xa6\xc6\x5a\xbb\x4b\x20\x98\x23\x77\x1b\x0d\x2c\x0f\x15\x6e\xe6\x26\x8b": + return (chain_id, address, "univ2CAMOETH", 18) # eth / Uniswap V2 CAMO-ETH + elif address == b"\xa5\xe7\x9b\xae\xe5\x40\xf0\x00\xef\x6f\x23\xd0\x67\xcd\x3a\xc2\x2c\x7d\x9f\xe6": + return (chain_id, address, "univ2CELETH", 18) # eth / Uniswap V2 CEL-ETH + elif address == b"\xa6\xf3\xef\x84\x1d\x37\x1a\x82\xca\x75\x7f\xad\x08\xef\xc0\xde\xe2\xf1\xf5\xe2": + return (chain_id, address, "univ2CHIETH", 18) # eth / Uniswap V2 CHI-ETH + elif address == b"\xcf\xfd\xde\xd8\x73\x55\x4f\x36\x2a\xc0\x2f\x8f\xb1\xf0\x2e\x5a\xda\x10\x51\x6f": + return (chain_id, address, "univ2COMPETH", 18) # eth / Uniswap V2 COMP-ETH + elif address == b"\xda\x9a\x09\xed\x40\x01\x53\x46\xf6\xb0\x70\x4c\x5b\xf1\xa2\xcc\xbf\x94\xde\x43": + return (chain_id, address, "univ2DAI2KEY", 18) # eth / Uniswap V2 DAI-2KEY + elif address == b"\x18\xe3\x37\x23\xfe\xf4\x3a\x33\xf9\x56\x0a\x8b\x97\x3d\x33\x31\xe5\x26\x9f\xac": + return (chain_id, address, "univ2DAIALEPH", 18) # eth / Uniswap V2 DAI-ALEPH + elif address == b"\xa4\x78\xc2\x97\x5a\xb1\xea\x89\xe8\x19\x68\x11\xf5\x1a\x7b\x7a\xde\x33\xeb\x11": + return (chain_id, address, "univ2DAIETH", 18) # eth / Uniswap V2 DAI-ETH + elif address == b"\xe4\xa3\x56\xaf\xd9\x25\xf7\x3f\x3d\xd2\x2a\xcb\xeb\x2c\x0c\x87\xa0\x5e\x89\x5d": + return (chain_id, address, "univ2DAIJRT", 18) # eth / Uniswap V2 DAI-JRT + elif address == b"\xb6\x03\xc2\xb5\xab\x4e\xe7\x93\x21\x03\xb4\x2f\x8d\xd8\x99\xc8\x72\x1d\xd2\x5e": + return (chain_id, address, "univ2DAILEND", 18) # eth / Uniswap V2 DAI-LEND + elif address == b"\xe8\x05\x6b\x83\xba\x7d\xaf\x02\x74\x14\xb5\x80\x48\xa4\x89\x11\xac\xf1\xb2\xa9": + return (chain_id, address, "univ2DAIMFT", 18) # eth / Uniswap V2 DAI-MFT + elif address == b"\xae\x46\x1c\xa6\x7b\x15\xdc\x8d\xc8\x1c\xe7\x61\x5e\x03\x20\xda\x1a\x9a\xb8\xd5": + return (chain_id, address, "univ2DAIUSDC", 18) # eth / Uniswap V2 DAI-USDC + elif address == b"\xd6\x05\x44\x55\xca\x2e\x1a\xef\x02\x17\x8e\x04\x62\xd9\xab\x95\x3b\xea\x4e\x23": + return (chain_id, address, "univ2DATAETH", 18) # eth / Uniswap V2 DATA-ETH + elif address == b"\x3a\xee\xe5\xba\x05\x3e\xf8\x40\x64\x20\xdb\xc5\x80\x1f\xc9\x5e\xc5\x7b\x0e\x0a": + return (chain_id, address, "univ2DECETH", 18) # eth / Uniswap V2 DEC-ETH + elif address == b"\x41\x68\xce\xf0\xfc\xa0\x77\x41\x76\x63\x2d\x86\xba\x26\x55\x3e\x3b\x9c\xf5\x9d": + return (chain_id, address, "univ2DEVETH", 18) # eth / Uniswap V2 DEV-ETH + elif address == b"\x37\xa0\x46\x4f\x8f\x4c\x20\x7b\x54\x82\x1f\x3c\x79\x9a\xfd\x3d\x26\x2a\xa9\x44": + return (chain_id, address, "univ2DEXTETH", 18) # eth / Uniswap V2 DEXT-ETH + elif address == b"\x1c\x90\x52\xe8\x23\xb5\xf4\x61\x1e\xf7\xd5\xfb\x41\x53\x99\x5b\x04\x0c\xcb\xf5": + return (chain_id, address, "univ2DXDETH", 18) # eth / Uniswap V2 DXD-ETH + elif address == b"\xc5\xa7\x88\xf6\x3e\x5d\x9c\xf2\xc3\x24\x62\x1e\xed\x51\xa9\x8f\x85\xae\x37\x3b": + return (chain_id, address, "univ2DZARETH", 18) # eth / Uniswap V2 DZAR-ETH + elif address == b"\x3b\x0f\x0f\xe3\xbe\x83\x08\x26\xd8\x33\xa6\x7c\xd1\xd7\xc8\x0e\xdf\x3f\xb4\x9b": + return (chain_id, address, "univ2EBASEETH", 18) # eth / Uniswap V2 EBASE-ETH + elif address == b"\x8c\x0e\x87\x6f\x1d\xa5\x81\x40\x69\x56\x73\xd0\x7f\xf4\x2d\x47\x86\x20\x7d\x1b": + return (chain_id, address, "univ2ESWAETH", 18) # eth / Uniswap V2 ESWA-ETH + elif address == b"\x63\xe7\xaa\x05\xb7\x81\x44\x01\x3c\xfa\x4b\x23\xc9\xb6\x15\x99\xd0\xa2\x90\x23": + return (chain_id, address, "univ2ETH2KEY", 18) # eth / Uniswap V2 ETH-2KEY + elif address == b"\xa0\xd0\x6b\xdc\x32\x74\x56\x4d\xdd\xa6\x5b\xfa\xb6\xae\x61\xe5\xf0\x00\xe4\x9b": + return (chain_id, address, "univ2ETHACID", 18) # eth / Uniswap V2 ETH-ACID + elif address == b"\xc5\xbe\x99\xa0\x2c\x68\x57\xf9\xea\xc6\x7b\xbc\xe5\x8d\xf5\x57\x24\x98\xf4\x0c": + return (chain_id, address, "univ2ETHAMPL", 18) # eth / Uniswap V2 ETH-AMPL + elif address == b"\x0f\xfc\x70\xbe\x6e\x2d\x84\x1e\x10\x96\x53\xdd\xb3\x03\x49\x61\x59\x16\x79\xd6": + return (chain_id, address, "univ2ETHANJ", 18) # eth / Uniswap V2 ETH-ANJ + elif address == b"\x63\x80\x4d\x75\x7b\x5b\x7c\x43\x50\x9f\xde\xd8\xf7\xce\x10\xcc\x0b\xac\x2a\xe0": + return (chain_id, address, "univ2ETHASKO", 18) # eth / Uniswap V2 ETH-ASKO + elif address == b"\xc0\x47\x44\xab\x87\xa4\xc3\x7a\xfd\x91\x68\x0e\xf2\x80\xb9\x6e\xe2\x1a\x02\x6e": + return (chain_id, address, "univ2ETHAUC", 18) # eth / Uniswap V2 ETH-AUC + elif address == b"\x8a\x38\xad\x17\xd1\xad\xcd\xbe\x37\x75\x33\x8d\x14\x70\xfd\x6f\x00\xf7\x78\x02": + return (chain_id, address, "univ2ETHBUIDL", 18) # eth / Uniswap V2 ETH-BUIDL + elif address == b"\x93\x8d\x14\x59\xee\x0a\xaf\x8f\xe7\x37\x78\xc5\x90\xa6\x39\x82\x1e\x44\x4d\x45": + return (chain_id, address, "univ2ETHCKN", 18) # eth / Uniswap V2 ETH-CKN + elif address == b"\x44\x7f\x8d\x28\x71\x20\xb6\x6f\x39\x85\x6a\xe5\xce\xb0\x15\x12\xa7\xa4\x74\x44": + return (chain_id, address, "univ2ETHDAM", 18) # eth / Uniswap V2 ETH-DAM + elif address == b"\x07\x82\xfb\x02\x6d\x1c\x26\x4e\x59\xa2\xb2\x74\x83\x32\x40\xc5\x33\x67\xed\x1a": + return (chain_id, address, "univ2ETHDAOX", 18) # eth / Uniswap V2 ETH-DAOX + elif address == b"\x81\x75\x36\x2a\xfb\xee\xe3\x2a\xfb\x22\xd0\x5a\xdc\x0b\xbd\x08\xde\x32\xf5\xae": + return (chain_id, address, "univ2ETHDMG", 18) # eth / Uniswap V2 ETH-DMG + elif address == b"\xe5\x6c\x60\xb5\xf9\xf7\xb5\xfc\x70\xde\x0e\xb7\x9c\x6e\xe7\xd0\x0e\xfa\x26\x25": + return (chain_id, address, "univ2ETHENJ", 18) # eth / Uniswap V2 ETH-ENJ + elif address == b"\x12\x1b\x38\x2b\x5f\x00\x3c\x41\xfb\x49\xe7\xb8\x8d\x07\x9c\x8f\x51\x3f\xea\xac": + return (chain_id, address, "univ2ETHESH", 18) # eth / Uniswap V2 ETH-ESH + elif address == b"\x92\x33\x0d\x88\x18\xe8\xa3\xb5\x0f\x02\x7c\x81\x9f\xa4\x60\x31\xff\xba\x2c\x8c": + return (chain_id, address, "univ2ETHFRM", 18) # eth / Uniswap V2 ETH-FRM + elif address == b"\xed\xae\xdd\x22\xe6\x53\xc5\x04\xff\x68\x06\xbf\x61\x66\x42\x92\x84\x8e\xb2\x6e": + return (chain_id, address, "univ2ETHHEX2T", 18) # eth / Uniswap V2 ETH-HEX2T + elif address == b"\xf4\x9c\x43\xae\x0f\xaf\x37\x21\x7b\xdc\xb0\x0d\xf4\x78\xcf\x79\x3e\xdd\x66\x87": + return (chain_id, address, "univ2ETHKNC", 18) # eth / Uniswap V2 ETH-KNC + elif address == b"\x2d\xda\x09\xfb\x92\x9c\x57\x6a\x6a\xb6\xc1\xd1\xee\x62\xe8\xaf\x72\xb2\xf6\xa7": + return (chain_id, address, "univ2ETHNEC", 18) # eth / Uniswap V2 ETH-NEC + elif address == b"\x1c\x60\x82\x35\xe6\xa9\x46\x40\x3f\x2a\x04\x8a\x38\x55\x0b\xef\xe4\x1e\x1b\x85": + return (chain_id, address, "univ2ETHPAMP", 18) # eth / Uniswap V2 ETH-PAMP + elif address == b"\x1b\x21\x60\x9d\x42\xfa\x32\xf3\x71\xf5\x8d\xf2\x94\xed\x25\xb2\xd2\xe5\xc8\xba": + return (chain_id, address, "univ2ETHPAN", 18) # eth / Uniswap V2 ETH-PAN + elif address == b"\x2e\xcf\x24\x5b\x60\xe3\x51\xa7\x11\xe5\x6a\x3a\xe2\x58\x66\xd1\xc8\xbe\xb3\x24": + return (chain_id, address, "univ2ETHPDS", 18) # eth / Uniswap V2 ETH-PDS + elif address == b"\x49\xf9\x31\x6e\xb2\x2d\xe9\x0d\x93\x43\xc5\x73\xfb\xd7\xcc\x0b\x5e\xc6\xe1\x9f": + return (chain_id, address, "univ2ETHPOWER", 18) # eth / Uniswap V2 ETH-POWER + elif address == b"\xfb\x7a\x31\x12\xc9\x6b\xbc\xfe\x4b\xbf\x3e\x86\x27\xb0\xde\x6f\x49\xe5\x14\x2a": + return (chain_id, address, "univ2ETHSHIP", 18) # eth / Uniswap V2 ETH-SHIP + elif address == b"\xed\x9c\x85\x4c\xb0\x2d\xe7\x5c\xe4\xc9\xbb\xa9\x92\x82\x8d\x6c\xb7\xfd\x5c\x71": + return (chain_id, address, "univ2ETHUBOMB", 18) # eth / Uniswap V2 ETH-UBOMB + elif address == b"\x5e\x64\xcd\x6f\x84\xd0\xee\x2a\xd2\xa8\x4c\xad\xc4\x64\x18\x4e\x36\x27\x4e\x0c": + return (chain_id, address, "univ2ETHUNC", 18) # eth / Uniswap V2 ETH-UNC + elif address == b"\x0d\x4a\x11\xd5\xee\xaa\xc2\x8e\xc3\xf6\x1d\x10\x0d\xaf\x4d\x40\x47\x1f\x18\x52": + return (chain_id, address, "univ2ETHUSDT", 18) # eth / Uniswap V2 ETH-USDT + elif address == b"\xc6\xf3\x48\xdd\x3b\x91\xa5\x6d\x11\x7e\xc0\x07\x1c\x1e\x9b\x83\xc0\x99\x6d\xe4": + return (chain_id, address, "univ2ETHZRX", 18) # eth / Uniswap V2 ETH-ZRX + elif address == b"\xdc\x7d\x8c\xc3\xa2\x2f\xe0\xec\x69\x77\x0e\x02\x93\x1f\x43\x45\x1b\x7b\x97\x5e": + return (chain_id, address, "univ2EWTBETH", 18) # eth / Uniswap V2 EWTB-ETH + elif address == b"\x99\x26\x28\x53\x61\xac\xf7\x46\x11\x05\xb4\x64\xae\x9e\xa6\x83\xdf\xb0\x6b\x83": + return (chain_id, address, "univ2FMAETH", 18) # eth / Uniswap V2 FMA-ETH + elif address == b"\xd9\xd3\x95\x40\xd6\x1f\x8d\x6e\xb2\xee\x7e\xed\xfa\xe9\x3c\xc0\x9c\xc2\x4f\x0e": + return (chain_id, address, "univ2FOAMETH", 18) # eth / Uniswap V2 FOAM-ETH + elif address == b"\x05\xb0\xc1\xd8\x83\x9e\xf3\xa9\x89\xb3\x3b\x6b\x63\xd3\xaa\x96\xcb\x7e\xc1\x42": + return (chain_id, address, "univ2FUNETH", 18) # eth / Uniswap V2 FUN-ETH + elif address == b"\x30\x2a\xc8\x7b\x1b\x5e\xf1\x84\x85\x97\x1e\xd0\x11\x5a\x17\x40\x3e\xa3\x09\x11": + return (chain_id, address, "univ2FXCETH", 18) # eth / Uniswap V2 FXC-ETH + elif address == b"\xf3\x7e\xd7\x42\x81\x9e\xc0\x06\xb0\x80\x2d\xf5\xc2\xb0\xe9\x13\x2f\x22\xc6\x25": + return (chain_id, address, "univ2GENETH", 18) # eth / Uniswap V2 GEN-ETH + elif address == b"\x39\x5a\x13\x50\xdb\x96\x27\x36\x0d\x09\xc8\xb3\xe7\xc3\x1f\xb8\x42\x61\xb8\xf2": + return (chain_id, address, "univ2GHOSTETH", 18) # eth / Uniswap V2 GHOST-ETH + elif address == b"\x30\x8e\x01\x91\x43\xb5\x60\x21\x57\x75\xa0\xc6\xef\xbd\x26\x73\x41\x3d\x76\xe6": + return (chain_id, address, "univ2H3XETH", 18) # eth / Uniswap V2 H3X-ETH + elif address == b"\x55\xd5\xc2\x32\xd9\x21\xb9\xea\xa6\xb3\x7b\x58\x45\xe4\x39\xac\xd0\x4b\x4d\xba": + return (chain_id, address, "univ2HEXETH", 18) # eth / Uniswap V2 HEX-ETH + elif address == b"\xad\xea\x64\x59\x07\xdb\xe2\xb9\xbc\xb7\xb1\x02\x69\x5a\xd0\xc3\x21\xf6\xb4\x0c": + return (chain_id, address, "univ2HXBETH", 18) # eth / Uniswap V2 HXB-ETH + elif address == b"\xfd\xc3\xf6\x8a\xf2\x0d\x56\xe0\x5a\xd0\xc7\xeb\x51\xda\x4a\x3f\x7d\x75\x3a\x04": + return (chain_id, address, "univ2IDXTETH", 18) # eth / Uniswap V2 IDXT-ETH + elif address == b"\x2b\x6a\x25\xf7\xc5\x4f\x43\xc7\x1c\x74\x3e\x62\x7f\x56\x63\x23\x25\x86\xc3\x9f": + return (chain_id, address, "univ2JRTETH", 18) # eth / Uniswap V2 JRT-ETH + elif address == b"\x65\x07\xba\x0f\x3e\xb8\x2c\xba\x18\x5c\x08\x8a\x3f\xbd\x04\x35\xf1\xa7\x3b\x28": + return (chain_id, address, "univ2KAIETH", 18) # eth / Uniswap V2 KAI-ETH + elif address == b"\xab\x3f\x9b\xf1\xd8\x1d\xdb\x22\x4a\x20\x14\xe9\x8b\x23\x86\x38\x82\x4b\xcf\x20": + return (chain_id, address, "univ2LENDETH", 18) # eth / Uniswap V2 LEND-ETH + elif address == b"\x30\x8d\x87\x86\x53\x97\x67\x2a\x74\xec\x62\xb3\xdc\x8e\x73\x23\xa1\x8c\x0f\x1e": + return (chain_id, address, "univ2LENDUSDC", 18) # eth / Uniswap V2 LEND-USDC + elif address == b"\xa2\x10\x7f\xa5\xb3\x8d\x9b\xbd\x2c\x46\x1d\x6e\xdf\x11\xb1\x1a\x50\xf6\xb9\x74": + return (chain_id, address, "univ2LINKETH", 18) # eth / Uniswap V2 LINK-ETH + elif address == b"\xdd\xb5\x04\x9f\xdb\x73\xea\x84\x42\x9c\xd9\x1f\x31\xd9\x07\x79\x03\x2e\x5e\xde": + return (chain_id, address, "univ2LPTDAI", 18) # eth / Uniswap V2 LPT-DAI + elif address == b"\x75\x5c\x1a\x8f\x71\xf4\x21\x0c\xd7\xb6\x0b\x94\x39\x45\x1e\xfc\xbe\xba\x33\xd1": + return (chain_id, address, "univ2LPTETH", 18) # eth / Uniswap V2 LPT-ETH + elif address == b"\x88\x78\xdf\x9e\x1a\x7c\x87\xdc\xbf\x6d\x39\x99\xd9\x97\xf2\x62\xc0\x5d\x8c\x70": + return (chain_id, address, "univ2LRCETH", 18) # eth / Uniswap V2 LRC-ETH + elif address == b"\x11\xb1\xf5\x32\x04\xd0\x3e\x55\x29\xf0\x9e\xb3\x09\x19\x39\xe4\xfd\x8c\x9c\xf3": + return (chain_id, address, "univ2MANAETH", 18) # eth / Uniswap V2 MANA-ETH + elif address == b"\x30\x06\xc0\xd2\xa6\xe5\x4d\x35\x90\xa4\x43\x84\xc6\xf0\x66\xc9\xcf\x9a\x4c\xea": + return (chain_id, address, "univ2MATHETH", 18) # eth / Uniswap V2 MATH-ETH + elif address == b"\x10\xcf\xa7\x44\xc7\x7f\x1c\xb9\xa7\x7f\xa4\x18\xac\x4a\x1b\x6e\xc6\x2b\xcc\xe4": + return (chain_id, address, "univ2MCBETH", 18) # eth / Uniswap V2 MCB-ETH + elif address == b"\xc2\xad\xda\x86\x1f\x89\xbb\xb3\x33\xc9\x0c\x49\x2c\xb8\x37\x74\x19\x16\xa2\x25": + return (chain_id, address, "univ2MKRETH", 18) # eth / Uniswap V2 MKR-ETH + elif address == b"\xad\xea\x7c\x5f\xeb\xf9\x3a\x62\x39\xe7\x3e\x14\xe3\x7a\xb4\x29\x03\x9e\xb9\xb1": + return (chain_id, address, "univ2MKRMLN", 18) # eth / Uniswap V2 MKR-MLN + elif address == b"\x34\x0a\x5a\x2f\x73\xeb\xaa\x18\x1e\xc2\x82\x68\x02\xfd\xf8\xed\x21\xfc\x75\x9a": + return (chain_id, address, "univ2MKRUSDC", 18) # eth / Uniswap V2 MKR-USDC + elif address == b"\xf8\x94\x03\xad\x67\xd6\x59\xd5\xd1\xfa\xe7\xc6\xec\x16\x31\x10\x50\x6b\x85\x8a": + return (chain_id, address, "univ2MOONETH", 18) # eth / Uniswap V2 MOON-ETH + elif address == b"\xaa\xcd\x36\xc8\x77\x40\x88\x24\xee\x59\x54\x0b\x0c\x09\x38\x04\xd7\xe9\xa7\xd9": + return (chain_id, address, "univ2MRDNETH", 18) # eth / Uniswap V2 MRDN-ETH + elif address == b"\xb7\x84\xce\xd6\x99\x4c\x92\x81\x70\xb4\x17\xbb\xd0\x52\xa0\x96\xc6\xfb\x17\xe2": + return (chain_id, address, "univ2NMRETH", 18) # eth / Uniswap V2 NMR-ETH + elif address == b"\x8f\xd3\xa0\x4c\xb3\x0a\x1f\xd9\xff\xaf\x15\x48\x97\x2b\x2e\x51\x17\xd0\xa5\x2d": + return (chain_id, address, "univ2OCEANETH", 18) # eth / Uniswap V2 OCEAN-ETH + elif address == b"\xce\x2c\xc0\x51\x36\x34\xce\xf3\xa7\xc9\xc2\x57\xe2\x94\xef\x5e\x30\x92\xf1\x85": + return (chain_id, address, "univ2OGNETH", 18) # eth / Uniswap V2 OGN-ETH + elif address == b"\x9c\x4f\xe5\xff\xd9\xa9\xfc\x56\x78\xcf\xbd\x93\xaa\x2d\x4f\xd6\x84\xb6\x7c\x4c": + return (chain_id, address, "univ2PAXGETH", 18) # eth / Uniswap V2 PAXG-ETH + elif address == b"\xae\x2d\x40\x04\x24\x12\x54\xae\xd3\xf9\x38\x73\x60\x4d\x39\x88\x3c\x82\x59\xf0": + return (chain_id, address, "univ2PLRETH", 18) # eth / Uniswap V2 PLR-ETH + elif address == b"\x34\x3f\xd1\x71\xca\xf4\xf0\x28\x7a\xe6\xb8\x7d\x75\xa8\x96\x4d\xc4\x45\x16\xab": + return (chain_id, address, "univ2PNKETH", 18) # eth / Uniswap V2 PNK-ETH + elif address == b"\xe7\xcc\xa7\x84\xb1\xd8\x38\xd9\x9f\xf4\xff\xf5\x74\xd3\x18\x70\xd1\x61\x9c\x1d": + return (chain_id, address, "univ2PODETH", 18) # eth / Uniswap V2 POD-ETH + elif address == b"\xcb\x7f\x78\xa0\x79\xb5\xfc\x38\x7c\x80\xb9\x3b\xe7\x9d\x40\x30\x9c\x27\xa2\x37": + return (chain_id, address, "univ2RAINETH", 18) # eth / Uniswap V2 RAIN-ETH + elif address == b"\x33\xbe\x7e\xd8\x06\x47\x90\x61\xa7\xe6\x2a\x33\xd3\xc9\xb5\x00\xfc\x9b\x47\xbf": + return (chain_id, address, "univ2RELETH", 18) # eth / Uniswap V2 REL-ETH + elif address == b"\x8b\xd1\x66\x1d\xa9\x8e\xbd\xd3\xbd\x08\x0f\x0b\xe4\xe6\xd9\xbe\x8c\xe9\x85\x8c": + return (chain_id, address, "univ2RENETH", 18) # eth / Uniswap V2 REN-ETH + elif address == b"\xec\x2d\x22\x40\xd0\x2a\x8c\xf6\x3c\x3f\xa0\xb7\xd2\xc5\xa3\x16\x9a\x31\x94\x96": + return (chain_id, address, "univ2REPETH", 18) # eth / Uniswap V2 REP-ETH + elif address == b"\xa3\x25\x23\x37\x13\x90\xb0\xcc\x4e\x11\xf6\xbb\x23\x6e\xcf\x4c\x2c\xde\xa1\x01": + return (chain_id, address, "univ2RINGETH", 18) # eth / Uniswap V2 RING-ETH + elif address == b"\x6d\x57\xa5\x3a\x45\x34\x31\x87\x90\x5a\xad\x6a\xd8\xed\x53\x2d\x10\x56\x97\xc1": + return (chain_id, address, "univ2RLCETH", 18) # eth / Uniswap V2 RLC-ETH + elif address == b"\x70\xea\x56\xe4\x62\x66\xf0\x13\x7b\xac\x6b\x75\x71\x0e\x35\x46\xf4\x7c\x85\x5d": + return (chain_id, address, "univ2RPLETH", 18) # eth / Uniswap V2 RPL-ETH + elif address == b"\xba\x65\x01\x68\x90\x70\x9d\xbc\x94\x91\xca\x7b\xf5\xde\x39\x5b\x84\x41\xdc\x8b": + return (chain_id, address, "univ2RSRETH", 18) # eth / Uniswap V2 RSR-ETH + elif address == b"\x59\x8e\x74\x0c\xda\x7c\x52\x50\x80\xd3\xfc\xb9\xfa\x7c\x4e\x1b\xd0\x04\x4b\x34": + return (chain_id, address, "univ2sETHETH", 18) # eth / Uniswap V2 sETH-ETH + elif address == b"\x26\x0e\x06\x9d\xea\xd7\x6b\xaa\xc5\x87\xb5\x14\x1b\xb6\x06\xef\x8b\x9b\xab\x6c": + return (chain_id, address, "univ2SHUFETH", 18) # eth / Uniswap V2 SHUF-ETH + elif address == b"\x43\xae\x24\x96\x0e\x55\x34\x73\x1f\xc8\x31\x38\x6c\x07\x75\x5a\x2d\xc3\x3d\x47": + return (chain_id, address, "univ2SNXETH", 18) # eth / Uniswap V2 SNX-ETH + elif address == b"\x59\xf9\x6b\x85\x71\xe3\xb1\x1f\x85\x9a\x09\xea\xf5\xa7\x90\xa1\x38\xfc\x64\xd0": + return (chain_id, address, "univ2STAETH", 18) # eth / Uniswap V2 STA-ETH + elif address == b"\x3b\x3d\x4e\xef\xdc\x60\x3b\x23\x29\x07\xa7\xf3\xd0\xed\x1e\xea\x5c\x62\xb5\xf7": + return (chain_id, address, "univ2STAKEETH", 18) # eth / Uniswap V2 STAKE-ETH + elif address == b"\xe0\xa0\x8f\xd1\x36\x6b\x5b\x4c\xf2\x56\xdb\x1a\x85\xb6\xeb\x0e\x01\xaa\xcb\xce": + return (chain_id, address, "univ2STONKETH", 18) # eth / Uniswap V2 STONK-ETH + elif address == b"\xae\xf1\x69\x13\xb6\xc5\x0e\xbc\xf6\x27\xa3\x94\x92\x1f\x30\x69\x85\xfc\x86\x04": + return (chain_id, address, "univ2STORJETH", 18) # eth / Uniswap V2 STORJ-ETH + elif address == b"\xf8\x07\x58\xab\x42\xc3\xb0\x7d\xa8\x40\x53\xfd\x88\x80\x4b\xcb\x6b\xaa\x4b\x5c": + return (chain_id, address, "univ2sUSDETH", 18) # eth / Uniswap V2 sUSD-ETH + elif address == b"\x34\xa0\x21\x6c\x50\x57\xbc\x18\xe5\xd3\x4d\x44\x05\x28\x45\x64\xef\xd7\x59\xb2": + return (chain_id, address, "univ2sXAUUSDC", 18) # eth / Uniswap V2 sXAU-USDC + elif address == b"\x1a\x58\xaa\x61\x8d\xf8\xf1\xec\x28\x27\x48\xfe\xf6\x18\x5c\x1a\x1c\xc2\xfa\xa6": + return (chain_id, address, "univ2TRACETH", 18) # eth / Uniswap V2 TRAC-ETH + elif address == b"\x27\xef\x0c\xb0\x21\x44\x6f\x6d\x43\xad\xf0\xbc\xc7\x4b\x64\xfd\x9c\x0a\xb1\x80": + return (chain_id, address, "univ2TRBDAI", 18) # eth / Uniswap V2 TRB-DAI + elif address == b"\x70\x25\x8a\xa9\x83\x0c\x2c\x84\xd8\x55\xdf\x1d\x61\xe1\x2c\x25\x6f\x64\x48\xb4": + return (chain_id, address, "univ2TRBETH", 18) # eth / Uniswap V2 TRB-ETH + elif address == b"\xb2\x7d\xe0\xba\x2a\xbf\xbf\xdf\x15\x66\x7a\x93\x9f\x04\x1b\x52\x11\x8a\xf5\xba": + return (chain_id, address, "univ2UBTETH", 18) # eth / Uniswap V2 UBT-ETH + elif address == b"\x88\xd9\x7d\x19\x9b\x9e\xd3\x7c\x29\xd8\x46\xd0\x0d\x44\x3d\xe9\x80\x83\x2a\x22": + return (chain_id, address, "univ2UMAETH", 18) # eth / Uniswap V2 UMA-ETH + elif address == b"\xbd\x39\xb1\xf2\x4b\x89\x60\xd3\xd7\xcd\x2c\x54\x71\xd0\x49\x34\x96\x88\x81\x85": + return (chain_id, address, "univ2UNIUSDETH", 18) # eth / Uniswap V2 UNIUSD-ETH + elif address == b"\xfd\x22\x6c\x17\xa5\x7f\x5e\xef\x0b\x84\x8d\x9b\x65\xbc\x53\xcb\xbf\x7e\xd9\x65": + return (chain_id, address, "univ2USDCBUIDL", 18) # eth / Uniswap V2 USDC-BUIDL + elif address == b"\xb4\xe1\x6d\x01\x68\xe5\x2d\x35\xca\xcd\x2c\x61\x85\xb4\x42\x81\xec\x28\xc9\xdc": + return (chain_id, address, "univ2USDCETH", 18) # eth / Uniswap V2 USDC-ETH + elif address == b"\x30\x41\xcb\xd3\x68\x88\xbe\xcc\x7b\xbc\xbc\x00\x45\xe3\xb1\xf1\x44\x46\x6f\x5f": + return (chain_id, address, "univ2USDCUSDT", 18) # eth / Uniswap V2 USDC-USDT + elif address == b"\x1a\x53\x14\xc1\xb3\xe1\x7a\x78\x1a\xae\xf1\x80\xbb\xa4\x46\xd1\x0e\x50\x6e\x6b": + return (chain_id, address, "univ2uTOPIAETH", 18) # eth / Uniswap V2 uTOPIA-ETH + elif address == b"\xb0\x6d\x43\xb9\xf8\xeb\x4e\x64\xe8\xc4\x0f\x81\xe5\x57\x4b\x8a\xea\x6e\x1c\xb7": + return (chain_id, address, "univ2VLINKETH", 18) # eth / Uniswap V2 VLINK-ETH + elif address == b"\x96\x60\x53\xca\x4f\xca\x04\x91\x73\xeb\x1f\x27\xe4\xcb\x16\x8c\xcb\x79\x45\x34": + return (chain_id, address, "univ2VLTETH", 18) # eth / Uniswap V2 VLT-ETH + elif address == b"\x0c\x9c\x5d\xaf\x1d\x7c\xd8\xb1\x0e\x9f\xc5\xe7\xa1\x07\x62\xf0\xa8\xd1\xc3\x35": + return (chain_id, address, "univ2VXVETH", 18) # eth / Uniswap V2 VXV-ETH + elif address == b"\xee\x89\xea\x23\xc1\x84\x10\xf2\xb5\x7e\x7a\xbc\x6e\xb2\x4c\xfc\xde\x4f\x49\xb0": + return (chain_id, address, "univ2WBOMBETH", 18) # eth / Uniswap V2 WBOMB-ETH + elif address == b"\xbb\x2b\x80\x38\xa1\x64\x01\x96\xfb\xe3\xe3\x88\x16\xf3\xe6\x7c\xba\x72\xd9\x40": + return (chain_id, address, "univ2WBTCETH", 18) # eth / Uniswap V2 WBTC-ETH + elif address == b"\x06\xd5\xb7\x38\x0c\x65\xc8\x89\xab\xd8\x2d\x3d\xf8\xac\x11\x8a\xf3\x11\x56\xa1": + return (chain_id, address, "univ2WINGSETH", 18) # eth / Uniswap V2 WINGS-ETH + elif address == b"\x23\x1f\x33\x81\xd1\x04\x78\xbf\xc2\xca\x55\x21\x95\xb9\xd8\xb1\x59\x68\xb6\x0c": + return (chain_id, address, "univ2XBASEETH", 18) # eth / Uniswap V2 XBASE-ETH + elif address == b"\xe0\xcc\x5a\xfc\x0f\xf2\xc7\x61\x83\x41\x6f\xb8\xd1\xa2\x9f\x67\x99\xfb\x2c\xdf": + return (chain_id, address, "univ2XIOETH", 18) # eth / Uniswap V2 XIO-ETH + elif address == b"\xb5\xbd\xb5\x1f\xdc\x63\x53\x59\x18\x11\x11\x43\x9e\xfe\x27\x99\xbc\x23\x36\xc6": + return (chain_id, address, "univ2XNSETH", 18) # eth / Uniswap V2 XNS-ETH + elif address == b"\x01\x96\x21\x44\xd4\x14\x15\xcc\xa0\x72\x90\x0f\xe8\x7b\xbe\x29\x92\xa9\x9f\x10": + return (chain_id, address, "univ2XORETH", 18) # eth / Uniswap V2 XOR-ETH + elif address == b"\x31\x85\x62\x6c\x14\xac\xb9\x53\x1d\x19\x56\x0d\xec\xb9\xd3\xe5\xe8\x06\x81\xb1": + return (chain_id, address, "univ2XRTETH", 18) # eth / Uniswap V2 XRT-ETH elif address == b"\x17\xe5\xbf\x07\xd6\x96\xea\xf0\xd1\x4c\xaa\x4b\x44\xff\x8a\x1e\x17\xb3\x4d\xe3": return (chain_id, address, "uniVERI", 18) # eth / Uniswap: Veritaseum elif address == b"\x4d\x2f\x5c\xfb\xa5\x5a\xe4\x12\x22\x11\x82\xd8\x47\x5b\xc8\x57\x99\xa5\x64\x4b": @@ -2896,6 +3164,8 @@ def token_by_chain_address(chain_id, address): return (chain_id, address, "VOISE", 8) # eth / Voise elif address == b"\xf7\x22\xb0\x19\x10\xf9\x3b\x84\xed\xa9\xca\x12\x8b\x9f\x05\x82\x1a\x41\xea\xe1": return (chain_id, address, "VRE", 18) # eth / Vrenelium + elif address == b"\x10\xbc\x51\x8c\x32\xfb\xae\x5e\x38\xec\xb5\x0a\x61\x21\x60\x57\x1b\xd8\x1e\x44": + return (chain_id, address, "VRO", 8) # eth / VeraOne elif address == b"\xba\x3a\x79\xd7\x58\xf1\x9e\xfe\x58\x82\x47\x38\x87\x54\xb8\xe4\xd6\xed\xda\x81": return (chain_id, address, "VSF", 18) # eth / VeriSafe elif address == b"\x5c\x54\x3e\x7a\xe0\xa1\x10\x4f\x78\x40\x6c\x34\x0e\x9c\x64\xfd\x9f\xce\x51\x70": @@ -3203,6 +3473,8 @@ def token_by_chain_address(chain_id, address): return (chain_id, address, "UNV", 18) # etc / UniversalCoin elif address == b"\x76\xd0\x18\x4c\xf5\x11\x78\x80\x32\xa7\x4a\x1f\xb9\x11\x46\xe6\x3f\x43\xdd\x53": return (chain_id, address, "UVC", 5) # etc / UniversalCoin + elif address == b"\xd6\xdf\x0c\x57\x9f\x2a\x65\x04\x9a\x89\x3f\xda\xec\x9f\xce\x09\x8c\xc1\x9f\x87": + return (chain_id, address, "UVCX", 18) # etc / UniversalCoin X elif chain_id == 64: if False: pass