diff --git a/.gitmodules b/.gitmodules index af7087a0c..b4cf44ea8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,9 +8,6 @@ [submodule "vendor/secp256k1-zkp"] path = vendor/secp256k1-zkp url = https://github.com/bitcoin-core/secp256k1.git -[submodule "common/defs/ethereum/tokens"] - path = common/defs/ethereum/tokens - url = https://github.com/ethereum-lists/tokens.git [submodule "crypto/tests/wycheproof"] path = crypto/tests/wycheproof url = https://github.com/google/wycheproof @@ -24,6 +21,3 @@ [submodule "vendor/fido2-tests"] path = vendor/fido2-tests url = https://github.com/trezor/fido2-tests.git -[submodule "common/defs/ethereum/chains"] - path = common/defs/ethereum/chains - url = https://github.com/ethereum-lists/chains diff --git a/common/defs/README.md b/common/defs/README.md index be106f076..ebccca3b1 100644 --- a/common/defs/README.md +++ b/common/defs/README.md @@ -33,19 +33,22 @@ Testnet is considered a separate coin, so it must have its own JSON and icon. We will not support coins that have `address_type` 0, i.e., same as Bitcoin. -#### `eth` +#### `eth` and `erc20` -The file [`ethereum/networks.json`](ethereum/networks.json) has a list of descriptions -of Ethereum networks. Each network must also have a PNG icon in `ethereum/.png` -file. +Definitions for Ethereum chains (networks) and tokens (erc20) are split in two parts: -#### `erc20` +1. built-in definitions - some of the chain and token definitions are built into the firmware + image. List of built-in chains is stored in [`ethereum/networks.json`](ethereum/networks.json) + and tokens in [`ethereum/tokens.json`](ethereum/tokens.json). +2. external definitions - dynamically generated from multiple sources. Whole process is + described in separate + [document](https://docs.trezor.io/trezor-firmware/common/ethereum-definitions.html). -`ethereum/tokens` is a submodule linking to [Ethereum Lists](https://github.com/ethereum-lists/tokens) -project with descriptions of ERC20 tokens. If you want to add or update a token -definition in Trezor, you need to get your change to the `tokens` repository first. - -Trezor will only support tokens that have a unique symbol. +We generally do not accept updates to the built-in definitions. Instead, make sure your +network or token is included in the external definitions. A good place to start is the +[`ethereum-lists` GitHub organization](https://gitub.com/ethereum-lists): add your token +to the [tokens](https://github.com/ethereum-lists/tokens) repository, or your EVM chain to the +[chains](https://github.com/ethereum-lists/chains) repository. #### `nem` @@ -57,82 +60,32 @@ Supported coins that are not derived from Bitcoin, Ethereum or NEM are currently and listed in separate file [`misc/misc.json`](misc/misc.json). Each coin must also have an icon in `misc/.png`, where `short` is lowercased `shortcut` field from the JSON. -## Keys +### Keys Throughout the system, coins are identified by a _key_ - a colon-separated string generated from the coin's type and shortcut: -* for Bitcoin-likes, key is `bitcoin:XYZ` -* for Ethereum networks, key is `eth:XYZ` -* for ERC20 tokens, key is `erc20::XYZ` -* for NEM mosaic, key is `nem:XYZ` -* for others, key is `misc:XYZ` +* for Bitcoin-likes, key is `bitcoin:` +* for Ethereum networks, key is `eth:` +* for ERC20 tokens, key is `erc20::` +* for NEM mosaic, key is `nem:` +* for others, key is `misc:` If a token shortcut has a suffix, such as `CAT (BlockCat)`, the whole thing is part of the key (so the key is `erc20:eth:CAT (BlockCat)`). -Sometimes coins end up with duplicate symbols, which in case of ERC20 tokens leads to -key collisions. We do not allow duplicate symbols in the data, so this doesn't affect -everyday use (see below). However, for validation purposes, it is sometimes useful -to work with unfiltered data that includes the duplicates. In such cases, keys are -deduplicated by adding a counter at end, e.g.: `erc20:eth:SMT:0`, `erc20:eth:SMT:1`. -Note that the suffix _is not stable_, so these coins can't be reliably uniquely identified. - -## Duplicate Detection - -**Duplicate symbols are not allowed** in our data. Tokens that have symbol collisions -are removed from the data set before processing. The duplicate status is mentioned -in `support.json` (see below), but it is impossible to override from there. - -Duplicate detection works as follows: - -1. a _symbol_ is split off from the shortcut string. E.g., for `CAT (BlockCat)`, symbol - is just `CAT`. It is compared, case-insensitive, with other coins (so `WIC` and `WiC` - are considered the same symbol), and identical symbols are put into a _bucket_. -2. if _all_ coins in the bucket also have a suffix (`CAT (BlockCat)` and `CAT (BitClave)`), - they are _not_ considered duplicate. -3. if _any_ coin in the bucket does _not_ have a suffix (`MIT` and `MIT (Mychatcoin)`), - all coins in the bucket are considered duplicate. -4. Duplicate tokens (coins from the `erc20` group) are automatically removed from data. - Duplicate non-tokens are marked but not removed. For instance, `bitcoin:FTC` (Feathercoin) - and `erc20:eth:FTC` (FTC) are duplicate, and `erc20:eth:FTC` is removed. -5. If two non-tokens collide with each other, it is an error that fails the CI build. - -The file [`duplicity_overrides.json`](duplicity_overrides.json) can override detection -results: keys set to `true` are considered duplicate (in a separate bucket), keys set -to `false` are considered non-duplicate even if auto-detected. This is useful for -whitelisting a supported token explicitly, or blacklisting things that the detection -can't match (for instance "Battle" and "Bitlle" have suffixes, but they are too similar). - -External contributors should not make changes to `duplicity_overrides.json`, unless -asked to. +Duplicate keys are not allowed and coins that would result in duplicate keys cannot be +added to the dataset. -You can use `./tools/cointool.py check -d all` to inspect duplicate detection in detail. -# Coins Details - -The file [`coins_details.json`](coins_details.json) is a list of all known coins -with support status, market cap information and relevant links. This is the source -file for https://trezor.io/coins. - -You should never make changes to `coins_details.json` directly. Use `./tools/coins_details.py` -to regenerate it from known data. - -If you need to change information in this file, modify the source information instead - -one of the JSON files in the groups listed above, support info in `support.json`, or -make a pull request to the tokens repository. +## Wallet URLs If you want to add a **wallet link**, modify the file [`wallets.json`](wallets.json). -If this is not viable for some reason, or if there is no source information , -you can also edit [`coins_details.override.json`](coins_details.override.json). -External contributors should not touch this file unless asked to. - - # Support Information -We keep track of support status of each coin over our devices. That is +We keep track of support status of each built-in coin over our devices. That is `trezor1` for Trezor One, `trezor2` for Trezor T, `connect` for [Connect](https://github.com/trezor/connect) and `suite` for [Trezor Suite](https://suite.trezor.io/). In further description, the word "device" applies to Connect and Suite as well. diff --git a/common/defs/coins_details.override.json b/common/defs/coins_details.override.json deleted file mode 100644 index 26675039f..000000000 --- a/common/defs/coins_details.override.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "erc20:eth:BAT": { - "name": "Basic Attention Token" - }, - "erc20:eth:LINK (Chainlink)": { - "name": "Chainlink" - }, - "erc20:eth:SOL": { - "shortcut": "SOLA" - }, - "eth:CLO": { - "coinmarketcap_alias": "callisto-network" - }, - "eth:ESN": { - "coinmarketcap_alias": "ethersocial" - }, - "nem:DIMTOK": { - "coinmarketcap_alias": "dimcoin" - }, - "eth:AUX": { - "links": { - "Github": "https://github.com/auxiliumglobal" - }, - "wallet": { - "MyEtherWallet": null - } - }, - "eth:EOS": { - "hidden": true, - "ignore_cmc_rank": true, - "reason": "this exists as misc:EOS and the eth: entry is probably a mistake" - }, - "eth:XDC": { - "wallet": { - "MyCrypto": null, - "MyEtherWallet": null, - "XDC Wallet": "https://wallet.xinfin.network" - } - }, - "misc:LSK": { - "hidden": true, - "ignore_cmc_rank": true, - "reason": "delisted incompatible hardfork" - } -} diff --git a/common/defs/duplicity_overrides.json b/common/defs/duplicity_overrides.json index 51c0cedb4..d05c7b188 100644 --- a/common/defs/duplicity_overrides.json +++ b/common/defs/duplicity_overrides.json @@ -1,38 +1,3 @@ { - "erc20:eth:BTL (Battle)": true, - "erc20:eth:BTL (Bitlle)": true, - "erc20:eth:LINK Platform": true, - "erc20:eth:NXX": false, - "erc20:eth:SNX:c011": false, - "erc20:eth:TUSD": false, - "erc20:eth:Hdp": true, - "erc20:eth:Hdp.ф": true, - "erc20:eth:HEX:2b59": false, - "erc20:eth:JOB:dfbc": false, - "misc:BNB": false, - "eth:BNB": false, - "eth:ONE:1666600000": false, - "eth:ONE:1666600001": false, - "eth:ONE:1666600002": false, - "eth:ONE:1666600003": false, - "eth:tGOR:5": false, - "eth:tGOR:420": false, - "eth:tCELO:44787": false, - "eth:tCELO:62320": false, - "eth:QKC:100000": false, - "eth:QKC:100001": false, - "eth:QKC:100002": false, - "eth:QKC:100003": false, - "eth:QKC:100004": false, - "eth:QKC:100005": false, - "eth:QKC:100006": false, - "eth:QKC:100007": false, - "eth:QKC:100008": false, - "eth:xDAI:100": false, - "eth:xDAI:200": false, - "eth:CPAY:3000": false, - "eth:CPAY:3001": false, - "eth:CPAY:21337": false, - "erc20:eth:USDT": false, - "erc20:avax:USDT": false + "misc:BNB": false } diff --git a/common/defs/ethereum/chains b/common/defs/ethereum/chains deleted file mode 160000 index 805ae42ec..000000000 --- a/common/defs/ethereum/chains +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 805ae42ecc53aa6493949b1e9c1da41e036c1845 diff --git a/common/defs/ethereum/networks.json b/common/defs/ethereum/networks.json new file mode 100644 index 000000000..dbf4b69bb --- /dev/null +++ b/common/defs/ethereum/networks.json @@ -0,0 +1,62 @@ +[ + { + "chain": "eth", + "chain_id": 1, + "coingecko_id": "ethereum", + "is_testnet": false, + "name": "Ethereum", + "shortcut": "ETH", + "slip44": 60 + }, + { + "chain": "rop", + "chain_id": 3, + "is_testnet": true, + "name": "Ropsten", + "shortcut": "tROP", + "slip44": 1 + }, + { + "chain": "rin", + "chain_id": 4, + "is_testnet": true, + "name": "Rinkeby", + "shortcut": "tRIN", + "slip44": 1 + }, + { + "chain": "gor", + "chain_id": 5, + "is_testnet": true, + "name": "Görli", + "shortcut": "tGOR", + "slip44": 1 + }, + { + "chain": "bnb", + "chain_id": 56, + "coingecko_id": "binance-smart-chain", + "is_testnet": false, + "name": "Binance Smart Chain", + "shortcut": "BNB", + "slip44": 714 + }, + { + "chain": "etc", + "chain_id": 61, + "coingecko_id": "ethereum-classic", + "is_testnet": false, + "name": "Ethereum Classic", + "shortcut": "ETC", + "slip44": 61 + }, + { + "chain": "MATIC", + "chain_id": 137, + "coingecko_id": "polygon-pos", + "is_testnet": false, + "name": "Polygon", + "shortcut": "MATIC", + "slip44": 966 + } +] diff --git a/common/defs/ethereum/released-definitions-timestamp.txt b/common/defs/ethereum/released-definitions-timestamp.txt new file mode 100644 index 000000000..36cbaf47a --- /dev/null +++ b/common/defs/ethereum/released-definitions-timestamp.txt @@ -0,0 +1 @@ +1669892465 diff --git a/common/defs/ethereum/tokens b/common/defs/ethereum/tokens deleted file mode 160000 index 0eeaf9b9f..000000000 --- a/common/defs/ethereum/tokens +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0eeaf9b9f13b5e6538da26d079e2b968dc8bb23f diff --git a/common/defs/ethereum/tokens.json b/common/defs/ethereum/tokens.json new file mode 100644 index 000000000..27fcfb7d1 --- /dev/null +++ b/common/defs/ethereum/tokens.json @@ -0,0 +1,189 @@ +{ + "1;eth": [ + { + "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "coingecko_id": "tether", + "decimals": 6, + "name": "Tether", + "shortcut": "USDT" + }, + { + "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "coingecko_id": "usd-coin", + "decimals": 6, + "name": "USD Coin", + "shortcut": "USDC" + }, + { + "address": "0x4fabb145d64652a948d72533023f6e7a623c7c53", + "coingecko_id": "binance-usd", + "decimals": 18, + "name": "Binance USD", + "shortcut": "BUSD" + }, + { + "address": "0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce", + "coingecko_id": "shiba-inu", + "decimals": 18, + "name": "Shiba Inu", + "shortcut": "SHIB" + }, + { + "address": "0x6b175474e89094c44da98b954eedeac495271d0f", + "coingecko_id": "dai", + "decimals": 18, + "name": "Dai", + "shortcut": "DAI" + }, + { + "address": "0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0", + "coingecko_id": "matic-network", + "decimals": 18, + "name": "Polygon", + "shortcut": "MATIC" + }, + { + "address": "0xae7ab96520de3a18e5e111b5eaab095312d7fe84", + "coingecko_id": "staked-ether", + "decimals": 18, + "name": "Lido Staked Ether", + "shortcut": "STETH" + }, + { + "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", + "coingecko_id": "uniswap", + "decimals": 18, + "name": "Uniswap", + "shortcut": "UNI" + }, + { + "address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599", + "coingecko_id": "wrapped-bitcoin", + "decimals": 8, + "name": "Wrapped Bitcoin", + "shortcut": "WBTC" + }, + { + "address": "0x75231f58b43240c9718dd58b4967c5114342a86c", + "coingecko_id": "okb", + "decimals": 18, + "name": "OKB", + "shortcut": "OKB" + }, + { + "address": "0x2af5d2ad76741191d15dfe7bf6ac92d4bd912ca3", + "coingecko_id": "leo-token", + "decimals": 18, + "name": "LEO Token", + "shortcut": "LEO" + }, + { + "address": "0x514910771af9ca656af840dff83e8264ecf986ca", + "coingecko_id": "chainlink", + "decimals": 18, + "name": "Chainlink", + "shortcut": "LINK" + }, + { + "address": "0x50d1c9771902476076ecfc8b2a83ad6b9355a4c9", + "coingecko_id": "ftx-token", + "decimals": 18, + "name": "FTX", + "shortcut": "FTT" + }, + { + "address": "0xa0b73e1ff0b80914ab6fe0444e65848c4c34450b", + "coingecko_id": "crypto-com-chain", + "decimals": 8, + "name": "Cronos", + "shortcut": "CRO" + }, + { + "address": "0x4a220e6096b25eadb88358cb44068a3248254675", + "coingecko_id": "quant-network", + "decimals": 18, + "name": "Quant", + "shortcut": "QNT" + }, + { + "address": "0x4d224452801aced8b2f0aebe155379bb5d594381", + "coingecko_id": "apecoin", + "decimals": 18, + "name": "ApeCoin", + "shortcut": "APE" + }, + { + "address": "0xa2cd3d43c775978a96bdbf12d733d5a1ed94fb18", + "coingecko_id": "chain-2", + "decimals": 18, + "name": "Chain", + "shortcut": "XCN" + }, + { + "address": "0x853d955acef822db058eb8505911ed77f175b99e", + "coingecko_id": "frax", + "decimals": 18, + "name": "Frax", + "shortcut": "FRAX" + }, + { + "address": "0x3845badade8e6dff049820680d1f14bd3903a5d0", + "coingecko_id": "the-sandbox", + "decimals": 18, + "name": "The Sandbox", + "shortcut": "SAND" + }, + { + "address": "0x0f5d2fb29fb7d3cfee444a200298f468908cc942", + "coingecko_id": "decentraland", + "decimals": 18, + "name": "Decentraland", + "shortcut": "MANA" + }, + { + "address": "0xbb0e17ef65f82ab018d8edd776e8dd940327b28b", + "coingecko_id": "axie-infinity", + "decimals": 18, + "name": "Axie Infinity", + "shortcut": "AXS" + }, + { + "address": "0x3506424f91fd33084466f402d5d97f05f8e3b4af", + "coingecko_id": "chiliz", + "decimals": 18, + "name": "Chiliz", + "shortcut": "CHZ" + }, + { + "address": "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9", + "coingecko_id": "aave", + "decimals": 18, + "name": "Aave", + "shortcut": "AAVE" + }, + { + "address": "0x86fa049857e0209aa7d9e616f7eb3b3b78ecfdb0", + "decimals": 18, + "name": "EOS", + "shortcut": "EOS" + } + ], + "56;bnb": [ + { + "address": "0x0eb3a705fc54725037cc9e008bdede697f62f335", + "coingecko_id": "cosmos", + "decimals": 18, + "name": "Cosmos Hub", + "shortcut": "ATOM" + } + ], + "137;MATIC": [ + { + "address": "0x2c89bbc92bd86f8075d1decc58c7f4e0107f286b", + "coingecko_id": "avalanche-2", + "decimals": 18, + "name": "Avalanche", + "shortcut": "AVAX" + } + ] +} diff --git a/common/defs/support.json b/common/defs/support.json index f67b1caf6..504b302fb 100644 --- a/common/defs/support.json +++ b/common/defs/support.json @@ -45,21 +45,7 @@ "bitcoin:tFIRO": true, "bitcoin:tLTC": true, "bitcoin:tPPC": true, - "eth:AKA": true, - "eth:CLO": true, - "eth:EGEM": true, - "eth:ESN": true, - "eth:ETC": true, - "eth:ETH:1": true, - "eth:ETHO": true, - "eth:EXP": true, - "eth:GO": true, - "eth:MIX": true, - "eth:MUSIC": true, - "eth:PIRL": true, - "eth:RBTC": true, - "eth:UBQ": true, - "eth:tRBTC": true, + "eth:tROP": true, "misc:ADA": true, "misc:BNB": true, "misc:EOS": true, @@ -91,8 +77,7 @@ "bitcoin:TEST": true, "bitcoin:VTC": true, "bitcoin:ZEC": true, - "eth:ETC": true, - "eth:ETH:1": true, + "eth:tROP": true, "misc:XRP": true, "misc:tXRP": true }, @@ -155,2306 +140,39 @@ "bitcoin:tQTUM": "1.8.1", "bitcoin:tRVN": "1.10.0", "bitcoin:tSMART": "1.7.1", - "erc20:avax:USDT": "1.11.2", - "erc20:avax:WAVAX": "1.11.3", - "erc20:esn:DGT": "1.7.1", - "erc20:esn:TOPM": "1.7.1", - "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:00": "1.11.3", - "erc20:eth:0xBTC": "1.6.2", - "erc20:eth:1SG": "1.8.0", - "erc20:eth:1ST": "1.6.2", - "erc20:eth:1WO": "1.6.2", - "erc20:eth:22x": "1.8.0", - "erc20:eth:2DC": "1.6.2", - "erc20:eth:300": "1.6.2", - "erc20:eth:3LT": "1.6.3", - "erc20:eth:599GTO1": "1.8.4", - "erc20:eth:A": "1.9.0", - "erc20:eth:AAVE": "1.10.4", - "erc20:eth:ABCH": "1.8.0", - "erc20:eth:ABDX": "1.9.0", - "erc20:eth:ABPT": "1.8.4", - "erc20:eth:ABT": "1.6.2", - "erc20:eth:ABYSS": "1.6.2", - "erc20:eth:ACC": "1.6.2", - "erc20:eth:ACE": "1.8.0", - "erc20:eth:ADB": "1.8.0", - "erc20:eth:ADC$": "1.8.4", - "erc20:eth:ADCO": "1.10.3", - "erc20:eth:ADH": "1.6.2", - "erc20:eth:ADI": "1.6.2", - "erc20:eth:ADL": "1.6.2", - "erc20:eth:ADST": "1.6.2", - "erc20:eth:ADT": "1.6.2", - "erc20:eth:ADX-LOYALTY": "1.9.5", - "erc20:eth:AE": "1.6.2", - "erc20:eth:AEUR": "1.9.0", - "erc20:eth:AFA": "1.8.0", - "erc20:eth:AGI": "1.6.2", - "erc20:eth:AGRS": "1.10.6", - "erc20:eth:AGS": "1.9.0", - "erc20:eth:AI": "1.8.0", - "erc20:eth:AID": "1.8.0", - "erc20:eth:AION": "1.6.2", - "erc20:eth:AIR": "1.6.2", - "erc20:eth:AIX": "1.6.2", - "erc20:eth:AKC": "1.6.3", - "erc20:eth:ALCO": "1.6.2", - "erc20:eth:ALEPH": "1.9.5", - "erc20:eth:ALI": "1.8.0", - "erc20:eth:ALIS": "1.6.2", - "erc20:eth:ALTA": "1.10.6", - "erc20:eth:ALTS": "1.6.2", - "erc20:eth:ALX": "1.8.0", - "erc20:eth:AMB": "1.6.2", - "erc20:eth:AMGO": "1.9.0", - "erc20:eth:AMIS": "1.6.2", - "erc20:eth:AMLT": "1.6.3", - "erc20:eth:AMN": "1.6.2", - "erc20:eth:AMO": "1.6.2", - "erc20:eth:AMON": "1.9.0", - "erc20:eth:AMP": "1.9.5", - "erc20:eth:AMPL": "1.8.4", - "erc20:eth:AMTC": "1.6.2", - "erc20:eth:ANIME": "1.9.0", - "erc20:eth:ANJ": "1.9.0", - "erc20:eth:AOA": "1.8.0", - "erc20:eth:API3": "1.9.5", - "erc20:eth:APIS": "1.6.2", - "erc20:eth:APPC": "1.6.2", - "erc20:eth:APT": "1.6.2", - "erc20:eth:AQT": "1.9.5", - "erc20:eth:ARB": "1.8.0", - "erc20:eth:ARC": "1.6.2", - "erc20:eth:ARCT": "1.6.2", - "erc20:eth:ARD": "1.6.2", - "erc20:eth:ARE": "1.9.0", - "erc20:eth:ARN": "1.6.2", - "erc20:eth:ARNX": "1.9.5", - "erc20:eth:ART": "1.6.2", - "erc20:eth:ARX": "1.6.2", - "erc20:eth:ARXT": "1.6.2", - "erc20:eth:ARY": "1.8.0", - "erc20:eth:AST": "1.6.2", - "erc20:eth:ASTRO": "1.8.0", - "erc20:eth:ASY": "1.8.4", - "erc20:eth:ATG": "1.9.0", - "erc20:eth:ATL": "1.6.2", - "erc20:eth:ATM": "1.8.0", - "erc20:eth:ATMI": "1.6.2", - "erc20:eth:ATT": "1.6.2", - "erc20:eth:ATTN": "1.6.2", - "erc20:eth:ATX": "1.8.0", - "erc20:eth:AUC": "1.8.0", - "erc20:eth:AUDIO": "1.10.4", - "erc20:eth:AURA": "1.8.0", - "erc20:eth:AUS": "1.9.0", - "erc20:eth:AUTO": "1.8.0", - "erc20:eth:AVA": "1.6.2", - "erc20:eth:AVT": "1.6.2", - "erc20:eth:AX1": "1.6.2", - "erc20:eth:AXN": "1.10.3", - "erc20:eth:AXP": "1.6.2", - "erc20:eth:AXPR": "1.6.3", - "erc20:eth:AXS": "1.10.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:BAMBOO": "1.9.5", - "erc20:eth:BANCA": "1.8.0", - "erc20:eth:BANX": "1.6.2", - "erc20:eth:BAR": "1.9.0", - "erc20:eth:BAS": "1.8.0", - "erc20:eth:BAT": "1.6.2", - "erc20:eth:BAX": "1.8.0", - "erc20:eth:BBC": "1.8.0", - "erc20:eth:BBI": "1.8.0", - "erc20:eth:BBK": "1.6.2", - "erc20:eth:BBN": "1.8.0", - "erc20:eth:BBO": "1.8.0", - "erc20:eth:BC": "1.8.0", - "erc20:eth:BCASH": "1.9.0", - "erc20:eth:BCBC": "1.6.2", - "erc20:eth:BCDN": "1.6.2", - "erc20:eth:BCDT": "1.6.2", - "erc20:eth:BCL": "1.6.2", - "erc20:eth:BCMC1": "1.10.3", - "erc20:eth:BCPT": "1.6.2", - "erc20:eth:BCV": "1.6.2", - "erc20:eth:BDG": "1.6.2", - "erc20:eth:BEAR": "1.9.0", - "erc20:eth:BEE": "1.6.2", - "erc20:eth:BEFX": "1.8.4", - "erc20:eth:BERRY": "1.6.2", - "erc20:eth:BET": "1.6.2", - "erc20:eth:BETHER": "1.6.3", - "erc20:eth:BETR": "1.6.2", - "erc20:eth:BEZ": "1.8.0", - "erc20:eth:BFT": "1.8.4", - "erc20:eth:BHPC": "1.8.0", - "erc20:eth:BHR": "1.8.0", - "erc20:eth:BID": "1.9.5", - "erc20:eth:BIT": "1.8.0", - "erc20:eth:BITCAR": "1.8.0", - "erc20:eth:BITPARK": "1.8.0", - "erc20:eth:BITX": "1.9.0", - "erc20:eth:BIX": "1.8.0", - "erc20:eth:BKC": "1.9.0", - "erc20:eth:BKN": "1.9.0", - "erc20:eth:BKRx": "1.6.2", - "erc20:eth:BKX": "1.6.2", - "erc20:eth:BLN": "1.8.0", - "erc20:eth:BLO": "1.9.0", - "erc20:eth:BLT": "1.6.2", - "erc20:eth:BLUE": "1.6.2", - "erc20:eth:BLX (Bullion)": "1.6.2", - "erc20:eth:BLX (Iconomi)": "1.6.2", - "erc20:eth:BLZ": "1.6.2", - "erc20:eth:BMT": "1.6.2", - "erc20:eth:BMX": "1.6.2", - "erc20:eth:BNB": "1.6.2", - "erc20:eth:BNFT": "1.6.2", - "erc20:eth:BNN": "1.8.0", - "erc20:eth:BNP": "1.9.0", - "erc20:eth:BNT": "1.6.2", - "erc20:eth:BNTY": "1.6.2", - "erc20:eth:BOB": "1.6.2", - "erc20:eth:BOK": "1.8.4", - "erc20:eth:BOL": "1.9.0", - "erc20:eth:BOLT": "1.8.4", - "erc20:eth:BON": "1.6.2", - "erc20:eth:BOP": "1.6.2", - "erc20:eth:BOU": "1.6.2", - "erc20:eth:BOUTS": "1.8.0", - "erc20:eth:BOXX": "1.8.0", - "erc20:eth:BPF": "1.11.2", - "erc20:eth:BPT": "1.6.2", - "erc20:eth:BQX": "1.6.2", - "erc20:eth:BRAT": "1.6.2", - "erc20:eth:BRD": "1.6.2", - "erc20:eth:BREZ": "1.9.0", - "erc20:eth:BRLN": "1.8.0", - "erc20:eth:BRP": "1.9.0", - "erc20:eth:BRUH": "1.10.5", - "erc20:eth:BRX": "1.9.1", - "erc20:eth:BSDC": "1.6.2", - "erc20:eth:BST": "1.6.2", - "erc20:eth:BTC++": "1.9.1", - "erc20:eth:BTCA": "1.8.0", - "erc20:eth:BTCE": "1.6.2", - "erc20:eth:BTCL": "1.6.2", - "erc20:eth:BTCONE": "1.8.0", - "erc20:eth:BTCR": "1.8.0", - "erc20:eth:BTE": "1.6.2", - "erc20:eth:BTH": "1.6.2", - "erc20:eth:BTHR": "1.6.2", - "erc20:eth:BTK": "1.6.2", - "erc20:eth:BTM": "1.6.2", - "erc20:eth:BTNG": "1.8.4", - "erc20:eth:BTO": "1.8.0", - "erc20:eth:BTP": "1.8.4", - "erc20:eth:BTQ": "1.6.2", - "erc20:eth:BTRN": "1.8.0", - "erc20:eth:BTU": "1.8.0", - "erc20:eth:BTY": "1.8.4", - "erc20:eth:BTZ": "1.6.3", - "erc20:eth:BUC": "1.6.2", - "erc20:eth:BUSD": "1.9.0", - "erc20:eth:BWN": "1.8.4", - "erc20:eth:BWX": "1.8.0", - "erc20:eth:BZ": "1.8.0", - "erc20:eth:BZNT": "1.8.0", - "erc20:eth:BeerCoin": "1.6.2", - "erc20:eth:C10": "1.9.0", - "erc20:eth:C20": "1.6.2", - "erc20:eth:C8": "1.6.2", - "erc20:eth:CAG": "1.6.2", - "erc20:eth:CALL": "1.9.0", - "erc20:eth:CAN": "1.6.2", - "erc20:eth:CAPP": "1.8.0", - "erc20:eth:CARB": "1.6.2", - "erc20:eth:CARCO": "1.6.2", - "erc20:eth:CARE": "1.6.2", - "erc20:eth:CBC": "1.8.0", - "erc20:eth:CBIX": "1.6.3", - "erc20:eth:CBM": "1.8.0", - "erc20:eth:CBT": "1.8.0", - "erc20:eth:CC3": "1.6.2", - "erc20:eth:CCCX": "1.8.0", - "erc20:eth:CCLC": "1.6.2", - "erc20:eth:CCO": "1.8.0", - "erc20:eth:CCT": "1.8.0", - "erc20:eth:CDL": "1.6.2", - "erc20:eth:CEEK": "1.6.2", - "erc20:eth:CELR": "1.9.0", - "erc20:eth:CEN": "1.8.4", - "erc20:eth:CENNZ": "1.8.0", - "erc20:eth:CET": "1.6.3", - "erc20:eth:CFC": "1.6.3", - "erc20:eth:CFI": "1.6.2", - "erc20:eth:CFTY": "1.6.2", - "erc20:eth:CGT": "1.9.1", - "erc20:eth:CHAI": "1.9.0", - "erc20:eth:CHP": "1.8.0", - "erc20:eth:CHSB": "1.6.2", - "erc20:eth:CHX": "1.8.0", - "erc20:eth:CIV": "1.10.5", - "erc20:eth:CIYA": "1.8.0", - "erc20:eth:CJT": "1.8.0", - "erc20:eth:CK": "1.6.2", - "erc20:eth:CL": "1.8.0", - "erc20:eth:CLB": "1.6.2", - "erc20:eth:CLL": "1.6.2", - "erc20:eth:CLN": "1.6.2", - "erc20:eth:CLP": "1.6.2", - "erc20:eth:CLT": "1.9.5", - "erc20:eth:CMBT": "1.6.2", - "erc20:eth:CMC": "1.6.2", - "erc20:eth:CMCT": "1.8.0", - "erc20:eth:CMERGE": "1.10.5", - "erc20:eth:CNB": "1.6.2", - "erc20:eth:CND": "1.6.2", - "erc20:eth:CNN": "1.8.0", - "erc20:eth:CO2": "1.6.2", - "erc20:eth:CO2Bit": "1.6.2", - "erc20:eth:COB": "1.6.2", - "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:COTI": "1.9.5", - "erc20:eth:COV": "1.6.2", - "erc20:eth:CPAL": "1.8.4", - "erc20:eth:CPAY": "1.8.0", - "erc20:eth:CPC": "1.9.1", - "erc20:eth:CPEX": "1.6.2", - "erc20:eth:CPLO": "1.8.0", - "erc20:eth:CPY": "1.6.2", - "erc20:eth:CR1": "1.9.0", - "erc20:eth:CR7": "1.6.2", - "erc20:eth:CRB": "1.6.2", - "erc20:eth:CRBT": "1.8.0", - "erc20:eth:CRC": "1.8.0", - "erc20:eth:CRED": "1.6.2", - "erc20:eth:CREDO": "1.6.2", - "erc20:eth:CRGO": "1.6.3", - "erc20:eth:CRMT": "1.6.3", - "erc20:eth:CRT": "1.6.2", - "erc20:eth:CS": "1.8.0", - "erc20:eth:CSNO": "1.8.0", - "erc20:eth:CST": "1.8.0", - "erc20:eth:CTF": "1.6.2", - "erc20:eth:CTG": "1.6.2", - "erc20:eth:CTGC": "1.6.3", - "erc20:eth:CTL": "1.6.2", - "erc20:eth:CTR": "1.8.0", - "erc20:eth:CTSI": "1.9.1", - "erc20:eth:CTX": "1.6.2", - "erc20:eth:CTXC": "1.8.0", - "erc20:eth:CUR8": "1.8.4", - "erc20:eth:CURE": "1.9.0", - "erc20:eth:CVC": "1.6.2", - "erc20:eth:CVS": "1.9.0", - "erc20:eth:CVT": "1.8.0", - "erc20:eth:CWIOS": "1.9.0", - "erc20:eth:CXC": "1.6.2", - "erc20:eth:CXO": "1.6.2", - "erc20:eth:CYCLE": "1.8.4", - "erc20:eth:CYFM": "1.6.3", - "erc20:eth:CYMT": "1.8.0", - "erc20:eth:CZR": "1.8.0", - "erc20:eth:CryptoCarbon": "1.6.2", - "erc20:eth:DAB": "1.6.2", - "erc20:eth:DACS": "1.8.0", - "erc20:eth:DADI": "1.6.2", - "erc20:eth:DAF": "1.10.6", - "erc20:eth:DAI": "1.11.2", - "erc20:eth:DALC": "1.6.2", - "erc20:eth:DAN": "1.6.2", - "erc20:eth:DAT": "1.6.2", - "erc20:eth:DATA": "1.11.3", - "erc20:eth:DATABroker": "1.6.2", - "erc20:eth:DATX": "1.8.0", - "erc20:eth:DAV": "1.6.2", - "erc20:eth:DAX": "1.8.0", - "erc20:eth:DAXT": "1.6.2", - "erc20:eth:DAY": "1.6.2", - "erc20:eth:DBET": "1.8.0", - "erc20:eth:DCA": "1.6.2", - "erc20:eth:DCB": "1.9.5", - "erc20:eth:DCC": "1.6.3", - "erc20:eth:DCL": "1.6.2", - "erc20:eth:DCN": "1.6.2", - "erc20:eth:DDF": "1.6.2", - "erc20:eth:DEB": "1.6.2", - "erc20:eth:DEC": "1.9.0", - "erc20:eth:DEEZ": "1.6.2", - "erc20:eth:DELTA": "1.8.0", - "erc20:eth:DENT": "1.6.2", - "erc20:eth:DEW": "1.8.0", - "erc20:eth:DEX": "1.8.0", - "erc20:eth:DF": "1.9.0", - "erc20:eth:DGD": "1.11.2", - "erc20:eth:DGPT": "1.6.2", - "erc20:eth:DGS": "1.6.3", - "erc20:eth:DGX": "1.6.2", - "erc20:eth:DGX1": "1.6.3", - "erc20:eth:DICE": "1.6.2", - "erc20:eth:DIP": "1.6.3", - "erc20:eth:DIRTY": "1.10.3", - "erc20:eth:DIT": "1.8.0", - "erc20:eth:DIVX": "1.6.2", - "erc20:eth:DKP": "1.6.2", - "erc20:eth:DLT": "1.6.2", - "erc20:eth:DMT": "1.6.2", - "erc20:eth:DNA": "1.8.0", - "erc20:eth:DNA:deprecated": "1.9.5", - "erc20:eth:DNT": "1.6.2", - "erc20:eth:DNX": "1.6.2", - "erc20:eth:DOCK": "1.8.0", - "erc20:eth:DONK": "1.10.3", - "erc20:eth:DONUT": "1.9.0", - "erc20:eth:DOR": "1.8.0", - "erc20:eth:DOV": "1.8.0", - "erc20:eth:DPP": "1.6.2", - "erc20:eth:DREAM": "1.8.0", - "erc20:eth:DRGN": "1.6.2", - "erc20:eth:DRPU": "1.8.0", - "erc20:eth:DRT": "1.8.0", - "erc20:eth:DRVH": "1.6.3", - "erc20:eth:DSC": "1.6.2", - "erc20:eth:DSCP": "1.7.1", - "erc20:eth:DST": "1.8.0", - "erc20:eth:DTH": "1.6.2", - "erc20:eth:DTR": "1.6.2", - "erc20:eth:DTRC": "1.8.0", - "erc20:eth:DTT": "1.6.2", - "erc20:eth:DUCAT": "1.9.0", - "erc20:eth:DXR": "1.9.0", - "erc20:eth:DXT": "1.8.0", - "erc20:eth:Devcon2 Token": "1.6.2", - "erc20:eth:E4ROW": "1.8.0", - "erc20:eth:EAGLE": "1.6.2", - "erc20:eth:EARTH": "1.8.0", - "erc20:eth:EBC": "1.8.0", - "erc20:eth:EBTC": "1.8.0", - "erc20:eth:ECGO": "1.10.4", - "erc20:eth:ECN": "1.6.2", - "erc20:eth:ECO2": "1.6.2", - "erc20:eth:ECOM": "1.8.0", - "erc20:eth:EDC": "1.6.2", - "erc20:eth:EDG": "1.6.2", - "erc20:eth:EDI": "1.9.1", - "erc20:eth:EDO": "1.6.2", - "erc20:eth:EDR": "1.6.3", - "erc20:eth:EDU": "1.8.0", - "erc20:eth:EDX": "1.9.0", - "erc20:eth:EGG": "1.9.0", - "erc20:eth:EGT": "1.8.0", - "erc20:eth:EGX": "1.9.0", - "erc20:eth:EHT": "1.6.2", - "erc20:eth:EKO": "1.8.0", - "erc20:eth:EKT": "1.8.0", - "erc20:eth:ELEC": "1.8.0", - "erc20:eth:ELF": "1.6.2", - "erc20:eth:ELIX": "1.6.2", - "erc20:eth:ELTCOIN": "1.6.2", - "erc20:eth:ELY": "1.6.3", - "erc20:eth:EMB": "1.9.0", - "erc20:eth:EMON": "1.6.2", - "erc20:eth:EMONT": "1.6.2", - "erc20:eth:EMT": "1.6.2", - "erc20:eth:EMV": "1.6.2", - "erc20:eth:ENC": "1.6.2", - "erc20:eth:ENG": "1.6.2", - "erc20:eth:ENGT": "1.8.0", - "erc20:eth:ENJ": "1.6.2", - "erc20:eth:ENQ": "1.9.0", - "erc20:eth:ENTRP": "1.6.2", - "erc20:eth:EPH": "1.8.4", - "erc20:eth:EPX": "1.6.2", - "erc20:eth:EPY": "1.8.0", - "erc20:eth:EQL": "1.8.0", - "erc20:eth:ERO": "1.8.0", - "erc20:eth:ERT": "1.8.0", - "erc20:eth:ESB": "1.9.0", - "erc20:eth:ESZ": "1.6.2", - "erc20:eth:ETBS": "1.6.2", - "erc20:eth:ETCH": "1.6.2", - "erc20:eth:ETG": "1.8.0", - "erc20:eth:ETHB": "1.6.2", - "erc20:eth:ETHBNT": "1.9.0", - "erc20:eth:ETHD": "1.8.0", - "erc20:eth:ETHPAY": "1.8.4", - "erc20:eth:ETK": "1.8.0", - "erc20:eth:ETR": "1.6.2", - "erc20:eth:EUCX": "1.8.4", - "erc20:eth:EURS": "1.8.0", - "erc20:eth:EURT": "1.6.2", - "erc20:eth:EVC": "1.8.0", - "erc20:eth:EVCO": "1.9.0", - "erc20:eth:EVE": "1.6.2", - "erc20:eth:EVED": "1.8.4", - "erc20:eth:EVF": "1.9.0", - "erc20:eth:EVO": "1.9.0", - "erc20:eth:EVX": "1.6.2", - "erc20:eth:EWO": "1.8.0", - "erc20:eth:EXE": "1.8.4", - "erc20:eth:EXMR": "1.6.2", - "erc20:eth:EXR": "1.9.0", - "erc20:eth:EXRN": "1.8.0", - "erc20:eth:EXU": "1.8.4", - "erc20:eth:EXY": "1.6.3", - "erc20:eth:EZT": "1.8.0", - "erc20:eth:E\u20b9": "1.7.1", - "erc20:eth:FABA": "1.8.0", - "erc20:eth:FACE": "1.8.0", - "erc20:eth:FAM": "1.6.2", - "erc20:eth:FAME": "1.9.0", - "erc20:eth:FAN": "1.6.3", - "erc20:eth:FAR": "1.9.0", - "erc20:eth:FARM": "1.8.4", - "erc20:eth:FDZ": "1.8.0", - "erc20:eth:FER": "1.8.4", - "erc20:eth:FGP": "1.8.0", - "erc20:eth:FID": "1.8.0", - "erc20:eth:FIG": "1.9.0", - "erc20:eth:FIH": "1.8.0", - "erc20:eth:FKX": "1.6.2", - "erc20:eth:FLIXX": "1.6.2", - "erc20:eth:FLOT": "1.8.0", - "erc20:eth:FLP": "1.6.2", - "erc20:eth:FLR": "1.6.2", - "erc20:eth:FLUZ": "1.6.2", - "erc20:eth:FMF": "1.8.0", - "erc20:eth:FMTA": "1.9.5", - "erc20:eth:FND": "1.6.2", - "erc20:eth:FNKOS": "1.8.0", - "erc20:eth:FNTB": "1.8.0", - "erc20:eth:FOAM": "1.9.0", - "erc20:eth:FOOD": "1.8.0", - "erc20:eth:FORK": "1.9.0", - "erc20:eth:FOTA": "1.8.0", - "erc20:eth:FOX": "1.8.4", - "erc20:eth:FR8": "1.8.0", - "erc20:eth:FRD": "1.6.2", - "erc20:eth:FREC": "1.8.0", - "erc20:eth:FRECNX": "1.8.4", - "erc20:eth:FRV": "1.8.0", - "erc20:eth:FRX": "1.8.4", - "erc20:eth:FT": "1.8.0", - "erc20:eth:FTI": "1.8.0", - "erc20:eth:FTM": "1.9.1", - "erc20:eth:FTR": "1.6.2", - "erc20:eth:FTT": "1.6.2", - "erc20:eth:FTX": "1.8.0", - "erc20:eth:FTXT": "1.6.3", - "erc20:eth:FUEL": "1.6.2", - "erc20:eth:FUN": "1.6.2", - "erc20:eth:FXT": "1.8.0", - "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:GATE": "1.10.3", - "erc20:eth:GAVEL": "1.6.2", - "erc20:eth:GBO": "1.8.4", - "erc20:eth:GBT": "1.6.2", - "erc20:eth:GBX": "1.6.2", - "erc20:eth:GC": "1.8.4", - "erc20:eth:GCG": "1.9.0", - "erc20:eth:GCP": "1.6.2", - "erc20:eth:GCU": "1.8.4", - "erc20:eth:GCX": "1.8.4", - "erc20:eth:GDAO": "1.10.3", - "erc20:eth:GEE": "1.6.2", - "erc20:eth:GEFT": "1.9.1", - "erc20:eth:GELD": "1.6.2", - "erc20:eth:GEM": "1.8.0", - "erc20:eth:GEN": "1.6.2", - "erc20:eth:GENE": "1.8.0", - "erc20:eth:GET": "1.6.2", - "erc20:eth:GFN": "1.9.0", - "erc20:eth:GGC": "1.8.4", - "erc20:eth:GHX": "1.9.5", - "erc20:eth:GIF": "1.6.2", - "erc20:eth:GIM": "1.6.2", - "erc20:eth:GIRL": "1.8.4", - "erc20:eth:GIV": "1.11.3", - "erc20:eth:GL": "1.9.1", - "erc20:eth:GLA": "1.8.0", - "erc20:eth:GMB": "1.11.2", - "erc20:eth:GNO": "1.6.2", - "erc20:eth:GNT": "1.11.2", - "erc20:eth:GNX": "1.8.0", - "erc20:eth:GNY": "1.8.0", - "erc20:eth:GOLDX": "1.6.2", - "erc20:eth:GOT": "1.8.0", - "erc20:eth:GOVI": "1.9.5", - "erc20:eth:GR": "1.9.5", - "erc20:eth:GRG": "1.9.0", - "erc20:eth:GRID": "1.6.2", - "erc20:eth:GRMD": "1.8.0", - "erc20:eth:GROO": "1.8.0", - "erc20:eth:GROW": "1.6.2", - "erc20:eth:GRT": "1.9.5", - "erc20:eth:GSC": "1.8.0", - "erc20:eth:GSE": "1.6.3", - "erc20:eth:GST2": "1.9.0", - "erc20:eth:GTC": "1.6.2", - "erc20:eth:GTEC": "1.11.3", - "erc20:eth:GTH": "1.11.2", - "erc20:eth:GTKT": "1.6.2", - "erc20:eth:GTO": "1.6.2", - "erc20:eth:GUESS": "1.8.0", - "erc20:eth:GULD": "1.6.3", - "erc20:eth:GUP": "1.11.2", - "erc20:eth:GUSD": "1.8.0", - "erc20:eth:GVT": "1.6.2", - "erc20:eth:GXC": "1.6.2", - "erc20:eth:GXVC": "1.6.2", - "erc20:eth:GZB": "1.8.0", - "erc20:eth:GZE": "1.6.2", - "erc20:eth:GZM": "1.10.3", - "erc20:eth:GZR": "1.6.2", - "erc20:eth:HABS": "1.8.4", - "erc20:eth:HAK": "1.9.0", - "erc20:eth:HAND": "1.8.0", - "erc20:eth:HAPPY": "1.6.3", - "erc20:eth:HAREM": "1.10.3", - "erc20:eth:HAT": "1.6.2", - "erc20:eth:HB": "1.8.0", - "erc20:eth:HBT": "1.8.0", - "erc20:eth:HBZ": "1.8.0", - "erc20:eth:HDG": "1.6.2", - "erc20:eth:HDL": "1.8.0", - "erc20:eth:HDLRE": "1.8.4", - "erc20:eth:HEM": "1.9.0", - "erc20:eth:HER": "1.8.0", - "erc20:eth:HEX:2b59": "1.10.4", - "erc20:eth:HEY": "1.9.0", - "erc20:eth:HGT": "1.6.2", - "erc20:eth:HIBT": "1.6.3", - "erc20:eth:HIG": "1.6.2", - "erc20:eth:HIN": "1.8.4", - "erc20:eth:HKG": "1.6.2", - "erc20:eth:HKN": "1.8.0", - "erc20:eth:HKY": "1.6.2", - "erc20:eth:HLX": "1.8.0", - "erc20:eth:HMC": "1.8.0", - "erc20:eth:HMQ": "1.6.2", - "erc20:eth:HNI": "1.9.0", - "erc20:eth:HNST": "1.9.0", - "erc20:eth:HODL": "1.6.2", - "erc20:eth:HORSE": "1.6.2", - "erc20:eth:HOT (Holo)": "1.8.0", - "erc20:eth:HOT (Hydro)": "1.8.0", - "erc20:eth:HPB": "1.8.4", - "erc20:eth:HST": "1.6.2", - "erc20:eth:HT": "1.8.0", - "erc20:eth:HTX": "1.9.0", - "erc20:eth:HUB": "1.9.5", - "erc20:eth:HUBS": "1.8.4", - "erc20:eth:HUR": "1.9.0", - "erc20:eth:HUSL": "1.9.0", - "erc20:eth:HV": "1.9.0", - "erc20:eth:HVN": "1.6.2", - "erc20:eth:HYDRO": "1.6.2", - "erc20:eth:IAD": "1.6.2", - "erc20:eth:ICD": "1.8.4", - "erc20:eth:ICE": "1.6.2", - "erc20:eth:ICN": "1.6.2", - "erc20:eth:ICO": "1.6.2", - "erc20:eth:ICOS": "1.6.2", - "erc20:eth:ID": "1.10.3", - "erc20:eth:ID7": "1.9.0", - "erc20:eth:IDEA": "1.6.2", - "erc20:eth:IDH": "1.8.0", - "erc20:eth:IDRT": "1.8.4", - "erc20:eth:IDXM": "1.8.0", - "erc20:eth:IFT": "1.6.2", - "erc20:eth:IG": "1.8.0", - "erc20:eth:IGI": "1.8.4", - "erc20:eth:IHT": "1.8.0", - "erc20:eth:IIC": "1.6.2", - "erc20:eth:IKB": "1.6.2", - "erc20:eth:IMC": "1.6.2", - "erc20:eth:IND": "1.6.2", - "erc20:eth:INF": "1.9.0", - "erc20:eth:ING": "1.8.0", - "erc20:eth:INRM": "1.6.2", - "erc20:eth:INS": "1.6.2", - "erc20:eth:INSTAR": "1.6.2", - "erc20:eth:INT": "1.8.0", - "erc20:eth:INX": "1.9.0", - "erc20:eth:INXT": "1.6.2", - "erc20:eth:IOST": "1.6.2", - "erc20:eth:IOTX": "1.6.2", - "erc20:eth:IPL": "1.6.2", - "erc20:eth:IPSX": "1.6.2", - "erc20:eth:IQN": "1.6.3", - "erc20:eth:ISL": "1.8.4", - "erc20:eth:IST34": "1.6.3", - "erc20:eth:ITC": "1.6.2", - "erc20:eth:ITO": "1.9.0", - "erc20:eth:ITO:deprecated": "1.9.1", - "erc20:eth:ITR": "1.9.5", - "erc20:eth:ITT": "1.6.2", - "erc20:eth:IVY": "1.8.0", - "erc20:eth:IXT": "1.6.2", - "erc20:eth:IoT": "1.6.2", - "erc20:eth:J8T": "1.6.2", - "erc20:eth:JASMY": "1.9.5", - "erc20:eth:JBD": "1.9.0", - "erc20:eth:JBX": "1.9.0", - "erc20:eth:JC": "1.8.0", - "erc20:eth:JNT": "1.6.2", - "erc20:eth:JOB:dfbc": "1.10.4", - "erc20:eth:JOT": "1.8.0", - "erc20:eth:JOY": "1.6.2", - "erc20:eth:JSE": "1.9.0", - "erc20:eth:KAN": "1.8.0", - "erc20:eth:KAPA": "1.8.4", - "erc20:eth:KC": "1.11.2", - "erc20:eth:KCS": "1.9.0", - "erc20:eth:KEE": "1.6.2", - "erc20:eth:KIN": "1.6.2", - "erc20:eth:KIND": "1.8.0", - "erc20:eth:KLOWN": "1.8.4", - "erc20:eth:KMTBA": "1.8.4", - "erc20:eth:KNC": "1.6.2", - "erc20:eth:KNDC": "1.8.0", - "erc20:eth:KNT": "1.8.0", - "erc20:eth:KPR": "1.6.2", - "erc20:eth:KPX": "1.9.0", - "erc20:eth:KRI": "1.8.4", - "erc20:eth:KRL": "1.6.2", - "erc20:eth:KRP": "1.10.3", - "erc20:eth:KRTY": "1.9.0", - "erc20:eth:KRW-G": "1.9.0", - "erc20:eth:KUE": "1.8.0", - "erc20:eth:KWATT": "1.8.0", - "erc20:eth:KXC": "1.9.0", - "erc20:eth:KZN": "1.6.2", - "erc20:eth:LA": "1.6.2", - "erc20:eth:LALA": "1.6.2", - "erc20:eth:LAMB": "1.9.0", - "erc20:eth:LATX": "1.8.0", - "erc20:eth:LBA": "1.8.0", - "erc20:eth:LCS": "1.8.0", - "erc20:eth:LDC": "1.6.2", - "erc20:eth:LDX": "1.9.0", - "erc20:eth:LEDU": "1.8.0", - "erc20:eth:LEND": "1.6.2", - "erc20:eth:LEO": "1.8.4", - "erc20:eth:LEV": "1.8.0", - "erc20:eth:LFR": "1.6.2", - "erc20:eth:LGD": "1.9.0", - "erc20:eth:LGO": "1.6.2", - "erc20:eth:LGO (old):deprecated": "1.9.0", - "erc20:eth:LGR": "1.6.2", - "erc20:eth:LIBER": "1.8.0", - "erc20:eth:LIF": "1.6.2", - "erc20:eth:LIFE": "1.6.2", - "erc20:eth:LIKE": "1.8.0", - "erc20:eth:LINK (Chainlink)": "1.6.2", - "erc20:eth:LIVE": "1.6.2", - "erc20:eth:LKY": "1.8.0", - "erc20:eth:LML": "1.8.0", - "erc20:eth:LMY": "1.9.1", - "erc20:eth:LND": "1.6.2", - "erc20:eth:LOC": "1.6.2", - "erc20:eth:LOCI": "1.6.2", - "erc20:eth:LOCUS": "1.6.2", - "erc20:eth:LOK": "1.6.2", - "erc20:eth:LOOK": "1.6.3", - "erc20:eth:LOOKS": "1.11.2", - "erc20:eth:LOOM": "1.6.2", - "erc20:eth:LOOM:deprecated": "1.11.3", - "erc20:eth:LOVE": "1.6.3", - "erc20:eth:LPT": "1.6.2", - "erc20:eth:LQD": "1.9.0", - "erc20:eth:LRC": "1.6.2", - "erc20:eth:LRC (old):deprecated": "1.9.0", - "erc20:eth:LUC": "1.6.2", - "erc20:eth:LUCHOW": "1.10.6", - "erc20:eth:LUCK": "1.6.2", - "erc20:eth:LULU": "1.9.0", - "erc20:eth:LUM": "1.6.2", - "erc20:eth:LUN": "1.6.2", - "erc20:eth:LVN": "1.8.4", - "erc20:eth:LYS": "1.6.2", - "erc20:eth:M-ETH": "1.6.2", - "erc20:eth:MAD": "1.6.2", - "erc20:eth:MAGIC": "1.11.2", - "erc20:eth:MAN": "1.6.2", - "erc20:eth:MANA": "1.6.2", - "erc20:eth:MART": "1.6.2", - "erc20:eth:MAS": "1.9.0", - "erc20:eth:MATIC": "1.9.0", - "erc20:eth:MBCASH": "1.9.0", - "erc20:eth:MBRS": "1.6.2", - "erc20:eth:MCAP": "1.6.2", - "erc20:eth:MCI": "1.6.2", - "erc20:eth:MCO": "1.6.2", - "erc20:eth:MDA": "1.6.2", - "erc20:eth:MDT": "1.8.0", - "erc20:eth:MDX": "1.9.5", - "erc20:eth:MEDCASH": "1.10.6", - "erc20:eth:MEDX": "1.8.0", - "erc20:eth:MEME": "1.9.5", - "erc20:eth:MESG": "1.8.4", - "erc20:eth:MEST": "1.6.2", - "erc20:eth:METM": "1.8.0", - "erc20:eth:MFG": "1.6.2", - "erc20:eth:MFT": "1.6.3", - "erc20:eth:MFTU": "1.6.3", - "erc20:eth:MGN": "1.9.0", - "erc20:eth:MGO": "1.6.2", - "erc20:eth:MHLK": "1.9.0", - "erc20:eth:MIC": "1.8.0", - "erc20:eth:MILC": "1.9.0", - "erc20:eth:MINDS": "1.10.3", - "erc20:eth:MITH": "1.9.0", - "erc20:eth:MITX": "1.8.0", - "erc20:eth:MKR": "1.11.2", - "erc20:eth:MKT": "1.6.2", - "erc20:eth:MLN (new)": "1.11.2", - "erc20:eth:MLN (old):deprecated": "1.11.2", - "erc20:eth:MM": "1.10.4", - "erc20:eth:MNE": "1.6.2", - "erc20:eth:MNL": "1.9.5", - "erc20:eth:MNT": "1.6.2", - "erc20:eth:MNTP": "1.6.2", - "erc20:eth:MOD": "1.6.2", - "erc20:eth:MORE": "1.9.0", - "erc20:eth:MOT": "1.8.0", - "erc20:eth:MOZO": "1.8.0", - "erc20:eth:MRK": "1.8.0", - "erc20:eth:MRL": "1.6.2", - "erc20:eth:MRP": "1.6.2", - "erc20:eth:MRS": "1.10.3", - "erc20:eth:MRV": "1.6.2", - "erc20:eth:MSP": "1.6.2", - "erc20:eth:MTA": "1.9.5", - "erc20:eth:MTH": "1.6.2", - "erc20:eth:MTL": "1.6.2", - "erc20:eth:MTN": "1.6.2", - "erc20:eth:MTR": "1.6.2", - "erc20:eth:MTRc": "1.6.2", - "erc20:eth:MTX": "1.6.2", - "erc20:eth:MUSH": "1.10.3", - "erc20:eth:MUXE": "1.6.2", - "erc20:eth:MVG": "1.8.4", - "erc20:eth:MVL": "1.8.0", - "erc20:eth:MVP": "1.6.2", - "erc20:eth:MWAT": "1.6.2", - "erc20:eth:MYD": "1.6.2", - "erc20:eth:MYST": "1.6.2", - "erc20:eth:MYST:deprecated": "1.9.5", - "erc20:eth:NAC": "1.6.2", - "erc20:eth:NAMTC": "1.9.0", - "erc20:eth:NAMTT": "1.9.0", - "erc20:eth:NANJ": "1.6.2", - "erc20:eth:NAOS": "1.10.3", - "erc20:eth:NAS": "1.8.0", - "erc20:eth:NAVI": "1.6.2", - "erc20:eth:NBAI": "1.6.2", - "erc20:eth:NBC": "1.8.0", - "erc20:eth:NCASH": "1.8.0", - "erc20:eth:NCR": "1.9.5", - "erc20:eth:NCT": "1.6.2", - "erc20:eth:NDC": "1.6.2", - "erc20:eth:NDX": "1.8.0", - "erc20:eth:NEC": "1.6.2", - "erc20:eth:NEEO": "1.8.0", - "erc20:eth:NET": "1.6.2", - "erc20:eth:NEU": "1.6.2", - "erc20:eth:NEWB": "1.8.0", - "erc20:eth:NEXO": "1.8.0", - "erc20:eth:NFTL": "1.11.2", - "erc20:eth:NGC": "1.6.2", - "erc20:eth:NIMFA": "1.6.2", - "erc20:eth:NKN": "1.9.0", - "erc20:eth:NLYA": "1.8.4", - "erc20:eth:NMR": "1.6.2", - "erc20:eth:NOAH": "1.8.0", - "erc20:eth:NOBS": "1.8.0", - "erc20:eth:NONE": "1.11.2", - "erc20:eth:NOT": "1.9.0", - "erc20:eth:NOX": "1.6.2", - "erc20:eth:NPER": "1.6.2", - "erc20:eth:NPX": "1.8.0", - "erc20:eth:NPXS": "1.6.2", - "erc20:eth:NRM": "1.8.4", - "erc20:eth:NTO": "1.8.0", - "erc20:eth:NTWK": "1.8.0", - "erc20:eth:NU": "1.9.5", - "erc20:eth:NUG": "1.6.3", - "erc20:eth:NUKE": "1.9.0", - "erc20:eth:NULS": "1.6.2", - "erc20:eth:NUMA": "1.9.0", - "erc20:eth:NUSD": "1.8.4", - "erc20:eth:NXX": "1.6.2", - "erc20:eth:NxC": "1.6.2", - "erc20:eth:OAK": "1.6.2", - "erc20:eth:OAX": "1.6.2", - "erc20:eth:OBC": "1.10.3", - "erc20:eth:OCC": "1.6.2", - "erc20:eth:OCEAN": "1.9.5", - "erc20:eth:OCEAN:deprecated": "1.9.5", - "erc20:eth:OCN": "1.8.0", - "erc20:eth:OCTO": "1.9.5", - "erc20:eth:ODE": "1.6.3", - "erc20:eth:OGK": "1.9.0", - "erc20:eth:OGN": "1.9.0", - "erc20:eth:OGV": "1.11.3", - "erc20:eth:OIKOS": "1.8.4", - "erc20:eth:OJX": "1.6.2", - "erc20:eth:OKB": "1.9.5", - "erc20:eth:OLDPCL": "1.9.0", - "erc20:eth:OLD_MKR": "1.6.2", - "erc20:eth:OLE": "1.8.0", - "erc20:eth:OLT": "1.6.3", - "erc20:eth:OMG": "1.6.2", - "erc20:eth:OMT": "1.6.3", - "erc20:eth:OMX": "1.8.0", - "erc20:eth:ONEK": "1.6.2", - "erc20:eth:ONG": "1.8.0", - "erc20:eth:ONL": "1.8.0", - "erc20:eth:ONOT": "1.9.0", - "erc20:eth:OPQ": "1.8.4", - "erc20:eth:OPT": "1.6.2", - "erc20:eth:OPTI": "1.8.0", - "erc20:eth:OR": "1.9.0", - "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", - "erc20:eth:OST": "1.6.2", - "erc20:eth:OTN": "1.8.0", - "erc20:eth:OTO": "1.9.0", - "erc20:eth:OTO:deprecated": "1.9.1", - "erc20:eth:OUSD": "1.9.5", - "erc20:eth:OWN": "1.6.3", - "erc20:eth:OWT": "1.9.0", - "erc20:eth:OXT": "1.9.0", - "erc20:eth:Ox Fina": "1.6.2", - "erc20:eth:P2PS": "1.8.4", - "erc20:eth:PAI": "1.8.0", - "erc20:eth:PAL": "1.6.2", - "erc20:eth:PAN": "1.9.0", - "erc20:eth:PARETO": "1.6.2", - "erc20:eth:PAT": "1.8.0", - "erc20:eth:PATENTS": "1.6.2", - "erc20:eth:PATH": "1.6.2", - "erc20:eth:PATR": "1.9.0", - "erc20:eth:PAXG": "1.8.4", - "erc20:eth:PAY": "1.6.2", - "erc20:eth:PBL": "1.6.2", - "erc20:eth:PBT": "1.6.2", - "erc20:eth:PCL": "1.6.2", - "erc20:eth:PCLOLD": "1.6.2", - "erc20:eth:PDATA": "1.8.0", - "erc20:eth:PEG": "1.6.3", - "erc20:eth:PEP": "1.9.0", - "erc20:eth:PESO": "1.8.4", - "erc20:eth:PET": "1.6.2", - "erc20:eth:PETH": "1.8.4", - "erc20:eth:PETRO": "1.6.2", - "erc20:eth:PEXT": "1.6.2", - "erc20:eth:PFB": "1.10.3", - "erc20:eth:PFR": "1.8.0", - "erc20:eth:PHI": "1.8.0", - "erc20:eth:PICKLE": "1.9.5", - "erc20:eth:PIPL": "1.6.2", - "erc20:eth:PIT": "1.8.0", - "erc20:eth:PIX": "1.6.2", - "erc20:eth:PIXIE": "1.9.5", - "erc20:eth:PKG": "1.8.0", - "erc20:eth:PKT": "1.8.0", - "erc20:eth:PLA": "1.9.0", - "erc20:eth:PLASMA": "1.6.2", - "erc20:eth:PLBT": "1.6.2", - "erc20:eth:PLR": "1.6.2", - "erc20:eth:PLS": "1.6.3", - "erc20:eth:PLU": "1.6.2", - "erc20:eth:PMA": "1.8.0", - "erc20:eth:PMNT": "1.8.0", - "erc20:eth:PNK": "1.8.0", - "erc20:eth:POA20": "1.8.0", - "erc20:eth:POE": "1.6.2", - "erc20:eth:POIN": "1.6.2", - "erc20:eth:POLL": "1.8.0", - "erc20:eth:POLY": "1.6.2", - "erc20:eth:POOL": "1.6.2", - "erc20:eth:POP": "1.8.0", - "erc20:eth:POS": "1.6.2", - "erc20:eth:POWR": "1.6.2", - "erc20:eth:PPP": "1.6.2", - "erc20:eth:PPT": "1.6.2", - "erc20:eth:PRE": "1.6.2", - "erc20:eth:PRG": "1.6.2", - "erc20:eth:PRIX": "1.8.0", - "erc20:eth:PRL": "1.6.2", - "erc20:eth:PRON": "1.6.2", - "erc20:eth:PROPS": "1.9.0", - "erc20:eth:PRS": "1.6.2", - "erc20:eth:PRSP": "1.6.2", - "erc20:eth:PSDN": "1.9.0", - "erc20:eth:PSK": "1.9.1", - "erc20:eth:PST": "1.8.0", - "erc20:eth:PT": "1.6.2", - "erc20:eth:PTC": "1.9.4", - "erc20:eth:PTON": "1.8.0", - "erc20:eth:PTOY": "1.6.2", - "erc20:eth:PTT": "1.8.0", - "erc20:eth:PTWO": "1.6.2", - "erc20:eth:PUC": "1.6.2", - "erc20:eth:PURC": "1.6.3", - "erc20:eth:PUSSY": "1.10.3", - "erc20:eth:PXG": "1.9.0", - "erc20:eth:PXT": "1.6.2", - "erc20:eth:PYLNT": "1.8.0", - "erc20:eth:PYN": "1.9.0", - "erc20:eth:QASH": "1.6.2", - "erc20:eth:QAU": "1.6.2", - "erc20:eth:QBX": "1.6.2", - "erc20:eth:QCH": "1.9.0", - "erc20:eth:QDT": "1.11.2", - "erc20:eth:QKC": "1.8.0", - "erc20:eth:QNT": "1.6.3", - "erc20:eth:QRG": "1.6.2", - "erc20:eth:QRL": "1.6.2", - "erc20:eth:QSP": "1.6.2", - "erc20:eth:QTQ": "1.6.2", - "erc20:eth:QTUM": "1.6.2", - "erc20:eth:QUN": "1.8.0", - "erc20:eth:QVT": "1.8.0", - "erc20:eth:R": "1.8.0", - "erc20:eth:RAE": "1.8.4", - "erc20:eth:RAI": "1.10.3", - "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:RBX": "1.10.5", - "erc20:eth:RCN": "1.6.2", - "erc20:eth:RDN": "1.11.2", - "erc20:eth:RDV": "1.9.0", - "erc20:eth:REA": "1.6.2", - "erc20:eth:REAL": "1.8.0", - "erc20:eth:REBL": "1.6.2", - "erc20:eth:RED": "1.6.2", - "erc20:eth:REDC": "1.6.3", - "erc20:eth:REEF": "1.9.5", - "erc20:eth:REF": "1.8.0", - "erc20:eth:REM": "1.8.0", - "erc20:eth:REMI": "1.8.0", - "erc20:eth:REN": "1.6.2", - "erc20:eth:REP": "1.11.2", - "erc20:eth:REP:deprecated": "1.11.2", - "erc20:eth:REPv2": "1.9.4", - "erc20:eth:REQ": "1.6.2", - "erc20:eth:RET": "1.9.0", - "erc20:eth:REV": "1.9.1", - "erc20:eth:REX": "1.6.2", - "erc20:eth:RFR": "1.6.2", - "erc20:eth:RGS": "1.8.0", - "erc20:eth:RHOC": "1.8.0", - "erc20:eth:RIPT": "1.6.2", - "erc20:eth:RIYA": "1.8.0", - "erc20:eth:RKT": "1.8.0", - "erc20:eth:RLC": "1.11.2", - "erc20:eth:RLT": "1.6.2", - "erc20:eth:RLTY": "1.6.2", - "erc20:eth:RLX": "1.6.2", - "erc20:eth:RMC": "1.8.0", - "erc20:eth:RMESH": "1.8.0", - "erc20:eth:RNDR": "1.6.2", - "erc20:eth:RNT": "1.8.0", - "erc20:eth:RNTB": "1.8.0", - "erc20:eth:ROC": "1.8.0", - "erc20:eth:ROCK": "1.6.2", - "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", - "erc20:eth:RSR": "1.10.6", - "erc20:eth:RTB": "1.8.0", - "erc20:eth:RTC": "1.8.4", - "erc20:eth:RTH": "1.8.0", - "erc20:eth:RTN": "1.6.2", - "erc20:eth:RUFF": "1.8.0", - "erc20:eth:RUNE": "1.8.0", - "erc20:eth:RVL": "1.6.2", - "erc20:eth:RVT": "1.6.2", - "erc20:eth:RYLT": "1.8.4", - "erc20:eth:S-A-PAT": "1.6.2", - "erc20:eth:S-ETH": "1.6.2", - "erc20:eth:SAC": "1.8.0", - "erc20:eth:SAI": "1.9.0", - "erc20:eth:SALT": "1.6.2", - "erc20:eth:SAN": "1.6.2", - "erc20:eth:SCANDI": "1.6.2", - "erc20:eth:SCL": "1.6.2", - "erc20:eth:SCRL": "1.8.0", - "erc20:eth:SEELE": "1.8.0", - "erc20:eth:SELF": "1.8.4", - "erc20:eth:SENC": "1.8.0", - "erc20:eth:SENSE": "1.6.2", - "erc20:eth:SENT": "1.8.0", - "erc20:eth:SET": "1.6.2", - "erc20:eth:SETS": "1.9.5", - "erc20:eth:SEV": "1.10.6", - "erc20:eth:SEXY": "1.6.2", - "erc20:eth:SGA": "1.9.0", - "erc20:eth:SGEL": "1.6.2", - "erc20:eth:SGN": "1.8.0", - "erc20:eth:SGP": "1.8.0", - "erc20:eth:SGR": "1.8.0", - "erc20:eth:SHIB": "1.10.4", - "erc20:eth:SHIP": "1.8.0", - "erc20:eth:SHIT": "1.6.2", - "erc20:eth:SHL": "1.8.0", - "erc20:eth:SHP": "1.8.0", - "erc20:eth:SHUF": "1.9.0", - "erc20:eth:SIBU": "1.8.4", - "erc20:eth:SIFT": "1.6.2", - "erc20:eth:SIG": "1.6.2", - "erc20:eth:SIH": "1.10.3", - "erc20:eth:SION": "1.10.3", - "erc20:eth:SKB": "1.8.0", - "erc20:eth:SKE": "1.8.0", - "erc20:eth:SKIN": "1.6.2", - "erc20:eth:SKO1": "1.6.2", - "erc20:eth:SKR": "1.6.2", - "erc20:eth:SKRT": "1.10.5", - "erc20:eth:SKYM": "1.8.0", - "erc20:eth:SLP": "1.10.4", - "erc20:eth:SLT": "1.6.2", - "erc20:eth:SLY": "1.6.3", - "erc20:eth:SMS": "1.8.0", - "erc20:eth:SNBL": "1.8.0", - "erc20:eth:SNC": "1.6.2", - "erc20:eth:SND": "1.6.2", - "erc20:eth:SNG": "1.6.2", - "erc20:eth:SNGLS": "1.6.2", - "erc20:eth:SNIP": "1.6.2", - "erc20:eth:SNM": "1.6.2", - "erc20:eth:SNOV": "1.6.2", - "erc20:eth:SNT": "1.6.2", - "erc20:eth:SNX": "1.11.3", - "erc20:eth:SOAR": "1.8.0", - "erc20:eth:SOC": "1.8.0", - "erc20:eth:SOCKS": "1.9.0", - "erc20:eth:SOL": "1.6.2", - "erc20:eth:SONIQ": "1.8.0", - "erc20:eth:SOUL": "1.8.0", - "erc20:eth:SPACE": "1.10.3", - "erc20:eth:SPANK": "1.6.2", - "erc20:eth:SPARC": "1.6.2", - "erc20:eth:SPARTA": "1.6.2", - "erc20:eth:SPAZ": "1.9.0", - "erc20:eth:SPC": "1.8.4", - "erc20:eth:SPD": "1.8.0", - "erc20:eth:SPF": "1.6.2", - "erc20:eth:SPHTX": "1.8.0", - "erc20:eth:SPICE": "1.8.0", - "erc20:eth:SPIRIT": "1.8.4", - "erc20:eth:SPN": "1.6.2", - "erc20:eth:SPT": "1.9.0", - "erc20:eth:SPX": "1.8.0", - "erc20:eth:SPZ": "1.9.0", - "erc20:eth:SRN": "1.6.2", - "erc20:eth:SRX": "1.8.4", - "erc20:eth:SSP": "1.8.0", - "erc20:eth:STABIT": "1.6.3", - "erc20:eth:STAC": "1.6.2", - "erc20:eth:STACS": "1.8.0", - "erc20:eth:STAR": "1.6.2", - "erc20:eth:STATE": "1.10.4", - "erc20:eth:STB": "1.8.0", - "erc20:eth:STC": "1.6.2", - "erc20:eth:STK": "1.6.2", - "erc20:eth:STL": "1.8.4", - "erc20:eth:STM": "1.8.4", - "erc20:eth:STN": "1.6.2", - "erc20:eth:STORJ": "1.6.2", - "erc20:eth:STORM": "1.6.2", - "erc20:eth:STP": "1.6.2", - "erc20:eth:STQ": "1.6.2", - "erc20:eth:STR": "1.8.0", - "erc20:eth:STRC": "1.6.2", - "erc20:eth:STU": "1.8.0", - "erc20:eth:STX": "1.6.2", - "erc20:eth:SUB": "1.6.2", - "erc20:eth:SUB (old):deprecated": "1.9.0", - "erc20:eth:SUR": "1.8.0", - "erc20:eth:SUSHI": "1.9.5", - "erc20:eth:SVD": "1.8.0", - "erc20:eth:SVG": "1.9.0", - "erc20:eth:SWAP": "1.9.0", - "erc20:eth:SWASH": "1.10.4", - "erc20:eth:SWFTC": "1.8.0", - "erc20:eth:SWM": "1.6.2", - "erc20:eth:SWRM": "1.11.3", - "erc20:eth:SWT": "1.6.2", - "erc20:eth:SXDT": "1.6.2", - "erc20:eth:SXR": "1.9.0", - "erc20:eth:SXUT": "1.6.2", - "erc20:eth:SYN": "1.6.2", - "erc20:eth:SYS": "1.10.6", - "erc20:eth:SYSX": "1.9.5", - "erc20:eth:SenSatorI": "1.6.2", - "erc20:eth:Skey": "1.11.3", - "erc20:eth:TALAO": "1.8.0", - "erc20:eth:TAN": "1.9.0", - "erc20:eth:TAU": "1.6.2", - "erc20:eth:TAUD": "1.9.0", - "erc20:eth:TAUR": "1.8.4", - "erc20:eth:TBC": "1.8.4", - "erc20:eth:TBC2": "1.6.2", - "erc20:eth:TBT": "1.6.2", - "erc20:eth:TBTC": "1.9.5", - "erc20:eth:TBX": "1.8.0", - "erc20:eth:TCA": "1.7.1", - "erc20:eth:TCAD": "1.9.0", - "erc20:eth:TCH": "1.8.0", - "erc20:eth:TCNX": "1.9.0", - "erc20:eth:TCST": "1.8.4", - "erc20:eth:TCT": "1.8.4", - "erc20:eth:TDH": "1.6.2", - "erc20:eth:TDX": "1.11.3", - "erc20:eth:TEAM": "1.8.0", - "erc20:eth:TECH": "1.9.0", - "erc20:eth:TEN": "1.8.0", - "erc20:eth:TENX": "1.8.4", - "erc20:eth:TFD": "1.8.0", - "erc20:eth:TFL": "1.6.2", - "erc20:eth:TGAME": "1.8.0", - "erc20:eth:TGBP": "1.9.0", - "erc20:eth:THKD": "1.9.0", - "erc20:eth:THR": "1.8.0", - "erc20:eth:THRT": "1.8.0", - "erc20:eth:THUG": "1.6.2", - "erc20:eth:TIE": "1.8.0", - "erc20:eth:TIG": "1.8.0", - "erc20:eth:TIK": "1.10.4", - "erc20:eth:TIME": "1.6.2", - "erc20:eth:TIO": "1.6.2", - "erc20:eth:TIX": "1.6.2", - "erc20:eth:TKA": "1.8.0", - "erc20:eth:TKLN": "1.8.0", - "erc20:eth:TKN": "1.6.2", - "erc20:eth:TKP": "1.10.3", - "erc20:eth:TKR": "1.8.0", - "erc20:eth:TLN": "1.9.0", - "erc20:eth:TLX": "1.7.1", - "erc20:eth:TMT": "1.8.0", - "erc20:eth:TMTG": "1.9.0", - "erc20:eth:TNB": "1.9.0", - "erc20:eth:TNO": "1.10.3", - "erc20:eth:TNS": "1.8.0", - "erc20:eth:TNT": "1.6.2", - "erc20:eth:TOK": "1.8.0", - "erc20:eth:TOMO": "1.8.0", - "erc20:eth:TOOR": "1.6.3", - "erc20:eth:TRAC": "1.8.0", - "erc20:eth:TRAK": "1.8.0", - "erc20:eth:TRCN": "1.6.2", - "erc20:eth:TRCT": "1.8.0", - "erc20:eth:TRDT": "1.8.0", - "erc20:eth:TRST": "1.6.2", - "erc20:eth:TRUCCO": "1.11.3", - "erc20:eth:TRYB": "1.9.0", - "erc20:eth:TSW": "1.6.3", - "erc20:eth:TTA": "1.8.0", - "erc20:eth:TTC": "1.8.0", - "erc20:eth:TTU": "1.8.0", - "erc20:eth:TTV": "1.9.0", - "erc20:eth:TUSD": "1.8.0", - "erc20:eth:TWN": "1.6.2", - "erc20:eth:TWNKL": "1.6.2", - "erc20:eth:TaaS": "1.6.2", - "erc20:eth:Thar": "1.9.0", - "erc20:eth:UAT": "1.9.0", - "erc20:eth:UBEX": "1.8.4", - "erc20:eth:UBT": "1.8.0", - "erc20:eth:UCASH": "1.8.0", - "erc20:eth:UCBI": "1.8.4", - "erc20:eth:UCN": "1.8.0", - "erc20:eth:UFR": "1.8.0", - "erc20:eth:UKG": "1.6.2", - "erc20:eth:UMB": "1.9.5", - "erc20:eth:UNI": "1.9.5", - "erc20:eth:UP": "1.8.0", - "erc20:eth:UPP": "1.8.0", - "erc20:eth:UQC": "1.6.2", - "erc20:eth:URAC": "1.9.0", - "erc20:eth:URB": "1.7.1", - "erc20:eth:USC": "1.9.0", - "erc20:eth:USD-G": "1.9.0", - "erc20:eth:USDC": "1.7.1", - "erc20:eth:USDM": "1.6.2", - "erc20:eth:USDP": "1.11.3", - "erc20:eth:USDS": "1.8.0", - "erc20:eth:USDT": "1.8.0", - "erc20:eth:USDx": "1.9.0", - "erc20:eth:UTK": "1.6.2", - "erc20:eth:UTK:deprecated": "1.9.5", - "erc20:eth:UTNP": "1.8.0", - "erc20:eth:UTT": "1.8.0", - "erc20:eth:UUU": "1.6.2", - "erc20:eth:Unicorn": "1.6.2", - "erc20:eth:VALOR": "1.8.4", - "erc20:eth:VBX": "1.9.0", - "erc20:eth:VD": "1.9.0", - "erc20:eth:VDG": "1.6.3", - "erc20:eth:VDOC": "1.6.2", - "erc20:eth:VEE": "1.6.2", - "erc20:eth:VEGA": "1.10.5", - "erc20:eth:VEGAN": "1.9.0", - "erc20:eth:VENUS": "1.6.2", - "erc20:eth:VERI": "1.6.2", - "erc20:eth:VERSI": "1.8.4", - "erc20:eth:VIB": "1.6.2", - "erc20:eth:VIBE": "1.8.0", - "erc20:eth:VIBEX": "1.8.0", - "erc20:eth:VID": "1.8.4", - "erc20:eth:VIDT": "1.9.0", - "erc20:eth:VIEW": "1.6.2", - "erc20:eth:VIKKY": "1.8.0", - "erc20:eth:VIN": "1.8.0", - "erc20:eth:VIT": "1.6.2", - "erc20:eth:VITE": "1.8.0", - "erc20:eth:VIU": "1.6.2", - "erc20:eth:VLD": "1.6.2", - "erc20:eth:VMC": "1.9.0", - "erc20:eth:VN": "1.9.0", - "erc20:eth:VNTY": "1.8.4", - "erc20:eth:VNXLU": "1.9.0", - "erc20:eth:VOC": "1.6.2", - "erc20:eth:VOISE": "1.6.2", - "erc20:eth:VR": "1.11.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", - "erc20:eth:VZT": "1.8.0", - "erc20:eth:Viz": "1.9.0", - "erc20:eth:WAB": "1.8.0", - "erc20:eth:WABI": "1.8.0", - "erc20:eth:WAK": "1.9.0", - "erc20:eth:WATT": "1.7.1", - "erc20:eth:WAX": "1.6.2", - "erc20:eth:WAY": "1.8.4", - "erc20:eth:WBA": "1.6.2", - "erc20:eth:WBTC": "1.8.0", - "erc20:eth:WBX": "1.9.5", - "erc20:eth:WCK": "1.9.0", - "erc20:eth:WCN": "1.6.2", - "erc20:eth:WCT": "1.6.2", - "erc20:eth:WDOGE": "1.11.3", - "erc20:eth:WEB": "1.8.0", - "erc20:eth:WETH": "1.6.2", - "erc20:eth:WHEN": "1.6.2", - "erc20:eth:WIB": "1.9.0", - "erc20:eth:WILC": "1.9.5", - "erc20:eth:WILD": "1.6.2", - "erc20:eth:WIN": "1.8.0", - "erc20:eth:WINGS": "1.6.2", - "erc20:eth:WISH": "1.8.0", - "erc20:eth:WLKR": "1.10.6", - "erc20:eth:WLKRR": "1.10.6", - "erc20:eth:WMA": "1.10.3", - "erc20:eth:WMK": "1.6.3", - "erc20:eth:WNK": "1.6.3", - "erc20:eth:WOC": "1.8.0", - "erc20:eth:WOUSD": "1.11.3", - "erc20:eth:WPC": "1.6.2", - "erc20:eth:WPR": "1.6.2", - "erc20:eth:WRC": "1.8.0", - "erc20:eth:WRK": "1.6.2", - "erc20:eth:WSS": "1.8.4", - "erc20:eth:WTT": "1.8.0", - "erc20:eth:WWX": "1.9.0", - "erc20:eth:WYS": "1.6.2", - "erc20:eth:WYV": "1.6.2", - "erc20:eth:X8X": "1.6.2", - "erc20:eth:XAMP": "1.9.4", - "erc20:eth:XAUR": "1.6.2", - "erc20:eth:XBL": "1.8.0", - "erc20:eth:XBP": "1.6.2", - "erc20:eth:XCC": "1.6.2", - "erc20:eth:XCHF": "1.8.0", - "erc20:eth:XCL": "1.9.0", - "erc20:eth:XCLR": "1.8.0", - "erc20:eth:XDATA": "1.11.3", - "erc20:eth:XDCE": "1.8.0", - "erc20:eth:XES": "1.8.0", - "erc20:eth:XET": "1.8.0", - "erc20:eth:XFS": "1.6.2", - "erc20:eth:XGG": "1.6.2", - "erc20:eth:XGM": "1.6.2", - "erc20:eth:XGT": "1.6.2", - "erc20:eth:XHT": "1.9.0", - "erc20:eth:XID": "1.6.2", - "erc20:eth:XIO": "1.9.0", - "erc20:eth:XLX": "1.9.0", - "erc20:eth:XMCT": "1.8.0", - "erc20:eth:XMX": "1.8.0", - "erc20:eth:XNK": "1.6.2", - "erc20:eth:XNN": "1.6.2", - "erc20:eth:XNT": "1.6.2", - "erc20:eth:XOV": "1.8.0", - "erc20:eth:XPA": "1.8.0", - "erc20:eth:XPAT": "1.8.0", - "erc20:eth:XPAY": "1.8.4", - "erc20:eth:XPR": "1.9.1", - "erc20:eth:XPT": "1.9.0", - "erc20:eth:XRL": "1.6.2", - "erc20:eth:XSC": "1.6.2", - "erc20:eth:XSGD": "1.9.1", - "erc20:eth:XYO": "1.8.0", - "erc20:eth:YAM": "1.9.5", - "erc20:eth:YAMv2": "1.9.5", - "erc20:eth:YEE": "1.8.0", - "erc20:eth:YFI": "1.9.5", - "erc20:eth:YFII": "1.9.5", - "erc20:eth:YFV": "1.9.5", - "erc20:eth:YNN": "1.9.0", - "erc20:eth:YOUC": "1.9.5", - "erc20:eth:YOYOW": "1.8.0", - "erc20:eth:YTRO": "1.8.4", - "erc20:eth:ZAP": "1.6.2", - "erc20:eth:ZCN": "1.8.0", - "erc20:eth:ZCO": "1.8.0", - "erc20:eth:ZCS": "1.6.2", - "erc20:eth:ZDC": "1.9.0", - "erc20:eth:ZENI": "1.11.2", - "erc20:eth:ZERA": "1.8.4", - "erc20:eth:ZEUS": "1.8.0", - "erc20:eth:ZINC": "1.8.0", - "erc20:eth:ZIP": "1.8.0", - "erc20:eth:ZIPT": "1.8.0", - "erc20:eth:ZIX": "1.8.0", - "erc20:eth:ZLA": "1.8.0", - "erc20:eth:ZMAN": "1.8.4", - "erc20:eth:ZMN": "1.6.2", - "erc20:eth:ZPR": "1.8.0", - "erc20:eth:ZRX": "1.11.2", - "erc20:eth:ZST": "1.6.2", - "erc20:eth:ZTX": "1.8.0", - "erc20:eth:ZXC": "1.8.0", - "erc20:eth:aBAT": "1.9.0", - "erc20:eth:aETH": "1.11.2", - "erc20:eth:aKNC": "1.9.0", - "erc20:eth:aLEND": "1.9.0", - "erc20:eth:aLINK": "1.9.0", - "erc20:eth:aMANA": "1.9.0", - "erc20:eth:aREP": "1.9.0", - "erc20:eth:aTUSD": "1.9.0", - "erc20:eth:aUSDC": "1.9.0", - "erc20:eth:aUSDT": "1.9.0", - "erc20:eth:aWBTC": "1.9.0", - "erc20:eth:cBAT": "1.8.4", - "erc20:eth:cDAI": "1.9.0", - "erc20:eth:cETH": "1.8.4", - "erc20:eth:cREP": "1.8.4", - "erc20:eth:cSai": "1.9.0", - "erc20:eth:cUSDC": "1.8.4", - "erc20:eth:cV": "1.6.2", - "erc20:eth:cWBTC": "1.9.0", - "erc20:eth:cZRX": "1.8.4", - "erc20:eth:dDai": "1.9.0", - "erc20:eth:dLBAT2x": "1.9.0", - "erc20:eth:dLBAT3x": "1.9.0", - "erc20:eth:dLBAT4x": "1.9.0", - "erc20:eth:dLKNC2x": "1.9.0", - "erc20:eth:dLKNC3x": "1.9.0", - "erc20:eth:dLKNC4x": "1.9.0", - "erc20:eth:dLLINK2x": "1.9.0", - "erc20:eth:dLLINK3x": "1.9.0", - "erc20:eth:dLLINK4x": "1.9.0", - "erc20:eth:dLREP2x": "1.9.0", - "erc20:eth:dLREP3x": "1.9.0", - "erc20:eth:dLREP4x": "1.9.0", - "erc20:eth:dLWBTC2x": "1.9.0", - "erc20:eth:dLWBTC3x": "1.9.0", - "erc20:eth:dLWBTC4x": "1.9.0", - "erc20:eth:dLZRX2x": "1.9.0", - "erc20:eth:dLZRX3x": "1.9.0", - "erc20:eth:dLZRX4x": "1.9.0", - "erc20:eth:dUSDC": "1.9.0", - "erc20:eth:dsBAT": "1.9.0", - "erc20:eth:dsBAT2x": "1.9.0", - "erc20:eth:dsBAT3x": "1.9.0", - "erc20:eth:dsBAT4x": "1.9.0", - "erc20:eth:dsKNC": "1.9.0", - "erc20:eth:dsKNC2x": "1.9.0", - "erc20:eth:dsKNC3x": "1.9.0", - "erc20:eth:dsKNC4x": "1.9.0", - "erc20:eth:dsLINK": "1.9.0", - "erc20:eth:dsLINK2x": "1.9.0", - "erc20:eth:dsLINK3x": "1.9.0", - "erc20:eth:dsLINK4x": "1.9.0", - "erc20:eth:dsREP": "1.9.0", - "erc20:eth:dsREP2x": "1.9.0", - "erc20:eth:dsREP3x": "1.9.0", - "erc20:eth:dsREP4x": "1.9.0", - "erc20:eth:dsWBTC": "1.9.0", - "erc20:eth:dsWBTC2x": "1.9.0", - "erc20:eth:dsWBTC3x": "1.9.0", - "erc20:eth:dsWBTC4x": "1.9.0", - "erc20:eth:dsZRX": "1.9.0", - "erc20:eth:dsZRX2x": "1.9.0", - "erc20:eth:dsZRX3x": "1.9.0", - "erc20:eth:dsZRX4x": "1.9.0", - "erc20:eth:eBCH": "1.6.2", - "erc20:eth:eGAS": "1.6.2", - "erc20:eth:eUSD": "1.6.2", - "erc20:eth:eosDAC": "1.6.2", - "erc20:eth:fstETHDAI": "1.9.1", - "erc20:eth:iBAT": "1.9.0", - "erc20:eth:iBBT": "1.11.3", - "erc20:eth:iBNB": "1.9.0", - "erc20:eth:iBTC": "1.9.0", - "erc20:eth:iCEX": "1.9.0", - "erc20:eth:iDEFI": "1.9.0", - "erc20:eth:iKNC": "1.9.0", - "erc20:eth:iLTC": "1.9.0", - "erc20:eth:iMKR": "1.9.0", - "erc20:eth:iREP": "1.9.0", - "erc20:eth:iSAI": "1.9.0", - "erc20:eth:iTRX": "1.9.0", - "erc20:eth:iUSDC": "1.9.0", - "erc20:eth:iWBTC": "1.9.0", - "erc20:eth:iXRP": "1.9.0", - "erc20:eth:iXTZ": "1.9.0", - "erc20:eth:iZRX": "1.9.0", - "erc20:eth:imBTC": "1.9.0", - "erc20:eth:pBTC": "1.9.1", - "erc20:eth:pUSD": "1.9.1", - "erc20:eth:sAUD": "1.9.0", - "erc20:eth:sBNB": "1.9.0", - "erc20:eth:sBTC": "1.9.0", - "erc20:eth:sCEX": "1.9.0", - "erc20:eth:sCHF": "1.9.0", - "erc20:eth:sDEFI": "1.9.0", - "erc20:eth:sEUR": "1.9.0", - "erc20:eth:sGBP": "1.9.0", - "erc20:eth:sJPY": "1.9.0", - "erc20:eth:sLINK": "1.9.0", - "erc20:eth:sLTC": "1.9.0", - "erc20:eth:sMKR": "1.9.0", - "erc20:eth:sTRX": "1.9.0", - "erc20:eth:sXAG": "1.9.0", - "erc20:eth:sXAU": "1.9.0", - "erc20:eth:sXRP": "1.9.0", - "erc20:eth:sXTZ": "1.9.0", - "erc20:eth:uLBAT2x": "1.9.0", - "erc20:eth:uLBAT3x": "1.9.0", - "erc20:eth:uLBAT4x": "1.9.0", - "erc20:eth:uLETH2x": "1.9.0", - "erc20:eth:uLETH3x": "1.9.0", - "erc20:eth:uLETH4x": "1.9.0", - "erc20:eth:uLKNC2x": "1.9.0", - "erc20:eth:uLKNC3x": "1.9.0", - "erc20:eth:uLKNC4x": "1.9.0", - "erc20:eth:uLREP2x": "1.9.0", - "erc20:eth:uLREP3x": "1.9.0", - "erc20:eth:uLREP4x": "1.9.0", - "erc20:eth:uLWBTC2x": "1.9.0", - "erc20:eth:uLWBTC3x": "1.9.0", - "erc20:eth:uLWBTC4x": "1.9.0", - "erc20:eth:uLZRX2x": "1.9.0", - "erc20:eth:uLZRX3x": "1.9.0", - "erc20:eth:uLZRX4x": "1.9.0", - "erc20:eth:uni0xBTC": "1.9.1", - "erc20:eth:uniAMN": "1.9.1", - "erc20:eth:uniAMPL": "1.9.1", - "erc20:eth:uniANT": "1.9.1", - "erc20:eth:uniBAT": "1.9.1", - "erc20:eth:uniBLT": "1.9.1", - "erc20:eth:uniBNT": "1.9.1", - "erc20:eth:uniC20": "1.9.1", - "erc20:eth:uniCELR": "1.9.1", - "erc20:eth:uniCHAI": "1.9.1", - "erc20:eth:uniCVC": "1.9.1", - "erc20:eth:uniDAI": "1.9.1", - "erc20:eth:uniDATA": "1.9.1", - "erc20:eth:uniDGD": "1.9.1", - "erc20:eth:uniDGX": "1.9.1", - "erc20:eth:uniDIP": "1.9.1", - "erc20:eth:uniDONUT": "1.9.1", - "erc20:eth:uniENJ": "1.9.1", - "erc20:eth:uniFAME": "1.9.1", - "erc20:eth:uniFOAM": "1.9.1", - "erc20:eth:uniFUN": "1.9.1", - "erc20:eth:uniGEN": "1.9.1", - "erc20:eth:uniGNO": "1.9.1", - "erc20:eth:uniGRID": "1.9.1", - "erc20:eth:uniGST2": "1.9.1", - "erc20:eth:uniHOT": "1.9.1", - "erc20:eth:uniIOTX": "1.9.1", - "erc20:eth:uniKIN": "1.9.1", - "erc20:eth:uniKNC": "1.9.1", - "erc20:eth:uniLEND": "1.9.1", - "erc20:eth:uniLINK": "1.9.1", - "erc20:eth:uniLOOM": "1.9.1", - "erc20:eth:uniLPT": "1.9.1", - "erc20:eth:uniLQD": "1.9.1", - "erc20:eth:uniLRC": "1.9.1", - "erc20:eth:uniMANA": "1.9.1", - "erc20:eth:uniMATIC": "1.9.1", - "erc20:eth:uniMBC": "1.9.1", - "erc20:eth:uniMGN": "1.9.1", - "erc20:eth:uniMKR": "1.9.1", - "erc20:eth:uniMLN": "1.9.1", - "erc20:eth:uniMOD": "1.9.1", - "erc20:eth:uniNEXO": "1.9.1", - "erc20:eth:uniNMR": "1.9.1", - "erc20:eth:uniOXT": "1.9.1", - "erc20:eth:uniPAN": "1.9.1", - "erc20:eth:uniPAX": "1.9.1", - "erc20:eth:uniPAXG": "1.9.1", - "erc20:eth:uniPNK": "1.9.1", - "erc20:eth:uniPOA20": "1.9.1", - "erc20:eth:uniQCH": "1.9.1", - "erc20:eth:uniQSP": "1.9.1", - "erc20:eth:uniRCN": "1.9.1", - "erc20:eth:uniRDN": "1.9.1", - "erc20:eth:uniREN": "1.9.1", - "erc20:eth:uniREP": "1.9.1", - "erc20:eth:uniRING": "1.9.1", - "erc20:eth:uniRLC": "1.9.1", - "erc20:eth:uniRPL": "1.9.1", - "erc20:eth:uniSAI": "1.9.1", - "erc20:eth:uniSALT": "1.9.1", - "erc20:eth:uniSAN": "1.9.1", - "erc20:eth:uniSHUF": "1.9.1", - "erc20:eth:uniSNT": "1.9.1", - "erc20:eth:uniSNX": "1.9.1", - "erc20:eth:uniSOCKS": "1.9.1", - "erc20:eth:uniSPANK": "1.9.1", - "erc20:eth:uniSTORJ": "1.9.1", - "erc20:eth:uniTAUD": "1.9.1", - "erc20:eth:uniTCAD": "1.9.1", - "erc20:eth:uniTGBP": "1.9.1", - "erc20:eth:uniTHKD": "1.9.1", - "erc20:eth:uniTKN": "1.9.1", - "erc20:eth:uniTRST": "1.9.1", - "erc20:eth:uniTRYB": "1.9.1", - "erc20:eth:uniTUSD": "1.9.1", - "erc20:eth:uniUNI-V1:SAI": "1.9.1", - "erc20:eth:uniUSDC": "1.9.1", - "erc20:eth:uniUSDS": "1.9.1", - "erc20:eth:uniVERI": "1.9.1", - "erc20:eth:uniWBTC": "1.9.1", - "erc20:eth:uniWCK": "1.9.1", - "erc20:eth:uniWETH": "1.9.1", - "erc20:eth:uniXCHF": "1.9.1", - "erc20:eth:uniXIO": "1.9.1", - "erc20:eth:uniZRX": "1.9.1", - "erc20:eth:uniaDAI": "1.9.1", - "erc20:eth:unicDAI": "1.9.1", - "erc20:eth:unicSAI": "1.9.1", - "erc20:eth:uniiDAI": "1.9.1", - "erc20:eth:uniiSAI": "1.9.1", - "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:univ2BOOSTETH": "1.9.5", - "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:univ2CREAMETH": "1.9.5", - "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:univ2ETHFSW": "1.9.5", - "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:univ2ETHSWAP": "1.9.5", - "erc20:eth:univ2ETHUBOMB": "1.9.3", - "erc20:eth:univ2ETHUNC": "1.9.3", - "erc20:eth:univ2ETHUSDT": "1.9.3", - "erc20:eth:univ2ETHXAMP": "1.9.5", - "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:univ2GHSTETH": "1.9.5", - "erc20:eth:univ2H3XETH": "1.9.3", - "erc20:eth:univ2HEXETH": "1.9.3", - "erc20:eth:univ2HKMTUSDT": "1.9.5", - "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:univ2MEMEETH": "1.9.5", - "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:univ2OCEANETH:deprecated:8fd3": "1.9.5", - "erc20:eth:univ2OCEANETH:deprecated:f063": "1.9.5", - "erc20:eth:univ2OGNETH": "1.9.3", - "erc20:eth:univ2PAXGETH": "1.9.3", - "erc20:eth:univ2PICKLEETH": "1.9.5", - "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:univ2SAKEETH": "1.9.5", - "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:univ2SoETHETH": "1.9.5", - "erc20:eth:univ2TRACETH": "1.9.3", - "erc20:eth:univ2TRADEETH": "1.9.5", - "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:univ2UNIETH": "1.9.5", - "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:univ2YFIETH": "1.9.5", - "erc20:eth:univ2YFIIETH": "1.9.5", - "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:univ2wNXMETH": "1.9.5", - "erc20:eth:usBAT": "1.9.0", - "erc20:eth:usBAT2x": "1.9.0", - "erc20:eth:usBAT3x": "1.9.0", - "erc20:eth:usBAT4x": "1.9.0", - "erc20:eth:usETH": "1.9.0", - "erc20:eth:usETH2x": "1.9.0", - "erc20:eth:usETH3x": "1.9.0", - "erc20:eth:usETH4x": "1.9.0", - "erc20:eth:usKNC": "1.9.0", - "erc20:eth:usKNC2x": "1.9.0", - "erc20:eth:usKNC3x": "1.9.0", - "erc20:eth:usKNC4x": "1.9.0", - "erc20:eth:usREP": "1.9.0", - "erc20:eth:usREP2x": "1.9.0", - "erc20:eth:usREP3x": "1.9.0", - "erc20:eth:usREP4x": "1.9.0", - "erc20:eth:usWBTC": "1.9.0", - "erc20:eth:usWBTC2x": "1.9.0", - "erc20:eth:usWBTC3x": "1.9.0", - "erc20:eth:usWBTC4x": "1.9.0", - "erc20:eth:usZRX": "1.9.0", - "erc20:eth:usZRX2x": "1.9.0", - "erc20:eth:usZRX3x": "1.9.0", - "erc20:eth:usZRX4x": "1.9.0", - "erc20:eth:veOGV": "1.11.3", - "erc20:eth:xDOT": "1.9.0", - "erc20:eth:xEDG": "1.9.0", - "erc20:eth:xGRAM": "1.9.0", - "erc20:eth:xHNS": "1.9.0", - "erc20:eth:xKDA": "1.9.0", - "erc20:eth:xKLAY": "1.9.0", - "erc20:eth:xMOBILECOIN": "1.9.0", - "erc20:eth:xNU": "1.9.0", - "erc20:eth:xOXT": "1.9.0", - "erc20:eth:xSOL": "1.9.0", - "erc20:kov:Aeternity": "1.6.2", - "erc20:kov:DAI": "1.11.2", - "erc20:kov:DGD": "1.11.2", - "erc20:kov:GAV": "1.9.0", - "erc20:kov:GNT": "1.11.2", - "erc20:kov:GUP": "1.11.2", - "erc20:kov:MKR:1dad": "1.11.2", - "erc20:kov:MKR:aaf6": "1.11.2", - "erc20:kov:MLN": "1.11.2", - "erc20:kov:REP": "1.11.2", - "erc20:kov:RLC": "1.11.2", - "erc20:kov:TIB": "1.9.0", - "erc20:kov:ZRX": "1.11.2", - "erc20:rin:AETH": "1.11.2", - "erc20:rin:BHNT": "1.6.2", - "erc20:rin:CTGA": "1.6.2", - "erc20:rin:KC": "1.11.2", - "erc20:rin:NONE": "1.11.2", - "erc20:rin:PPD": "1.6.2", - "erc20:rin:RDN": "1.11.2", - "erc20:rin:RLC": "1.11.2", - "erc20:rin:WALL": "1.6.2", - "erc20:rin:qwe": "1.9.0", - "erc20:rop:*PLASMA": "1.6.3", - "erc20:rop:ILSC": "1.6.2", - "erc20:rop:MEWV5": "1.9.0", - "erc20:rop:NONE": "1.11.2", - "erc20:rop:RCL": "1.10.6", - "erc20:rop:RLC": "1.11.2", - "erc20:rop:dqr30": "1.8.0", - "erc20:rsk:ARSCB": "1.10.4", - "erc20:rsk:BITP": "1.11.3", - "erc20:rsk:BOBCB": "1.10.4", - "erc20:rsk:BRLCB": "1.10.4", - "erc20:rsk:BRZ": "1.10.4", - "erc20:rsk:BTCCB": "1.10.4", - "erc20:rsk:CNYCB": "1.10.4", - "erc20:rsk:COPCB": "1.10.4", - "erc20:rsk:DOC": "1.10.4", - "erc20:rsk:ETHCB": "1.10.4", - "erc20:rsk:EURCB": "1.10.4", - "erc20:rsk:FISH": "1.10.4", - "erc20:rsk:IDRCB": "1.10.4", - "erc20:rsk:MXNCB": "1.10.4", - "erc20:rsk:PABCB": "1.10.4", - "erc20:rsk:PENCB": "1.10.4", - "erc20:rsk:PYGCB": "1.10.4", - "erc20:rsk:RDOC": "1.10.4", - "erc20:rsk:RIF": "1.9.1", - "erc20:rsk:RIFP": "1.10.4", - "erc20:rsk:SOV": "1.10.4", - "erc20:rsk:USDCB": "1.10.4", - "erc20:rsk:UYUCB": "1.10.4", - "erc20:rsk:VESCB": "1.10.4", - "erc20:rsk:WRBTC": "1.10.4", - "erc20:rsk:XUSD": "1.10.4", - "erc20:rsk:cRBTC": "1.10.4", - "erc20:rsk:cRIF": "1.10.4", - "erc20:rsk:crUSDT": "1.10.4", - "erc20:rsk:rAMLT": "1.10.4", - "erc20:rsk:rBUND": "1.10.4", - "erc20:rsk:rDAI": "1.10.4", - "erc20:rsk:rFLIXX": "1.10.4", - "erc20:rsk:rLINK": "1.10.4", - "erc20:rsk:rRFOX": "1.10.4", - "erc20:rsk:rUBI": "1.10.4", - "erc20:rsk:rUSDC": "1.10.4", - "erc20:rsk:rUSDT": "1.10.4", - "erc20:ubq:BEER": "1.6.2", - "erc20:ubq:CEFS": "1.6.2", - "erc20:ubq:DOT": "1.6.2", - "erc20:ubq:ESCH": "1.10.6", - "erc20:ubq:GEO": "1.10.6", - "erc20:ubq:GRANS": "1.10.6", - "erc20:ubq:INK": "1.10.6", - "erc20:ubq:QWARK": "1.6.2", - "erc20:ubq:RICKS": "1.6.2", - "erc20:ubq:SNARG": "1.10.6", - "erc20:ubq:SPHR": "1.10.6", - "erc20:ubq:SPHRC": "1.10.6", - "erc20:ubq:TGE1": "1.10.6", - "eth:$BNI": "1.11.3", - "eth:$OC": "1.10.5", - "eth:0XT": "1.11.3", - "eth:0xF": "1.9.4", - "eth:AAC": "1.10.6", - "eth:ACA": "1.9.5", - "eth:ACE": "1.11.3", - "eth:AIOZ": "1.11.2", - "eth:AITD": "1.11.2", - "eth:AKA": "1.6.3", - "eth:ALOT": "1.11.3", - "eth:ALPH": "1.11.3", - "eth:ALT": "1.11.3", - "eth:ALYX": "1.11.3", - "eth:AMAX": "1.11.3", - "eth:AMB": "1.11.3", - "eth:AMBROS": "1.11.2", - "eth:AME": "1.11.2", - "eth:ANY": "1.11.3", - "eth:APTA": "1.11.3", - "eth:AQUA": "1.8.2", - "eth:AR\u00c9V": "1.11.3", - "eth:ASA": "1.11.3", - "eth:ASK": "1.10.4", - "eth:ASTR": "1.11.2", - "eth:ATLR": "1.11.3", - "eth:ATS": "1.8.0", - "eth:AUX": "1.8.4", - "eth:AVAX": "1.9.5", - "eth:AVS": "1.11.3", - "eth:BCS": "1.10.6", - "eth:BELLY": "1.11.2", - "eth:BFC": "1.11.3", - "eth:BG": "1.11.3", - "eth:BIT": "1.11.3", - "eth:BITCI": "1.11.3", - "eth:BNB": "1.9.4", - "eth:BOA": "1.11.3", - "eth:BOMB": "1.11.3", - "eth:BOY": "1.10.6", - "eth:BRB": "1.11.2", - "eth:BRNKC": "1.11.3", - "eth:BTA": "1.10.4", - "eth:BTCIX": "1.10.5", - "eth:BTM": "1.10.5", - "eth:BTON": "1.11.3", - "eth:BTT": "1.10.4", - "eth:BTY": "1.11.3", - "eth:BXN": "1.11.3", - "eth:Brise": "1.11.2", - "eth:CAM:500": "1.11.3", - "eth:CANTO": "1.11.3", - "eth:CATE": "1.10.3", - "eth:CCNA": "1.11.3", - "eth:CCP": "1.10.6", - "eth:CELO": "1.9.5", - "eth:CEM": "1.11.2", - "eth:CFX": "1.10.6", - "eth:CIC": "1.11.3", - "eth:CLASS": "1.10.6", - "eth:CLD": "1.11.3", - "eth:CLO": "1.6.2", - "eth:CLV": "1.10.3", - "eth:CMEMO": "1.11.3", - "eth:CMP": "1.11.3", - "eth:CNDL": "1.11.2", - "eth:CONDOR": "1.11.3", - "eth:CORE": "1.11.3", - "eth:CPAY:21337": "1.11.2", - "eth:CPAY:3000": "1.11.2", - "eth:CPAY:3001": "1.11.2", - "eth:CRAB": "1.10.5", - "eth:CRC": "1.11.3", - "eth:CREDIT": "1.11.3", - "eth:CRO": "1.10.5", - "eth:CSB": "1.11.2", - "eth:CTEX": "1.11.3", - "eth:CUBE": "1.11.2", - "eth:CWN": "1.11.2", - "eth:DAX": "1.10.3", - "eth:DEB": "1.11.3", - "eth:DEL": "1.11.3", - "eth:DEV": "1.10.4", - "eth:DFI": "1.11.3", - "eth:DIODE": "1.9.5", - "eth:DKN": "1.11.3", - "eth:DOGS": "1.11.3", - "eth:DOINX": "1.11.3", - "eth:DOS": "1.11.3", - "eth:DRAC": "1.11.3", - "eth:DWU": "1.10.3", - "eth:DX": "1.11.2", - "eth:DXT": "1.11.3", - "eth:DYNO": "1.10.6", - "eth:Deh": "1.11.3", - "eth:ECG": "1.11.3", - "eth:ECO": "1.10.4", - "eth:ECS": "1.10.6", - "eth:EDG": "1.10.3", - "eth:EGAZ": "1.11.3", - "eth:EGEM": "1.6.2", - "eth:EIDI": "1.10.6", - "eth:EKTA": "1.11.3", - "eth:ELA:20": "1.10.3", - "eth:ELV": "1.10.4", - "eth:EMPIRE": "1.11.3", - "eth:ENTER": "1.10.6", - "eth:ES": "1.10.3", - "eth:ESN": "1.6.3", - "eth:ETC": "1.6.2", - "eth:ETH:1": "1.6.2", - "eth:ETHF": "1.11.3", - "eth:ETHO": "1.6.3", - "eth:ETI": "1.8.2", - "eth:ETL": "1.10.3", - "eth:ETMP": "1.11.3", - "eth:ETND": "1.11.2", - "eth:EUN": "1.11.2", - "eth:EVA": "1.10.6", - "eth:EVC": "1.10.3", - "eth:EVMOS": "1.10.6", - "eth:EWT": "1.9.4", - "eth:EXL": "1.11.3", - "eth:EXP": "1.6.2", - "eth:EZC": "1.11.2", - "eth:FETH": "1.10.3", - "eth:FIL": "1.11.3", - "eth:FIN": "1.9.4", - "eth:FIRE:529": "1.11.3", - "eth:FITFI": "1.11.3", - "eth:FLA": "1.11.3", - "eth:FLR": "1.9.5", - "eth:FNCY": "1.11.3", - "eth:FREN": "1.11.3", - "eth:FSN": "1.10.3", - "eth:FST": "1.11.3", - "eth:FTM": "1.9.4", - "eth:FUSE": "1.9.4", - "eth:FX": "1.11.2", - "eth:GAR:90": "1.10.6", - "eth:GCD": "1.11.2", - "eth:GEN": "1.10.3", - "eth:GLMR": "1.10.3", - "eth:GLQ": "1.11.3", - "eth:GMMT": "1.11.3", - "eth:GNC": "1.10.6", - "eth:GO": "1.6.2", - "eth:GOLDT": "1.11.3", - "eth:GZN": "1.11.3", - "eth:GooD": "1.10.3", - "eth:HAIC": "1.10.3", - "eth:HBAR:295": "1.11.3", - "eth:HMND": "1.11.3", - "eth:HO": "1.10.5", - "eth:HOO": "1.11.2", - "eth:HOP": "1.10.5", - "eth:HPB": "1.8.2", - "eth:HT": "1.9.5", - "eth:HTML": "1.11.3", - "eth:HTZ": "1.11.3", - "eth:ILT": "1.9.4", - "eth:IMV": "1.11.3", - "eth:IORA": "1.10.6", - "eth:IOTX": "1.10.3", - "eth:IPOS": "1.9.4", - "eth:ISLM": "1.11.3", - "eth:IVAR": "1.11.2", - "eth:J": "1.11.3", - "eth:JBC": "1.11.3", - "eth:JEWEL:53935": "1.10.6", - "eth:JINDA": "1.11.3", - "eth:JOYS": "1.9.5", - "eth:KAI": "1.11.3", - "eth:KAR": "1.9.5", - "eth:KAVA": "1.11.2", - "eth:KCS": "1.10.3", - "eth:KEK": "1.11.3", - "eth:KLAY": "1.9.5", - "eth:KSX": "1.11.2", - "eth:KTO:2559": "1.10.3", - "eth:KUB": "1.11.3", - "eth:L1": "1.10.5", - "eth:L99": "1.10.4", - "eth:LA": "1.10.6", - "eth:LAVA": "1.11.3", - "eth:LISINS": "1.11.2", - "eth:LUCID": "1.11.3", - "eth:LUDAN": "1.11.2", - "eth:LYC": "1.11.3", - "eth:MAI": "1.11.3", - "eth:MAP": "1.11.3", - "eth:MARO": "1.11.3", - "eth:MAS": "1.11.3", - "eth:MATH": "1.9.5", - "eth:MATIC": "1.9.4", - "eth:MEER": "1.11.3", - "eth:META": "1.8.2", - "eth:METAD": "1.11.3", - "eth:METIS": "1.10.5", - "eth:MINTME": "1.10.3", - "eth:MIX": "1.7.2", - "eth:MMT": "1.11.2", - "eth:MOLE": "1.10.5", - "eth:MOVR": "1.10.3", - "eth:MTR": "1.9.5", - "eth:MTT": "1.10.3", - "eth:MTV": "1.11.2", - "eth:MUSIC": "1.6.3", - "eth:MYTH": "1.11.3", - "eth:NEON:245022934": "1.10.4", - "eth:NEW": "1.9.5", - "eth:NRG": "1.9.4", - "eth:NTT": "1.10.5", - "eth:NULS": "1.11.3", - "eth:NUM": "1.11.3", - "eth:NetZ": "1.11.3", - "eth:OAC": "1.11.2", - "eth:OCTA": "1.11.3", - "eth:OHO": "1.11.3", - "eth:OKT": "1.9.5", - "eth:OLO": "1.10.3", - "eth:OLT": "1.10.4", - "eth:OM": "1.11.2", - "eth:OMAX": "1.11.3", - "eth:OMC": "1.11.2", - "eth:ONE:1666600000": "1.9.5", - "eth:ONE:1666600001": "1.9.5", - "eth:ONE:1666600002": "1.9.5", - "eth:ONE:1666600003": "1.9.5", - "eth:ONG": "1.10.3", - "eth:ONUS": "1.11.3", - "eth:OPC": "1.11.2", - "eth:OPN": "1.11.3", - "eth:ORL": "1.11.3", - "eth:OTP": "1.11.3", - "eth:OXYN": "1.11.3", - "eth:OY": "1.10.6", - "eth:PALM": "1.9.5", - "eth:PDC": "1.11.3", - "eth:PETH": "1.10.3", - "eth:PFT:909": "1.11.2", - "eth:PHT": "1.9.4", - "eth:PHX": "1.10.6", - "eth:PIRL": "1.6.3", - "eth:PIX": "1.10.5", - "eth:PLQ": "1.11.3", - "eth:PLS": "1.10.4", - "eth:POA": "1.9.4", - "eth:POLIS": "1.10.6", - "eth:POM": "1.11.3", - "eth:POP": "1.10.4", - "eth:PRB": "1.10.6", - "eth:PSC": "1.11.3", - "eth:PTX": "1.11.3", - "eth:QDC": "1.11.2", - "eth:QKA": "1.11.3", - "eth:QKC:100000": "1.10.3", - "eth:QKC:100001": "1.10.3", - "eth:QKC:100002": "1.10.3", - "eth:QKC:100003": "1.10.3", - "eth:QKC:100004": "1.10.3", - "eth:QKC:100005": "1.10.3", - "eth:QKC:100006": "1.10.3", - "eth:QKC:100007": "1.10.3", - "eth:QKC:100008": "1.10.3", - "eth:QKI": "1.10.3", - "eth:QOM": "1.11.3", - "eth:RBD": "1.9.4", - "eth:RBTC": "1.6.2", - "eth:REAL": "1.11.3", - "eth:REDLC": "1.11.3", - "eth:REI:47805": "1.10.6", - "eth:RESIN": "1.11.3", - "eth:RING": "1.11.2", - "eth:RNA": "1.10.3", - "eth:ROC:1288": "1.11.2", - "eth:RPG": "1.10.5", - "eth:RUPX": "1.9.5", - "eth:SAMA": "1.11.3", - "eth:SDN": "1.10.4", - "eth:SEED": "1.11.3", - "eth:SETM": "1.10.6", - "eth:SFL": "1.11.2", - "eth:SGB": "1.10.3", - "eth:SHIB": "1.10.5", - "eth:SINSO": "1.11.3", - "eth:SKU": "1.10.3", - "eth:SMT": "1.11.2", - "eth:SNT": "1.10.6", - "eth:SOTER:68": "1.11.2", - "eth:SPARK": "1.10.5", - "eth:SPOA": "1.10.5", - "eth:SRDX": "1.11.3", - "eth:SRN": "1.10.4", - "eth:STAND": "1.11.3", - "eth:STOS": "1.11.3", - "eth:SVRN": "1.11.3", - "eth:SX": "1.11.2", - "eth:Seele": "1.10.5", - "eth:SmuX": "1.11.3", - "eth:T-EKTA": "1.11.3", - "eth:TAO": "1.9.4", - "eth:TBG": "1.9.5", - "eth:TCH": "1.9.4", - "eth:TCLO": "1.9.4", - "eth:TELE:8000": "1.10.6", - "eth:TETC": "1.9.4", - "eth:TFI": "1.9.5", - "eth:TLC": "1.11.2", - "eth:TLOS:40": "1.10.3", - "eth:TMY": "1.11.3", - "eth:TOMB": "1.11.2", - "eth:TOMO:88": "1.10.6", - "eth:TOYS": "1.9.5", - "eth:TPC": "1.11.2", - "eth:TPEP": "1.9.4", - "eth:TSF": "1.9.4", - "eth:TST": "1.9.4", - "eth:TT": "1.9.4", - "eth:TUBQ": "1.9.4", - "eth:TWL": "1.11.3", - "eth:TXDC": "1.9.5", - "eth:TXL": "1.11.2", - "eth:U+25B3": "1.9.4", - "eth:UBC": "1.10.6", - "eth:UBQ": "1.6.2", - "eth:ULX": "1.11.3", - "eth:UNQ": "1.11.3", - "eth:UZMI": "1.10.5", - "eth:VAL": "1.9.4", - "eth:VET": "1.11.3", - "eth:VETH": "1.11.3", - "eth:VLX": "1.10.4", - "eth:VNDT": "1.11.2", - "eth:VNT": "1.11.3", - "eth:VS:888888": "1.10.6", - "eth:VSC": "1.11.3", - "eth:W3G": "1.10.6", - "eth:W3Q:333": "1.10.6", - "eth:WAN": "1.10.3", - "eth:WEB": "1.9.4", - "eth:WEMIX": "1.11.3", - "eth:WGM": "1.10.6", - "eth:WTT": "1.10.5", - "eth:XDC": "1.9.5", - "eth:XERO": "1.9.4", - "eth:XETA": "1.11.3", - "eth:XODEX": "1.11.3", - "eth:XT": "1.11.2", - "eth:XVM": "1.11.2", - "eth:XZO": "1.11.3", - "eth:YCC": "1.11.2", - "eth:YETI": "1.9.4", - "eth:ZENIQ": "1.11.3", - "eth:ZENITH": "1.11.2", - "eth:ZERO": "1.10.5", - "eth:ZETA": "1.11.3", - "eth:ZTH:427": "1.11.3", - "eth:ZYX": "1.10.4", - "eth:atp": "1.10.5", - "eth:cTH": "1.10.3", - "eth:cet": "1.10.3", - "eth:eBTC": "1.11.3", - "eth:hP2": "1.11.3", - "eth:jfin": "1.11.2", - "eth:lat": "1.10.6", - "eth:mADA": "1.11.2", - "eth:mALGO": "1.11.3", - "eth:mc": "1.11.3", - "eth:nSAN": "1.11.3", - "eth:pCKB": "1.11.2", - "eth:peggle": "1.9.5", - "eth:tATS": "1.8.0", - "eth:tAVAX": "1.9.5", - "eth:tBNB": "1.9.4", - "eth:tBVE": "1.11.3", - "eth:tCELO:44787": "1.9.5", - "eth:tCELO:62320": "1.9.5", - "eth:tCFLR": "1.9.5", - "eth:tCRC": "1.11.3", - "eth:tDBM": "1.9.4", - "eth:tETH:11155111": "1.11.3", - "eth:tETH:3": "1.11.3", - "eth:tETH:4": "1.11.3", - "eth:tETH:42": "1.11.3", - "eth:tETH:5": "1.11.3", - "eth:tKAL": "1.9.4", - "eth:tKEK": "1.11.3", - "eth:tKLAY": "1.9.5", - "eth:tKOT": "1.9.4", - "eth:tMAP": "1.11.3", - "eth:tMATH": "1.9.5", - "eth:tMATIC": "1.9.4", - "eth:tMETC": "1.9.4", - "eth:tNEW": "1.9.5", - "eth:tNRG": "1.9.4", - "eth:tPHT": "1.9.4", - "eth:tRBTC": "1.6.2", - "eth:tVT": "1.9.4", - "eth:tWIRE": "1.11.3", - "eth:taro": "1.11.3", - "eth:thtt": "1.9.5", - "eth:tmACA": "1.9.5", - "eth:tsDIODE": "1.9.5", - "eth:xDAI:100": "1.9.4", - "eth:xDAI:300": "1.11.2", - "eth:xlon": "1.11.3", - "eth:\u25c8": "1.11.2", + "erc20:MATIC:AVAX": "1.11.3", + "erc20:bnb:ATOM": "1.11.3", + "erc20:eth:AAVE": "1.11.3", + "erc20:eth:APE": "1.11.3", + "erc20:eth:AXS": "1.11.3", + "erc20:eth:BUSD": "1.11.3", + "erc20:eth:CHZ": "1.11.3", + "erc20:eth:CRO": "1.11.3", + "erc20:eth:DAI": "1.11.3", + "erc20:eth:EOS": "1.11.3", + "erc20:eth:FRAX": "1.11.3", + "erc20:eth:FTT": "1.11.3", + "erc20:eth:LEO": "1.11.3", + "erc20:eth:LINK": "1.11.3", + "erc20:eth:MANA": "1.11.3", + "erc20:eth:MATIC": "1.11.3", + "erc20:eth:OKB": "1.11.3", + "erc20:eth:QNT": "1.11.3", + "erc20:eth:SAND": "1.11.3", + "erc20:eth:SHIB": "1.11.3", + "erc20:eth:STETH": "1.11.3", + "erc20:eth:UNI": "1.11.3", + "erc20:eth:USDC": "1.11.3", + "erc20:eth:USDT": "1.11.3", + "erc20:eth:WBTC": "1.11.3", + "erc20:eth:XCN": "1.11.3", + "eth:BNB": "1.11.3", + "eth:ETC": "1.11.3", + "eth:ETH": "1.11.3", + "eth:MATIC": "1.11.3", + "eth:tGOR": "1.11.3", + "eth:tRIN": "1.11.3", + "eth:tROP": "1.6.2", "misc:MAID": "1.7.2", "misc:OMNI": "1.7.2", "misc:USDT": "1.7.2", @@ -2470,627 +188,6 @@ "bitcoin:PART": "incompatible fork", "bitcoin:TRC": "address_type collides with Bitcoin", "bitcoin:tPART": "incompatible fork", - "erc20:etc:PLAY": "(AUTO) duplicate key", - "erc20:eth:A18:ba7d": "(AUTO) duplicate key", - "erc20:eth:A18:bde8": "(AUTO) duplicate key", - "erc20:eth:ADX:4470": "(AUTO) duplicate key", - "erc20:eth:ADX:ade0": "(AUTO) duplicate key", - "erc20:eth:ANT:960b": "(AUTO) duplicate key", - "erc20:eth:ANT:a117": "(AUTO) duplicate key", - "erc20:eth:ATH": "(AUTO) duplicate key", - "erc20:eth:ATH (AIgatha Token)": "(AUTO) duplicate key", - "erc20:eth:ATS": "duplicate key with eth:ATS", - "erc20:eth:BCAP:1f41": "(AUTO) duplicate key", - "erc20:eth:BCAP:ff35": "(AUTO) duplicate key", - "erc20:eth:BKB:5c39": "(AUTO) duplicate key", - "erc20:eth:BKB:b2bf": "(AUTO) duplicate key", - "erc20:eth:BMC:d945": "(AUTO) duplicate key", - "erc20:eth:BMC:df6e": "(AUTO) duplicate key", - "erc20:eth:BNC:dd6b": "(AUTO) duplicate key", - "erc20:eth:BNC:ef51": "(AUTO) duplicate key", - "erc20:eth:BOA:746d": "(AUTO) duplicate key", - "erc20:eth:BOA:fb6b": "(AUTO) duplicate key", - "erc20:eth:BOX:63f5": "(AUTO) duplicate key", - "erc20:eth:BOX:e1a1": "(AUTO) duplicate key", - "erc20:eth:BTL (Battle)": "(AUTO) duplicate key", - "erc20:eth:BTL (Bitlle)": "(AUTO) duplicate key", - "erc20:eth:BTR:499a": "(AUTO) duplicate key", - "erc20:eth:BTR:cbf1": "(AUTO) duplicate key", - "erc20:eth:BTT:080a": "(AUTO) duplicate key", - "erc20:eth:BTT:fa45": "(AUTO) duplicate key", - "erc20:eth:CAR": "(AUTO) duplicate key", - "erc20:eth:CAR (CarBlock)": "(AUTO) duplicate key", - "erc20:eth:CARD:1ed2": "(AUTO) duplicate key", - "erc20:eth:CARD:954b": "(AUTO) duplicate key", - "erc20:eth:CARD:b07e": "(AUTO) duplicate key", - "erc20:eth:CAS:7794": "(AUTO) duplicate key", - "erc20:eth:CAS:e878": "(AUTO) duplicate key", - "erc20:eth:CAT": "(AUTO) duplicate key", - "erc20:eth:CAT (BitClave)": "(AUTO) duplicate key", - "erc20:eth:CATS": "(AUTO) duplicate key", - "erc20:eth:CATs (BitClave)_Old": "(AUTO) duplicate key", - "erc20:eth:CCC": "(AUTO) duplicate key", - "erc20:eth:CCC (CryptoCrashCourse)": "(AUTO) duplicate key", - "erc20:eth:CCS:1da4": "(AUTO) duplicate key", - "erc20:eth:CCS:315c": "(AUTO) duplicate key", - "erc20:eth:CDT:177d": "(AUTO) duplicate key", - "erc20:eth:CDT:1dcf": "(AUTO) duplicate key", - "erc20:eth:CDX:2cb1": "(AUTO) duplicate key", - "erc20:eth:CDX:6fff": "(AUTO) duplicate key", - "erc20:eth:CIG:0038": "(AUTO) duplicate key", - "erc20:eth:CIG:cb56": "(AUTO) duplicate key", - "erc20:eth:CMT": "Migrated to mainnet", - "erc20:eth:CNDL:3d97": "(AUTO) duplicate key", - "erc20:eth:CNDL:bc13": "(AUTO) duplicate key", - "erc20:eth:COIN:5e8f": "(AUTO) duplicate key", - "erc20:eth:COIN:eb54": "(AUTO) duplicate key", - "erc20:eth:COSS:6529": "(AUTO) duplicate key", - "erc20:eth:COSS:9e96": "(AUTO) duplicate key", - "erc20:eth:CPT:88d5": "(AUTO) duplicate key", - "erc20:eth:CPT:9b62": "(AUTO) duplicate key", - "erc20:eth:CRPT:0838": "(AUTO) duplicate key", - "erc20:eth:CRPT:80a7": "(AUTO) duplicate key", - "erc20:eth:CTT:1a47": "(AUTO) duplicate key", - "erc20:eth:CTT:e3fa": "(AUTO) duplicate key", - "erc20:eth:DAO:0f51": "(AUTO) duplicate key", - "erc20:eth:DAO:bb9b": "(AUTO) duplicate key", - "erc20:eth:DEPO": "(AUTO) duplicate key", - "erc20:eth:DEPO (Depository Network)": "(AUTO) duplicate key", - "erc20:eth:DGTX:1c83": "(AUTO) duplicate key", - "erc20:eth:DGTX:c666": "(AUTO) duplicate key", - "erc20:eth:DOW:7697": "(AUTO) duplicate key", - "erc20:eth:DOW:eef6": "(AUTO) duplicate key", - "erc20:eth:DRC:a150": "(AUTO) duplicate key", - "erc20:eth:DRC:c2e3": "(AUTO) duplicate key", - "erc20:eth:DROP:3c75": "(AUTO) duplicate key", - "erc20:eth:DROP:4672": "(AUTO) duplicate key", - "erc20:eth:DRP:2799": "(AUTO) duplicate key", - "erc20:eth:DRP:621d": "(AUTO) duplicate key", - "erc20:eth:DTX": "(AUTO) duplicate key", - "erc20:eth:DTx": "(AUTO) duplicate key", - "erc20:eth:DUBI:9c6f": "(AUTO) duplicate key", - "erc20:eth:DUBI:d4cf": "(AUTO) duplicate key", - "erc20:eth:DUBI:ed7f": "(AUTO) duplicate key", - "erc20:eth:ECP:8869": "(AUTO) duplicate key", - "erc20:eth:ECP:aea1": "(AUTO) duplicate key", - "erc20:eth:EOS": "switched to custom network", - "erc20:eth:EVN:6890": "(AUTO) duplicate key", - "erc20:eth:EVN:d780": "(AUTO) duplicate key", - "erc20:eth:EXC:00c4": "(AUTO) duplicate key", - "erc20:eth:EXC:9e4c": "(AUTO) duplicate key", - "erc20:eth:FANX:7dcb": "(AUTO) duplicate key", - "erc20:eth:FANX:7f67": "(AUTO) duplicate key", - "erc20:eth:FLMC:04cc": "(AUTO) duplicate key", - "erc20:eth:FLMC:5976": "(AUTO) duplicate key", - "erc20:eth:FLX:6243": "(AUTO) duplicate key", - "erc20:eth:FLX:70b1": "(AUTO) duplicate key", - "erc20:eth:FSN": "Migrated to mainnet", - "erc20:eth:FTC": "duplicate key with bitcoin:FTC", - "erc20:eth:FUCK:65be": "(AUTO) duplicate key", - "erc20:eth:FUCK:ab16": "(AUTO) duplicate key", - "erc20:eth:FXC:4a57": "(AUTO) duplicate key", - "erc20:eth:FXC:c92d": "(AUTO) duplicate key", - "erc20:eth:GANA:6754": "(AUTO) duplicate key", - "erc20:eth:GANA:c0ea": "(AUTO) duplicate key", - "erc20:eth:GMT:7ddc": "(AUTO) duplicate key", - "erc20:eth:GMT:b3bd": "(AUTO) duplicate key", - "erc20:eth:HEX:9600": "(AUTO) duplicate key", - "erc20:eth:Hdp": "(AUTO) duplicate key", - "erc20:eth:Hdp.\u0444": "(AUTO) duplicate key", - "erc20:eth:ICX": "Migrated to mainnet", - "erc20:eth:IETH": "(AUTO) duplicate key", - "erc20:eth:IMT:1311": "(AUTO) duplicate key", - "erc20:eth:IMT:22e5": "(AUTO) duplicate key", - "erc20:eth:INV": "(AUTO) duplicate key", - "erc20:eth:JET:7734": "(AUTO) duplicate key", - "erc20:eth:JET:8727": "(AUTO) duplicate key", - "erc20:eth:JOB:1728": "(AUTO) duplicate key", - "erc20:eth:KEY:4cc1": "(AUTO) duplicate key", - "erc20:eth:KEY:4cd9": "(AUTO) duplicate key", - "erc20:eth:KICK:2769": "(AUTO) duplicate key", - "erc20:eth:KICK:c12d": "(AUTO) duplicate key", - "erc20:eth:LCT:05c7": "(AUTO) duplicate key", - "erc20:eth:LCT:4a37": "(AUTO) duplicate key", - "erc20:eth:LEMO:60c2": "(AUTO) duplicate key", - "erc20:eth:LEMO:b5ae": "(AUTO) duplicate key", - "erc20:eth:LEMO:d6e3": "(AUTO) duplicate key", - "erc20:eth:LG:6fe5": "(AUTO) duplicate key", - "erc20:eth:LG:c520": "(AUTO) duplicate key", - "erc20:eth:LGC:2bc8": "(AUTO) duplicate key", - "erc20:eth:LGC:3b3a": "(AUTO) duplicate key", - "erc20:eth:LINK Platform": "(AUTO) duplicate key", - "erc20:eth:LNC": "(AUTO) duplicate key", - "erc20:eth:LNC (Linker Coin)": "(AUTO) duplicate key", - "erc20:eth:LYM:57ad": "(AUTO) duplicate key", - "erc20:eth:LYM:c690": "(AUTO) duplicate key", - "erc20:eth:MBC:8888": "(AUTO) duplicate key", - "erc20:eth:MBC:b63f": "(AUTO) duplicate key", - "erc20:eth:MDS:6618": "(AUTO) duplicate key", - "erc20:eth:MDS:92b7": "(AUTO) duplicate key", - "erc20:eth:MESH:01f2": "(AUTO) duplicate key", - "erc20:eth:MESH:f030": "(AUTO) duplicate key", - "erc20:eth:MET:2ebd": "(AUTO) duplicate key", - "erc20:eth:MET:a3d5": "(AUTO) duplicate key", - "erc20:eth:MIT": "(AUTO) duplicate key", - "erc20:eth:MIT (Mychatcoin)": "(AUTO) duplicate key", - "erc20:eth:MOC": "(AUTO) duplicate key", - "erc20:eth:MTC:195f": "(AUTO) duplicate key", - "erc20:eth:MTC:905e": "(AUTO) duplicate key", - "erc20:eth:MTC:dfdc": "(AUTO) duplicate key", - "erc20:eth:MUSD": "(AUTO) duplicate key", - "erc20:eth:NCC:5d48": "(AUTO) duplicate key", - "erc20:eth:NCC:9344": "(AUTO) duplicate key", - "erc20:eth:NIO:5554": "(AUTO) duplicate key", - "erc20:eth:NIO:cc2a": "(AUTO) duplicate key", - "erc20:eth:NTK:5d4d": "(AUTO) duplicate key", - "erc20:eth:NTK:69be": "(AUTO) duplicate key", - "erc20:eth:NXX OLD": "(AUTO) duplicate key", - "erc20:eth:OHNI:6f53": "(AUTO) duplicate key", - "erc20:eth:OHNI:7f21": "(AUTO) duplicate key", - "erc20:eth:ONE": "Duplicate key with Harmony ONE", - "erc20:eth:OPEN:69c4": "(AUTO) duplicate key", - "erc20:eth:OPEN:e9de": "(AUTO) duplicate key", - "erc20:eth:ORME:516e": "(AUTO) duplicate key", - "erc20:eth:ORME:c96d": "(AUTO) duplicate key", - "erc20:eth:PASS:7776": "(AUTO) duplicate key", - "erc20:eth:PASS:ee44": "(AUTO) duplicate key", - "erc20:eth:PCH:e3f4": "(AUTO) duplicate key", - "erc20:eth:PCH:fcac": "(AUTO) duplicate key", - "erc20:eth:PLAY": "(AUTO) duplicate key", - "erc20:eth:PRO:226b": "(AUTO) duplicate key", - "erc20:eth:PRO:9041": "(AUTO) duplicate key", - "erc20:eth:PRPS:7641": "(AUTO) duplicate key", - "erc20:eth:PRPS:d94f": "(AUTO) duplicate key", - "erc20:eth:PRPS:e40c": "(AUTO) duplicate key", - "erc20:eth:QBIT": "(AUTO) duplicate key", - "erc20:eth:QBIT (Old)": "(AUTO) duplicate key", - "erc20:eth:RCT:13f2": "(AUTO) duplicate key", - "erc20:eth:RCT:2a3a": "(AUTO) duplicate key", - "erc20:eth:RFX:159a": "(AUTO) duplicate key", - "erc20:eth:RFX:f4c5": "(AUTO) duplicate key", - "erc20:eth:RING:86e5": "(AUTO) duplicate key", - "erc20:eth:RING:9469": "(AUTO) duplicate key", - "erc20:eth:SGT:3742": "(AUTO) duplicate key", - "erc20:eth:SGT:616c": "(AUTO) duplicate key", - "erc20:eth:SGT:d248": "(AUTO) duplicate key", - "erc20:eth:SKM:048f": "(AUTO) duplicate key", - "erc20:eth:SKM:d99b": "(AUTO) duplicate key", - "erc20:eth:SKRP:324a": "(AUTO) duplicate key", - "erc20:eth:SKRP:6e34": "(AUTO) duplicate key", - "erc20:eth:SKRP:fdfe": "(AUTO) duplicate key", - "erc20:eth:SMART": "duplicate key with bitcoin:SMART", - "erc20:eth:SMT:2dcf": "(AUTO) duplicate key", - "erc20:eth:SMT:55f9": "(AUTO) duplicate key", - "erc20:eth:SMT:78eb": "(AUTO) duplicate key", - "erc20:eth:SS:b15f": "(AUTO) duplicate key", - "erc20:eth:SS:bbff": "(AUTO) duplicate key", - "erc20:eth:TEL:85e0": "(AUTO) duplicate key", - "erc20:eth:TEL:ec32": "(AUTO) duplicate key", - "erc20:eth:TGT:ac3d": "(AUTO) duplicate key", - "erc20:eth:TGT:f96a": "(AUTO) duplicate key", - "erc20:eth:THETA": "Migrated to mainnet", - "erc20:eth:TIC:614b": "(AUTO) duplicate key", - "erc20:eth:TIC:7243": "(AUTO) duplicate key", - "erc20:eth:TICO:7f4b": "(AUTO) duplicate key", - "erc20:eth:TICO:a5db": "(AUTO) duplicate key", - "erc20:eth:TRC:cb3f": "(AUTO) duplicate key", - "erc20:eth:TRC:db52": "(AUTO) duplicate key", - "erc20:eth:TRX": "switched to custom network", - "erc20:eth:TST": "(AUTO) duplicate key", - "erc20:eth:TUSD (OLD)": "(AUTO) duplicate key", - "erc20:eth:UMKA:105d": "(AUTO) duplicate key", - "erc20:eth:UMKA:8e5a": "(AUTO) duplicate key", - "erc20:eth:VEN": "Migrated to mainnet", - "erc20:eth:VRS:92e7": "(AUTO) duplicate key", - "erc20:eth:VRS:edba": "(AUTO) duplicate key", - "erc20:eth:WHO:e200": "(AUTO) duplicate key", - "erc20:eth:WHO:e933": "(AUTO) duplicate key", - "erc20:eth:WIC": "(AUTO) duplicate key", - "erc20:eth:WOLK:7287": "(AUTO) duplicate key", - "erc20:eth:WOLK:f6b5": "(AUTO) duplicate key", - "erc20:eth:WORK:a686": "(AUTO) duplicate key", - "erc20:eth:WORK:d18e": "(AUTO) duplicate key", - "erc20:eth:WTC": "Migrated to mainnet", - "erc20:eth:WiC": "(AUTO) duplicate key", - "erc20:eth:YEED:6f7a": "(AUTO) duplicate key", - "erc20:eth:YEED:ca27": "(AUTO) duplicate key", - "erc20:eth:YUP:0f33": "(AUTO) duplicate key", - "erc20:eth:YUP:d9a1": "(AUTO) duplicate key", - "erc20:eth:ZIL": "Migrated to mainnet", - "erc20:eth:aDAI:363e": "(AUTO) duplicate key", - "erc20:eth:aDAI:5dc2": "(AUTO) duplicate key", - "erc20:eth:aDAI:fc1e": "(AUTO) duplicate key", - "erc20:eth:dLETH2x:4ef5": "(AUTO) duplicate key", - "erc20:eth:dLETH2x:8129": "(AUTO) duplicate key", - "erc20:eth:dLETH3x:00a8": "(AUTO) duplicate key", - "erc20:eth:dLETH3x:19a5": "(AUTO) duplicate key", - "erc20:eth:dLETH4x:5bc9": "(AUTO) duplicate key", - "erc20:eth:dLETH4x:8efe": "(AUTO) duplicate key", - "erc20:eth:dsETH2x:840d": "(AUTO) duplicate key", - "erc20:eth:dsETH2x:bf28": "(AUTO) duplicate key", - "erc20:eth:dsETH3x:2c6b": "(AUTO) duplicate key", - "erc20:eth:dsETH3x:ed99": "(AUTO) duplicate key", - "erc20:eth:dsETH4x:2ba3": "(AUTO) duplicate key", - "erc20:eth:dsETH4x:e650": "(AUTO) duplicate key", - "erc20:eth:dsETH:2983": "(AUTO) duplicate key", - "erc20:eth:dsETH:3a25": "(AUTO) duplicate key", - "erc20:eth:ftc": "(AUTO) duplicate key", - "erc20:eth:iETH:77f9": "(AUTO) duplicate key", - "erc20:eth:iETH:f53b": "(AUTO) duplicate key", - "erc20:eth:iLINK:1d49": "(AUTO) duplicate key", - "erc20:eth:iLINK:3ddf": "(AUTO) duplicate key", - "erc20:eth:mUSD": "(AUTO) duplicate key", - "erc20:eth:sETH:5e74": "(AUTO) duplicate key", - "erc20:eth:sETH:d81a": "(AUTO) duplicate key", - "erc20:eth:sUSD:289e": "(AUTO) duplicate key", - "erc20:eth:sUSD:57ab": "(AUTO) duplicate key", - "erc20:eth:univ2FARMUSDC:0d0d": "(AUTO) duplicate key", - "erc20:eth:univ2FARMUSDC:5149": "(AUTO) duplicate key", - "erc20:gor:TST": "(AUTO) duplicate key", - "erc20:rsk:INV": "(AUTO) duplicate key", - "erc20:rsk:MOC": "(AUTO) duplicate key", - "eth:ATH:1620": "duplicate key", - "eth:ATH:43110": "duplicate key", - "eth:BCH": "duplicate of bitcoin:BCH", - "eth:BOBA:1294": "duplicate key", - "eth:BOBA:301": "duplicate key", - "eth:BOBA:43288": "duplicate key", - "eth:BOBA:56288": "duplicate key", - "eth:BOBA:97288": "duplicate key", - "eth:BRO:1039": "duplicate key", - "eth:BRO:108801": "duplicate key", - "eth:BTX": "duplicate key", - "eth:CAM:501": "duplicate key", - "eth:CCN:970": "duplicate key", - "eth:CCN:9700": "duplicate key", - "eth:CCN:971": "duplicate key", - "eth:DOGE": "duplicate key", - "eth:ELA:22": "duplicate of ELA-ETH-sidechain", - "eth:ELLA:64": "duplicate symbol", - "eth:ELLA:7027": "duplicate symbol", - "eth:EOS": "mainnet exists", - "eth:ETH:10": "duplicate key", - "eth:ETH:10086": "duplicate key", - "eth:ETH:116": "duplicate key", - "eth:ETH:1313161554": "duplicate key", - "eth:ETH:1313161556": "duplicate key", - "eth:ETH:1337802": "eth collision", - "eth:ETH:1337803": "duplicate key", - "eth:ETH:288": "duplicate key", - "eth:ETH:324": "duplicate key", - "eth:ETH:42161": "duplicate key", - "eth:ETH:42170": "eth collision", - "eth:ETH:50001": "duplicate key", - "eth:ETH:534352": "duplicate key", - "eth:ETH:5551": "eth collision", - "eth:ETH:73927": "duplicate key", - "eth:ETH:8453": "duplicate key", - "eth:ETH:980": "eth collision", - "eth:FIRE:5290": "duplicate key", - "eth:FRA:2152": "duplicate key", - "eth:FRA:2154": "duplicate key", - "eth:GAR:91": "duplicate key", - "eth:GAR:92": "duplicate key", - "eth:GAR:93": "duplicate key", - "eth:GT:10024": "duplicate key", - "eth:GT:86": "duplicate key", - "eth:GTH:192837465": "duplicate key", - "eth:GTH:486217935": "exclude testnet", - "eth:HBAR:297": "duplicate key", - "eth:HBAR:298": "duplicate key", - "eth:JEWEL:335": "exclude testnet", - "eth:KTO:8285": "exclude testnet", - "eth:MCD:217": "duplicate key", - "eth:MCD:67390": "duplicate key", - "eth:METAL:381931": "duplicate key", - "eth:METAL:381932": "duplicate key", - "eth:NEON:245022926": "duplicate key", - "eth:OAS:19011": "duplicate key", - "eth:OAS:2400": "duplicate key", - "eth:OAS:248": "duplicate key", - "eth:OAS:5555": "duplicate key", - "eth:OAS:7225878": "duplicate key", - "eth:OAS:876": "duplicate key", - "eth:ONE:1666900000": "duplicate key", - "eth:PFT:808": "testnet", - "eth:PI:2099156": "duplicate key", - "eth:PI:8007736": "duplicate key", - "eth:POSI:900000": "duplicate key", - "eth:POSI:920000": "duplicate key", - "eth:POSI:920001": "duplicate key", - "eth:Q": "causing problems in altcoin detection", - "eth:QKC:110000": "exclude testnet", - "eth:QKC:110001": "exclude testnet", - "eth:QKC:110002": "exclude testnet", - "eth:QKC:110003": "exclude testnet", - "eth:QKC:110004": "exclude testnet", - "eth:QKC:110005": "exclude testnet", - "eth:QKC:110006": "exclude testnet", - "eth:QKC:110007": "exclude testnet", - "eth:QKC:110008": "exclude testnet", - "eth:QTZ:8881": "duplicate key", - "eth:QTZ:8883": "duplicate key", - "eth:REI:55555": "duplicate key", - "eth:ROC:1286": "deprecated", - "eth:ROSE:23294": "duplicate key", - "eth:ROSE:42262": "duplicate key", - "eth:SHM:8080": "duplicate key", - "eth:SHM:8081": "duplicate key", - "eth:SHM:8082": "duplicate key", - "eth:SHYFT": "slip44 out of range", - "eth:SOTER:218": "deprecated", - "eth:SYS": "duplicate key", - "eth:T-FSN": "(AUTO) exclude testnet", - "eth:TARA:841": "duplicate key", - "eth:TARA:842": "(AUTO) exclude testnet", - "eth:TAero": "(AUTO) exclude testnet", - "eth:TBITCI": "(AUTO) exclude testnet", - "eth:TBXN": "(AUTO) exclude testnet", - "eth:TCRO": "(AUTO) exclude testnet", - "eth:TELE:8001": "(AUTO) exclude testnet", - "eth:TEST": "(AUTO) exclude testnet", - "eth:TEXL": "(AUTO) exclude testnet", - "eth:TFUEL:361": "incompatible", - "eth:TFUEL:363": "(AUTO) exclude testnet", - "eth:TFUEL:364": "(AUTO) exclude testnet", - "eth:TFUEL:365": "(AUTO) exclude testnet", - "eth:TKAVA": "(AUTO) exclude testnet", - "eth:TKM:60000": "(AUTO) exclude testnet", - "eth:TKM:60001": "(AUTO) exclude testnet", - "eth:TKM:60002": "(AUTO) exclude testnet", - "eth:TKM:60103": "(AUTO) exclude testnet", - "eth:TKM:70000": "duplicate key", - "eth:TKM:70001": "duplicate key", - "eth:TKM:70002": "duplicate key", - "eth:TKM:70103": "duplicate key", - "eth:TLA": "(AUTO) exclude testnet", - "eth:TLOS:41": "(AUTO) exclude testnet", - "eth:TOKI:8654": "duplicate key", - "eth:TOKI:8655": "(AUTO) exclude testnet", - "eth:TOMO:89": "(AUTO) exclude testnet", - "eth:TOP": "causing problems in altcoin detection", - "eth:TOPC": "(AUTO) exclude testnet", - "eth:TPBX:404040": "duplicate key", - "eth:TPBX:4141": "(AUTO) exclude testnet", - "eth:TPI:10067275": "(AUTO) exclude testnet", - "eth:TPI:16658437": "(AUTO) exclude testnet", - "eth:TRES:6065": "(AUTO) exclude testnet", - "eth:TRES:6066": "duplicate key", - "eth:TSCAS": "(AUTO) exclude testnet", - "eth:TSETH": "(AUTO) exclude testnet", - "eth:USD:2018": "duplicate key", - "eth:USD:2020": "duplicate key", - "eth:VS:666666": "exclude testnet", - "eth:W3Q:3334": "duplicate key", - "eth:ZTH:859": "duplicate key", - "eth:sFUEL:1482601649": "duplicate key", - "eth:sFUEL:1564830818": "duplicate key", - "eth:sFUEL:2046399126": "duplicate key", - "eth:sFUEL:503129905": "duplicate key", - "eth:t$BNI": "(AUTO) exclude testnet", - "eth:tAAC": "(AUTO) exclude testnet", - "eth:tACA": "(AUTO) exclude testnet", - "eth:tAGOR": "testnet", - "eth:tAIOZ": "(AUTO) exclude testnet", - "eth:tAITD": "(AUTO) exclude testnet", - "eth:tALOT": "(AUTO) exclude testnet", - "eth:tALYX": "(AUTO) exclude testnet", - "eth:tAMAX": "(AUTO) exclude testnet", - "eth:tAMB": "(AUTO) exclude testnet", - "eth:tASA": "(AUTO) exclude testnet", - "eth:tATN:65010000": "(AUTO) exclude testnet", - "eth:tATN:65100000": "(AUTO) exclude testnet", - "eth:tATOS": "(AUTO) exclude testnet", - "eth:tAVIS": "(AUTO) exclude testnet", - "eth:tAcol": "(AUTO) exclude testnet", - "eth:tBCHT": "(AUTO) exclude testnet", - "eth:tBCS": "(AUTO) exclude testnet", - "eth:tBELLY": "(AUTO) exclude testnet", - "eth:tBFC": "(AUTO) exclude testnet", - "eth:tBIT": "(AUTO) exclude testnet", - "eth:tBLG": "(AUTO) exclude testnet", - "eth:tBOBA:1297": "(AUTO) exclude testnet", - "eth:tBOBA:4051": "(AUTO) exclude testnet", - "eth:tBOBA:4328": "(AUTO) exclude testnet", - "eth:tBOBA:9728": "(AUTO) exclude testnet", - "eth:tBOC": "(AUTO) exclude testnet", - "eth:tBOMB": "(AUTO) exclude testnet", - "eth:tBRNKC": "(AUTO) exclude testnet", - "eth:tBRO": "(AUTO) exclude testnet", - "eth:tBTM": "(AUTO) exclude testnet", - "eth:tBTT": "(AUTO) exclude testnet", - "eth:tC2FLR": "(AUTO) exclude testnet", - "eth:tCANTO": "(AUTO) exclude testnet", - "eth:tCFX": "(AUTO) exclude testnet", - "eth:tCHZ": "(AUTO) exclude testnet", - "eth:tCICT": "(AUTO) exclude testnet", - "eth:tCKB:71393": "(AUTO) exclude testnet", - "eth:tCKB:868455272153094": "(AUTO) exclude testnet", - "eth:tCLD": "(AUTO) exclude testnet", - "eth:tCLO": "(AUTO) exclude testnet", - "eth:tCLV": "(AUTO) exclude testnet", - "eth:tCMP": "(AUTO) exclude testnet", - "eth:tCNT": "(AUTO) exclude testnet", - "eth:tCORE": "(AUTO) exclude testnet", - "eth:tCTE": "testnet", - "eth:tCUBET": "(AUTO) exclude testnet", - "eth:tCWN": "(AUTO) exclude testnet", - "eth:tDB": "(AUTO) exclude testnet", - "eth:tDEL": "(AUTO) exclude testnet", - "eth:tDFI": "(AUTO) exclude testnet", - "eth:tDOGE": "(AUTO) exclude testnet", - "eth:tDOGS": "(AUTO) exclude testnet", - "eth:tDTH": "(AUTO) exclude testnet", - "eth:tDX": "(AUTO) exclude testnet", - "eth:tDYNO": "(AUTO) exclude testnet", - "eth:tECE": "(AUTO) exclude testnet", - "eth:tECG": "(AUTO) exclude testnet", - "eth:tECO": "(AUTO) exclude testnet", - "eth:tECS": "(AUTO) exclude testnet", - "eth:tEDG": "(AUTO) exclude testnet", - "eth:tEDX": "(AUTO) exclude testnet", - "eth:tELA:21": "(AUTO) exclude testnet", - "eth:tELA:23": "(AUTO) exclude testnet", - "eth:tEOS": "(AUTO) exclude testnet", - "eth:tETH:115": "(AUTO) exclude testnet", - "eth:tETH:1313161555": "(AUTO) exclude testnet", - "eth:tETH:1337": "(AUTO) exclude testnet", - "eth:tETH:1402": "(AUTO) exclude testnet", - "eth:tETH:1422": "(AUTO) exclude testnet", - "eth:tETH:28": "(AUTO) exclude testnet", - "eth:tETH:280": "(AUTO) exclude testnet", - "eth:tETH:28528": "(AUTO) exclude testnet", - "eth:tETH:2888": "(AUTO) exclude testnet", - "eth:tETH:420": "(AUTO) exclude testnet", - "eth:tETH:421611": "duplicate key", - "eth:tETH:534353": "(AUTO) exclude testnet", - "eth:tETH:5553": "(AUTO) exclude testnet", - "eth:tETH:5777": "duplicate key", - "eth:tETH:69": "duplicate key", - "eth:tETH:84531": "(AUTO) exclude testnet", - "eth:tETH:956": "(AUTO) exclude testnet", - "eth:tETMP": "(AUTO) exclude testnet", - "eth:tEUN": "(AUTO) exclude testnet", - "eth:tEVM": "(AUTO) exclude testnet", - "eth:tEVMOS": "(AUTO) exclude testnet", - "eth:tEZC": "(AUTO) exclude testnet", - "eth:tFIL:3141": "(AUTO) exclude testnet", - "eth:tFIL:31415": "(AUTO) exclude testnet", - "eth:tFIL:314159": "(AUTO) exclude testnet", - "eth:tFIL:3141592": "(AUTO) exclude testnet", - "eth:tFIL:31415926": "(AUTO) exclude testnet", - "eth:tFIRE:917": "(AUTO) exclude testnet", - "eth:tFIRE:9170": "(AUTO) exclude testnet", - "eth:tFITFI": "(AUTO) exclude testnet", - "eth:tFNCY": "(AUTO) exclude testnet", - "eth:tFRA": "(AUTO) exclude testnet", - "eth:tFTM": "(AUTO) exclude testnet", - "eth:tFTN": "(AUTO) exclude testnet", - "eth:tFtREN": "(AUTO) exclude testnet", - "eth:tGAR:900": "(AUTO) exclude testnet", - "eth:tGAR:901": "(AUTO) exclude testnet", - "eth:tGAR:902": "(AUTO) exclude testnet", - "eth:tGAR:903": "(AUTO) exclude testnet", - "eth:tGCD": "(AUTO) exclude testnet", - "eth:tGO": "(AUTO) exclude testnet", - "eth:tGT": "(AUTO) exclude testnet", - "eth:tGTFX": "(AUTO) exclude testnet", - "eth:tGTH": "(AUTO) exclude testnet", - "eth:tGZN": "(AUTO) exclude testnet", - "eth:tGooD": "(AUTO) exclude testnet", - "eth:tHBAR": "(AUTO) exclude testnet", - "eth:tHIK": "(AUTO) exclude testnet", - "eth:tHOO": "(AUTO) exclude testnet", - "eth:tHPN": "(AUTO) exclude testnet", - "eth:tHYM": "(AUTO) exclude testnet", - "eth:tIDE": "(AUTO) exclude testnet", - "eth:tIMV": "(AUTO) exclude testnet", - "eth:tIOTX": "(AUTO) exclude testnet", - "eth:tISLMT": "(AUTO) exclude testnet", - "eth:tIVAR": "(AUTO) exclude testnet", - "eth:tJINDA": "(AUTO) exclude testnet", - "eth:tKAIBA": "(AUTO) exclude testnet", - "eth:tKAR": "(AUTO) exclude testnet", - "eth:tKCS": "(AUTO) exclude testnet", - "eth:tKSX": "(AUTO) exclude testnet", - "eth:tKUB": "(AUTO) exclude testnet", - "eth:tL1test": "(AUTO) exclude testnet", - "eth:tLAMB": "(AUTO) exclude testnet", - "eth:tLAVA": "(AUTO) exclude testnet", - "eth:tMDGLT": "(AUTO) exclude testnet", - "eth:tMEER-T": "(AUTO) exclude testnet", - "eth:tMESHT": "(AUTO) exclude testnet", - "eth:tMETIS:588": "(AUTO) exclude testnet", - "eth:tMETIS:599": "(AUTO) exclude testnet", - "eth:tMTR": "(AUTO) exclude testnet", - "eth:tMTTest": "(AUTO) exclude testnet", - "eth:tMYN": "(AUTO) exclude testnet", - "eth:tNBX": "(AUTO) exclude testnet", - "eth:tNEON": "(AUTO) exclude testnet", - "eth:tNMAC": "(AUTO) exclude testnet", - "eth:tNTTH": "(AUTO) exclude testnet", - "eth:tNULS": "(AUTO) exclude testnet", - "eth:tNUM": "(AUTO) exclude testnet", - "eth:tNetZ": "(AUTO) exclude testnet", - "eth:tOAS": "(AUTO) exclude testnet", - "eth:tOKT": "(AUTO) exclude testnet", - "eth:tOLO": "(AUTO) exclude testnet", - "eth:tOLT": "(AUTO) exclude testnet", - "eth:tONE:1666700000": "(AUTO) exclude testnet", - "eth:tONE:1666700001": "(AUTO) exclude testnet", - "eth:tONE:1666700002": "(AUTO) exclude testnet", - "eth:tONE:1666700003": "(AUTO) exclude testnet", - "eth:tONG": "(AUTO) exclude testnet", - "eth:tONUS": "(AUTO) exclude testnet", - "eth:tOONE": "(AUTO) exclude testnet", - "eth:tORING": "(AUTO) exclude testnet", - "eth:tOY": "(AUTO) exclude testnet", - "eth:tPALM": "(AUTO) exclude testnet", - "eth:tPCTT": "(AUTO) exclude testnet", - "eth:tPLS:940": "(AUTO) exclude testnet", - "eth:tPLS:941": "(AUTO) exclude testnet", - "eth:tPLS:942": "(AUTO) exclude testnet", - "eth:tPOLIS": "(AUTO) exclude testnet", - "eth:tPOSI": "(AUTO) exclude testnet", - "eth:tPRB": "(AUTO) exclude testnet", - "eth:tPRING": "(AUTO) exclude testnet", - "eth:tPRX": "(AUTO) exclude testnet", - "eth:tPTX": "(AUTO) exclude testnet", - "eth:tQ": "causing problems in altcoin detection", - "eth:tQDC": "(AUTO) exclude testnet", - "eth:tQET": "(AUTO) exclude testnet", - "eth:tQOM": "(AUTO) exclude testnet", - "eth:tREI": "(AUTO) exclude testnet", - "eth:tROSE": "(AUTO) exclude testnet", - "eth:tRPG": "(AUTO) exclude testnet", - "eth:tSFL": "(AUTO) exclude testnet", - "eth:tSHT": "(AUTO) exclude testnet", - "eth:tSHYFTT": "(AUTO) exclude testnet", - "eth:tSINSO": "(AUTO) exclude testnet", - "eth:tSNS": "(AUTO) exclude testnet", - "eth:tSRDX": "(AUTO) exclude testnet", - "eth:tSTAND": "(AUTO) exclude testnet", - "eth:tSTOS": "(AUTO) exclude testnet", - "eth:tSVRN": "(AUTO) exclude testnet", - "eth:tSX": "(AUTO) exclude testnet", - "eth:tSYS": "(AUTO) exclude testnet", - "eth:tU2U": "(AUTO) exclude testnet", - "eth:tUBC": "(AUTO) exclude testnet", - "eth:tULX": "(AUTO) exclude testnet", - "eth:tUNQ": "(AUTO) exclude testnet", - "eth:tUSD": "(AUTO) exclude testnet", - "eth:tVET": "(AUTO) exclude testnet", - "eth:tVIL": "(AUTO) exclude testnet", - "eth:tVNT": "(AUTO) exclude testnet", - "eth:tW3G": "(AUTO) exclude testnet", - "eth:tW3Q": "(AUTO) exclude testnet", - "eth:tWAN": "(AUTO) exclude testnet", - "eth:tWEMIX": "(AUTO) exclude testnet", - "eth:tWLK": "(AUTO) exclude testnet", - "eth:tXPR": "(AUTO) exclude testnet", - "eth:tXVM": "(AUTO) exclude testnet", - "eth:tZCR": "(AUTO) exclude testnet", - "eth:tZEN": "(AUTO) exclude testnet", - "eth:tZERO": "(AUTO) exclude testnet", - "eth:tZKST": "(AUTO) exclude testnet", - "eth:taZETA": "(AUTO) exclude testnet", - "eth:tatp": "(AUTO) exclude testnet", - "eth:tcett": "(AUTO) exclude testnet", - "eth:tkiETH": "(AUTO) exclude testnet", - "eth:tlat:2203181": "(AUTO) exclude testnet", - "eth:tlat:2206132": "(AUTO) exclude testnet", - "eth:tmTAda": "(AUTO) exclude testnet", - "eth:tmTAlgo": "(AUTO) exclude testnet", - "eth:tmc": "(AUTO) exclude testnet", - "eth:tpCKB": "(AUTO) exclude testnet", - "eth:trAna": "(AUTO) exclude testnet", - "eth:tsFUEL": "(AUTO) exclude testnet", - "eth:tusd": "(AUTO) exclude testnet", - "eth:txDAI:100100": "(AUTO) exclude testnet", - "eth:txDAI:10200": "(AUTO) exclude testnet", - "eth:xDAI:200": "duplicate key", - "eth:\u03a6:144": "duplicate key", - "eth:\u03a6:4181": "duplicate key", "misc:ADA": "not implemented", "misc:BNB": "not implemented", "misc:EOS": "not implemented", @@ -3159,2306 +256,39 @@ "bitcoin:tQTUM": "2.1.1", "bitcoin:tRVN": "2.4.0", "bitcoin:tSMART": "2.0.8", - "erc20:avax:USDT": "2.5.2", - "erc20:avax:WAVAX": "2.5.4", - "erc20:esn:DGT": "2.0.8", - "erc20:esn:TOPM": "2.0.8", - "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:00": "2.5.3", - "erc20:eth:0xBTC": "2.0.7", - "erc20:eth:1SG": "2.0.11", - "erc20:eth:1ST": "2.0.7", - "erc20:eth:1WO": "2.0.7", - "erc20:eth:22x": "2.0.10", - "erc20:eth:2DC": "2.0.7", - "erc20:eth:300": "2.0.7", - "erc20:eth:3LT": "2.0.8", - "erc20:eth:599GTO1": "2.1.8", - "erc20:eth:A": "2.3.0", - "erc20:eth:AAVE": "2.4.3", - "erc20:eth:ABCH": "2.0.10", - "erc20:eth:ABDX": "2.3.0", - "erc20:eth:ABPT": "2.1.8", - "erc20:eth:ABT": "2.0.7", - "erc20:eth:ABYSS": "2.0.7", - "erc20:eth:ACC": "2.0.7", - "erc20:eth:ACE": "2.0.10", - "erc20:eth:ADB": "2.0.10", - "erc20:eth:ADC$": "2.1.8", - "erc20:eth:ADCO": "2.4.2", - "erc20:eth:ADH": "2.0.7", - "erc20:eth:ADI": "2.0.7", - "erc20:eth:ADL": "2.0.7", - "erc20:eth:ADST": "2.0.7", - "erc20:eth:ADT": "2.0.7", - "erc20:eth:ADX-LOYALTY": "2.3.7", - "erc20:eth:AE": "2.0.7", - "erc20:eth:AEUR": "2.3.0", - "erc20:eth:AFA": "2.0.10", - "erc20:eth:AGI": "2.0.7", - "erc20:eth:AGRS": "2.4.4", - "erc20:eth:AGS": "2.3.0", - "erc20:eth:AI": "2.0.10", - "erc20:eth:AID": "2.0.10", - "erc20:eth:AION": "2.0.7", - "erc20:eth:AIR": "2.0.7", - "erc20:eth:AIX": "2.0.7", - "erc20:eth:AKC": "2.0.8", - "erc20:eth:ALCO": "2.0.7", - "erc20:eth:ALEPH": "2.3.7", - "erc20:eth:ALI": "2.0.10", - "erc20:eth:ALIS": "2.0.7", - "erc20:eth:ALTA": "2.4.4", - "erc20:eth:ALTS": "2.0.7", - "erc20:eth:ALX": "2.0.10", - "erc20:eth:AMB": "2.0.7", - "erc20:eth:AMGO": "2.3.0", - "erc20:eth:AMIS": "2.0.7", - "erc20:eth:AMLT": "2.0.8", - "erc20:eth:AMN": "2.0.7", - "erc20:eth:AMO": "2.0.7", - "erc20:eth:AMON": "2.3.0", - "erc20:eth:AMP": "2.3.7", - "erc20:eth:AMPL": "2.1.8", - "erc20:eth:AMTC": "2.0.7", - "erc20:eth:ANIME": "2.3.0", - "erc20:eth:ANJ": "2.3.0", - "erc20:eth:AOA": "2.0.10", - "erc20:eth:API3": "2.3.7", - "erc20:eth:APIS": "2.0.7", - "erc20:eth:APPC": "2.0.7", - "erc20:eth:APT": "2.0.7", - "erc20:eth:AQT": "2.3.7", - "erc20:eth:ARB": "2.0.10", - "erc20:eth:ARC": "2.0.7", - "erc20:eth:ARCT": "2.0.7", - "erc20:eth:ARD": "2.0.7", - "erc20:eth:ARE": "2.3.0", - "erc20:eth:ARN": "2.0.7", - "erc20:eth:ARNX": "2.3.7", - "erc20:eth:ART": "2.0.7", - "erc20:eth:ARX": "2.0.7", - "erc20:eth:ARXT": "2.0.7", - "erc20:eth:ARY": "2.0.10", - "erc20:eth:AST": "2.0.7", - "erc20:eth:ASTRO": "2.0.10", - "erc20:eth:ASY": "2.1.8", - "erc20:eth:ATG": "2.3.0", - "erc20:eth:ATL": "2.0.7", - "erc20:eth:ATM": "2.0.10", - "erc20:eth:ATMI": "2.0.7", - "erc20:eth:ATT": "2.0.7", - "erc20:eth:ATTN": "2.0.7", - "erc20:eth:ATX": "2.0.10", - "erc20:eth:AUC": "2.0.10", - "erc20:eth:AUDIO": "2.4.3", - "erc20:eth:AURA": "2.0.10", - "erc20:eth:AUS": "2.3.0", - "erc20:eth:AUTO": "2.0.10", - "erc20:eth:AVA": "2.0.7", - "erc20:eth:AVT": "2.0.7", - "erc20:eth:AX1": "2.0.7", - "erc20:eth:AXN": "2.4.2", - "erc20:eth:AXP": "2.0.7", - "erc20:eth:AXPR": "2.0.8", - "erc20:eth:AXS": "2.4.2", - "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:BAMBOO": "2.3.7", - "erc20:eth:BANCA": "2.0.10", - "erc20:eth:BANX": "2.0.7", - "erc20:eth:BAR": "2.3.0", - "erc20:eth:BAS": "2.0.10", - "erc20:eth:BAT": "2.0.7", - "erc20:eth:BAX": "2.0.10", - "erc20:eth:BBC": "2.0.10", - "erc20:eth:BBI": "2.0.10", - "erc20:eth:BBK": "2.0.7", - "erc20:eth:BBN": "2.0.10", - "erc20:eth:BBO": "2.0.10", - "erc20:eth:BC": "2.0.10", - "erc20:eth:BCASH": "2.3.0", - "erc20:eth:BCBC": "2.0.7", - "erc20:eth:BCDN": "2.0.7", - "erc20:eth:BCDT": "2.0.7", - "erc20:eth:BCL": "2.0.7", - "erc20:eth:BCMC1": "2.4.2", - "erc20:eth:BCPT": "2.0.7", - "erc20:eth:BCV": "2.0.7", - "erc20:eth:BDG": "2.0.7", - "erc20:eth:BEAR": "2.3.0", - "erc20:eth:BEE": "2.0.7", - "erc20:eth:BEFX": "2.1.8", - "erc20:eth:BERRY": "2.0.7", - "erc20:eth:BET": "2.0.7", - "erc20:eth:BETHER": "2.0.8", - "erc20:eth:BETR": "2.0.7", - "erc20:eth:BEZ": "2.0.11", - "erc20:eth:BFT": "2.1.8", - "erc20:eth:BHPC": "2.0.10", - "erc20:eth:BHR": "2.0.10", - "erc20:eth:BID": "2.3.7", - "erc20:eth:BIT": "2.0.11", - "erc20:eth:BITCAR": "2.0.10", - "erc20:eth:BITPARK": "2.0.10", - "erc20:eth:BITX": "2.3.0", - "erc20:eth:BIX": "2.0.10", - "erc20:eth:BKC": "2.3.0", - "erc20:eth:BKN": "2.3.0", - "erc20:eth:BKRx": "2.0.7", - "erc20:eth:BKX": "2.0.7", - "erc20:eth:BLN": "2.0.10", - "erc20:eth:BLO": "2.3.0", - "erc20:eth:BLT": "2.0.7", - "erc20:eth:BLUE": "2.0.7", - "erc20:eth:BLX (Bullion)": "2.0.7", - "erc20:eth:BLX (Iconomi)": "2.0.7", - "erc20:eth:BLZ": "2.0.7", - "erc20:eth:BMT": "2.0.7", - "erc20:eth:BMX": "2.0.7", - "erc20:eth:BNB": "2.0.7", - "erc20:eth:BNFT": "2.0.7", - "erc20:eth:BNN": "2.0.10", - "erc20:eth:BNP": "2.3.0", - "erc20:eth:BNT": "2.0.7", - "erc20:eth:BNTY": "2.0.7", - "erc20:eth:BOB": "2.0.7", - "erc20:eth:BOK": "2.1.8", - "erc20:eth:BOL": "2.3.0", - "erc20:eth:BOLT": "2.1.8", - "erc20:eth:BON": "2.0.7", - "erc20:eth:BOP": "2.0.7", - "erc20:eth:BOU": "2.0.7", - "erc20:eth:BOUTS": "2.0.10", - "erc20:eth:BOXX": "2.0.10", - "erc20:eth:BPF": "2.5.2", - "erc20:eth:BPT": "2.0.7", - "erc20:eth:BQX": "2.0.7", - "erc20:eth:BRAT": "2.0.7", - "erc20:eth:BRD": "2.0.7", - "erc20:eth:BREZ": "2.3.0", - "erc20:eth:BRLN": "2.0.10", - "erc20:eth:BRP": "2.3.0", - "erc20:eth:BRUH": "2.4.4", - "erc20:eth:BRX": "2.3.1", - "erc20:eth:BSDC": "2.0.7", - "erc20:eth:BST": "2.0.7", - "erc20:eth:BTC++": "2.3.1", - "erc20:eth:BTCA": "2.0.10", - "erc20:eth:BTCE": "2.0.7", - "erc20:eth:BTCL": "2.0.7", - "erc20:eth:BTCONE": "2.0.10", - "erc20:eth:BTCR": "2.0.10", - "erc20:eth:BTE": "2.0.7", - "erc20:eth:BTH": "2.0.7", - "erc20:eth:BTHR": "2.0.7", - "erc20:eth:BTK": "2.0.7", - "erc20:eth:BTM": "2.0.7", - "erc20:eth:BTNG": "2.1.8", - "erc20:eth:BTO": "2.0.10", - "erc20:eth:BTP": "2.1.8", - "erc20:eth:BTQ": "2.0.7", - "erc20:eth:BTRN": "2.0.10", - "erc20:eth:BTU": "2.0.10", - "erc20:eth:BTY": "2.1.8", - "erc20:eth:BTZ": "2.0.8", - "erc20:eth:BUC": "2.0.7", - "erc20:eth:BUSD": "2.3.0", - "erc20:eth:BWN": "2.1.8", - "erc20:eth:BWX": "2.0.10", - "erc20:eth:BZ": "2.0.10", - "erc20:eth:BZNT": "2.0.10", - "erc20:eth:BeerCoin": "2.0.7", - "erc20:eth:C10": "2.3.0", - "erc20:eth:C20": "2.0.7", - "erc20:eth:C8": "2.0.7", - "erc20:eth:CAG": "2.0.7", - "erc20:eth:CALL": "2.3.0", - "erc20:eth:CAN": "2.0.7", - "erc20:eth:CAPP": "2.0.10", - "erc20:eth:CARB": "2.0.7", - "erc20:eth:CARCO": "2.0.7", - "erc20:eth:CARE": "2.0.7", - "erc20:eth:CBC": "2.0.10", - "erc20:eth:CBIX": "2.0.8", - "erc20:eth:CBM": "2.0.11", - "erc20:eth:CBT": "2.0.10", - "erc20:eth:CC3": "2.0.7", - "erc20:eth:CCCX": "2.0.10", - "erc20:eth:CCLC": "2.0.7", - "erc20:eth:CCO": "2.0.10", - "erc20:eth:CCT": "2.0.10", - "erc20:eth:CDL": "2.0.7", - "erc20:eth:CEEK": "2.0.7", - "erc20:eth:CELR": "2.3.0", - "erc20:eth:CEN": "2.1.8", - "erc20:eth:CENNZ": "2.0.10", - "erc20:eth:CET": "2.0.8", - "erc20:eth:CFC": "2.0.8", - "erc20:eth:CFI": "2.0.7", - "erc20:eth:CFTY": "2.0.7", - "erc20:eth:CGT": "2.3.1", - "erc20:eth:CHAI": "2.3.0", - "erc20:eth:CHP": "2.0.10", - "erc20:eth:CHSB": "2.0.7", - "erc20:eth:CHX": "2.0.10", - "erc20:eth:CIV": "2.4.4", - "erc20:eth:CIYA": "2.0.11", - "erc20:eth:CJT": "2.0.10", - "erc20:eth:CK": "2.0.7", - "erc20:eth:CL": "2.0.10", - "erc20:eth:CLB": "2.0.7", - "erc20:eth:CLL": "2.0.7", - "erc20:eth:CLN": "2.0.7", - "erc20:eth:CLP": "2.0.7", - "erc20:eth:CLT": "2.3.7", - "erc20:eth:CMBT": "2.0.7", - "erc20:eth:CMC": "2.0.7", - "erc20:eth:CMCT": "2.0.10", - "erc20:eth:CMERGE": "2.4.4", - "erc20:eth:CNB": "2.0.7", - "erc20:eth:CND": "2.0.7", - "erc20:eth:CNN": "2.0.10", - "erc20:eth:CO2": "2.0.7", - "erc20:eth:CO2Bit": "2.0.7", - "erc20:eth:COB": "2.0.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:COTI": "2.3.7", - "erc20:eth:COV": "2.0.7", - "erc20:eth:CPAL": "2.1.8", - "erc20:eth:CPAY": "2.0.10", - "erc20:eth:CPC": "2.3.1", - "erc20:eth:CPEX": "2.0.7", - "erc20:eth:CPLO": "2.0.10", - "erc20:eth:CPY": "2.0.7", - "erc20:eth:CR1": "2.3.0", - "erc20:eth:CR7": "2.0.7", - "erc20:eth:CRB": "2.0.7", - "erc20:eth:CRBT": "2.0.10", - "erc20:eth:CRC": "2.0.10", - "erc20:eth:CRED": "2.0.7", - "erc20:eth:CREDO": "2.0.7", - "erc20:eth:CRGO": "2.0.8", - "erc20:eth:CRMT": "2.0.8", - "erc20:eth:CRT": "2.0.7", - "erc20:eth:CS": "2.0.10", - "erc20:eth:CSNO": "2.0.10", - "erc20:eth:CST": "2.0.10", - "erc20:eth:CTF": "2.0.7", - "erc20:eth:CTG": "2.0.7", - "erc20:eth:CTGC": "2.0.8", - "erc20:eth:CTL": "2.0.7", - "erc20:eth:CTR": "2.0.10", - "erc20:eth:CTSI": "2.3.1", - "erc20:eth:CTX": "2.0.7", - "erc20:eth:CTXC": "2.0.10", - "erc20:eth:CUR8": "2.1.8", - "erc20:eth:CURE": "2.3.0", - "erc20:eth:CVC": "2.0.7", - "erc20:eth:CVS": "2.3.0", - "erc20:eth:CVT": "2.0.10", - "erc20:eth:CWIOS": "2.3.0", - "erc20:eth:CXC": "2.0.7", - "erc20:eth:CXO": "2.0.7", - "erc20:eth:CYCLE": "2.1.8", - "erc20:eth:CYFM": "2.0.8", - "erc20:eth:CYMT": "2.0.10", - "erc20:eth:CZR": "2.0.10", - "erc20:eth:CryptoCarbon": "2.0.7", - "erc20:eth:DAB": "2.0.7", - "erc20:eth:DACS": "2.0.10", - "erc20:eth:DADI": "2.0.7", - "erc20:eth:DAF": "2.4.4", - "erc20:eth:DAI": "2.5.2", - "erc20:eth:DALC": "2.0.7", - "erc20:eth:DAN": "2.0.7", - "erc20:eth:DAT": "2.0.7", - "erc20:eth:DATA": "2.5.4", - "erc20:eth:DATABroker": "2.0.7", - "erc20:eth:DATX": "2.0.11", - "erc20:eth:DAV": "2.0.7", - "erc20:eth:DAX": "2.0.10", - "erc20:eth:DAXT": "2.0.7", - "erc20:eth:DAY": "2.0.7", - "erc20:eth:DBET": "2.0.10", - "erc20:eth:DCA": "2.0.7", - "erc20:eth:DCB": "2.3.7", - "erc20:eth:DCC": "2.0.8", - "erc20:eth:DCL": "2.0.7", - "erc20:eth:DCN": "2.0.7", - "erc20:eth:DDF": "2.0.7", - "erc20:eth:DEB": "2.0.7", - "erc20:eth:DEC": "2.3.0", - "erc20:eth:DEEZ": "2.0.7", - "erc20:eth:DELTA": "2.0.10", - "erc20:eth:DENT": "2.0.7", - "erc20:eth:DEW": "2.0.10", - "erc20:eth:DEX": "2.0.10", - "erc20:eth:DF": "2.3.0", - "erc20:eth:DGD": "2.5.2", - "erc20:eth:DGPT": "2.0.7", - "erc20:eth:DGS": "2.0.8", - "erc20:eth:DGX": "2.0.7", - "erc20:eth:DGX1": "2.0.8", - "erc20:eth:DICE": "2.0.7", - "erc20:eth:DIP": "2.0.8", - "erc20:eth:DIRTY": "2.4.2", - "erc20:eth:DIT": "2.0.10", - "erc20:eth:DIVX": "2.0.7", - "erc20:eth:DKP": "2.0.7", - "erc20:eth:DLT": "2.0.7", - "erc20:eth:DMT": "2.0.7", - "erc20:eth:DNA": "2.0.10", - "erc20:eth:DNA:deprecated": "2.3.7", - "erc20:eth:DNT": "2.0.7", - "erc20:eth:DNX": "2.0.7", - "erc20:eth:DOCK": "2.0.10", - "erc20:eth:DONK": "2.4.2", - "erc20:eth:DONUT": "2.3.0", - "erc20:eth:DOR": "2.0.10", - "erc20:eth:DOV": "2.0.10", - "erc20:eth:DPP": "2.0.7", - "erc20:eth:DREAM": "2.0.11", - "erc20:eth:DRGN": "2.0.7", - "erc20:eth:DRPU": "2.0.10", - "erc20:eth:DRT": "2.0.10", - "erc20:eth:DRVH": "2.0.8", - "erc20:eth:DSC": "2.0.7", - "erc20:eth:DSCP": "2.0.8", - "erc20:eth:DST": "2.0.11", - "erc20:eth:DTH": "2.0.7", - "erc20:eth:DTR": "2.0.7", - "erc20:eth:DTRC": "2.0.10", - "erc20:eth:DTT": "2.0.7", - "erc20:eth:DUCAT": "2.3.0", - "erc20:eth:DXR": "2.3.0", - "erc20:eth:DXT": "2.0.10", - "erc20:eth:Devcon2 Token": "2.0.7", - "erc20:eth:E4ROW": "2.0.10", - "erc20:eth:EAGLE": "2.0.7", - "erc20:eth:EARTH": "2.0.10", - "erc20:eth:EBC": "2.0.10", - "erc20:eth:EBTC": "2.0.11", - "erc20:eth:ECGO": "2.4.3", - "erc20:eth:ECN": "2.0.7", - "erc20:eth:ECO2": "2.0.7", - "erc20:eth:ECOM": "2.0.10", - "erc20:eth:EDC": "2.0.7", - "erc20:eth:EDG": "2.0.7", - "erc20:eth:EDI": "2.3.1", - "erc20:eth:EDO": "2.0.7", - "erc20:eth:EDR": "2.0.8", - "erc20:eth:EDU": "2.0.11", - "erc20:eth:EDX": "2.3.0", - "erc20:eth:EGG": "2.3.0", - "erc20:eth:EGT": "2.0.11", - "erc20:eth:EGX": "2.3.0", - "erc20:eth:EHT": "2.0.7", - "erc20:eth:EKO": "2.0.10", - "erc20:eth:EKT": "2.0.10", - "erc20:eth:ELEC": "2.0.10", - "erc20:eth:ELF": "2.0.7", - "erc20:eth:ELIX": "2.0.7", - "erc20:eth:ELTCOIN": "2.0.7", - "erc20:eth:ELY": "2.0.8", - "erc20:eth:EMB": "2.3.0", - "erc20:eth:EMON": "2.0.7", - "erc20:eth:EMONT": "2.0.7", - "erc20:eth:EMT": "2.0.7", - "erc20:eth:EMV": "2.0.7", - "erc20:eth:ENC": "2.0.7", - "erc20:eth:ENG": "2.0.7", - "erc20:eth:ENGT": "2.0.11", - "erc20:eth:ENJ": "2.0.7", - "erc20:eth:ENQ": "2.3.0", - "erc20:eth:ENTRP": "2.0.7", - "erc20:eth:EPH": "2.1.8", - "erc20:eth:EPX": "2.0.7", - "erc20:eth:EPY": "2.0.10", - "erc20:eth:EQL": "2.0.10", - "erc20:eth:ERO": "2.0.10", - "erc20:eth:ERT": "2.0.10", - "erc20:eth:ESB": "2.3.0", - "erc20:eth:ESZ": "2.0.7", - "erc20:eth:ETBS": "2.0.7", - "erc20:eth:ETCH": "2.0.7", - "erc20:eth:ETG": "2.0.10", - "erc20:eth:ETHB": "2.0.7", - "erc20:eth:ETHBNT": "2.3.0", - "erc20:eth:ETHD": "2.0.10", - "erc20:eth:ETHPAY": "2.1.8", - "erc20:eth:ETK": "2.0.10", - "erc20:eth:ETR": "2.0.7", - "erc20:eth:EUCX": "2.1.8", - "erc20:eth:EURS": "2.0.10", - "erc20:eth:EURT": "2.0.7", - "erc20:eth:EVC": "2.0.10", - "erc20:eth:EVCO": "2.3.0", - "erc20:eth:EVE": "2.0.7", - "erc20:eth:EVED": "2.1.8", - "erc20:eth:EVF": "2.3.0", - "erc20:eth:EVO": "2.3.0", - "erc20:eth:EVX": "2.0.7", - "erc20:eth:EWO": "2.0.10", - "erc20:eth:EXE": "2.1.8", - "erc20:eth:EXMR": "2.0.7", - "erc20:eth:EXR": "2.3.0", - "erc20:eth:EXRN": "2.0.10", - "erc20:eth:EXU": "2.1.8", - "erc20:eth:EXY": "2.0.8", - "erc20:eth:EZT": "2.0.10", - "erc20:eth:E\u20b9": "2.0.8", - "erc20:eth:FABA": "2.0.10", - "erc20:eth:FACE": "2.0.10", - "erc20:eth:FAM": "2.0.7", - "erc20:eth:FAME": "2.3.0", - "erc20:eth:FAN": "2.0.8", - "erc20:eth:FAR": "2.3.0", - "erc20:eth:FARM": "2.1.8", - "erc20:eth:FDZ": "2.0.10", - "erc20:eth:FER": "2.1.8", - "erc20:eth:FGP": "2.0.10", - "erc20:eth:FID": "2.0.10", - "erc20:eth:FIG": "2.3.0", - "erc20:eth:FIH": "2.0.11", - "erc20:eth:FKX": "2.0.7", - "erc20:eth:FLIXX": "2.0.7", - "erc20:eth:FLOT": "2.0.10", - "erc20:eth:FLP": "2.0.7", - "erc20:eth:FLR": "2.0.7", - "erc20:eth:FLUZ": "2.0.7", - "erc20:eth:FMF": "2.0.11", - "erc20:eth:FMTA": "2.3.7", - "erc20:eth:FND": "2.0.7", - "erc20:eth:FNKOS": "2.0.10", - "erc20:eth:FNTB": "2.0.10", - "erc20:eth:FOAM": "2.3.0", - "erc20:eth:FOOD": "2.0.10", - "erc20:eth:FORK": "2.3.0", - "erc20:eth:FOTA": "2.0.10", - "erc20:eth:FOX": "2.1.8", - "erc20:eth:FR8": "2.0.11", - "erc20:eth:FRD": "2.0.7", - "erc20:eth:FREC": "2.0.10", - "erc20:eth:FRECNX": "2.1.8", - "erc20:eth:FRV": "2.0.10", - "erc20:eth:FRX": "2.1.8", - "erc20:eth:FT": "2.0.10", - "erc20:eth:FTI": "2.0.10", - "erc20:eth:FTM": "2.3.1", - "erc20:eth:FTR": "2.0.7", - "erc20:eth:FTT": "2.0.7", - "erc20:eth:FTX": "2.0.10", - "erc20:eth:FTXT": "2.0.8", - "erc20:eth:FUEL": "2.0.7", - "erc20:eth:FUN": "2.0.7", - "erc20:eth:FXT": "2.0.10", - "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:GATE": "2.4.2", - "erc20:eth:GAVEL": "2.0.7", - "erc20:eth:GBO": "2.1.8", - "erc20:eth:GBT": "2.0.7", - "erc20:eth:GBX": "2.0.7", - "erc20:eth:GC": "2.1.8", - "erc20:eth:GCG": "2.3.0", - "erc20:eth:GCP": "2.0.7", - "erc20:eth:GCU": "2.1.8", - "erc20:eth:GCX": "2.1.8", - "erc20:eth:GDAO": "2.4.2", - "erc20:eth:GEE": "2.0.7", - "erc20:eth:GEFT": "2.3.1", - "erc20:eth:GELD": "2.0.7", - "erc20:eth:GEM": "2.0.10", - "erc20:eth:GEN": "2.0.7", - "erc20:eth:GENE": "2.0.11", - "erc20:eth:GET": "2.0.7", - "erc20:eth:GFN": "2.3.0", - "erc20:eth:GGC": "2.1.8", - "erc20:eth:GHX": "2.3.7", - "erc20:eth:GIF": "2.0.7", - "erc20:eth:GIM": "2.0.7", - "erc20:eth:GIRL": "2.1.8", - "erc20:eth:GIV": "2.5.4", - "erc20:eth:GL": "2.3.1", - "erc20:eth:GLA": "2.0.10", - "erc20:eth:GMB": "2.5.2", - "erc20:eth:GNO": "2.0.7", - "erc20:eth:GNT": "2.5.2", - "erc20:eth:GNX": "2.0.10", - "erc20:eth:GNY": "2.0.10", - "erc20:eth:GOLDX": "2.0.7", - "erc20:eth:GOT": "2.0.10", - "erc20:eth:GOVI": "2.3.7", - "erc20:eth:GR": "2.3.7", - "erc20:eth:GRG": "2.3.0", - "erc20:eth:GRID": "2.0.7", - "erc20:eth:GRMD": "2.0.10", - "erc20:eth:GROO": "2.0.10", - "erc20:eth:GROW": "2.0.7", - "erc20:eth:GRT": "2.3.7", - "erc20:eth:GSC": "2.0.10", - "erc20:eth:GSE": "2.0.8", - "erc20:eth:GST2": "2.3.0", - "erc20:eth:GTC": "2.0.7", - "erc20:eth:GTEC": "2.5.4", - "erc20:eth:GTH": "2.5.2", - "erc20:eth:GTKT": "2.0.7", - "erc20:eth:GTO": "2.0.7", - "erc20:eth:GUESS": "2.0.10", - "erc20:eth:GULD": "2.0.8", - "erc20:eth:GUP": "2.5.2", - "erc20:eth:GUSD": "2.0.11", - "erc20:eth:GVT": "2.0.7", - "erc20:eth:GXC": "2.0.7", - "erc20:eth:GXVC": "2.0.7", - "erc20:eth:GZB": "2.0.11", - "erc20:eth:GZE": "2.0.7", - "erc20:eth:GZM": "2.4.2", - "erc20:eth:GZR": "2.0.7", - "erc20:eth:HABS": "2.1.8", - "erc20:eth:HAK": "2.3.0", - "erc20:eth:HAND": "2.0.10", - "erc20:eth:HAPPY": "2.0.8", - "erc20:eth:HAREM": "2.4.2", - "erc20:eth:HAT": "2.0.7", - "erc20:eth:HB": "2.0.10", - "erc20:eth:HBT": "2.0.10", - "erc20:eth:HBZ": "2.0.10", - "erc20:eth:HDG": "2.0.7", - "erc20:eth:HDL": "2.0.10", - "erc20:eth:HDLRE": "2.1.8", - "erc20:eth:HEM": "2.3.0", - "erc20:eth:HER": "2.0.10", - "erc20:eth:HEX:2b59": "2.4.3", - "erc20:eth:HEY": "2.3.0", - "erc20:eth:HGT": "2.0.7", - "erc20:eth:HIBT": "2.0.8", - "erc20:eth:HIG": "2.0.7", - "erc20:eth:HIN": "2.1.8", - "erc20:eth:HKG": "2.0.7", - "erc20:eth:HKN": "2.0.10", - "erc20:eth:HKY": "2.0.7", - "erc20:eth:HLX": "2.0.10", - "erc20:eth:HMC": "2.0.10", - "erc20:eth:HMQ": "2.0.7", - "erc20:eth:HNI": "2.3.0", - "erc20:eth:HNST": "2.3.0", - "erc20:eth:HODL": "2.0.7", - "erc20:eth:HORSE": "2.0.7", - "erc20:eth:HOT (Holo)": "2.0.11", - "erc20:eth:HOT (Hydro)": "2.0.11", - "erc20:eth:HPB": "2.1.8", - "erc20:eth:HST": "2.0.7", - "erc20:eth:HT": "2.0.10", - "erc20:eth:HTX": "2.3.0", - "erc20:eth:HUB": "2.3.7", - "erc20:eth:HUBS": "2.1.8", - "erc20:eth:HUR": "2.3.0", - "erc20:eth:HUSL": "2.3.0", - "erc20:eth:HV": "2.3.0", - "erc20:eth:HVN": "2.0.7", - "erc20:eth:HYDRO": "2.0.7", - "erc20:eth:IAD": "2.0.7", - "erc20:eth:ICD": "2.1.8", - "erc20:eth:ICE": "2.0.7", - "erc20:eth:ICN": "2.0.7", - "erc20:eth:ICO": "2.0.7", - "erc20:eth:ICOS": "2.0.7", - "erc20:eth:ID": "2.4.2", - "erc20:eth:ID7": "2.3.0", - "erc20:eth:IDEA": "2.0.7", - "erc20:eth:IDH": "2.0.10", - "erc20:eth:IDRT": "2.1.8", - "erc20:eth:IDXM": "2.0.10", - "erc20:eth:IFT": "2.0.7", - "erc20:eth:IG": "2.0.10", - "erc20:eth:IGI": "2.1.8", - "erc20:eth:IHT": "2.0.10", - "erc20:eth:IIC": "2.0.7", - "erc20:eth:IKB": "2.0.7", - "erc20:eth:IMC": "2.0.7", - "erc20:eth:IND": "2.0.7", - "erc20:eth:INF": "2.3.0", - "erc20:eth:ING": "2.0.10", - "erc20:eth:INRM": "2.0.7", - "erc20:eth:INS": "2.0.7", - "erc20:eth:INSTAR": "2.0.7", - "erc20:eth:INT": "2.0.10", - "erc20:eth:INX": "2.3.0", - "erc20:eth:INXT": "2.0.7", - "erc20:eth:IOST": "2.0.7", - "erc20:eth:IOTX": "2.0.7", - "erc20:eth:IPL": "2.0.7", - "erc20:eth:IPSX": "2.0.7", - "erc20:eth:IQN": "2.0.8", - "erc20:eth:ISL": "2.1.8", - "erc20:eth:IST34": "2.0.8", - "erc20:eth:ITC": "2.0.7", - "erc20:eth:ITO": "2.3.0", - "erc20:eth:ITO:deprecated": "2.3.1", - "erc20:eth:ITR": "2.3.7", - "erc20:eth:ITT": "2.0.7", - "erc20:eth:IVY": "2.0.10", - "erc20:eth:IXT": "2.0.7", - "erc20:eth:IoT": "2.0.7", - "erc20:eth:J8T": "2.0.7", - "erc20:eth:JASMY": "2.3.7", - "erc20:eth:JBD": "2.3.0", - "erc20:eth:JBX": "2.3.0", - "erc20:eth:JC": "2.0.10", - "erc20:eth:JNT": "2.0.7", - "erc20:eth:JOB:dfbc": "2.4.3", - "erc20:eth:JOT": "2.0.10", - "erc20:eth:JOY": "2.0.7", - "erc20:eth:JSE": "2.3.0", - "erc20:eth:KAN": "2.0.10", - "erc20:eth:KAPA": "2.1.8", - "erc20:eth:KC": "2.5.2", - "erc20:eth:KCS": "2.3.0", - "erc20:eth:KEE": "2.0.7", - "erc20:eth:KIN": "2.0.7", - "erc20:eth:KIND": "2.0.10", - "erc20:eth:KLOWN": "2.1.8", - "erc20:eth:KMTBA": "2.1.8", - "erc20:eth:KNC": "2.0.7", - "erc20:eth:KNDC": "2.0.10", - "erc20:eth:KNT": "2.0.10", - "erc20:eth:KPR": "2.0.7", - "erc20:eth:KPX": "2.3.0", - "erc20:eth:KRI": "2.1.8", - "erc20:eth:KRL": "2.0.7", - "erc20:eth:KRP": "2.4.2", - "erc20:eth:KRTY": "2.3.0", - "erc20:eth:KRW-G": "2.3.0", - "erc20:eth:KUE": "2.0.10", - "erc20:eth:KWATT": "2.0.10", - "erc20:eth:KXC": "2.3.0", - "erc20:eth:KZN": "2.0.7", - "erc20:eth:LA": "2.0.7", - "erc20:eth:LALA": "2.0.7", - "erc20:eth:LAMB": "2.3.0", - "erc20:eth:LATX": "2.0.10", - "erc20:eth:LBA": "2.0.10", - "erc20:eth:LCS": "2.0.10", - "erc20:eth:LDC": "2.0.7", - "erc20:eth:LDX": "2.3.0", - "erc20:eth:LEDU": "2.0.11", - "erc20:eth:LEND": "2.0.7", - "erc20:eth:LEO": "2.1.8", - "erc20:eth:LEV": "2.0.10", - "erc20:eth:LFR": "2.0.7", - "erc20:eth:LGD": "2.3.0", - "erc20:eth:LGO": "2.0.7", - "erc20:eth:LGO (old):deprecated": "2.3.0", - "erc20:eth:LGR": "2.0.7", - "erc20:eth:LIBER": "2.0.10", - "erc20:eth:LIF": "2.0.7", - "erc20:eth:LIFE": "2.0.7", - "erc20:eth:LIKE": "2.0.10", - "erc20:eth:LINK (Chainlink)": "2.0.7", - "erc20:eth:LIVE": "2.0.7", - "erc20:eth:LKY": "2.0.10", - "erc20:eth:LML": "2.0.10", - "erc20:eth:LMY": "2.3.1", - "erc20:eth:LND": "2.0.7", - "erc20:eth:LOC": "2.0.7", - "erc20:eth:LOCI": "2.0.7", - "erc20:eth:LOCUS": "2.0.7", - "erc20:eth:LOK": "2.0.7", - "erc20:eth:LOOK": "2.0.8", - "erc20:eth:LOOKS": "2.5.2", - "erc20:eth:LOOM": "2.0.7", - "erc20:eth:LOOM:deprecated": "2.5.4", - "erc20:eth:LOVE": "2.0.8", - "erc20:eth:LPT": "2.0.7", - "erc20:eth:LQD": "2.3.0", - "erc20:eth:LRC": "2.0.7", - "erc20:eth:LRC (old):deprecated": "2.3.0", - "erc20:eth:LUC": "2.0.7", - "erc20:eth:LUCHOW": "2.4.4", - "erc20:eth:LUCK": "2.0.7", - "erc20:eth:LULU": "2.3.0", - "erc20:eth:LUM": "2.0.7", - "erc20:eth:LUN": "2.0.7", - "erc20:eth:LVN": "2.1.8", - "erc20:eth:LYS": "2.0.7", - "erc20:eth:M-ETH": "2.0.7", - "erc20:eth:MAD": "2.0.7", - "erc20:eth:MAGIC": "2.5.2", - "erc20:eth:MAN": "2.0.7", - "erc20:eth:MANA": "2.0.7", - "erc20:eth:MART": "2.0.7", - "erc20:eth:MAS": "2.3.0", - "erc20:eth:MATIC": "2.3.0", - "erc20:eth:MBCASH": "2.3.0", - "erc20:eth:MBRS": "2.0.7", - "erc20:eth:MCAP": "2.0.7", - "erc20:eth:MCI": "2.0.7", - "erc20:eth:MCO": "2.0.7", - "erc20:eth:MDA": "2.0.7", - "erc20:eth:MDT": "2.0.10", - "erc20:eth:MDX": "2.3.7", - "erc20:eth:MEDCASH": "2.4.4", - "erc20:eth:MEDX": "2.0.10", - "erc20:eth:MEME": "2.3.7", - "erc20:eth:MESG": "2.1.8", - "erc20:eth:MEST": "2.0.7", - "erc20:eth:METM": "2.0.10", - "erc20:eth:MFG": "2.0.7", - "erc20:eth:MFT": "2.0.8", - "erc20:eth:MFTU": "2.0.8", - "erc20:eth:MGN": "2.3.0", - "erc20:eth:MGO": "2.0.7", - "erc20:eth:MHLK": "2.3.0", - "erc20:eth:MIC": "2.0.10", - "erc20:eth:MILC": "2.3.0", - "erc20:eth:MINDS": "2.4.2", - "erc20:eth:MITH": "2.3.0", - "erc20:eth:MITX": "2.0.11", - "erc20:eth:MKR": "2.5.2", - "erc20:eth:MKT": "2.0.7", - "erc20:eth:MLN (new)": "2.5.2", - "erc20:eth:MLN (old):deprecated": "2.5.2", - "erc20:eth:MM": "2.4.3", - "erc20:eth:MNE": "2.0.7", - "erc20:eth:MNL": "2.3.7", - "erc20:eth:MNT": "2.0.7", - "erc20:eth:MNTP": "2.0.7", - "erc20:eth:MOD": "2.0.7", - "erc20:eth:MORE": "2.3.0", - "erc20:eth:MOT": "2.0.10", - "erc20:eth:MOZO": "2.0.10", - "erc20:eth:MRK": "2.0.10", - "erc20:eth:MRL": "2.0.7", - "erc20:eth:MRP": "2.0.7", - "erc20:eth:MRS": "2.4.2", - "erc20:eth:MRV": "2.0.7", - "erc20:eth:MSP": "2.0.7", - "erc20:eth:MTA": "2.3.7", - "erc20:eth:MTH": "2.0.7", - "erc20:eth:MTL": "2.0.7", - "erc20:eth:MTN": "2.0.7", - "erc20:eth:MTR": "2.0.7", - "erc20:eth:MTRc": "2.0.7", - "erc20:eth:MTX": "2.0.7", - "erc20:eth:MUSH": "2.4.2", - "erc20:eth:MUXE": "2.0.7", - "erc20:eth:MVG": "2.1.8", - "erc20:eth:MVL": "2.0.10", - "erc20:eth:MVP": "2.0.7", - "erc20:eth:MWAT": "2.0.7", - "erc20:eth:MYD": "2.0.7", - "erc20:eth:MYST": "2.0.7", - "erc20:eth:MYST:deprecated": "2.3.7", - "erc20:eth:NAC": "2.0.7", - "erc20:eth:NAMTC": "2.3.0", - "erc20:eth:NAMTT": "2.3.0", - "erc20:eth:NANJ": "2.0.7", - "erc20:eth:NAOS": "2.4.2", - "erc20:eth:NAS": "2.0.10", - "erc20:eth:NAVI": "2.0.7", - "erc20:eth:NBAI": "2.0.7", - "erc20:eth:NBC": "2.0.10", - "erc20:eth:NCASH": "2.0.11", - "erc20:eth:NCR": "2.3.7", - "erc20:eth:NCT": "2.0.7", - "erc20:eth:NDC": "2.0.7", - "erc20:eth:NDX": "2.0.11", - "erc20:eth:NEC": "2.0.7", - "erc20:eth:NEEO": "2.0.10", - "erc20:eth:NET": "2.0.7", - "erc20:eth:NEU": "2.0.7", - "erc20:eth:NEWB": "2.0.10", - "erc20:eth:NEXO": "2.0.10", - "erc20:eth:NFTL": "2.5.2", - "erc20:eth:NGC": "2.0.7", - "erc20:eth:NIMFA": "2.0.7", - "erc20:eth:NKN": "2.3.0", - "erc20:eth:NLYA": "2.1.8", - "erc20:eth:NMR": "2.0.7", - "erc20:eth:NOAH": "2.0.10", - "erc20:eth:NOBS": "2.0.10", - "erc20:eth:NONE": "2.5.2", - "erc20:eth:NOT": "2.3.0", - "erc20:eth:NOX": "2.0.7", - "erc20:eth:NPER": "2.0.7", - "erc20:eth:NPX": "2.0.10", - "erc20:eth:NPXS": "2.0.7", - "erc20:eth:NRM": "2.1.8", - "erc20:eth:NTO": "2.0.10", - "erc20:eth:NTWK": "2.0.10", - "erc20:eth:NU": "2.3.7", - "erc20:eth:NUG": "2.0.8", - "erc20:eth:NUKE": "2.3.0", - "erc20:eth:NULS": "2.0.7", - "erc20:eth:NUMA": "2.3.0", - "erc20:eth:NUSD": "2.1.8", - "erc20:eth:NXX": "2.0.7", - "erc20:eth:NxC": "2.0.7", - "erc20:eth:OAK": "2.0.7", - "erc20:eth:OAX": "2.0.7", - "erc20:eth:OBC": "2.4.2", - "erc20:eth:OCC": "2.0.7", - "erc20:eth:OCEAN": "2.3.7", - "erc20:eth:OCEAN:deprecated": "2.3.7", - "erc20:eth:OCN": "2.0.10", - "erc20:eth:OCTO": "2.3.7", - "erc20:eth:ODE": "2.0.8", - "erc20:eth:OGK": "2.3.0", - "erc20:eth:OGN": "2.3.0", - "erc20:eth:OGV": "2.5.3", - "erc20:eth:OIKOS": "2.1.8", - "erc20:eth:OJX": "2.0.7", - "erc20:eth:OKB": "2.3.7", - "erc20:eth:OLDPCL": "2.3.0", - "erc20:eth:OLD_MKR": "2.0.7", - "erc20:eth:OLE": "2.0.10", - "erc20:eth:OLT": "2.0.8", - "erc20:eth:OMG": "2.0.7", - "erc20:eth:OMT": "2.0.8", - "erc20:eth:OMX": "2.0.10", - "erc20:eth:ONEK": "2.0.7", - "erc20:eth:ONG": "2.0.11", - "erc20:eth:ONL": "2.0.10", - "erc20:eth:ONOT": "2.3.0", - "erc20:eth:OPQ": "2.1.8", - "erc20:eth:OPT": "2.0.7", - "erc20:eth:OPTI": "2.0.10", - "erc20:eth:OR": "2.3.0", - "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", - "erc20:eth:OST": "2.0.7", - "erc20:eth:OTN": "2.0.10", - "erc20:eth:OTO": "2.3.0", - "erc20:eth:OTO:deprecated": "2.3.1", - "erc20:eth:OUSD": "2.3.7", - "erc20:eth:OWN": "2.0.8", - "erc20:eth:OWT": "2.3.0", - "erc20:eth:OXT": "2.3.0", - "erc20:eth:Ox Fina": "2.0.7", - "erc20:eth:P2PS": "2.1.8", - "erc20:eth:PAI": "2.0.10", - "erc20:eth:PAL": "2.0.7", - "erc20:eth:PAN": "2.3.0", - "erc20:eth:PARETO": "2.0.7", - "erc20:eth:PAT": "2.0.11", - "erc20:eth:PATENTS": "2.0.7", - "erc20:eth:PATH": "2.0.7", - "erc20:eth:PATR": "2.3.0", - "erc20:eth:PAXG": "2.1.8", - "erc20:eth:PAY": "2.0.7", - "erc20:eth:PBL": "2.0.7", - "erc20:eth:PBT": "2.0.7", - "erc20:eth:PCL": "2.0.7", - "erc20:eth:PCLOLD": "2.0.7", - "erc20:eth:PDATA": "2.0.10", - "erc20:eth:PEG": "2.0.8", - "erc20:eth:PEP": "2.3.0", - "erc20:eth:PESO": "2.1.8", - "erc20:eth:PET": "2.0.7", - "erc20:eth:PETH": "2.1.8", - "erc20:eth:PETRO": "2.0.7", - "erc20:eth:PEXT": "2.0.7", - "erc20:eth:PFB": "2.4.2", - "erc20:eth:PFR": "2.0.10", - "erc20:eth:PHI": "2.0.10", - "erc20:eth:PICKLE": "2.3.7", - "erc20:eth:PIPL": "2.0.7", - "erc20:eth:PIT": "2.0.11", - "erc20:eth:PIX": "2.0.7", - "erc20:eth:PIXIE": "2.3.7", - "erc20:eth:PKG": "2.0.10", - "erc20:eth:PKT": "2.0.10", - "erc20:eth:PLA": "2.3.0", - "erc20:eth:PLASMA": "2.0.7", - "erc20:eth:PLBT": "2.0.7", - "erc20:eth:PLR": "2.0.7", - "erc20:eth:PLS": "2.0.8", - "erc20:eth:PLU": "2.0.7", - "erc20:eth:PMA": "2.0.10", - "erc20:eth:PMNT": "2.0.10", - "erc20:eth:PNK": "2.0.10", - "erc20:eth:POA20": "2.0.10", - "erc20:eth:POE": "2.0.7", - "erc20:eth:POIN": "2.0.7", - "erc20:eth:POLL": "2.0.10", - "erc20:eth:POLY": "2.0.7", - "erc20:eth:POOL": "2.0.7", - "erc20:eth:POP": "2.0.11", - "erc20:eth:POS": "2.0.7", - "erc20:eth:POWR": "2.0.7", - "erc20:eth:PPP": "2.0.7", - "erc20:eth:PPT": "2.0.7", - "erc20:eth:PRE": "2.0.7", - "erc20:eth:PRG": "2.0.7", - "erc20:eth:PRIX": "2.0.10", - "erc20:eth:PRL": "2.0.7", - "erc20:eth:PRON": "2.0.7", - "erc20:eth:PROPS": "2.3.0", - "erc20:eth:PRS": "2.0.7", - "erc20:eth:PRSP": "2.0.7", - "erc20:eth:PSDN": "2.3.0", - "erc20:eth:PSK": "2.3.1", - "erc20:eth:PST": "2.0.10", - "erc20:eth:PT": "2.0.7", - "erc20:eth:PTC": "2.3.5", - "erc20:eth:PTON": "2.0.10", - "erc20:eth:PTOY": "2.0.7", - "erc20:eth:PTT": "2.0.10", - "erc20:eth:PTWO": "2.0.7", - "erc20:eth:PUC": "2.0.7", - "erc20:eth:PURC": "2.0.8", - "erc20:eth:PUSSY": "2.4.2", - "erc20:eth:PXG": "2.3.0", - "erc20:eth:PXT": "2.0.7", - "erc20:eth:PYLNT": "2.0.10", - "erc20:eth:PYN": "2.3.0", - "erc20:eth:QASH": "2.0.7", - "erc20:eth:QAU": "2.0.7", - "erc20:eth:QBX": "2.0.7", - "erc20:eth:QCH": "2.3.0", - "erc20:eth:QDT": "2.5.2", - "erc20:eth:QKC": "2.0.10", - "erc20:eth:QNT": "2.0.8", - "erc20:eth:QRG": "2.0.7", - "erc20:eth:QRL": "2.0.7", - "erc20:eth:QSP": "2.0.7", - "erc20:eth:QTQ": "2.0.7", - "erc20:eth:QTUM": "2.0.7", - "erc20:eth:QUN": "2.0.10", - "erc20:eth:QVT": "2.0.10", - "erc20:eth:R": "2.0.10", - "erc20:eth:RAE": "2.1.8", - "erc20:eth:RAI": "2.4.2", - "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:RBX": "2.4.4", - "erc20:eth:RCN": "2.0.7", - "erc20:eth:RDN": "2.5.2", - "erc20:eth:RDV": "2.3.0", - "erc20:eth:REA": "2.0.7", - "erc20:eth:REAL": "2.0.10", - "erc20:eth:REBL": "2.0.7", - "erc20:eth:RED": "2.0.7", - "erc20:eth:REDC": "2.0.8", - "erc20:eth:REEF": "2.3.7", - "erc20:eth:REF": "2.0.10", - "erc20:eth:REM": "2.0.10", - "erc20:eth:REMI": "2.0.11", - "erc20:eth:REN": "2.0.7", - "erc20:eth:REP": "2.5.2", - "erc20:eth:REP:deprecated": "2.5.2", - "erc20:eth:REPv2": "2.3.5", - "erc20:eth:REQ": "2.0.7", - "erc20:eth:RET": "2.3.0", - "erc20:eth:REV": "2.3.1", - "erc20:eth:REX": "2.0.7", - "erc20:eth:RFR": "2.0.7", - "erc20:eth:RGS": "2.0.10", - "erc20:eth:RHOC": "2.0.10", - "erc20:eth:RIPT": "2.0.7", - "erc20:eth:RIYA": "2.0.10", - "erc20:eth:RKT": "2.0.10", - "erc20:eth:RLC": "2.5.2", - "erc20:eth:RLT": "2.0.7", - "erc20:eth:RLTY": "2.0.7", - "erc20:eth:RLX": "2.0.7", - "erc20:eth:RMC": "2.0.10", - "erc20:eth:RMESH": "2.0.10", - "erc20:eth:RNDR": "2.0.7", - "erc20:eth:RNT": "2.0.10", - "erc20:eth:RNTB": "2.0.10", - "erc20:eth:ROC": "2.0.10", - "erc20:eth:ROCK": "2.0.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", - "erc20:eth:RSR": "2.4.4", - "erc20:eth:RTB": "2.0.10", - "erc20:eth:RTC": "2.1.8", - "erc20:eth:RTH": "2.0.10", - "erc20:eth:RTN": "2.0.7", - "erc20:eth:RUFF": "2.0.10", - "erc20:eth:RUNE": "2.0.10", - "erc20:eth:RVL": "2.0.7", - "erc20:eth:RVT": "2.0.7", - "erc20:eth:RYLT": "2.1.8", - "erc20:eth:S-A-PAT": "2.0.7", - "erc20:eth:S-ETH": "2.0.7", - "erc20:eth:SAC": "2.0.10", - "erc20:eth:SAI": "2.3.0", - "erc20:eth:SALT": "2.0.7", - "erc20:eth:SAN": "2.0.7", - "erc20:eth:SCANDI": "2.0.7", - "erc20:eth:SCL": "2.0.7", - "erc20:eth:SCRL": "2.0.10", - "erc20:eth:SEELE": "2.0.11", - "erc20:eth:SELF": "2.1.8", - "erc20:eth:SENC": "2.0.10", - "erc20:eth:SENSE": "2.0.7", - "erc20:eth:SENT": "2.0.10", - "erc20:eth:SET": "2.0.7", - "erc20:eth:SETS": "2.3.7", - "erc20:eth:SEV": "2.4.4", - "erc20:eth:SEXY": "2.0.7", - "erc20:eth:SGA": "2.3.0", - "erc20:eth:SGEL": "2.0.7", - "erc20:eth:SGN": "2.0.10", - "erc20:eth:SGP": "2.0.10", - "erc20:eth:SGR": "2.0.10", - "erc20:eth:SHIB": "2.4.3", - "erc20:eth:SHIP": "2.0.10", - "erc20:eth:SHIT": "2.0.7", - "erc20:eth:SHL": "2.0.10", - "erc20:eth:SHP": "2.0.10", - "erc20:eth:SHUF": "2.3.0", - "erc20:eth:SIBU": "2.1.8", - "erc20:eth:SIFT": "2.0.7", - "erc20:eth:SIG": "2.0.7", - "erc20:eth:SIH": "2.4.2", - "erc20:eth:SION": "2.4.2", - "erc20:eth:SKB": "2.0.10", - "erc20:eth:SKE": "2.0.11", - "erc20:eth:SKIN": "2.0.7", - "erc20:eth:SKO1": "2.0.7", - "erc20:eth:SKR": "2.0.7", - "erc20:eth:SKRT": "2.4.4", - "erc20:eth:SKYM": "2.0.11", - "erc20:eth:SLP": "2.4.3", - "erc20:eth:SLT": "2.0.7", - "erc20:eth:SLY": "2.0.8", - "erc20:eth:SMS": "2.0.10", - "erc20:eth:SNBL": "2.0.10", - "erc20:eth:SNC": "2.0.7", - "erc20:eth:SND": "2.0.7", - "erc20:eth:SNG": "2.0.7", - "erc20:eth:SNGLS": "2.0.7", - "erc20:eth:SNIP": "2.0.7", - "erc20:eth:SNM": "2.0.7", - "erc20:eth:SNOV": "2.0.7", - "erc20:eth:SNT": "2.0.7", - "erc20:eth:SNX": "2.5.4", - "erc20:eth:SOAR": "2.0.11", - "erc20:eth:SOC": "2.0.10", - "erc20:eth:SOCKS": "2.3.0", - "erc20:eth:SOL": "2.0.7", - "erc20:eth:SONIQ": "2.0.10", - "erc20:eth:SOUL": "2.0.11", - "erc20:eth:SPACE": "2.4.2", - "erc20:eth:SPANK": "2.0.7", - "erc20:eth:SPARC": "2.0.7", - "erc20:eth:SPARTA": "2.0.7", - "erc20:eth:SPAZ": "2.3.0", - "erc20:eth:SPC": "2.1.8", - "erc20:eth:SPD": "2.0.10", - "erc20:eth:SPF": "2.0.7", - "erc20:eth:SPHTX": "2.0.10", - "erc20:eth:SPICE": "2.0.10", - "erc20:eth:SPIRIT": "2.1.8", - "erc20:eth:SPN": "2.0.7", - "erc20:eth:SPT": "2.3.0", - "erc20:eth:SPX": "2.0.10", - "erc20:eth:SPZ": "2.3.0", - "erc20:eth:SRN": "2.0.7", - "erc20:eth:SRX": "2.1.8", - "erc20:eth:SSP": "2.0.10", - "erc20:eth:STABIT": "2.0.8", - "erc20:eth:STAC": "2.0.7", - "erc20:eth:STACS": "2.0.11", - "erc20:eth:STAR": "2.0.7", - "erc20:eth:STATE": "2.4.3", - "erc20:eth:STB": "2.0.10", - "erc20:eth:STC": "2.0.7", - "erc20:eth:STK": "2.0.7", - "erc20:eth:STL": "2.1.8", - "erc20:eth:STM": "2.1.8", - "erc20:eth:STN": "2.0.7", - "erc20:eth:STORJ": "2.0.7", - "erc20:eth:STORM": "2.0.7", - "erc20:eth:STP": "2.0.7", - "erc20:eth:STQ": "2.0.7", - "erc20:eth:STR": "2.0.10", - "erc20:eth:STRC": "2.0.7", - "erc20:eth:STU": "2.0.10", - "erc20:eth:STX": "2.0.7", - "erc20:eth:SUB": "2.0.7", - "erc20:eth:SUB (old):deprecated": "2.3.0", - "erc20:eth:SUR": "2.0.10", - "erc20:eth:SUSHI": "2.3.7", - "erc20:eth:SVD": "2.0.10", - "erc20:eth:SVG": "2.3.0", - "erc20:eth:SWAP": "2.3.0", - "erc20:eth:SWASH": "2.4.3", - "erc20:eth:SWFTC": "2.0.10", - "erc20:eth:SWM": "2.0.7", - "erc20:eth:SWRM": "2.5.4", - "erc20:eth:SWT": "2.0.7", - "erc20:eth:SXDT": "2.0.7", - "erc20:eth:SXR": "2.3.0", - "erc20:eth:SXUT": "2.0.7", - "erc20:eth:SYN": "2.0.7", - "erc20:eth:SYS": "2.4.4", - "erc20:eth:SYSX": "2.3.7", - "erc20:eth:SenSatorI": "2.0.7", - "erc20:eth:Skey": "2.5.4", - "erc20:eth:TALAO": "2.0.10", - "erc20:eth:TAN": "2.3.0", - "erc20:eth:TAU": "2.0.7", - "erc20:eth:TAUD": "2.3.0", - "erc20:eth:TAUR": "2.1.8", - "erc20:eth:TBC": "2.1.8", - "erc20:eth:TBC2": "2.0.7", - "erc20:eth:TBT": "2.0.7", - "erc20:eth:TBTC": "2.3.7", - "erc20:eth:TBX": "2.0.10", - "erc20:eth:TCA": "2.0.8", - "erc20:eth:TCAD": "2.3.0", - "erc20:eth:TCH": "2.0.10", - "erc20:eth:TCNX": "2.3.0", - "erc20:eth:TCST": "2.1.8", - "erc20:eth:TCT": "2.1.8", - "erc20:eth:TDH": "2.0.7", - "erc20:eth:TDX": "2.5.4", - "erc20:eth:TEAM": "2.0.10", - "erc20:eth:TECH": "2.3.0", - "erc20:eth:TEN": "2.0.10", - "erc20:eth:TENX": "2.1.8", - "erc20:eth:TFD": "2.0.10", - "erc20:eth:TFL": "2.0.7", - "erc20:eth:TGAME": "2.0.10", - "erc20:eth:TGBP": "2.3.0", - "erc20:eth:THKD": "2.3.0", - "erc20:eth:THR": "2.0.10", - "erc20:eth:THRT": "2.0.10", - "erc20:eth:THUG": "2.0.7", - "erc20:eth:TIE": "2.0.10", - "erc20:eth:TIG": "2.0.10", - "erc20:eth:TIK": "2.4.3", - "erc20:eth:TIME": "2.0.7", - "erc20:eth:TIO": "2.0.7", - "erc20:eth:TIX": "2.0.7", - "erc20:eth:TKA": "2.0.10", - "erc20:eth:TKLN": "2.0.11", - "erc20:eth:TKN": "2.0.7", - "erc20:eth:TKP": "2.4.2", - "erc20:eth:TKR": "2.0.10", - "erc20:eth:TLN": "2.3.0", - "erc20:eth:TLX": "2.0.8", - "erc20:eth:TMT": "2.0.10", - "erc20:eth:TMTG": "2.3.0", - "erc20:eth:TNB": "2.3.0", - "erc20:eth:TNO": "2.4.2", - "erc20:eth:TNS": "2.0.10", - "erc20:eth:TNT": "2.0.7", - "erc20:eth:TOK": "2.0.11", - "erc20:eth:TOMO": "2.0.10", - "erc20:eth:TOOR": "2.0.8", - "erc20:eth:TRAC": "2.0.10", - "erc20:eth:TRAK": "2.0.10", - "erc20:eth:TRCN": "2.0.7", - "erc20:eth:TRCT": "2.0.10", - "erc20:eth:TRDT": "2.0.10", - "erc20:eth:TRST": "2.0.7", - "erc20:eth:TRUCCO": "2.5.4", - "erc20:eth:TRYB": "2.3.0", - "erc20:eth:TSW": "2.0.8", - "erc20:eth:TTA": "2.0.10", - "erc20:eth:TTC": "2.0.11", - "erc20:eth:TTU": "2.0.10", - "erc20:eth:TTV": "2.3.0", - "erc20:eth:TUSD": "2.0.10", - "erc20:eth:TWN": "2.0.7", - "erc20:eth:TWNKL": "2.0.7", - "erc20:eth:TaaS": "2.0.7", - "erc20:eth:Thar": "2.3.0", - "erc20:eth:UAT": "2.3.0", - "erc20:eth:UBEX": "2.1.8", - "erc20:eth:UBT": "2.0.10", - "erc20:eth:UCASH": "2.0.10", - "erc20:eth:UCBI": "2.1.8", - "erc20:eth:UCN": "2.0.10", - "erc20:eth:UFR": "2.0.10", - "erc20:eth:UKG": "2.0.7", - "erc20:eth:UMB": "2.3.7", - "erc20:eth:UNI": "2.3.7", - "erc20:eth:UP": "2.0.10", - "erc20:eth:UPP": "2.0.10", - "erc20:eth:UQC": "2.0.7", - "erc20:eth:URAC": "2.3.0", - "erc20:eth:URB": "2.0.8", - "erc20:eth:USC": "2.3.0", - "erc20:eth:USD-G": "2.3.0", - "erc20:eth:USDC": "2.0.8", - "erc20:eth:USDM": "2.0.7", - "erc20:eth:USDP": "2.5.4", - "erc20:eth:USDS": "2.0.11", - "erc20:eth:USDT": "2.0.10", - "erc20:eth:USDx": "2.3.0", - "erc20:eth:UTK": "2.0.7", - "erc20:eth:UTK:deprecated": "2.3.7", - "erc20:eth:UTNP": "2.0.11", - "erc20:eth:UTT": "2.0.10", - "erc20:eth:UUU": "2.0.7", - "erc20:eth:Unicorn": "2.0.7", - "erc20:eth:VALOR": "2.1.8", - "erc20:eth:VBX": "2.3.0", - "erc20:eth:VD": "2.3.0", - "erc20:eth:VDG": "2.0.8", - "erc20:eth:VDOC": "2.0.7", - "erc20:eth:VEE": "2.0.7", - "erc20:eth:VEGA": "2.4.4", - "erc20:eth:VEGAN": "2.3.0", - "erc20:eth:VENUS": "2.0.7", - "erc20:eth:VERI": "2.0.7", - "erc20:eth:VERSI": "2.1.8", - "erc20:eth:VIB": "2.0.7", - "erc20:eth:VIBE": "2.0.11", - "erc20:eth:VIBEX": "2.0.11", - "erc20:eth:VID": "2.1.8", - "erc20:eth:VIDT": "2.3.0", - "erc20:eth:VIEW": "2.0.7", - "erc20:eth:VIKKY": "2.0.10", - "erc20:eth:VIN": "2.0.10", - "erc20:eth:VIT": "2.0.7", - "erc20:eth:VITE": "2.0.10", - "erc20:eth:VIU": "2.0.7", - "erc20:eth:VLD": "2.0.7", - "erc20:eth:VMC": "2.3.0", - "erc20:eth:VN": "2.3.0", - "erc20:eth:VNTY": "2.1.8", - "erc20:eth:VNXLU": "2.3.0", - "erc20:eth:VOC": "2.0.7", - "erc20:eth:VOISE": "2.0.7", - "erc20:eth:VR": "2.5.2", - "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", - "erc20:eth:VZT": "2.0.10", - "erc20:eth:Viz": "2.3.0", - "erc20:eth:WAB": "2.0.10", - "erc20:eth:WABI": "2.0.11", - "erc20:eth:WAK": "2.3.0", - "erc20:eth:WATT": "2.0.8", - "erc20:eth:WAX": "2.0.7", - "erc20:eth:WAY": "2.1.8", - "erc20:eth:WBA": "2.0.7", - "erc20:eth:WBTC": "2.0.11", - "erc20:eth:WBX": "2.3.7", - "erc20:eth:WCK": "2.3.0", - "erc20:eth:WCN": "2.0.7", - "erc20:eth:WCT": "2.0.7", - "erc20:eth:WDOGE": "2.5.4", - "erc20:eth:WEB": "2.0.10", - "erc20:eth:WETH": "2.0.7", - "erc20:eth:WHEN": "2.0.7", - "erc20:eth:WIB": "2.3.0", - "erc20:eth:WILC": "2.3.7", - "erc20:eth:WILD": "2.0.7", - "erc20:eth:WIN": "2.0.10", - "erc20:eth:WINGS": "2.0.7", - "erc20:eth:WISH": "2.0.10", - "erc20:eth:WLKR": "2.4.4", - "erc20:eth:WLKRR": "2.4.4", - "erc20:eth:WMA": "2.4.2", - "erc20:eth:WMK": "2.0.8", - "erc20:eth:WNK": "2.0.8", - "erc20:eth:WOC": "2.0.11", - "erc20:eth:WOUSD": "2.5.3", - "erc20:eth:WPC": "2.0.7", - "erc20:eth:WPR": "2.0.7", - "erc20:eth:WRC": "2.0.10", - "erc20:eth:WRK": "2.0.7", - "erc20:eth:WSS": "2.1.8", - "erc20:eth:WTT": "2.0.10", - "erc20:eth:WWX": "2.3.0", - "erc20:eth:WYS": "2.0.7", - "erc20:eth:WYV": "2.0.7", - "erc20:eth:X8X": "2.0.7", - "erc20:eth:XAMP": "2.3.5", - "erc20:eth:XAUR": "2.0.7", - "erc20:eth:XBL": "2.0.10", - "erc20:eth:XBP": "2.0.7", - "erc20:eth:XCC": "2.0.7", - "erc20:eth:XCHF": "2.0.11", - "erc20:eth:XCL": "2.3.0", - "erc20:eth:XCLR": "2.0.10", - "erc20:eth:XDATA": "2.5.4", - "erc20:eth:XDCE": "2.0.10", - "erc20:eth:XES": "2.0.10", - "erc20:eth:XET": "2.0.10", - "erc20:eth:XFS": "2.0.7", - "erc20:eth:XGG": "2.0.7", - "erc20:eth:XGM": "2.0.7", - "erc20:eth:XGT": "2.0.7", - "erc20:eth:XHT": "2.3.0", - "erc20:eth:XID": "2.0.7", - "erc20:eth:XIO": "2.3.0", - "erc20:eth:XLX": "2.3.0", - "erc20:eth:XMCT": "2.0.10", - "erc20:eth:XMX": "2.0.10", - "erc20:eth:XNK": "2.0.7", - "erc20:eth:XNN": "2.0.7", - "erc20:eth:XNT": "2.0.7", - "erc20:eth:XOV": "2.0.10", - "erc20:eth:XPA": "2.0.10", - "erc20:eth:XPAT": "2.0.11", - "erc20:eth:XPAY": "2.1.8", - "erc20:eth:XPR": "2.3.1", - "erc20:eth:XPT": "2.3.0", - "erc20:eth:XRL": "2.0.7", - "erc20:eth:XSC": "2.0.7", - "erc20:eth:XSGD": "2.3.1", - "erc20:eth:XYO": "2.0.10", - "erc20:eth:YAM": "2.3.7", - "erc20:eth:YAMv2": "2.3.7", - "erc20:eth:YEE": "2.0.10", - "erc20:eth:YFI": "2.3.7", - "erc20:eth:YFII": "2.3.7", - "erc20:eth:YFV": "2.3.7", - "erc20:eth:YNN": "2.3.0", - "erc20:eth:YOUC": "2.3.7", - "erc20:eth:YOYOW": "2.0.10", - "erc20:eth:YTRO": "2.1.8", - "erc20:eth:ZAP": "2.0.7", - "erc20:eth:ZCN": "2.0.10", - "erc20:eth:ZCO": "2.0.10", - "erc20:eth:ZCS": "2.0.7", - "erc20:eth:ZDC": "2.3.0", - "erc20:eth:ZENI": "2.5.2", - "erc20:eth:ZERA": "2.1.8", - "erc20:eth:ZEUS": "2.0.11", - "erc20:eth:ZINC": "2.0.10", - "erc20:eth:ZIP": "2.0.10", - "erc20:eth:ZIPT": "2.0.10", - "erc20:eth:ZIX": "2.0.11", - "erc20:eth:ZLA": "2.0.10", - "erc20:eth:ZMAN": "2.1.8", - "erc20:eth:ZMN": "2.0.7", - "erc20:eth:ZPR": "2.0.10", - "erc20:eth:ZRX": "2.5.2", - "erc20:eth:ZST": "2.0.7", - "erc20:eth:ZTX": "2.0.10", - "erc20:eth:ZXC": "2.0.10", - "erc20:eth:aBAT": "2.3.0", - "erc20:eth:aETH": "2.5.2", - "erc20:eth:aKNC": "2.3.0", - "erc20:eth:aLEND": "2.3.0", - "erc20:eth:aLINK": "2.3.0", - "erc20:eth:aMANA": "2.3.0", - "erc20:eth:aREP": "2.3.0", - "erc20:eth:aTUSD": "2.3.0", - "erc20:eth:aUSDC": "2.3.0", - "erc20:eth:aUSDT": "2.3.0", - "erc20:eth:aWBTC": "2.3.0", - "erc20:eth:cBAT": "2.1.8", - "erc20:eth:cDAI": "2.3.0", - "erc20:eth:cETH": "2.1.8", - "erc20:eth:cREP": "2.1.8", - "erc20:eth:cSai": "2.3.0", - "erc20:eth:cUSDC": "2.1.8", - "erc20:eth:cV": "2.0.7", - "erc20:eth:cWBTC": "2.3.0", - "erc20:eth:cZRX": "2.1.8", - "erc20:eth:dDai": "2.3.0", - "erc20:eth:dLBAT2x": "2.3.0", - "erc20:eth:dLBAT3x": "2.3.0", - "erc20:eth:dLBAT4x": "2.3.0", - "erc20:eth:dLKNC2x": "2.3.0", - "erc20:eth:dLKNC3x": "2.3.0", - "erc20:eth:dLKNC4x": "2.3.0", - "erc20:eth:dLLINK2x": "2.3.0", - "erc20:eth:dLLINK3x": "2.3.0", - "erc20:eth:dLLINK4x": "2.3.0", - "erc20:eth:dLREP2x": "2.3.0", - "erc20:eth:dLREP3x": "2.3.0", - "erc20:eth:dLREP4x": "2.3.0", - "erc20:eth:dLWBTC2x": "2.3.0", - "erc20:eth:dLWBTC3x": "2.3.0", - "erc20:eth:dLWBTC4x": "2.3.0", - "erc20:eth:dLZRX2x": "2.3.0", - "erc20:eth:dLZRX3x": "2.3.0", - "erc20:eth:dLZRX4x": "2.3.0", - "erc20:eth:dUSDC": "2.3.0", - "erc20:eth:dsBAT": "2.3.0", - "erc20:eth:dsBAT2x": "2.3.0", - "erc20:eth:dsBAT3x": "2.3.0", - "erc20:eth:dsBAT4x": "2.3.0", - "erc20:eth:dsKNC": "2.3.0", - "erc20:eth:dsKNC2x": "2.3.0", - "erc20:eth:dsKNC3x": "2.3.0", - "erc20:eth:dsKNC4x": "2.3.0", - "erc20:eth:dsLINK": "2.3.0", - "erc20:eth:dsLINK2x": "2.3.0", - "erc20:eth:dsLINK3x": "2.3.0", - "erc20:eth:dsLINK4x": "2.3.0", - "erc20:eth:dsREP": "2.3.0", - "erc20:eth:dsREP2x": "2.3.0", - "erc20:eth:dsREP3x": "2.3.0", - "erc20:eth:dsREP4x": "2.3.0", - "erc20:eth:dsWBTC": "2.3.0", - "erc20:eth:dsWBTC2x": "2.3.0", - "erc20:eth:dsWBTC3x": "2.3.0", - "erc20:eth:dsWBTC4x": "2.3.0", - "erc20:eth:dsZRX": "2.3.0", - "erc20:eth:dsZRX2x": "2.3.0", - "erc20:eth:dsZRX3x": "2.3.0", - "erc20:eth:dsZRX4x": "2.3.0", - "erc20:eth:eBCH": "2.0.7", - "erc20:eth:eGAS": "2.0.7", - "erc20:eth:eUSD": "2.0.7", - "erc20:eth:eosDAC": "2.0.7", - "erc20:eth:fstETHDAI": "2.3.1", - "erc20:eth:iBAT": "2.3.0", - "erc20:eth:iBBT": "2.5.4", - "erc20:eth:iBNB": "2.3.0", - "erc20:eth:iBTC": "2.3.0", - "erc20:eth:iCEX": "2.3.0", - "erc20:eth:iDEFI": "2.3.0", - "erc20:eth:iKNC": "2.3.0", - "erc20:eth:iLTC": "2.3.0", - "erc20:eth:iMKR": "2.3.0", - "erc20:eth:iREP": "2.3.0", - "erc20:eth:iSAI": "2.3.0", - "erc20:eth:iTRX": "2.3.0", - "erc20:eth:iUSDC": "2.3.0", - "erc20:eth:iWBTC": "2.3.0", - "erc20:eth:iXRP": "2.3.0", - "erc20:eth:iXTZ": "2.3.0", - "erc20:eth:iZRX": "2.3.0", - "erc20:eth:imBTC": "2.3.0", - "erc20:eth:pBTC": "2.3.1", - "erc20:eth:pUSD": "2.3.1", - "erc20:eth:sAUD": "2.3.0", - "erc20:eth:sBNB": "2.3.0", - "erc20:eth:sBTC": "2.3.0", - "erc20:eth:sCEX": "2.3.0", - "erc20:eth:sCHF": "2.3.0", - "erc20:eth:sDEFI": "2.3.0", - "erc20:eth:sEUR": "2.3.0", - "erc20:eth:sGBP": "2.3.0", - "erc20:eth:sJPY": "2.3.0", - "erc20:eth:sLINK": "2.3.0", - "erc20:eth:sLTC": "2.3.0", - "erc20:eth:sMKR": "2.3.0", - "erc20:eth:sTRX": "2.3.0", - "erc20:eth:sXAG": "2.3.0", - "erc20:eth:sXAU": "2.3.0", - "erc20:eth:sXRP": "2.3.0", - "erc20:eth:sXTZ": "2.3.0", - "erc20:eth:uLBAT2x": "2.3.0", - "erc20:eth:uLBAT3x": "2.3.0", - "erc20:eth:uLBAT4x": "2.3.0", - "erc20:eth:uLETH2x": "2.3.0", - "erc20:eth:uLETH3x": "2.3.0", - "erc20:eth:uLETH4x": "2.3.0", - "erc20:eth:uLKNC2x": "2.3.0", - "erc20:eth:uLKNC3x": "2.3.0", - "erc20:eth:uLKNC4x": "2.3.0", - "erc20:eth:uLREP2x": "2.3.0", - "erc20:eth:uLREP3x": "2.3.0", - "erc20:eth:uLREP4x": "2.3.0", - "erc20:eth:uLWBTC2x": "2.3.0", - "erc20:eth:uLWBTC3x": "2.3.0", - "erc20:eth:uLWBTC4x": "2.3.0", - "erc20:eth:uLZRX2x": "2.3.0", - "erc20:eth:uLZRX3x": "2.3.0", - "erc20:eth:uLZRX4x": "2.3.0", - "erc20:eth:uni0xBTC": "2.3.1", - "erc20:eth:uniAMN": "2.3.1", - "erc20:eth:uniAMPL": "2.3.1", - "erc20:eth:uniANT": "2.3.1", - "erc20:eth:uniBAT": "2.3.1", - "erc20:eth:uniBLT": "2.3.1", - "erc20:eth:uniBNT": "2.3.1", - "erc20:eth:uniC20": "2.3.1", - "erc20:eth:uniCELR": "2.3.1", - "erc20:eth:uniCHAI": "2.3.1", - "erc20:eth:uniCVC": "2.3.1", - "erc20:eth:uniDAI": "2.3.1", - "erc20:eth:uniDATA": "2.3.1", - "erc20:eth:uniDGD": "2.3.1", - "erc20:eth:uniDGX": "2.3.1", - "erc20:eth:uniDIP": "2.3.1", - "erc20:eth:uniDONUT": "2.3.1", - "erc20:eth:uniENJ": "2.3.1", - "erc20:eth:uniFAME": "2.3.1", - "erc20:eth:uniFOAM": "2.3.1", - "erc20:eth:uniFUN": "2.3.1", - "erc20:eth:uniGEN": "2.3.1", - "erc20:eth:uniGNO": "2.3.1", - "erc20:eth:uniGRID": "2.3.1", - "erc20:eth:uniGST2": "2.3.1", - "erc20:eth:uniHOT": "2.3.1", - "erc20:eth:uniIOTX": "2.3.1", - "erc20:eth:uniKIN": "2.3.1", - "erc20:eth:uniKNC": "2.3.1", - "erc20:eth:uniLEND": "2.3.1", - "erc20:eth:uniLINK": "2.3.1", - "erc20:eth:uniLOOM": "2.3.1", - "erc20:eth:uniLPT": "2.3.1", - "erc20:eth:uniLQD": "2.3.1", - "erc20:eth:uniLRC": "2.3.1", - "erc20:eth:uniMANA": "2.3.1", - "erc20:eth:uniMATIC": "2.3.1", - "erc20:eth:uniMBC": "2.3.1", - "erc20:eth:uniMGN": "2.3.1", - "erc20:eth:uniMKR": "2.3.1", - "erc20:eth:uniMLN": "2.3.1", - "erc20:eth:uniMOD": "2.3.1", - "erc20:eth:uniNEXO": "2.3.1", - "erc20:eth:uniNMR": "2.3.1", - "erc20:eth:uniOXT": "2.3.1", - "erc20:eth:uniPAN": "2.3.1", - "erc20:eth:uniPAX": "2.3.1", - "erc20:eth:uniPAXG": "2.3.1", - "erc20:eth:uniPNK": "2.3.1", - "erc20:eth:uniPOA20": "2.3.1", - "erc20:eth:uniQCH": "2.3.1", - "erc20:eth:uniQSP": "2.3.1", - "erc20:eth:uniRCN": "2.3.1", - "erc20:eth:uniRDN": "2.3.1", - "erc20:eth:uniREN": "2.3.1", - "erc20:eth:uniREP": "2.3.1", - "erc20:eth:uniRING": "2.3.1", - "erc20:eth:uniRLC": "2.3.1", - "erc20:eth:uniRPL": "2.3.1", - "erc20:eth:uniSAI": "2.3.1", - "erc20:eth:uniSALT": "2.3.1", - "erc20:eth:uniSAN": "2.3.1", - "erc20:eth:uniSHUF": "2.3.1", - "erc20:eth:uniSNT": "2.3.1", - "erc20:eth:uniSNX": "2.3.1", - "erc20:eth:uniSOCKS": "2.3.1", - "erc20:eth:uniSPANK": "2.3.1", - "erc20:eth:uniSTORJ": "2.3.1", - "erc20:eth:uniTAUD": "2.3.1", - "erc20:eth:uniTCAD": "2.3.1", - "erc20:eth:uniTGBP": "2.3.1", - "erc20:eth:uniTHKD": "2.3.1", - "erc20:eth:uniTKN": "2.3.1", - "erc20:eth:uniTRST": "2.3.1", - "erc20:eth:uniTRYB": "2.3.1", - "erc20:eth:uniTUSD": "2.3.1", - "erc20:eth:uniUNI-V1:SAI": "2.3.1", - "erc20:eth:uniUSDC": "2.3.1", - "erc20:eth:uniUSDS": "2.3.1", - "erc20:eth:uniVERI": "2.3.1", - "erc20:eth:uniWBTC": "2.3.1", - "erc20:eth:uniWCK": "2.3.1", - "erc20:eth:uniWETH": "2.3.1", - "erc20:eth:uniXCHF": "2.3.1", - "erc20:eth:uniXIO": "2.3.1", - "erc20:eth:uniZRX": "2.3.1", - "erc20:eth:uniaDAI": "2.3.1", - "erc20:eth:unicDAI": "2.3.1", - "erc20:eth:unicSAI": "2.3.1", - "erc20:eth:uniiDAI": "2.3.1", - "erc20:eth:uniiSAI": "2.3.1", - "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:univ2BOOSTETH": "2.3.7", - "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:univ2CREAMETH": "2.3.7", - "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:univ2ETHFSW": "2.3.7", - "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:univ2ETHSWAP": "2.3.7", - "erc20:eth:univ2ETHUBOMB": "2.3.3", - "erc20:eth:univ2ETHUNC": "2.3.3", - "erc20:eth:univ2ETHUSDT": "2.3.3", - "erc20:eth:univ2ETHXAMP": "2.3.7", - "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:univ2GHSTETH": "2.3.7", - "erc20:eth:univ2H3XETH": "2.3.3", - "erc20:eth:univ2HEXETH": "2.3.3", - "erc20:eth:univ2HKMTUSDT": "2.3.7", - "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:univ2MEMEETH": "2.3.7", - "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:univ2OCEANETH:deprecated:8fd3": "2.3.7", - "erc20:eth:univ2OCEANETH:deprecated:f063": "2.3.7", - "erc20:eth:univ2OGNETH": "2.3.3", - "erc20:eth:univ2PAXGETH": "2.3.3", - "erc20:eth:univ2PICKLEETH": "2.3.7", - "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:univ2SAKEETH": "2.3.7", - "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:univ2SoETHETH": "2.3.7", - "erc20:eth:univ2TRACETH": "2.3.3", - "erc20:eth:univ2TRADEETH": "2.3.7", - "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:univ2UNIETH": "2.3.7", - "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:univ2YFIETH": "2.3.7", - "erc20:eth:univ2YFIIETH": "2.3.7", - "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:univ2wNXMETH": "2.3.7", - "erc20:eth:usBAT": "2.3.0", - "erc20:eth:usBAT2x": "2.3.0", - "erc20:eth:usBAT3x": "2.3.0", - "erc20:eth:usBAT4x": "2.3.0", - "erc20:eth:usETH": "2.3.0", - "erc20:eth:usETH2x": "2.3.0", - "erc20:eth:usETH3x": "2.3.0", - "erc20:eth:usETH4x": "2.3.0", - "erc20:eth:usKNC": "2.3.0", - "erc20:eth:usKNC2x": "2.3.0", - "erc20:eth:usKNC3x": "2.3.0", - "erc20:eth:usKNC4x": "2.3.0", - "erc20:eth:usREP": "2.3.0", - "erc20:eth:usREP2x": "2.3.0", - "erc20:eth:usREP3x": "2.3.0", - "erc20:eth:usREP4x": "2.3.0", - "erc20:eth:usWBTC": "2.3.0", - "erc20:eth:usWBTC2x": "2.3.0", - "erc20:eth:usWBTC3x": "2.3.0", - "erc20:eth:usWBTC4x": "2.3.0", - "erc20:eth:usZRX": "2.3.0", - "erc20:eth:usZRX2x": "2.3.0", - "erc20:eth:usZRX3x": "2.3.0", - "erc20:eth:usZRX4x": "2.3.0", - "erc20:eth:veOGV": "2.5.3", - "erc20:eth:xDOT": "2.3.0", - "erc20:eth:xEDG": "2.3.0", - "erc20:eth:xGRAM": "2.3.0", - "erc20:eth:xHNS": "2.3.0", - "erc20:eth:xKDA": "2.3.0", - "erc20:eth:xKLAY": "2.3.0", - "erc20:eth:xMOBILECOIN": "2.3.0", - "erc20:eth:xNU": "2.3.0", - "erc20:eth:xOXT": "2.3.0", - "erc20:eth:xSOL": "2.3.0", - "erc20:kov:Aeternity": "2.0.7", - "erc20:kov:DAI": "2.5.2", - "erc20:kov:DGD": "2.5.2", - "erc20:kov:GAV": "2.3.0", - "erc20:kov:GNT": "2.5.2", - "erc20:kov:GUP": "2.5.2", - "erc20:kov:MKR:1dad": "2.5.2", - "erc20:kov:MKR:aaf6": "2.5.2", - "erc20:kov:MLN": "2.5.2", - "erc20:kov:REP": "2.5.2", - "erc20:kov:RLC": "2.5.2", - "erc20:kov:TIB": "2.3.0", - "erc20:kov:ZRX": "2.5.2", - "erc20:rin:AETH": "2.5.2", - "erc20:rin:BHNT": "2.0.7", - "erc20:rin:CTGA": "2.0.7", - "erc20:rin:KC": "2.5.2", - "erc20:rin:NONE": "2.5.2", - "erc20:rin:PPD": "2.0.7", - "erc20:rin:RDN": "2.5.2", - "erc20:rin:RLC": "2.5.2", - "erc20:rin:WALL": "2.0.7", - "erc20:rin:qwe": "2.3.0", - "erc20:rop:*PLASMA": "2.0.8", - "erc20:rop:ILSC": "2.0.7", - "erc20:rop:MEWV5": "2.3.0", - "erc20:rop:NONE": "2.5.2", - "erc20:rop:RCL": "2.4.4", - "erc20:rop:RLC": "2.5.2", - "erc20:rop:dqr30": "2.0.10", - "erc20:rsk:ARSCB": "2.4.3", - "erc20:rsk:BITP": "2.5.4", - "erc20:rsk:BOBCB": "2.4.3", - "erc20:rsk:BRLCB": "2.4.3", - "erc20:rsk:BRZ": "2.4.3", - "erc20:rsk:BTCCB": "2.4.3", - "erc20:rsk:CNYCB": "2.4.3", - "erc20:rsk:COPCB": "2.4.3", - "erc20:rsk:DOC": "2.4.3", - "erc20:rsk:ETHCB": "2.4.3", - "erc20:rsk:EURCB": "2.4.3", - "erc20:rsk:FISH": "2.4.3", - "erc20:rsk:IDRCB": "2.4.3", - "erc20:rsk:MXNCB": "2.4.3", - "erc20:rsk:PABCB": "2.4.3", - "erc20:rsk:PENCB": "2.4.3", - "erc20:rsk:PYGCB": "2.4.3", - "erc20:rsk:RDOC": "2.4.3", - "erc20:rsk:RIF": "2.3.1", - "erc20:rsk:RIFP": "2.4.3", - "erc20:rsk:SOV": "2.4.3", - "erc20:rsk:USDCB": "2.4.3", - "erc20:rsk:UYUCB": "2.4.3", - "erc20:rsk:VESCB": "2.4.3", - "erc20:rsk:WRBTC": "2.4.3", - "erc20:rsk:XUSD": "2.4.3", - "erc20:rsk:cRBTC": "2.4.3", - "erc20:rsk:cRIF": "2.4.3", - "erc20:rsk:crUSDT": "2.4.3", - "erc20:rsk:rAMLT": "2.4.3", - "erc20:rsk:rBUND": "2.4.3", - "erc20:rsk:rDAI": "2.4.3", - "erc20:rsk:rFLIXX": "2.4.3", - "erc20:rsk:rLINK": "2.4.3", - "erc20:rsk:rRFOX": "2.4.3", - "erc20:rsk:rUBI": "2.4.3", - "erc20:rsk:rUSDC": "2.4.3", - "erc20:rsk:rUSDT": "2.4.3", - "erc20:ubq:BEER": "2.0.7", - "erc20:ubq:CEFS": "2.0.7", - "erc20:ubq:DOT": "2.0.7", - "erc20:ubq:ESCH": "2.4.4", - "erc20:ubq:GEO": "2.4.4", - "erc20:ubq:GRANS": "2.4.4", - "erc20:ubq:INK": "2.4.4", - "erc20:ubq:QWARK": "2.0.7", - "erc20:ubq:RICKS": "2.0.7", - "erc20:ubq:SNARG": "2.4.4", - "erc20:ubq:SPHR": "2.4.4", - "erc20:ubq:SPHRC": "2.4.4", - "erc20:ubq:TGE1": "2.4.4", - "eth:$BNI": "2.5.4", - "eth:$OC": "2.4.4", - "eth:0XT": "2.5.4", - "eth:0xF": "2.3.5", - "eth:AAC": "2.4.4", - "eth:ACA": "2.3.7", - "eth:ACE": "2.5.4", - "eth:AIOZ": "2.5.2", - "eth:AITD": "2.5.2", - "eth:AKA": "2.0.8", - "eth:ALOT": "2.5.4", - "eth:ALPH": "2.5.4", - "eth:ALT": "2.5.4", - "eth:ALYX": "2.5.4", - "eth:AMAX": "2.5.4", - "eth:AMB": "2.5.4", - "eth:AMBROS": "2.5.2", - "eth:AME": "2.5.2", - "eth:ANY": "2.5.4", - "eth:APTA": "2.5.3", - "eth:AQUA": "2.1.1", - "eth:AR\u00c9V": "2.5.4", - "eth:ASA": "2.5.4", - "eth:ASK": "2.4.3", - "eth:ASTR": "2.5.2", - "eth:ATLR": "2.5.4", - "eth:ATS": "2.0.11", - "eth:AUX": "2.1.6", - "eth:AVAX": "2.3.7", - "eth:AVS": "2.5.4", - "eth:BCS": "2.4.4", - "eth:BELLY": "2.5.2", - "eth:BFC": "2.5.4", - "eth:BG": "2.5.4", - "eth:BIT": "2.5.4", - "eth:BITCI": "2.5.4", - "eth:BNB": "2.3.5", - "eth:BOA": "2.5.4", - "eth:BOMB": "2.5.4", - "eth:BOY": "2.4.4", - "eth:BRB": "2.5.2", - "eth:BRNKC": "2.5.4", - "eth:BTA": "2.4.3", - "eth:BTCIX": "2.4.4", - "eth:BTM": "2.4.4", - "eth:BTON": "2.5.4", - "eth:BTT": "2.4.3", - "eth:BTY": "2.5.4", - "eth:BXN": "2.5.4", - "eth:Brise": "2.5.2", - "eth:CAM:500": "2.5.4", - "eth:CANTO": "2.5.4", - "eth:CATE": "2.4.2", - "eth:CCNA": "2.5.4", - "eth:CCP": "2.4.4", - "eth:CELO": "2.3.7", - "eth:CEM": "2.5.2", - "eth:CFX": "2.4.4", - "eth:CIC": "2.5.4", - "eth:CLASS": "2.4.4", - "eth:CLD": "2.5.4", - "eth:CLO": "2.0.7", - "eth:CLV": "2.4.2", - "eth:CMEMO": "2.5.4", - "eth:CMP": "2.5.4", - "eth:CNDL": "2.5.2", - "eth:CONDOR": "2.5.4", - "eth:CORE": "2.5.4", - "eth:CPAY:21337": "2.5.2", - "eth:CPAY:3000": "2.5.2", - "eth:CPAY:3001": "2.5.2", - "eth:CRAB": "2.4.4", - "eth:CRC": "2.5.4", - "eth:CREDIT": "2.5.4", - "eth:CRO": "2.4.4", - "eth:CSB": "2.5.2", - "eth:CTEX": "2.5.4", - "eth:CUBE": "2.5.2", - "eth:CWN": "2.5.2", - "eth:DAX": "2.4.2", - "eth:DEB": "2.5.4", - "eth:DEL": "2.5.4", - "eth:DEV": "2.4.3", - "eth:DFI": "2.5.4", - "eth:DIODE": "2.3.7", - "eth:DKN": "2.5.4", - "eth:DOGS": "2.5.4", - "eth:DOINX": "2.5.4", - "eth:DOS": "2.5.4", - "eth:DRAC": "2.5.4", - "eth:DWU": "2.4.2", - "eth:DX": "2.5.2", - "eth:DXT": "2.5.4", - "eth:DYNO": "2.4.4", - "eth:Deh": "2.5.4", - "eth:ECG": "2.5.4", - "eth:ECO": "2.4.3", - "eth:ECS": "2.4.4", - "eth:EDG": "2.4.2", - "eth:EGAZ": "2.5.4", - "eth:EGEM": "2.0.7", - "eth:EIDI": "2.4.4", - "eth:EKTA": "2.5.4", - "eth:ELA:20": "2.4.2", - "eth:ELV": "2.4.3", - "eth:EMPIRE": "2.5.4", - "eth:ENTER": "2.4.4", - "eth:ES": "2.4.2", - "eth:ESN": "2.0.8", - "eth:ETC": "2.0.7", - "eth:ETH:1": "2.0.7", - "eth:ETHF": "2.5.4", - "eth:ETHO": "2.0.8", - "eth:ETI": "2.1.1", - "eth:ETL": "2.4.2", - "eth:ETMP": "2.5.4", - "eth:ETND": "2.5.2", - "eth:EUN": "2.5.2", - "eth:EVA": "2.4.4", - "eth:EVC": "2.4.2", - "eth:EVMOS": "2.4.4", - "eth:EWT": "2.3.5", - "eth:EXL": "2.5.4", - "eth:EXP": "2.0.7", - "eth:EZC": "2.5.2", - "eth:FETH": "2.4.2", - "eth:FIL": "2.5.4", - "eth:FIN": "2.3.5", - "eth:FIRE:529": "2.5.4", - "eth:FITFI": "2.5.4", - "eth:FLA": "2.5.4", - "eth:FLR": "2.3.7", - "eth:FNCY": "2.5.4", - "eth:FREN": "2.5.4", - "eth:FSN": "2.4.2", - "eth:FST": "2.5.4", - "eth:FTM": "2.3.5", - "eth:FUSE": "2.3.5", - "eth:FX": "2.5.2", - "eth:GAR:90": "2.4.4", - "eth:GCD": "2.5.2", - "eth:GEN": "2.4.2", - "eth:GLMR": "2.4.2", - "eth:GLQ": "2.5.4", - "eth:GMMT": "2.5.4", - "eth:GNC": "2.4.4", - "eth:GO": "2.0.7", - "eth:GOLDT": "2.5.4", - "eth:GZN": "2.5.4", - "eth:GooD": "2.4.2", - "eth:HAIC": "2.4.2", - "eth:HBAR:295": "2.5.4", - "eth:HMND": "2.5.4", - "eth:HO": "2.4.4", - "eth:HOO": "2.5.2", - "eth:HOP": "2.4.4", - "eth:HPB": "2.1.1", - "eth:HT": "2.3.7", - "eth:HTML": "2.5.4", - "eth:HTZ": "2.5.4", - "eth:ILT": "2.3.5", - "eth:IMV": "2.5.4", - "eth:IORA": "2.4.4", - "eth:IOTX": "2.4.2", - "eth:IPOS": "2.3.5", - "eth:ISLM": "2.5.4", - "eth:IVAR": "2.5.2", - "eth:J": "2.5.4", - "eth:JBC": "2.5.4", - "eth:JEWEL:53935": "2.4.4", - "eth:JINDA": "2.5.4", - "eth:JOYS": "2.3.7", - "eth:KAI": "2.5.4", - "eth:KAR": "2.3.7", - "eth:KAVA": "2.5.2", - "eth:KCS": "2.4.2", - "eth:KEK": "2.5.4", - "eth:KLAY": "2.3.7", - "eth:KSX": "2.5.2", - "eth:KTO:2559": "2.4.2", - "eth:KUB": "2.5.4", - "eth:L1": "2.4.4", - "eth:L99": "2.4.3", - "eth:LA": "2.4.4", - "eth:LAVA": "2.5.4", - "eth:LISINS": "2.5.2", - "eth:LUCID": "2.5.4", - "eth:LUDAN": "2.5.2", - "eth:LYC": "2.5.4", - "eth:MAI": "2.5.4", - "eth:MAP": "2.5.4", - "eth:MARO": "2.5.4", - "eth:MAS": "2.5.4", - "eth:MATH": "2.3.7", - "eth:MATIC": "2.3.5", - "eth:MEER": "2.5.4", - "eth:META": "2.1.1", - "eth:METAD": "2.5.4", - "eth:METIS": "2.4.4", - "eth:MINTME": "2.4.2", - "eth:MIX": "2.0.10", - "eth:MMT": "2.5.2", - "eth:MOLE": "2.4.4", - "eth:MOVR": "2.4.2", - "eth:MTR": "2.3.7", - "eth:MTT": "2.4.2", - "eth:MTV": "2.5.2", - "eth:MUSIC": "2.0.8", - "eth:MYTH": "2.5.4", - "eth:NEON:245022934": "2.4.3", - "eth:NEW": "2.3.7", - "eth:NRG": "2.3.5", - "eth:NTT": "2.4.4", - "eth:NULS": "2.5.4", - "eth:NUM": "2.5.4", - "eth:NetZ": "2.5.4", - "eth:OAC": "2.5.2", - "eth:OCTA": "2.5.4", - "eth:OHO": "2.5.4", - "eth:OKT": "2.3.7", - "eth:OLO": "2.4.2", - "eth:OLT": "2.4.3", - "eth:OM": "2.5.2", - "eth:OMAX": "2.5.4", - "eth:OMC": "2.5.2", - "eth:ONE:1666600000": "2.3.7", - "eth:ONE:1666600001": "2.3.7", - "eth:ONE:1666600002": "2.3.7", - "eth:ONE:1666600003": "2.3.7", - "eth:ONG": "2.4.2", - "eth:ONUS": "2.5.4", - "eth:OPC": "2.5.2", - "eth:OPN": "2.5.4", - "eth:ORL": "2.5.4", - "eth:OTP": "2.5.4", - "eth:OXYN": "2.5.4", - "eth:OY": "2.4.4", - "eth:PALM": "2.4.3", - "eth:PDC": "2.5.4", - "eth:PETH": "2.4.2", - "eth:PFT:909": "2.5.2", - "eth:PHT": "2.3.5", - "eth:PHX": "2.4.4", - "eth:PIRL": "2.0.8", - "eth:PIX": "2.4.4", - "eth:PLQ": "2.5.4", - "eth:PLS": "2.4.3", - "eth:POA": "2.3.5", - "eth:POLIS": "2.4.4", - "eth:POM": "2.5.4", - "eth:POP": "2.4.3", - "eth:PRB": "2.4.4", - "eth:PSC": "2.5.4", - "eth:PTX": "2.5.4", - "eth:QDC": "2.5.2", - "eth:QKA": "2.5.4", - "eth:QKC:100000": "2.4.2", - "eth:QKC:100001": "2.4.2", - "eth:QKC:100002": "2.4.2", - "eth:QKC:100003": "2.4.2", - "eth:QKC:100004": "2.4.2", - "eth:QKC:100005": "2.4.2", - "eth:QKC:100006": "2.4.2", - "eth:QKC:100007": "2.4.2", - "eth:QKC:100008": "2.4.2", - "eth:QKI": "2.4.2", - "eth:QOM": "2.5.4", - "eth:RBD": "2.3.5", - "eth:RBTC": "2.0.7", - "eth:REAL": "2.5.4", - "eth:REDLC": "2.5.4", - "eth:REI:47805": "2.4.4", - "eth:RESIN": "2.5.4", - "eth:RING": "2.5.2", - "eth:RNA": "2.4.2", - "eth:ROC:1288": "2.5.2", - "eth:RPG": "2.4.4", - "eth:RUPX": "2.3.7", - "eth:SAMA": "2.5.4", - "eth:SDN": "2.4.3", - "eth:SEED": "2.5.4", - "eth:SETM": "2.4.4", - "eth:SFL": "2.5.2", - "eth:SGB": "2.4.2", - "eth:SHIB": "2.4.4", - "eth:SINSO": "2.5.4", - "eth:SKU": "2.4.2", - "eth:SMT": "2.5.2", - "eth:SNT": "2.4.4", - "eth:SOTER:68": "2.5.2", - "eth:SPARK": "2.4.4", - "eth:SPOA": "2.4.4", - "eth:SRDX": "2.5.4", - "eth:SRN": "2.4.3", - "eth:STAND": "2.5.4", - "eth:STOS": "2.5.4", - "eth:SVRN": "2.5.4", - "eth:SX": "2.5.2", - "eth:Seele": "2.4.4", - "eth:SmuX": "2.5.4", - "eth:T-EKTA": "2.5.4", - "eth:TAO": "2.3.5", - "eth:TBG": "2.3.7", - "eth:TCH": "2.3.5", - "eth:TCLO": "2.3.5", - "eth:TELE:8000": "2.4.4", - "eth:TETC": "2.3.5", - "eth:TFI": "2.3.7", - "eth:TLC": "2.5.2", - "eth:TLOS:40": "2.4.2", - "eth:TMY": "2.5.4", - "eth:TOMB": "2.5.2", - "eth:TOMO:88": "2.4.4", - "eth:TOYS": "2.3.7", - "eth:TPC": "2.5.2", - "eth:TPEP": "2.3.5", - "eth:TSF": "2.3.5", - "eth:TST": "2.3.5", - "eth:TT": "2.3.5", - "eth:TUBQ": "2.3.5", - "eth:TWL": "2.5.4", - "eth:TXDC": "2.3.7", - "eth:TXL": "2.5.2", - "eth:U+25B3": "2.3.5", - "eth:UBC": "2.4.4", - "eth:UBQ": "2.0.7", - "eth:ULX": "2.5.4", - "eth:UNQ": "2.5.4", - "eth:UZMI": "2.4.4", - "eth:VAL": "2.3.5", - "eth:VET": "2.5.4", - "eth:VETH": "2.5.4", - "eth:VLX": "2.4.3", - "eth:VNDT": "2.5.2", - "eth:VNT": "2.5.4", - "eth:VS:888888": "2.4.4", - "eth:VSC": "2.5.4", - "eth:W3G": "2.4.4", - "eth:W3Q:333": "2.4.4", - "eth:WAN": "2.4.2", - "eth:WEB": "2.3.5", - "eth:WEMIX": "2.5.4", - "eth:WGM": "2.4.4", - "eth:WTT": "2.4.4", - "eth:XDC": "2.3.7", - "eth:XERO": "2.3.5", - "eth:XETA": "2.5.4", - "eth:XODEX": "2.5.4", - "eth:XT": "2.5.2", - "eth:XVM": "2.5.2", - "eth:XZO": "2.5.4", - "eth:YCC": "2.5.2", - "eth:YETI": "2.3.5", - "eth:ZENIQ": "2.5.4", - "eth:ZENITH": "2.5.2", - "eth:ZERO": "2.4.4", - "eth:ZETA": "2.5.4", - "eth:ZTH:427": "2.5.4", - "eth:ZYX": "2.4.3", - "eth:atp": "2.4.4", - "eth:cTH": "2.4.2", - "eth:cet": "2.4.2", - "eth:eBTC": "2.5.4", - "eth:hP2": "2.5.4", - "eth:jfin": "2.5.2", - "eth:lat": "2.4.4", - "eth:mADA": "2.5.2", - "eth:mALGO": "2.5.4", - "eth:mc": "2.5.4", - "eth:nSAN": "2.5.4", - "eth:pCKB": "2.5.2", - "eth:peggle": "2.3.7", - "eth:tATS": "2.0.11", - "eth:tAVAX": "2.3.7", - "eth:tBNB": "2.3.5", - "eth:tBVE": "2.5.4", - "eth:tCELO:44787": "2.3.7", - "eth:tCELO:62320": "2.3.7", - "eth:tCFLR": "2.3.7", - "eth:tCRC": "2.5.4", - "eth:tDBM": "2.3.5", - "eth:tETH:11155111": "2.5.4", - "eth:tETH:3": "2.5.4", - "eth:tETH:4": "2.5.4", - "eth:tETH:42": "2.5.4", - "eth:tETH:5": "2.5.4", - "eth:tKAL": "2.3.5", - "eth:tKEK": "2.5.4", - "eth:tKLAY": "2.3.7", - "eth:tKOT": "2.3.5", - "eth:tMAP": "2.5.4", - "eth:tMATH": "2.3.7", - "eth:tMATIC": "2.3.5", - "eth:tMETC": "2.3.5", - "eth:tNEW": "2.3.7", - "eth:tNRG": "2.3.5", - "eth:tPHT": "2.3.5", - "eth:tRBTC": "2.0.7", - "eth:tVT": "2.3.5", - "eth:tWIRE": "2.5.4", - "eth:taro": "2.5.4", - "eth:thtt": "2.3.7", - "eth:tmACA": "2.3.7", - "eth:tsDIODE": "2.3.7", - "eth:xDAI:100": "2.3.5", - "eth:xDAI:300": "2.5.2", - "eth:xlon": "2.5.4", - "eth:\u25c8": "2.5.2", + "erc20:MATIC:AVAX": "2.5.3", + "erc20:bnb:ATOM": "2.5.3", + "erc20:eth:AAVE": "2.5.3", + "erc20:eth:APE": "2.5.3", + "erc20:eth:AXS": "2.5.3", + "erc20:eth:BUSD": "2.5.3", + "erc20:eth:CHZ": "2.5.3", + "erc20:eth:CRO": "2.5.3", + "erc20:eth:DAI": "2.5.3", + "erc20:eth:EOS": "2.5.3", + "erc20:eth:FRAX": "2.5.3", + "erc20:eth:FTT": "2.5.3", + "erc20:eth:LEO": "2.5.3", + "erc20:eth:LINK": "2.5.3", + "erc20:eth:MANA": "2.5.3", + "erc20:eth:MATIC": "2.5.3", + "erc20:eth:OKB": "2.5.3", + "erc20:eth:QNT": "2.5.3", + "erc20:eth:SAND": "2.5.3", + "erc20:eth:SHIB": "2.5.3", + "erc20:eth:STETH": "2.5.3", + "erc20:eth:UNI": "2.5.3", + "erc20:eth:USDC": "2.5.3", + "erc20:eth:USDT": "2.5.3", + "erc20:eth:WBTC": "2.5.3", + "erc20:eth:XCN": "2.5.3", + "eth:BNB": "2.5.3", + "eth:ETC": "2.5.3", + "eth:ETH": "2.5.3", + "eth:MATIC": "2.5.3", + "eth:tGOR": "2.5.3", + "eth:tRIN": "2.5.3", + "eth:tROP": "2.0.7", "misc:ADA": "2.0.8", "misc:BNB": "2.1.5", "misc:EOS": "2.1.1", @@ -5482,627 +312,6 @@ "bitcoin:PART": "incompatible fork", "bitcoin:TRC": "address_type collides with Bitcoin", "bitcoin:tPART": "incompatible fork", - "erc20:etc:PLAY": "(AUTO) duplicate key", - "erc20:eth:A18:ba7d": "(AUTO) duplicate key", - "erc20:eth:A18:bde8": "(AUTO) duplicate key", - "erc20:eth:ADX:4470": "(AUTO) duplicate key", - "erc20:eth:ADX:ade0": "(AUTO) duplicate key", - "erc20:eth:ANT:960b": "(AUTO) duplicate key", - "erc20:eth:ANT:a117": "(AUTO) duplicate key", - "erc20:eth:ATH": "(AUTO) duplicate key", - "erc20:eth:ATH (AIgatha Token)": "(AUTO) duplicate key", - "erc20:eth:ATS": "duplicate key with eth:ATS", - "erc20:eth:BCAP:1f41": "(AUTO) duplicate key", - "erc20:eth:BCAP:ff35": "(AUTO) duplicate key", - "erc20:eth:BKB:5c39": "(AUTO) duplicate key", - "erc20:eth:BKB:b2bf": "(AUTO) duplicate key", - "erc20:eth:BMC:d945": "(AUTO) duplicate key", - "erc20:eth:BMC:df6e": "(AUTO) duplicate key", - "erc20:eth:BNC:dd6b": "(AUTO) duplicate key", - "erc20:eth:BNC:ef51": "(AUTO) duplicate key", - "erc20:eth:BOA:746d": "(AUTO) duplicate key", - "erc20:eth:BOA:fb6b": "(AUTO) duplicate key", - "erc20:eth:BOX:63f5": "(AUTO) duplicate key", - "erc20:eth:BOX:e1a1": "(AUTO) duplicate key", - "erc20:eth:BTL (Battle)": "(AUTO) duplicate key", - "erc20:eth:BTL (Bitlle)": "(AUTO) duplicate key", - "erc20:eth:BTR:499a": "(AUTO) duplicate key", - "erc20:eth:BTR:cbf1": "(AUTO) duplicate key", - "erc20:eth:BTT:080a": "(AUTO) duplicate key", - "erc20:eth:BTT:fa45": "(AUTO) duplicate key", - "erc20:eth:CAR": "(AUTO) duplicate key", - "erc20:eth:CAR (CarBlock)": "(AUTO) duplicate key", - "erc20:eth:CARD:1ed2": "(AUTO) duplicate key", - "erc20:eth:CARD:954b": "(AUTO) duplicate key", - "erc20:eth:CARD:b07e": "(AUTO) duplicate key", - "erc20:eth:CAS:7794": "(AUTO) duplicate key", - "erc20:eth:CAS:e878": "(AUTO) duplicate key", - "erc20:eth:CAT": "(AUTO) duplicate key", - "erc20:eth:CAT (BitClave)": "(AUTO) duplicate key", - "erc20:eth:CATS": "(AUTO) duplicate key", - "erc20:eth:CATs (BitClave)_Old": "(AUTO) duplicate key", - "erc20:eth:CCC": "(AUTO) duplicate key", - "erc20:eth:CCC (CryptoCrashCourse)": "(AUTO) duplicate key", - "erc20:eth:CCS:1da4": "(AUTO) duplicate key", - "erc20:eth:CCS:315c": "(AUTO) duplicate key", - "erc20:eth:CDT:177d": "(AUTO) duplicate key", - "erc20:eth:CDT:1dcf": "(AUTO) duplicate key", - "erc20:eth:CDX:2cb1": "(AUTO) duplicate key", - "erc20:eth:CDX:6fff": "(AUTO) duplicate key", - "erc20:eth:CIG:0038": "(AUTO) duplicate key", - "erc20:eth:CIG:cb56": "(AUTO) duplicate key", - "erc20:eth:CMT": "Migrated to mainnet", - "erc20:eth:CNDL:3d97": "(AUTO) duplicate key", - "erc20:eth:CNDL:bc13": "(AUTO) duplicate key", - "erc20:eth:COIN:5e8f": "(AUTO) duplicate key", - "erc20:eth:COIN:eb54": "(AUTO) duplicate key", - "erc20:eth:COSS:6529": "(AUTO) duplicate key", - "erc20:eth:COSS:9e96": "(AUTO) duplicate key", - "erc20:eth:CPT:88d5": "(AUTO) duplicate key", - "erc20:eth:CPT:9b62": "(AUTO) duplicate key", - "erc20:eth:CRPT:0838": "(AUTO) duplicate key", - "erc20:eth:CRPT:80a7": "(AUTO) duplicate key", - "erc20:eth:CTT:1a47": "(AUTO) duplicate key", - "erc20:eth:CTT:e3fa": "(AUTO) duplicate key", - "erc20:eth:DAO:0f51": "(AUTO) duplicate key", - "erc20:eth:DAO:bb9b": "(AUTO) duplicate key", - "erc20:eth:DEPO": "(AUTO) duplicate key", - "erc20:eth:DEPO (Depository Network)": "(AUTO) duplicate key", - "erc20:eth:DGTX:1c83": "(AUTO) duplicate key", - "erc20:eth:DGTX:c666": "(AUTO) duplicate key", - "erc20:eth:DOW:7697": "(AUTO) duplicate key", - "erc20:eth:DOW:eef6": "(AUTO) duplicate key", - "erc20:eth:DRC:a150": "(AUTO) duplicate key", - "erc20:eth:DRC:c2e3": "(AUTO) duplicate key", - "erc20:eth:DROP:3c75": "(AUTO) duplicate key", - "erc20:eth:DROP:4672": "(AUTO) duplicate key", - "erc20:eth:DRP:2799": "(AUTO) duplicate key", - "erc20:eth:DRP:621d": "(AUTO) duplicate key", - "erc20:eth:DTX": "(AUTO) duplicate key", - "erc20:eth:DTx": "(AUTO) duplicate key", - "erc20:eth:DUBI:9c6f": "(AUTO) duplicate key", - "erc20:eth:DUBI:d4cf": "(AUTO) duplicate key", - "erc20:eth:DUBI:ed7f": "(AUTO) duplicate key", - "erc20:eth:ECP:8869": "(AUTO) duplicate key", - "erc20:eth:ECP:aea1": "(AUTO) duplicate key", - "erc20:eth:EOS": "switched to custom network", - "erc20:eth:EVN:6890": "(AUTO) duplicate key", - "erc20:eth:EVN:d780": "(AUTO) duplicate key", - "erc20:eth:EXC:00c4": "(AUTO) duplicate key", - "erc20:eth:EXC:9e4c": "(AUTO) duplicate key", - "erc20:eth:FANX:7dcb": "(AUTO) duplicate key", - "erc20:eth:FANX:7f67": "(AUTO) duplicate key", - "erc20:eth:FLMC:04cc": "(AUTO) duplicate key", - "erc20:eth:FLMC:5976": "(AUTO) duplicate key", - "erc20:eth:FLX:6243": "(AUTO) duplicate key", - "erc20:eth:FLX:70b1": "(AUTO) duplicate key", - "erc20:eth:FSN": "Migrated to mainnet", - "erc20:eth:FTC": "duplicate key with bitcoin:FTC", - "erc20:eth:FUCK:65be": "(AUTO) duplicate key", - "erc20:eth:FUCK:ab16": "(AUTO) duplicate key", - "erc20:eth:FXC:4a57": "(AUTO) duplicate key", - "erc20:eth:FXC:c92d": "(AUTO) duplicate key", - "erc20:eth:GANA:6754": "(AUTO) duplicate key", - "erc20:eth:GANA:c0ea": "(AUTO) duplicate key", - "erc20:eth:GMT:7ddc": "(AUTO) duplicate key", - "erc20:eth:GMT:b3bd": "(AUTO) duplicate key", - "erc20:eth:HEX:9600": "(AUTO) duplicate key", - "erc20:eth:Hdp": "(AUTO) duplicate key", - "erc20:eth:Hdp.\u0444": "(AUTO) duplicate key", - "erc20:eth:ICX": "Migrated to mainnet", - "erc20:eth:IETH": "(AUTO) duplicate key", - "erc20:eth:IMT:1311": "(AUTO) duplicate key", - "erc20:eth:IMT:22e5": "(AUTO) duplicate key", - "erc20:eth:INV": "(AUTO) duplicate key", - "erc20:eth:JET:7734": "(AUTO) duplicate key", - "erc20:eth:JET:8727": "(AUTO) duplicate key", - "erc20:eth:JOB:1728": "(AUTO) duplicate key", - "erc20:eth:KEY:4cc1": "(AUTO) duplicate key", - "erc20:eth:KEY:4cd9": "(AUTO) duplicate key", - "erc20:eth:KICK:2769": "(AUTO) duplicate key", - "erc20:eth:KICK:c12d": "(AUTO) duplicate key", - "erc20:eth:LCT:05c7": "(AUTO) duplicate key", - "erc20:eth:LCT:4a37": "(AUTO) duplicate key", - "erc20:eth:LEMO:60c2": "(AUTO) duplicate key", - "erc20:eth:LEMO:b5ae": "(AUTO) duplicate key", - "erc20:eth:LEMO:d6e3": "(AUTO) duplicate key", - "erc20:eth:LG:6fe5": "(AUTO) duplicate key", - "erc20:eth:LG:c520": "(AUTO) duplicate key", - "erc20:eth:LGC:2bc8": "(AUTO) duplicate key", - "erc20:eth:LGC:3b3a": "(AUTO) duplicate key", - "erc20:eth:LINK Platform": "(AUTO) duplicate key", - "erc20:eth:LNC": "(AUTO) duplicate key", - "erc20:eth:LNC (Linker Coin)": "(AUTO) duplicate key", - "erc20:eth:LYM:57ad": "(AUTO) duplicate key", - "erc20:eth:LYM:c690": "(AUTO) duplicate key", - "erc20:eth:MBC:8888": "(AUTO) duplicate key", - "erc20:eth:MBC:b63f": "(AUTO) duplicate key", - "erc20:eth:MDS:6618": "(AUTO) duplicate key", - "erc20:eth:MDS:92b7": "(AUTO) duplicate key", - "erc20:eth:MESH:01f2": "(AUTO) duplicate key", - "erc20:eth:MESH:f030": "(AUTO) duplicate key", - "erc20:eth:MET:2ebd": "(AUTO) duplicate key", - "erc20:eth:MET:a3d5": "(AUTO) duplicate key", - "erc20:eth:MIT": "(AUTO) duplicate key", - "erc20:eth:MIT (Mychatcoin)": "(AUTO) duplicate key", - "erc20:eth:MOC": "(AUTO) duplicate key", - "erc20:eth:MTC:195f": "(AUTO) duplicate key", - "erc20:eth:MTC:905e": "(AUTO) duplicate key", - "erc20:eth:MTC:dfdc": "(AUTO) duplicate key", - "erc20:eth:MUSD": "(AUTO) duplicate key", - "erc20:eth:NCC:5d48": "(AUTO) duplicate key", - "erc20:eth:NCC:9344": "(AUTO) duplicate key", - "erc20:eth:NIO:5554": "(AUTO) duplicate key", - "erc20:eth:NIO:cc2a": "(AUTO) duplicate key", - "erc20:eth:NTK:5d4d": "(AUTO) duplicate key", - "erc20:eth:NTK:69be": "(AUTO) duplicate key", - "erc20:eth:NXX OLD": "(AUTO) duplicate key", - "erc20:eth:OHNI:6f53": "(AUTO) duplicate key", - "erc20:eth:OHNI:7f21": "(AUTO) duplicate key", - "erc20:eth:ONE": "Duplicate key with Harmony ONE", - "erc20:eth:OPEN:69c4": "(AUTO) duplicate key", - "erc20:eth:OPEN:e9de": "(AUTO) duplicate key", - "erc20:eth:ORME:516e": "(AUTO) duplicate key", - "erc20:eth:ORME:c96d": "(AUTO) duplicate key", - "erc20:eth:PASS:7776": "(AUTO) duplicate key", - "erc20:eth:PASS:ee44": "(AUTO) duplicate key", - "erc20:eth:PCH:e3f4": "(AUTO) duplicate key", - "erc20:eth:PCH:fcac": "(AUTO) duplicate key", - "erc20:eth:PLAY": "(AUTO) duplicate key", - "erc20:eth:PRO:226b": "(AUTO) duplicate key", - "erc20:eth:PRO:9041": "(AUTO) duplicate key", - "erc20:eth:PRPS:7641": "(AUTO) duplicate key", - "erc20:eth:PRPS:d94f": "(AUTO) duplicate key", - "erc20:eth:PRPS:e40c": "(AUTO) duplicate key", - "erc20:eth:QBIT": "(AUTO) duplicate key", - "erc20:eth:QBIT (Old)": "(AUTO) duplicate key", - "erc20:eth:RCT:13f2": "(AUTO) duplicate key", - "erc20:eth:RCT:2a3a": "(AUTO) duplicate key", - "erc20:eth:RFX:159a": "(AUTO) duplicate key", - "erc20:eth:RFX:f4c5": "(AUTO) duplicate key", - "erc20:eth:RING:86e5": "(AUTO) duplicate key", - "erc20:eth:RING:9469": "(AUTO) duplicate key", - "erc20:eth:SGT:3742": "(AUTO) duplicate key", - "erc20:eth:SGT:616c": "(AUTO) duplicate key", - "erc20:eth:SGT:d248": "(AUTO) duplicate key", - "erc20:eth:SKM:048f": "(AUTO) duplicate key", - "erc20:eth:SKM:d99b": "(AUTO) duplicate key", - "erc20:eth:SKRP:324a": "(AUTO) duplicate key", - "erc20:eth:SKRP:6e34": "(AUTO) duplicate key", - "erc20:eth:SKRP:fdfe": "(AUTO) duplicate key", - "erc20:eth:SMART": "duplicate key with bitcoin:SMART", - "erc20:eth:SMT:2dcf": "(AUTO) duplicate key", - "erc20:eth:SMT:55f9": "(AUTO) duplicate key", - "erc20:eth:SMT:78eb": "(AUTO) duplicate key", - "erc20:eth:SS:b15f": "(AUTO) duplicate key", - "erc20:eth:SS:bbff": "(AUTO) duplicate key", - "erc20:eth:TEL:85e0": "(AUTO) duplicate key", - "erc20:eth:TEL:ec32": "(AUTO) duplicate key", - "erc20:eth:TGT:ac3d": "(AUTO) duplicate key", - "erc20:eth:TGT:f96a": "(AUTO) duplicate key", - "erc20:eth:THETA": "Migrated to mainnet", - "erc20:eth:TIC:614b": "(AUTO) duplicate key", - "erc20:eth:TIC:7243": "(AUTO) duplicate key", - "erc20:eth:TICO:7f4b": "(AUTO) duplicate key", - "erc20:eth:TICO:a5db": "(AUTO) duplicate key", - "erc20:eth:TRC:cb3f": "(AUTO) duplicate key", - "erc20:eth:TRC:db52": "(AUTO) duplicate key", - "erc20:eth:TRX": "switched to custom network", - "erc20:eth:TST": "(AUTO) duplicate key", - "erc20:eth:TUSD (OLD)": "(AUTO) duplicate key", - "erc20:eth:UMKA:105d": "(AUTO) duplicate key", - "erc20:eth:UMKA:8e5a": "(AUTO) duplicate key", - "erc20:eth:VEN": "Migrated to mainnet", - "erc20:eth:VRS:92e7": "(AUTO) duplicate key", - "erc20:eth:VRS:edba": "(AUTO) duplicate key", - "erc20:eth:WHO:e200": "(AUTO) duplicate key", - "erc20:eth:WHO:e933": "(AUTO) duplicate key", - "erc20:eth:WIC": "(AUTO) duplicate key", - "erc20:eth:WOLK:7287": "(AUTO) duplicate key", - "erc20:eth:WOLK:f6b5": "(AUTO) duplicate key", - "erc20:eth:WORK:a686": "(AUTO) duplicate key", - "erc20:eth:WORK:d18e": "(AUTO) duplicate key", - "erc20:eth:WTC": "Migrated to mainnet", - "erc20:eth:WiC": "(AUTO) duplicate key", - "erc20:eth:YEED:6f7a": "(AUTO) duplicate key", - "erc20:eth:YEED:ca27": "(AUTO) duplicate key", - "erc20:eth:YUP:0f33": "(AUTO) duplicate key", - "erc20:eth:YUP:d9a1": "(AUTO) duplicate key", - "erc20:eth:ZIL": "Migrated to mainnet", - "erc20:eth:aDAI:363e": "(AUTO) duplicate key", - "erc20:eth:aDAI:5dc2": "(AUTO) duplicate key", - "erc20:eth:aDAI:fc1e": "(AUTO) duplicate key", - "erc20:eth:dLETH2x:4ef5": "(AUTO) duplicate key", - "erc20:eth:dLETH2x:8129": "(AUTO) duplicate key", - "erc20:eth:dLETH3x:00a8": "(AUTO) duplicate key", - "erc20:eth:dLETH3x:19a5": "(AUTO) duplicate key", - "erc20:eth:dLETH4x:5bc9": "(AUTO) duplicate key", - "erc20:eth:dLETH4x:8efe": "(AUTO) duplicate key", - "erc20:eth:dsETH2x:840d": "(AUTO) duplicate key", - "erc20:eth:dsETH2x:bf28": "(AUTO) duplicate key", - "erc20:eth:dsETH3x:2c6b": "(AUTO) duplicate key", - "erc20:eth:dsETH3x:ed99": "(AUTO) duplicate key", - "erc20:eth:dsETH4x:2ba3": "(AUTO) duplicate key", - "erc20:eth:dsETH4x:e650": "(AUTO) duplicate key", - "erc20:eth:dsETH:2983": "(AUTO) duplicate key", - "erc20:eth:dsETH:3a25": "(AUTO) duplicate key", - "erc20:eth:ftc": "(AUTO) duplicate key", - "erc20:eth:iETH:77f9": "(AUTO) duplicate key", - "erc20:eth:iETH:f53b": "(AUTO) duplicate key", - "erc20:eth:iLINK:1d49": "(AUTO) duplicate key", - "erc20:eth:iLINK:3ddf": "(AUTO) duplicate key", - "erc20:eth:mUSD": "(AUTO) duplicate key", - "erc20:eth:sETH:5e74": "(AUTO) duplicate key", - "erc20:eth:sETH:d81a": "(AUTO) duplicate key", - "erc20:eth:sUSD:289e": "(AUTO) duplicate key", - "erc20:eth:sUSD:57ab": "(AUTO) duplicate key", - "erc20:eth:univ2FARMUSDC:0d0d": "(AUTO) duplicate key", - "erc20:eth:univ2FARMUSDC:5149": "(AUTO) duplicate key", - "erc20:gor:TST": "(AUTO) duplicate key", - "erc20:rsk:INV": "(AUTO) duplicate key", - "erc20:rsk:MOC": "(AUTO) duplicate key", - "eth:ATH:1620": "duplicate key", - "eth:ATH:43110": "duplicate key", - "eth:BCH": "duplicate of bitcoin:BCH", - "eth:BOBA:1294": "duplicate key", - "eth:BOBA:301": "duplicate key", - "eth:BOBA:43288": "duplicate key", - "eth:BOBA:56288": "duplicate key", - "eth:BOBA:97288": "duplicate key", - "eth:BRO:1039": "duplicate key", - "eth:BRO:108801": "duplicate key", - "eth:BTX": "duplicate key", - "eth:CAM:501": "duplicate key", - "eth:CCN:970": "duplicate key", - "eth:CCN:9700": "duplicate key", - "eth:CCN:971": "duplicate key", - "eth:DOGE": "duplicate key", - "eth:ELA:22": "duplicate of ELA-ETH-sidechain", - "eth:ELLA:64": "duplicate symbol", - "eth:ELLA:7027": "duplicate symbol", - "eth:EOS": "mainnet exists", - "eth:ETH:10": "duplicate key", - "eth:ETH:10086": "duplicate key", - "eth:ETH:116": "duplicate key", - "eth:ETH:1313161554": "duplicate key", - "eth:ETH:1313161556": "duplicate key", - "eth:ETH:1337802": "eth collision", - "eth:ETH:1337803": "duplicate key", - "eth:ETH:288": "duplicate key", - "eth:ETH:324": "duplicate key", - "eth:ETH:42161": "duplicate key", - "eth:ETH:42170": "eth collision", - "eth:ETH:50001": "duplicate key", - "eth:ETH:534352": "duplicate key", - "eth:ETH:5551": "eth collision", - "eth:ETH:73927": "duplicate key", - "eth:ETH:8453": "duplicate key", - "eth:ETH:980": "eth collision", - "eth:FIRE:5290": "duplicate key", - "eth:FRA:2152": "duplicate key", - "eth:FRA:2154": "duplicate key", - "eth:GAR:91": "duplicate key", - "eth:GAR:92": "duplicate key", - "eth:GAR:93": "duplicate key", - "eth:GT:10024": "duplicate key", - "eth:GT:86": "duplicate key", - "eth:GTH:192837465": "duplicate key", - "eth:GTH:486217935": "exclude testnet", - "eth:HBAR:297": "duplicate key", - "eth:HBAR:298": "duplicate key", - "eth:JEWEL:335": "exclude testnet", - "eth:KTO:8285": "exclude testnet", - "eth:MCD:217": "duplicate key", - "eth:MCD:67390": "duplicate key", - "eth:METAL:381931": "duplicate key", - "eth:METAL:381932": "duplicate key", - "eth:NEON:245022926": "duplicate key", - "eth:OAS:19011": "duplicate key", - "eth:OAS:2400": "duplicate key", - "eth:OAS:248": "duplicate key", - "eth:OAS:5555": "duplicate key", - "eth:OAS:7225878": "duplicate key", - "eth:OAS:876": "duplicate key", - "eth:ONE:1666900000": "duplicate key", - "eth:PFT:808": "testnet", - "eth:PI:2099156": "duplicate key", - "eth:PI:8007736": "duplicate key", - "eth:POSI:900000": "duplicate key", - "eth:POSI:920000": "duplicate key", - "eth:POSI:920001": "duplicate key", - "eth:Q": "causing problems in altcoin detection", - "eth:QKC:110000": "exclude testnet", - "eth:QKC:110001": "exclude testnet", - "eth:QKC:110002": "exclude testnet", - "eth:QKC:110003": "exclude testnet", - "eth:QKC:110004": "exclude testnet", - "eth:QKC:110005": "exclude testnet", - "eth:QKC:110006": "exclude testnet", - "eth:QKC:110007": "exclude testnet", - "eth:QKC:110008": "exclude testnet", - "eth:QTZ:8881": "duplicate key", - "eth:QTZ:8883": "duplicate key", - "eth:REI:55555": "duplicate key", - "eth:ROC:1286": "deprecated", - "eth:ROSE:23294": "duplicate key", - "eth:ROSE:42262": "duplicate key", - "eth:SHM:8080": "duplicate key", - "eth:SHM:8081": "duplicate key", - "eth:SHM:8082": "duplicate key", - "eth:SHYFT": "slip44 out of range", - "eth:SOTER:218": "deprecated", - "eth:SYS": "duplicate key", - "eth:T-FSN": "(AUTO) exclude testnet", - "eth:TARA:841": "duplicate key", - "eth:TARA:842": "(AUTO) exclude testnet", - "eth:TAero": "(AUTO) exclude testnet", - "eth:TBITCI": "(AUTO) exclude testnet", - "eth:TBXN": "(AUTO) exclude testnet", - "eth:TCRO": "(AUTO) exclude testnet", - "eth:TELE:8001": "(AUTO) exclude testnet", - "eth:TEST": "(AUTO) exclude testnet", - "eth:TEXL": "(AUTO) exclude testnet", - "eth:TFUEL:361": "incompatible", - "eth:TFUEL:363": "(AUTO) exclude testnet", - "eth:TFUEL:364": "(AUTO) exclude testnet", - "eth:TFUEL:365": "(AUTO) exclude testnet", - "eth:TKAVA": "(AUTO) exclude testnet", - "eth:TKM:60000": "(AUTO) exclude testnet", - "eth:TKM:60001": "(AUTO) exclude testnet", - "eth:TKM:60002": "(AUTO) exclude testnet", - "eth:TKM:60103": "(AUTO) exclude testnet", - "eth:TKM:70000": "duplicate key", - "eth:TKM:70001": "duplicate key", - "eth:TKM:70002": "duplicate key", - "eth:TKM:70103": "duplicate key", - "eth:TLA": "(AUTO) exclude testnet", - "eth:TLOS:41": "(AUTO) exclude testnet", - "eth:TOKI:8654": "duplicate key", - "eth:TOKI:8655": "(AUTO) exclude testnet", - "eth:TOMO:89": "(AUTO) exclude testnet", - "eth:TOP": "causing problems in altcoin detection", - "eth:TOPC": "(AUTO) exclude testnet", - "eth:TPBX:404040": "duplicate key", - "eth:TPBX:4141": "(AUTO) exclude testnet", - "eth:TPI:10067275": "(AUTO) exclude testnet", - "eth:TPI:16658437": "(AUTO) exclude testnet", - "eth:TRES:6065": "(AUTO) exclude testnet", - "eth:TRES:6066": "duplicate key", - "eth:TSCAS": "(AUTO) exclude testnet", - "eth:TSETH": "(AUTO) exclude testnet", - "eth:USD:2018": "duplicate key", - "eth:USD:2020": "duplicate key", - "eth:VS:666666": "exclude testnet", - "eth:W3Q:3334": "duplicate key", - "eth:ZTH:859": "duplicate key", - "eth:sFUEL:1482601649": "duplicate key", - "eth:sFUEL:1564830818": "duplicate key", - "eth:sFUEL:2046399126": "duplicate key", - "eth:sFUEL:503129905": "duplicate key", - "eth:t$BNI": "(AUTO) exclude testnet", - "eth:tAAC": "(AUTO) exclude testnet", - "eth:tACA": "(AUTO) exclude testnet", - "eth:tAGOR": "testnet", - "eth:tAIOZ": "(AUTO) exclude testnet", - "eth:tAITD": "(AUTO) exclude testnet", - "eth:tALOT": "(AUTO) exclude testnet", - "eth:tALYX": "(AUTO) exclude testnet", - "eth:tAMAX": "(AUTO) exclude testnet", - "eth:tAMB": "(AUTO) exclude testnet", - "eth:tASA": "(AUTO) exclude testnet", - "eth:tATN:65010000": "(AUTO) exclude testnet", - "eth:tATN:65100000": "(AUTO) exclude testnet", - "eth:tATOS": "(AUTO) exclude testnet", - "eth:tAVIS": "(AUTO) exclude testnet", - "eth:tAcol": "(AUTO) exclude testnet", - "eth:tBCHT": "(AUTO) exclude testnet", - "eth:tBCS": "(AUTO) exclude testnet", - "eth:tBELLY": "(AUTO) exclude testnet", - "eth:tBFC": "(AUTO) exclude testnet", - "eth:tBIT": "(AUTO) exclude testnet", - "eth:tBLG": "(AUTO) exclude testnet", - "eth:tBOBA:1297": "(AUTO) exclude testnet", - "eth:tBOBA:4051": "(AUTO) exclude testnet", - "eth:tBOBA:4328": "(AUTO) exclude testnet", - "eth:tBOBA:9728": "(AUTO) exclude testnet", - "eth:tBOC": "(AUTO) exclude testnet", - "eth:tBOMB": "(AUTO) exclude testnet", - "eth:tBRNKC": "(AUTO) exclude testnet", - "eth:tBRO": "(AUTO) exclude testnet", - "eth:tBTM": "(AUTO) exclude testnet", - "eth:tBTT": "(AUTO) exclude testnet", - "eth:tC2FLR": "(AUTO) exclude testnet", - "eth:tCANTO": "(AUTO) exclude testnet", - "eth:tCFX": "(AUTO) exclude testnet", - "eth:tCHZ": "(AUTO) exclude testnet", - "eth:tCICT": "(AUTO) exclude testnet", - "eth:tCKB:71393": "(AUTO) exclude testnet", - "eth:tCKB:868455272153094": "(AUTO) exclude testnet", - "eth:tCLD": "(AUTO) exclude testnet", - "eth:tCLO": "(AUTO) exclude testnet", - "eth:tCLV": "(AUTO) exclude testnet", - "eth:tCMP": "(AUTO) exclude testnet", - "eth:tCNT": "(AUTO) exclude testnet", - "eth:tCORE": "(AUTO) exclude testnet", - "eth:tCTE": "testnet", - "eth:tCUBET": "(AUTO) exclude testnet", - "eth:tCWN": "(AUTO) exclude testnet", - "eth:tDB": "(AUTO) exclude testnet", - "eth:tDEL": "(AUTO) exclude testnet", - "eth:tDFI": "(AUTO) exclude testnet", - "eth:tDOGE": "(AUTO) exclude testnet", - "eth:tDOGS": "(AUTO) exclude testnet", - "eth:tDTH": "(AUTO) exclude testnet", - "eth:tDX": "(AUTO) exclude testnet", - "eth:tDYNO": "(AUTO) exclude testnet", - "eth:tECE": "(AUTO) exclude testnet", - "eth:tECG": "(AUTO) exclude testnet", - "eth:tECO": "(AUTO) exclude testnet", - "eth:tECS": "(AUTO) exclude testnet", - "eth:tEDG": "(AUTO) exclude testnet", - "eth:tEDX": "(AUTO) exclude testnet", - "eth:tELA:21": "(AUTO) exclude testnet", - "eth:tELA:23": "(AUTO) exclude testnet", - "eth:tEOS": "(AUTO) exclude testnet", - "eth:tETH:115": "(AUTO) exclude testnet", - "eth:tETH:1313161555": "(AUTO) exclude testnet", - "eth:tETH:1337": "(AUTO) exclude testnet", - "eth:tETH:1402": "(AUTO) exclude testnet", - "eth:tETH:1422": "(AUTO) exclude testnet", - "eth:tETH:28": "(AUTO) exclude testnet", - "eth:tETH:280": "(AUTO) exclude testnet", - "eth:tETH:28528": "(AUTO) exclude testnet", - "eth:tETH:2888": "(AUTO) exclude testnet", - "eth:tETH:420": "(AUTO) exclude testnet", - "eth:tETH:421611": "duplicate key", - "eth:tETH:534353": "(AUTO) exclude testnet", - "eth:tETH:5553": "(AUTO) exclude testnet", - "eth:tETH:5777": "duplicate key", - "eth:tETH:69": "duplicate key", - "eth:tETH:84531": "(AUTO) exclude testnet", - "eth:tETH:956": "(AUTO) exclude testnet", - "eth:tETMP": "(AUTO) exclude testnet", - "eth:tEUN": "(AUTO) exclude testnet", - "eth:tEVM": "(AUTO) exclude testnet", - "eth:tEVMOS": "(AUTO) exclude testnet", - "eth:tEZC": "(AUTO) exclude testnet", - "eth:tFIL:3141": "(AUTO) exclude testnet", - "eth:tFIL:31415": "(AUTO) exclude testnet", - "eth:tFIL:314159": "(AUTO) exclude testnet", - "eth:tFIL:3141592": "(AUTO) exclude testnet", - "eth:tFIL:31415926": "(AUTO) exclude testnet", - "eth:tFIRE:917": "(AUTO) exclude testnet", - "eth:tFIRE:9170": "(AUTO) exclude testnet", - "eth:tFITFI": "(AUTO) exclude testnet", - "eth:tFNCY": "(AUTO) exclude testnet", - "eth:tFRA": "(AUTO) exclude testnet", - "eth:tFTM": "(AUTO) exclude testnet", - "eth:tFTN": "(AUTO) exclude testnet", - "eth:tFtREN": "(AUTO) exclude testnet", - "eth:tGAR:900": "(AUTO) exclude testnet", - "eth:tGAR:901": "(AUTO) exclude testnet", - "eth:tGAR:902": "(AUTO) exclude testnet", - "eth:tGAR:903": "(AUTO) exclude testnet", - "eth:tGCD": "(AUTO) exclude testnet", - "eth:tGO": "(AUTO) exclude testnet", - "eth:tGT": "(AUTO) exclude testnet", - "eth:tGTFX": "(AUTO) exclude testnet", - "eth:tGTH": "(AUTO) exclude testnet", - "eth:tGZN": "(AUTO) exclude testnet", - "eth:tGooD": "(AUTO) exclude testnet", - "eth:tHBAR": "(AUTO) exclude testnet", - "eth:tHIK": "(AUTO) exclude testnet", - "eth:tHOO": "(AUTO) exclude testnet", - "eth:tHPN": "(AUTO) exclude testnet", - "eth:tHYM": "(AUTO) exclude testnet", - "eth:tIDE": "(AUTO) exclude testnet", - "eth:tIMV": "(AUTO) exclude testnet", - "eth:tIOTX": "(AUTO) exclude testnet", - "eth:tISLMT": "(AUTO) exclude testnet", - "eth:tIVAR": "(AUTO) exclude testnet", - "eth:tJINDA": "(AUTO) exclude testnet", - "eth:tKAIBA": "(AUTO) exclude testnet", - "eth:tKAR": "(AUTO) exclude testnet", - "eth:tKCS": "(AUTO) exclude testnet", - "eth:tKSX": "(AUTO) exclude testnet", - "eth:tKUB": "(AUTO) exclude testnet", - "eth:tL1test": "(AUTO) exclude testnet", - "eth:tLAMB": "(AUTO) exclude testnet", - "eth:tLAVA": "(AUTO) exclude testnet", - "eth:tMDGLT": "(AUTO) exclude testnet", - "eth:tMEER-T": "(AUTO) exclude testnet", - "eth:tMESHT": "(AUTO) exclude testnet", - "eth:tMETIS:588": "(AUTO) exclude testnet", - "eth:tMETIS:599": "(AUTO) exclude testnet", - "eth:tMTR": "(AUTO) exclude testnet", - "eth:tMTTest": "(AUTO) exclude testnet", - "eth:tMYN": "(AUTO) exclude testnet", - "eth:tNBX": "(AUTO) exclude testnet", - "eth:tNEON": "(AUTO) exclude testnet", - "eth:tNMAC": "(AUTO) exclude testnet", - "eth:tNTTH": "(AUTO) exclude testnet", - "eth:tNULS": "(AUTO) exclude testnet", - "eth:tNUM": "(AUTO) exclude testnet", - "eth:tNetZ": "(AUTO) exclude testnet", - "eth:tOAS": "(AUTO) exclude testnet", - "eth:tOKT": "(AUTO) exclude testnet", - "eth:tOLO": "(AUTO) exclude testnet", - "eth:tOLT": "(AUTO) exclude testnet", - "eth:tONE:1666700000": "(AUTO) exclude testnet", - "eth:tONE:1666700001": "(AUTO) exclude testnet", - "eth:tONE:1666700002": "(AUTO) exclude testnet", - "eth:tONE:1666700003": "(AUTO) exclude testnet", - "eth:tONG": "(AUTO) exclude testnet", - "eth:tONUS": "(AUTO) exclude testnet", - "eth:tOONE": "(AUTO) exclude testnet", - "eth:tORING": "(AUTO) exclude testnet", - "eth:tOY": "(AUTO) exclude testnet", - "eth:tPALM": "(AUTO) exclude testnet", - "eth:tPCTT": "(AUTO) exclude testnet", - "eth:tPLS:940": "(AUTO) exclude testnet", - "eth:tPLS:941": "(AUTO) exclude testnet", - "eth:tPLS:942": "(AUTO) exclude testnet", - "eth:tPOLIS": "(AUTO) exclude testnet", - "eth:tPOSI": "(AUTO) exclude testnet", - "eth:tPRB": "(AUTO) exclude testnet", - "eth:tPRING": "(AUTO) exclude testnet", - "eth:tPRX": "(AUTO) exclude testnet", - "eth:tPTX": "(AUTO) exclude testnet", - "eth:tQ": "causing problems in altcoin detection", - "eth:tQDC": "(AUTO) exclude testnet", - "eth:tQET": "(AUTO) exclude testnet", - "eth:tQOM": "(AUTO) exclude testnet", - "eth:tREI": "(AUTO) exclude testnet", - "eth:tROSE": "(AUTO) exclude testnet", - "eth:tRPG": "(AUTO) exclude testnet", - "eth:tSFL": "(AUTO) exclude testnet", - "eth:tSHT": "(AUTO) exclude testnet", - "eth:tSHYFTT": "(AUTO) exclude testnet", - "eth:tSINSO": "(AUTO) exclude testnet", - "eth:tSNS": "(AUTO) exclude testnet", - "eth:tSRDX": "(AUTO) exclude testnet", - "eth:tSTAND": "(AUTO) exclude testnet", - "eth:tSTOS": "(AUTO) exclude testnet", - "eth:tSVRN": "(AUTO) exclude testnet", - "eth:tSX": "(AUTO) exclude testnet", - "eth:tSYS": "(AUTO) exclude testnet", - "eth:tU2U": "(AUTO) exclude testnet", - "eth:tUBC": "(AUTO) exclude testnet", - "eth:tULX": "(AUTO) exclude testnet", - "eth:tUNQ": "(AUTO) exclude testnet", - "eth:tUSD": "(AUTO) exclude testnet", - "eth:tVET": "(AUTO) exclude testnet", - "eth:tVIL": "(AUTO) exclude testnet", - "eth:tVNT": "(AUTO) exclude testnet", - "eth:tW3G": "(AUTO) exclude testnet", - "eth:tW3Q": "(AUTO) exclude testnet", - "eth:tWAN": "(AUTO) exclude testnet", - "eth:tWEMIX": "(AUTO) exclude testnet", - "eth:tWLK": "(AUTO) exclude testnet", - "eth:tXPR": "(AUTO) exclude testnet", - "eth:tXVM": "(AUTO) exclude testnet", - "eth:tZCR": "(AUTO) exclude testnet", - "eth:tZEN": "(AUTO) exclude testnet", - "eth:tZERO": "(AUTO) exclude testnet", - "eth:tZKST": "(AUTO) exclude testnet", - "eth:taZETA": "(AUTO) exclude testnet", - "eth:tatp": "(AUTO) exclude testnet", - "eth:tcett": "(AUTO) exclude testnet", - "eth:tkiETH": "(AUTO) exclude testnet", - "eth:tlat:2203181": "(AUTO) exclude testnet", - "eth:tlat:2206132": "(AUTO) exclude testnet", - "eth:tmTAda": "(AUTO) exclude testnet", - "eth:tmTAlgo": "(AUTO) exclude testnet", - "eth:tmc": "(AUTO) exclude testnet", - "eth:tpCKB": "(AUTO) exclude testnet", - "eth:trAna": "(AUTO) exclude testnet", - "eth:tsFUEL": "(AUTO) exclude testnet", - "eth:tusd": "(AUTO) exclude testnet", - "eth:txDAI:100100": "(AUTO) exclude testnet", - "eth:txDAI:10200": "(AUTO) exclude testnet", - "eth:xDAI:200": "duplicate key", - "eth:\u03a6:144": "duplicate key", - "eth:\u03a6:4181": "duplicate key", "misc:LSK": "Incompatible mainnet hard-fork" } } diff --git a/common/defs/wallets.json b/common/defs/wallets.json index 2b918515d..b50615190 100644 --- a/common/defs/wallets.json +++ b/common/defs/wallets.json @@ -120,16 +120,5 @@ }, "bitcoin:ZCR": { "Electrum-ZCR": "https://github.com/zcore-coin/electrum-wallet/" - }, - "eth:WAN": { - "Wanchain Wallet": "https://www.wanchain.org/getstarted/" - }, - "eth:AUX": { - "MyEtherWallet": null - }, - "eth:XDC": { - "MyCrypto": null, - "MyEtherWallet": null, - "XDC Wallet": "https://wallet.xinfin.network" } } diff --git a/common/tools/README.md b/common/tools/README.md index 31ce27c8f..24a0f1092 100644 --- a/common/tools/README.md +++ b/common/tools/README.md @@ -21,8 +21,6 @@ the following commands: * **`check`**: check validity of json definitions and associated data. Used in CI. * **`dump`**: dump coin information, including support status, in JSON format. Various filtering options are available, check help for details. -* **`coindefs`**: generate signed protobuf descriptions of coins. This is for future use - and could allow us to not need to store coin data in Trezor itself. Use `cointool.py command --help` to get more information on each command. @@ -41,18 +39,6 @@ The following commands are available: Use `support.py command --help` to get more information on each command. -### `coins_details.py` - -Generates `coins_details.json`, source file for https://trezor.io/coins. -Collects data on coins, downloads market caps and puts everything into a single file. -Caches market cap data so you don't have to download it every time. - -### `diffize_coins_details.py` - -Compares generated `coins_details.json` to the released version currently served -on https://trezor.io/coins, in a format that is nicely readable to humans and -hard(er) to mess up by diff. - ### `coin_info.py` In case where code generation with `cointool.py render` is impractical or not sufficient, @@ -85,7 +71,7 @@ from the outside. ### `marketcap.py` -Module for obtaining market cap and price data used by `coins_details.py` and `maxfee.py`. +Module for obtaining market cap and price data used by `maxfee.py`. ### `maxfee.py` @@ -130,32 +116,20 @@ Or mark them as unsupported explicitly. ## Releasing a new firmware -#### **Step 1:** update the tokens repo - -```sh -pushd defs/ethereum/tokens -git checkout master -git pull -popd -git add defs/ethereum/tokens -``` - -#### **Step 2:** run the release flow +#### **Step 1:** run the release script ```sh -./tools/support.py release 2 +./tools/release.sh ``` -The number `2` indicates that you are releasing Trezor 2. The version will be -automatically determined, based on currently released firmwares. Or you can explicitly -specify the version with `-r 2.1.0`. - All currently known unreleased ERC20 tokens are automatically set to the given version. -All coins marked _soon_ are set to the current version. This is automatic - coins that +**_Note that "soon" feature was already removed and following paragraph is deprecated._** + +_All coins marked _soon_ are set to the current version. This is automatic - coins that were marked _soon_ were used in code generation and so should be released. If you want to avoid this, you will have to manually revert each coin to _soon_ status, either with -`support.py set`, or by manually editing `support.json`. +`support.py set`, or by manually editing `support.json`._ Coins in state _unknown_, i.e., coins that are known in the definitions but not listed in support files, will be also added. But you will be interactively asked to confirm @@ -170,13 +144,7 @@ Use `-g` or `--git-tag` to automatically tag the current `HEAD` with a version, XXX this should also commit the changes though, otherwise the tag will apply to the wrong commit. -#### **Step 3:** review and commit your changes +#### **Step 2:** review and commit your changes Use `git diff` to review changes made, commit and push. If you tagged the commit in the previous step, don't forget to `git push --tags` too. - -#### **Step 4:** update submodule in your target repository - -Go to `trezor-core` or `trezor-mcu` checkout and update the submodule. Checkout the -appropriate tag if you created it. If you're in `trezor-core`, run `make templates` -to update source files. diff --git a/common/tools/coin_info.py b/common/tools/coin_info.py index 19625c134..8680fd110 100755 --- a/common/tools/coin_info.py +++ b/common/tools/coin_info.py @@ -24,11 +24,7 @@ except ImportError: log = logging.getLogger(__name__) ROOT = Path(__file__).resolve().parent.parent - -if os.environ.get("DEFS_DIR"): - DEFS_DIR = Path(os.environ.get("DEFS_DIR")).resolve() -else: - DEFS_DIR = ROOT / "defs" +DEFS_DIR = ROOT / "defs" class SupportItemBool(TypedDict): @@ -107,9 +103,9 @@ class Coin(TypedDict): icon: str # Special ETH fields + coingecko_id: str chain: str - chain_id: str - rskip60: bool + chain_id: int url: str # Special erc20 fields @@ -117,7 +113,6 @@ class Coin(TypedDict): address: str address_bytes: bytes dup_key_nontoken: bool - deprecation: dict[str, str] # Special NEM fields ticker: str @@ -126,6 +121,7 @@ class Coin(TypedDict): unsupported: bool duplicate: bool support: SupportInfoItem + is_testnet: bool # Backend-oriented fields blockchain_link: dict[str, Any] @@ -162,6 +158,10 @@ def load_json(*path: str | Path) -> Any: return json.loads(file.read_text(), object_pairs_hook=OrderedDict) +def get_btc_testnet_status(name: str) -> bool: + return any((mark in name.lower()) for mark in ("testnet", "regtest")) + + # ====== CoinsInfo ====== @@ -325,7 +325,7 @@ def validate_btc(coin: Coin) -> list[str]: if not coin["max_address_length"] >= coin["min_address_length"]: errors.append("max address length must not be smaller than min address length") - if "testnet" in coin["coin_name"].lower() and coin["slip44"] != 1: + if coin["is_testnet"] and coin["slip44"] != 1: errors.append("testnet coins must use slip44 coin type 1") if coin["segwit"]: @@ -359,74 +359,48 @@ def _load_btc_coins() -> Coins: shortcut=coin["coin_shortcut"], key=f"bitcoin:{coin['coin_shortcut']}", icon=str(file.with_suffix(".png")), + is_testnet=get_btc_testnet_status(coin["coin_label"]), ) coins.append(coin) return coins -def _load_ethereum_networks() -> Coins: +def _load_builtin_ethereum_networks() -> Coins: """Load ethereum networks from `ethereum/networks.json`""" - chains_path = DEFS_DIR / "ethereum" / "chains" / "_data" / "chains" + chains_data = load_json("ethereum", "networks.json") networks: Coins = [] - for chain in sorted( - chains_path.glob("eip155-*.json"), - key=lambda x: int(x.stem.replace("eip155-", "")), - ): - chain_data = load_json(chain) - shortcut = chain_data["nativeCurrency"]["symbol"] - name = chain_data["name"] - title = chain_data.get("title", "") - is_testnet = "testnet" in name.lower() or "testnet" in title.lower() - if is_testnet: - slip44 = 1 - else: - slip44 = chain_data.get("slip44", 60) - - if is_testnet and not shortcut.lower().startswith("t"): - shortcut = "t" + shortcut - - rskip60 = shortcut in ("RBTC", "TRBTC") - - # strip out bullcrap in network naming - if "mainnet" in name.lower(): - name = re.sub(r" mainnet.*$", "", name, flags=re.IGNORECASE) - - network = dict( - chain=chain_data["shortName"], - chain_id=chain_data["chainId"], - slip44=slip44, - shortcut=shortcut, - name=name, - rskip60=rskip60, - url=chain_data["infoURL"], - key=f"eth:{shortcut}", + for chain_data in chains_data: + chain_data.update( + chain_id=chain_data["chain_id"], + key=f"eth:{chain_data['shortcut']}", + # is_testnet is present in the JSON ) - networks.append(cast(Coin, network)) + networks.append(cast(Coin, chain_data)) return networks -def _load_erc20_tokens() -> Coins: - """Load ERC20 tokens from `ethereum/tokens` submodule.""" - networks = _load_ethereum_networks() - tokens: Coins = [] - for network in networks: - chain = network["chain"] +def _load_builtin_erc20_tokens() -> Coins: + """Load ERC20 tokens from `ethereum/tokens.json`.""" + tokens_data = load_json("ethereum", "tokens.json") + all_tokens: Coins = [] - chain_path = DEFS_DIR / "ethereum" / "tokens" / "tokens" / chain - for file in sorted(chain_path.glob("*.json")): - token: Coin = load_json(file) + for chain_id_and_chain, tokens in tokens_data.items(): + chain_id, chain = chain_id_and_chain.split(";", maxsplit=1) + for token in tokens: token.update( chain=chain, - chain_id=network["chain_id"], + chain_id=int(chain_id), + address=token["address"].lower(), address_bytes=bytes.fromhex(token["address"][2:]), - shortcut=token["symbol"], - key=f"erc20:{chain}:{token['symbol']}", + symbol=token["shortcut"], + key=f"erc20:{chain}:{token['shortcut']}", + is_testnet=False, ) - tokens.append(token) + all_tokens.append(cast(Coin, token)) - return tokens + return all_tokens def _load_nem_mosaics() -> Coins: @@ -434,7 +408,11 @@ def _load_nem_mosaics() -> Coins: mosaics: Coins = load_json("nem/nem_mosaics.json") for mosaic in mosaics: shortcut = mosaic["ticker"].strip() - mosaic.update(shortcut=shortcut, key=f"nem:{shortcut}") + mosaic.update( + shortcut=shortcut, + key=f"nem:{shortcut}", + is_testnet=False, + ) return mosaics @@ -442,7 +420,10 @@ def _load_misc() -> Coins: """Loads miscellaneous networks from `misc/misc.json`""" others: Coins = load_json("misc/misc.json") for other in others: - other.update(key=f"misc:{other['shortcut']}") + other.update( + key=f"misc:{other['shortcut']}", + is_testnet=False, + ) return others @@ -493,10 +474,6 @@ def latest_releases() -> dict[str, Any]: return latest -def is_token(coin: Coin) -> bool: - return coin["key"].startswith("erc20:") - - def support_info_single(support_data: SupportData, coin: Coin) -> SupportInfoItem: """Extract a support dict from `support.json` data. @@ -554,10 +531,6 @@ def support_info(coins: Iterable[Coin] | CoinsInfo | dict[str, Coin]) -> Support WALLET_SUITE = {"Trezor Suite": "https://suite.trezor.io"} WALLET_NEM = {"Nano Wallet": "https://nemplatform.com/wallets/#desktop"} -WALLETS_ETH_3RDPARTY = { - "MyEtherWallet": "https://www.myetherwallet.com", - "MyCrypto": "https://mycrypto.com", -} def get_wallet_data() -> WalletInfo: @@ -579,7 +552,6 @@ def _suite_support(coin: Coin, support: SupportInfoItem) -> bool: def wallet_info_single( support_data: SupportInfo, - eth_networks_support_data: SupportInfo, wallet_data: WalletInfo, coin: Coin, ) -> WalletItems: @@ -596,26 +568,16 @@ def wallet_info_single( if key.startswith("bitcoin:"): if _suite_support(coin, support_data[key]): wallets.update(WALLET_SUITE) - elif key.startswith("eth:"): - if support_data[key]["suite"]: - wallets.update(WALLET_SUITE) - else: - wallets.update(WALLETS_ETH_3RDPARTY) - elif key.startswith("erc20:"): - if eth_networks_support_data[coin["chain"]]["suite"]: - wallets.update(WALLET_SUITE) - else: - wallets.update(WALLETS_ETH_3RDPARTY) elif key.startswith("nem:"): wallets.update(WALLET_NEM) - elif key.startswith("misc:"): + elif key.startswith(("eth:", "erc20:", "misc:")): pass # no special logic here else: raise ValueError(f"Unknown coin category: {key}") # Add wallets from `wallets.json` # This must come last as it offers the ability to override existing wallets - # (for example with `"MyEtherWallet": null` we delete the MyEtherWallet from the coin) + # (for example with `"Trezor Suite": null` we delete the "Trezor Suite" from the coin) wallets.update(wallet_data.get(key, {})) # Removing potentially disabled wallets from the last step @@ -644,17 +606,9 @@ def wallet_info(coins: Iterable[Coin] | CoinsInfo | dict[str, Coin]) -> WalletIn support_data = support_info(coins) wallet_data = get_wallet_data() - # Needed to find out suitable wallets for all the erc20 coins (Suite vs 3rd party) - eth_networks = [coin for coin in coins if coin["key"].startswith("eth:")] - eth_networks_support_data = { - n["chain"]: support_data[n["key"]] for n in eth_networks - } - wallet: WalletInfo = {} for coin in coins: - wallet[coin["key"]] = wallet_info_single( - support_data, eth_networks_support_data, wallet_data, coin - ) + wallet[coin["key"]] = wallet_info_single(support_data, wallet_data, coin) return wallet @@ -715,74 +669,7 @@ def apply_duplicity_overrides(coins: Coins) -> Coins: return override_bucket -def deduplicate_erc20(buckets: CoinBuckets, networks: Coins) -> None: - """Apply further processing to ERC20 duplicate buckets. - - This function works on results of `mark_duplicate_shortcuts`. - - Buckets that contain at least one non-token are ignored - symbol collisions - with non-tokens always apply. - - Otherwise the following rules are applied: - - 1. If _all tokens_ in the bucket have shortcuts with distinct suffixes, e.g., - `CAT (BitClave)` and `CAT (Blockcat)`, the bucket is cleared - all are considered - non-duplicate. - - (If even one token in the bucket _does not_ have a distinct suffix, e.g., - `MIT` and `MIT (Mychatcoin)`, this rule does not apply and ALL tokens in the bucket - are still considered duplicate.) - - 2. If there is only one "main" token in the bucket, the bucket is cleared. - That means that all other tokens must either be on testnets, or they must be marked - as deprecated, with a deprecation pointing to the "main" token. - """ - - testnet_networks = {n["chain"] for n in networks if n["slip44"] == 1} - - def clear_bucket(bucket: Coins) -> None: - # allow all coins, except those that are explicitly marked through overrides - for coin in bucket: - coin["duplicate"] = False - - for bucket in buckets.values(): - # Only check buckets that contain purely ERC20 tokens. Collision with - # a non-token is always forbidden. - if not all(is_token(c) for c in bucket): - continue - - splits = (symbol_from_shortcut(coin["shortcut"]) for coin in bucket) - suffixes = {suffix for _, suffix in splits} - # if 1. all suffixes are distinct and 2. none of them are empty - if len(suffixes) == len(bucket) and all(suffixes): - clear_bucket(bucket) - continue - - # protected categories: - testnets = [coin for coin in bucket if coin["chain"] in testnet_networks] - deprecated_by_same = [ - coin - for coin in bucket - if "deprecation" in coin - and any( - other["address"] == coin["deprecation"]["new_address"] - for other in bucket - ) - ] - remaining = [ - coin - for coin in bucket - if coin not in testnets and coin not in deprecated_by_same - ] - if len(remaining) <= 1: - for coin in deprecated_by_same: - deprecated_symbol = "[deprecated] " + coin["symbol"] - coin["shortcut"] = coin["symbol"] = deprecated_symbol - coin["key"] += ":deprecated" - clear_bucket(bucket) - - -def deduplicate_keys(all_coins: Coins) -> None: +def find_duplicate_keys(all_coins: Coins) -> None: dups: CoinBuckets = defaultdict(list) for coin in all_coins: dups[coin["key"]].append(coin) @@ -790,14 +677,8 @@ def deduplicate_keys(all_coins: Coins) -> None: for coins in dups.values(): if len(coins) <= 1: continue - for i, coin in enumerate(coins): - if is_token(coin): - coin["key"] += ":" + coin["address"][2:6].lower() # first 4 hex chars - elif "chain_id" in coin: - coin["key"] += ":" + str(coin["chain_id"]) - else: - coin["key"] += f":{i}" - coin["dup_key_nontoken"] = True + coin = coins[0] + raise ValueError(f"Duplicate key {coin['key']}") def fill_blockchain_links(all_coins: CoinsInfo) -> None: @@ -829,8 +710,8 @@ def collect_coin_info() -> CoinsInfo: """ all_coins = CoinsInfo( bitcoin=_load_btc_coins(), - eth=_load_ethereum_networks(), - erc20=_load_erc20_tokens(), + eth=_load_builtin_ethereum_networks(), + erc20=_load_builtin_erc20_tokens(), nem=_load_nem_mosaics(), misc=_load_misc(), ) @@ -866,10 +747,8 @@ def coin_info_with_duplicates() -> tuple[CoinsInfo, CoinBuckets]: coin_list = all_coins.as_list() # generate duplicity buckets based on shortcuts buckets = mark_duplicate_shortcuts(all_coins.as_list()) - # apply further processing to ERC20 tokens, generate deprecations etc. - deduplicate_erc20(buckets, all_coins.eth) - # ensure the whole list has unique keys (taking into account changes from deduplicate_erc20) - deduplicate_keys(coin_list) + # ensure the whole list has unique keys + find_duplicate_keys(coin_list) # apply duplicity overrides buckets["_override"] = apply_duplicity_overrides(coin_list) sort_coin_infos(all_coins) @@ -883,9 +762,6 @@ def coin_info() -> CoinsInfo: Does not auto-delete duplicates. This should now be based on support info. """ all_coins, _ = coin_info_with_duplicates() - # all_coins["erc20"] = [ - # coin for coin in all_coins["erc20"] if not coin.get("duplicate") - # ] return all_coins diff --git a/common/tools/coins_details.py b/common/tools/coins_details.py deleted file mode 100755 index 806e99b09..000000000 --- a/common/tools/coins_details.py +++ /dev/null @@ -1,331 +0,0 @@ -#!/usr/bin/env python3 -"""Fetch information about coins and tokens supported by Trezor and update it in coins_details.json.""" -import json -import logging -import os -import sys -import time - -import click - -import coin_info -import marketcap - -LOG = logging.getLogger(__name__) - -OPTIONAL_KEYS = ("links", "notes", "wallet") -ALLOWED_SUPPORT_STATUS = ("yes", "no") - -WALLETS = coin_info.load_json("wallets.json") -OVERRIDES = coin_info.load_json("coins_details.override.json") -VERSIONS = coin_info.latest_releases() - -# automatic wallet entries -WALLET_SUITE = {"Trezor Suite": "https://suite.trezor.io"} -WALLET_NEM = {"Nano Wallet": "https://nemplatform.com/wallets/#desktop"} -WALLETS_ETH_3RDPARTY = { - "MyEtherWallet": "https://www.myetherwallet.com", - "MyCrypto": "https://mycrypto.com", -} - - -TREZOR_KNOWN_URLS = ( - "https://suite.trezor.io", - "https://wallet.trezor.io", -) - - -def update_marketcaps(coins): - for coin in coins.values(): - coin["marketcap_usd"] = marketcap.marketcap(coin) or 0 - - -def summary(coins, api_key): - t1_coins = 0 - t2_coins = 0 - supported_marketcap = 0 - for coin in coins.values(): - if coin.get("hidden"): - continue - - t1_enabled = coin["t1_enabled"] == "yes" - t2_enabled = coin["t2_enabled"] == "yes" - if t1_enabled: - t1_coins += 1 - if t2_enabled: - t2_coins += 1 - if t1_enabled or t2_enabled: - supported_marketcap += coin.get("marketcap_usd", 0) - - total_marketcap = None - try: - ret = marketcap.call("global-metrics/quotes/latest", api_key) - total_marketcap = int(ret["data"]["quote"]["USD"]["total_market_cap"]) - except Exception: - pass - - marketcap_percent = 100 * supported_marketcap / total_marketcap - return dict( - updated_at=int(time.time()), - updated_at_readable=time.asctime(), - t1_coins=t1_coins, - t2_coins=t2_coins, - marketcap_usd=supported_marketcap, - total_marketcap_usd=total_marketcap, - marketcap_supported=f"{marketcap_percent:.02f} %", - ) - - -def _is_supported(support, trezor_version): - # True or version string means YES - # False or None means NO - return "yes" if support.get(trezor_version) else "no" - - -def _suite_support(coin, support): - """Check the "suite" support property. - If set, check that at least one of the backends run on trezor.io. - If yes, assume we support the coin in our wallet. - Otherwise it's probably working with a custom backend, which means don't - link to our wallet. - """ - if not support.get("suite"): - return False - return any(".trezor.io" in url for url in coin["blockbook"]) - - -def dict_merge(orig, new): - if isinstance(new, dict) and isinstance(orig, dict): - for k, v in new.items(): - orig[k] = dict_merge(orig.get(k), v) - return orig - else: - return new - - -def update_simple(coins, support_info, type): - res = {} - for coin in coins: - key = coin["key"] - support = support_info[key] - - details = dict( - name=coin["name"], - shortcut=coin["shortcut"], - type=type, - t1_enabled=_is_supported(support, "trezor1"), - t2_enabled=_is_supported(support, "trezor2"), - wallet={}, - ) - for k in OPTIONAL_KEYS: - if k in coin: - details[k] = coin[k] - - details["wallet"].update(WALLETS.get(key, {})) - - res[key] = details - - return res - - -def update_bitcoin(coins, support_info): - res = update_simple(coins, support_info, "coin") - for coin in coins: - key = coin["key"] - support = support_info[key] - details = dict( - name=coin["coin_label"], - links=dict(Homepage=coin["website"], Github=coin["github"]), - wallet=WALLET_SUITE if _suite_support(coin, support) else {}, - ) - dict_merge(res[key], details) - - return res - - -def update_erc20(coins, networks, support_info): - # TODO skip disabled networks? - network_support = {n["chain"]: support_info.get(n["key"]) for n in networks} - network_testnets = {n["chain"] for n in networks if "Testnet" in n["name"]} - res = update_simple(coins, support_info, "erc20") - for coin in coins: - key = coin["key"] - chain = coin["chain"] - - hidden = False - if chain in network_testnets: - hidden = True - if "deprecation" in coin: - hidden = True - - if network_support.get(chain, {}).get("suite"): - wallets = WALLET_SUITE - else: - wallets = WALLETS_ETH_3RDPARTY - - details = dict( - network=chain, - address=coin["address"], - shortcut=coin["shortcut"], - links={}, - wallet=wallets, - ) - if hidden: - details["hidden"] = True - if coin.get("website"): - details["links"]["Homepage"] = coin["website"] - if coin.get("social", {}).get("github"): - details["links"]["Github"] = coin["social"]["github"] - - dict_merge(res[key], details) - - return res - - -def update_ethereum_networks(coins, support_info): - res = update_simple(coins, support_info, "coin") - for coin in coins: - key = coin["key"] - if support_info[key].get("suite"): - wallets = WALLET_SUITE - else: - wallets = WALLETS_ETH_3RDPARTY - details = dict(links=dict(Homepage=coin.get("url")), wallet=wallets) - dict_merge(res[key], details) - - return res - - -def update_nem_mosaics(coins, support_info): - res = update_simple(coins, support_info, "mosaic") - for coin in coins: - key = coin["key"] - details = dict(wallet=WALLET_NEM) - dict_merge(res[key], details) - - return res - - -def check_missing_data(coins): - for k, coin in coins.items(): - hide = False - - if "Homepage" not in coin.get("links", {}): - level = logging.WARNING - if k.startswith("erc20:"): - level = logging.INFO - LOG.log(level, f"{k}: Missing homepage") - hide = True - if coin["t1_enabled"] not in ALLOWED_SUPPORT_STATUS: - LOG.error(f"{k}: Unknown t1_enabled: {coin['t1_enabled']}") - hide = True - if coin["t2_enabled"] not in ALLOWED_SUPPORT_STATUS: - LOG.error(f"{k}: Unknown t2_enabled: {coin['t2_enabled']}") - hide = True - - # check wallets - for wallet in coin["wallet"]: - name = wallet.get("name") - url = wallet.get("url") - if not name or not url: - LOG.warning(f"{k}: Bad wallet entry") - hide = True - continue - if "trezor" in name.lower() and url not in TREZOR_KNOWN_URLS: - LOG.warning(f"{k}: Strange URL for Trezor Wallet") - - if coin["t1_enabled"] == "no" and coin["t2_enabled"] == "no": - LOG.info(f"{k}: Coin not enabled on either device") - hide = True - - if len(coin.get("wallet", [])) == 0: - LOG.debug(f"{k}: Missing wallet") - - if "Testnet" in coin["name"] or "Regtest" in coin["name"]: - LOG.debug(f"{k}: Hiding testnet") - hide = True - - if not hide and coin.get("hidden"): - LOG.info(f"{k}: Details are OK, but coin is still hidden") - - if hide: - data = marketcap.get_coin(coin) - if data and data["cmc_rank"] < 150 and not coin.get("ignore_cmc_rank"): - LOG.warning(f"{k}: Hiding coin ranked {data['cmc_rank']} on CMC") - coin["hidden"] = 1 - - # summary of hidden coins - hidden_coins = [k for k, coin in coins.items() if coin.get("hidden")] - for key in hidden_coins: - del coins[key] - - -def apply_overrides(coins): - for key, override in OVERRIDES.items(): - if key not in coins: - LOG.warning(f"override without coin: {key}") - continue - - dict_merge(coins[key], override) - - -def finalize_wallets(coins): - def sort_key(w): - if "trezor.io" in w["url"]: - return 0, w["name"] - else: - return 1, w["name"] - - for coin in coins.values(): - wallets_list = [ - dict(name=name, url=url) for name, url in coin["wallet"].items() if url - ] - wallets_list.sort(key=sort_key) - coin["wallet"] = wallets_list - - -@click.command() -# fmt: off -@click.option("-r", "--refresh", "refresh", flag_value=True, default=None, help="Force refresh market cap info") -@click.option("-R", "--no-refresh", "refresh", flag_value=False, default=None, help="Force use cached market cap info") -@click.option("-A", "--api-key", required=True, envvar="COINMARKETCAP_API_KEY", help="Coinmarketcap API key") -@click.option("-v", "--verbose", is_flag=True, help="Display more info") -# fmt: on -def main(refresh, api_key, verbose): - # setup logging - log_level = logging.DEBUG if verbose else logging.WARNING - root = logging.getLogger() - root.setLevel(log_level) - handler = logging.StreamHandler(sys.stdout) - handler.setLevel(log_level) - root.addHandler(handler) - - marketcap.init(api_key, refresh=refresh) - - defs, _ = coin_info.coin_info_with_duplicates() - support_info = coin_info.support_info(defs) - - coins = {} - coins.update(update_bitcoin(defs.bitcoin, support_info)) - coins.update(update_erc20(defs.erc20, defs.eth, support_info)) - coins.update(update_ethereum_networks(defs.eth, support_info)) - coins.update(update_nem_mosaics(defs.nem, support_info)) - coins.update(update_simple(defs.misc, support_info, "coin")) - - apply_overrides(coins) - finalize_wallets(coins) - update_marketcaps(coins) - - check_missing_data(coins) - - info = summary(coins, api_key) - details = dict(coins=coins, info=info) - - print(json.dumps(info, sort_keys=True, indent=4)) - with open(os.path.join(coin_info.DEFS_DIR, "coins_details.json"), "w") as f: - json.dump(details, f, sort_keys=True, indent=4) - f.write("\n") - - -if __name__ == "__main__": - main() diff --git a/common/tools/cointool.py b/common/tools/cointool.py index 1de68cadf..8c9f24642 100755 --- a/common/tools/cointool.py +++ b/common/tools/cointool.py @@ -17,6 +17,10 @@ import click import coin_info from coin_info import Coin, CoinBuckets, Coins, CoinsInfo, FidoApps, SupportInfo +DEFINITIONS_TIMESTAMP_PATH = ( + coin_info.DEFS_DIR / "ethereum" / "released-definitions-timestamp.txt" +) + try: import termcolor except ImportError: @@ -135,6 +139,7 @@ def render_file( result = template.render( support_info=support_info, supported_on=make_support_filter(support_info), + ethereum_defs_timestamp=int(DEFINITIONS_TIMESTAMP_PATH.read_text()), **coins, **MAKO_FILTERS, ) @@ -203,7 +208,7 @@ def check_btc(coins: Coins) -> bool: for coin in bucket: name = coin["name"] prefix = "" - if name.endswith("Testnet") or name.endswith("Regtest"): + if coin["is_testnet"]: color = "green" elif name == "Bitcoin": color = "red" @@ -231,12 +236,7 @@ def check_btc(coins: Coins) -> bool: """ failed = False for key, bucket in buckets.items(): - mainnets = [ - c - for c in bucket - if not c["name"].endswith("Testnet") - and not c["name"].endswith("Regtest") - ] + mainnets = [c for c in bucket if not c["is_testnet"]] have_bitcoin = any(coin["name"] == "Bitcoin" for coin in mainnets) supported_mainnets = [c for c in mainnets if not c["unsupported"]] @@ -283,11 +283,9 @@ def check_btc(coins: Coins) -> bool: return check_passed -def check_dups(buckets: CoinBuckets, print_at_level: int = logging.WARNING) -> bool: +def check_dups(buckets: CoinBuckets) -> bool: """Analyze and pretty-print results of `coin_info.mark_duplicate_shortcuts`. - `print_at_level` can be one of logging levels. - The results are buckets of colliding symbols. If the collision is only between ERC20 tokens, it's DEBUG. If the collision includes one non-token, it's INFO. @@ -295,15 +293,11 @@ def check_dups(buckets: CoinBuckets, print_at_level: int = logging.WARNING) -> b """ def coin_str(coin: Coin) -> str: - """Colorize coins. Tokens are cyan, nontokens are red. Coins that are NOT - marked duplicate get a green asterisk. - """ + """Colorize coins according to support / override status.""" prefix = "" if coin["unsupported"]: color = "grey" prefix = crayon("blue", "(X)", bold=True) - elif coin_info.is_token(coin): - color = "cyan" else: color = "red" @@ -320,41 +314,24 @@ def check_dups(buckets: CoinBuckets, print_at_level: int = logging.WARNING) -> b if not bucket: continue + # supported coins from the bucket supported = [coin for coin in bucket if not coin["unsupported"]] - nontokens = [ - coin - for coin in bucket - if not coin["unsupported"] - and coin.get("duplicate") - and not coin_info.is_token(coin) - ] # we do not count override-marked coins as duplicates here - cleared = not any(coin.get("duplicate") for coin in bucket) - eth_testnet = symbol == "teth" # string generation dup_str = ", ".join(coin_str(coin) for coin in bucket) - if len(nontokens) > 1 and not eth_testnet: - # Two or more colliding nontokens. This is always fatal. - # XXX consider allowing two nontokens as long as only one is supported? + + if any(coin.get("duplicate") for coin in supported): + # At least one supported coin is marked as duplicate. level = logging.ERROR check_passed = False elif len(supported) > 1: - # more than one supported coin in bucket - if cleared: - # some previous step has explicitly marked them as non-duplicate - level = logging.INFO - else: - # at most 1 non-token - we tentatively allow token collisions - # when explicitly marked as supported - level = logging.WARNING + # More than one supported coin in bucket, but no marked duplicates + # --> all must have been cleared by an override. + level = logging.INFO else: - # At most 1 supported coin, at most 1 non-token. This is informational only. + # At most 1 supported coin in bucket. This is OK. level = logging.DEBUG - # deciding whether to print - if level < print_at_level: - continue - if symbol == "_override": print_log(level, "force-set duplicates:", dup_str) else: @@ -408,7 +385,7 @@ def check_icons(coins: Coins) -> bool: return check_passed -IGNORE_NONUNIFORM_KEYS = frozenset(("unsupported", "duplicate")) +IGNORE_NONUNIFORM_KEYS = frozenset(("unsupported", "duplicate", "coingecko_id")) def check_key_uniformity(coins: Coins) -> bool: @@ -600,9 +577,8 @@ def cli(colors: bool) -> None: # fmt: off @click.option("--backend/--no-backend", "-b", default=False, help="Check blockbook/bitcore responses") @click.option("--icons/--no-icons", default=True, help="Check icon files") -@click.option("-d", "--show-duplicates", type=click.Choice(("all", "nontoken", "errors")), default="errors", help="How much information about duplicate shortcuts should be shown.") # fmt: on -def check(backend: bool, icons: bool, show_duplicates: str) -> None: +def check(backend: bool, icons: bool) -> None: """Validate coin definitions. Checks that every btc-like coin is properly filled out, reports duplicate symbols, @@ -612,14 +588,7 @@ def check(backend: bool, icons: bool, show_duplicates: str) -> None: Uniformity check ignores NEM mosaics and ERC20 tokens, where non-uniformity is expected. - The `--show-duplicates` option can be set to: - - - all: all shortcut collisions are shown, including colliding ERC20 tokens - - - nontoken: only collisions that affect non-ERC20 coins are shown - - - errors: only collisions between non-ERC20 tokens are shown. This is the default, - as a collision between two or more non-ERC20 tokens is an error. + All shortcut collisions are shown, including colliding ERC20 tokens. In the output, duplicate ERC tokens will be shown in cyan; duplicate non-tokens in red. An asterisk (*) next to symbol name means that even though it was detected @@ -654,14 +623,7 @@ def check(backend: bool, icons: bool, show_duplicates: str) -> None: if not check_eth(defs.eth): all_checks_passed = False - if show_duplicates == "all": - dup_level = logging.DEBUG - elif show_duplicates == "nontoken": - dup_level = logging.INFO - else: - dup_level = logging.WARNING - print("Checking unexpected duplicates...") - if not check_dups(buckets, dup_level): + if not check_dups(buckets): all_checks_passed = False nontoken_dups = [coin for coin in defs.as_list() if "dup_key_nontoken" in coin] diff --git a/common/tools/diffize_coins_details.py b/common/tools/diffize_coins_details.py deleted file mode 100755 index 2ad579a8f..000000000 --- a/common/tools/diffize_coins_details.py +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env python3 - -import json -import os -import subprocess -import tempfile - -import click -import requests - -LIVE_URL = "https://trezor.io/static/json/coins_details.json" -COINS_DETAILS = os.path.join( - os.path.dirname(__file__), "..", "defs", "coins_details.json" -) - - -def diffize_file(coins_details, tmp): - coins_list = list(coins_details["coins"].values()) - for coin in coins_list: - coin.pop("marketcap_usd", None) - links = coin.get("links", {}) - wallets = coin.get("wallet", {}) - for link in links: - links[link] = links[link].rstrip("/") - for wallet in wallets: - wallet["url"] = wallet["url"].rstrip("/") - - if not coin.get("wallet"): - coin.pop("wallet", None) - - coins_list.sort(key=lambda c: c["name"]) - - for coin in coins_list: - name = coin["name"] - for key in coin: - print(name, "\t", key, ":", coin[key], file=tmp) - tmp.flush() - - -@click.command() -def cli(): - """Compare data from trezor.io/coins with current coins_details.json - - Shows a nicely formatted diff between the live version and the trezor-common - version. Useful for catching auto-generation problems, etc. - """ - live_json = requests.get(LIVE_URL).json() - with open(COINS_DETAILS) as f: - coins_details = json.load(f) - - Tmp = tempfile.NamedTemporaryFile - with Tmp("w") as tmpA, Tmp("w") as tmpB: - diffize_file(live_json, tmpA) - diffize_file(coins_details, tmpB) - subprocess.call(["diff", "-u", "--color=auto", tmpA.name, tmpB.name]) - - -if __name__ == "__main__": - cli() diff --git a/common/tools/marketcap.py b/common/tools/marketcap.py index 2dc7c8093..1ed16e32b 100644 --- a/common/tools/marketcap.py +++ b/common/tools/marketcap.py @@ -79,30 +79,6 @@ def init(api_key, refresh=None): COINS_SEARCHABLE = data_searchable -def get_coin(coin): - if coin["type"] == "erc20": - address = coin["address"].lower() - return COINS_SEARCHABLE.get(address) - - data = None - if "coinmarketcap_alias" in coin: - data = COINS_SEARCHABLE.get(coin["coinmarketcap_alias"]) - if data is None: - slug = coin["name"].replace(" ", "-").lower() - data = COINS_SEARCHABLE.get(slug) - if data is None: - data = COINS_SEARCHABLE.get(coin["shortcut"].lower()) - return data - - -def marketcap(coin): - data = get_coin(coin) - if data is None: - return None - - return int(data["quote"]["USD"]["market_cap"]) - - def fiat_price(coin_symbol): data = COINS_SEARCHABLE.get(coin_symbol) if data is None: diff --git a/common/tools/release.sh b/common/tools/release.sh index d7e4e4779..3e6a34bd2 100755 --- a/common/tools/release.sh +++ b/common/tools/release.sh @@ -1,10 +1,5 @@ #!/bin/sh -if [ -z "$COINMARKETCAP_API_KEY" ]; then - echo "Please set \$COINMARKETCAP_API_KEY" - exit 1 -fi - HERE=$(dirname $0) CHECK_OUTPUT=$(mktemp -d) @@ -12,17 +7,6 @@ trap "rm -r $CHECK_OUTPUT" EXIT $HERE/cointool.py check > $CHECK_OUTPUT/pre.txt -ETH_DIR=$HERE/../defs/ethereum -ETH_REPOS="chains tokens" - -for dir in $ETH_REPOS; do - ( - cd $ETH_DIR/$dir; \ - git checkout master; \ - git pull origin master - ) -done - $HERE/support.py release $HERE/cointool.py check > $CHECK_OUTPUT/post.txt @@ -30,5 +14,3 @@ $HERE/cointool.py check > $CHECK_OUTPUT/post.txt make -C $HERE/../.. gen diff $CHECK_OUTPUT/pre.txt $CHECK_OUTPUT/post.txt - -$HERE/coins_details.py diff --git a/common/tools/support.py b/common/tools/support.py index 873062e25..332dbc69c 100755 --- a/common/tools/support.py +++ b/common/tools/support.py @@ -155,69 +155,6 @@ def find_orphaned_support_keys(coins_dict): return orphans -def find_supported_duplicate_tokens(coins_dict): - result = [] - for _, supported, _ in all_support_dicts(): - for key in supported: - if not key.startswith("erc20:"): - continue - if coins_dict.get(key, {}).get("duplicate"): - result.append(key) - return result - - -def process_erc20(coins_dict): - """Make sure that: - * orphaned ERC20 support info is cleared out - * duplicate ERC20 tokens are not listed as supported - * non-duplicate ERC20 tokens are cleared out from the unsupported list - """ - erc20_dict = { - key: coin.get("duplicate", False) - for key, coin in coins_dict.items() - if coin_info.is_token(coin) - } - for device, supported, unsupported in all_support_dicts(): - nondups = set() - dups = set(key for key, value in erc20_dict.items() if value) - for key in supported: - if key not in erc20_dict: - continue - if not erc20_dict[key]: - dups.discard(key) - - for key in unsupported: - if key not in erc20_dict: - continue - # ignore dups that are unsupported now - dups.discard(key) - - if not erc20_dict[key] and unsupported[key] == ERC20_DUPLICATE_KEY: - # remove duplicate status - nondups.add(key) - - for key in dups: - if device in coin_info.MISSING_SUPPORT_MEANS_NO: - clear_support(device, key) - else: - print(f"ERC20 on {device}: adding duplicate {key}") - set_unsupported(device, key, ERC20_DUPLICATE_KEY) - - for key in nondups: - print(f"ERC20 on {device}: clearing non-duplicate {key}") - clear_support(device, key) - - -def clear_erc20_mixed_buckets(buckets): - for bucket in buckets.values(): - tokens = [coin for coin in bucket if coin_info.is_token(coin)] - if tokens == bucket: - continue - - if len(tokens) == 1: - tokens[0]["duplicate"] = False - - @click.group() def cli(): pass @@ -228,10 +165,9 @@ def cli(): def fix(dry_run): """Fix expected problems. - Prunes orphaned keys and ensures that ERC20 duplicate info matches support info. + Currently only prunes orphaned keys. """ - all_coins, buckets = coin_info.coin_info_with_duplicates() - clear_erc20_mixed_buckets(buckets) + all_coins = coin_info.coin_info() coins_dict = all_coins.as_dict() orphaned = find_orphaned_support_keys(coins_dict) @@ -240,32 +176,25 @@ def fix(dry_run): for device in SUPPORT_INFO: clear_support(device, orphan) - process_erc20(coins_dict) if not dry_run: write_support_info() @cli.command() # fmt: off -@click.option("-T", "--check-tokens", is_flag=True, help="Also check unsupported ERC20 tokens, ignored by default") @click.option("-m", "--ignore-missing", is_flag=True, help="Do not fail on missing supportinfo") # fmt: on -def check(check_tokens, ignore_missing): +def check(ignore_missing): """Check validity of support information. Ensures that `support.json` data is well formed, there are no keys without corresponding coins, and there are no coins without corresponding keys. - If `--check-tokens` is specified, the check will also take into account ERC20 tokens - without support info. This is disabled by default, because support info for ERC20 - tokens is not strictly required. - If `--ignore-missing` is specified, the check will display coins with missing support info, but will not fail when missing coins are found. This is useful in Travis. """ - all_coins, buckets = coin_info.coin_info_with_duplicates() - clear_erc20_mixed_buckets(buckets) + all_coins = coin_info.coin_info() coins_dict = all_coins.as_dict() checks_ok = True @@ -282,8 +211,6 @@ def check(check_tokens, ignore_missing): missing = find_unsupported_coins(coins_dict) for device, values in missing.items(): - if not check_tokens: - values = [coin for coin in values if not coin_info.is_token(coin)] if values: if not ignore_missing: checks_ok = False @@ -291,12 +218,6 @@ def check(check_tokens, ignore_missing): for coin in values: print(f"{coin['key']} - {coin['name']}") - supported_dups = find_supported_duplicate_tokens(coins_dict) - for key in supported_dups: - coin = coins_dict[key] - checks_ok = False - print(f"Token {coin['key']} ({coin['name']}) is duplicate but supported") - if not checks_ok: print("Some checks have failed") sys.exit(1) @@ -308,7 +229,6 @@ def check(check_tokens, ignore_missing): @click.option("--v2", help="Version for TT release (default: guess from latest)") @click.option("-n", "--dry-run", is_flag=True, help="Do not write changes") @click.option("-f", "--force", is_flag=True, help="Proceed even with bad version/device info") -@click.option("-v", "--verbose", is_flag=True, help="Be more verbose") @click.option("--skip-testnets/--no-skip-testnets", default=True, help="Automatically exclude testnets") # fmt: on @click.pass_context @@ -318,7 +238,6 @@ def release( v2, dry_run, force, - verbose, skip_testnets, ): """Release a new Trezor firmware. @@ -327,8 +246,7 @@ def release( By default, marks duplicate tokens and testnets as unsupported, and all coins that don't have support info are set to the released firmware version. - The tool will ask you to confirm each added coin. ERC20 tokens are added - automatically. Use `--verbose` to see them. + The tool will ask you to confirm each added coin. """ latest_releases = coin_info.latest_releases() @@ -391,18 +309,8 @@ def release( if coin not in missing_list: missing_list.append(coin) - tokens = [coin for coin in missing_list if coin_info.is_token(coin)] - 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"), key - if verbose: - print(f"Adding missing {key} ({coin['name']})") - for device, version in versions.items(): - support_setdefault(device, key, version) - - for coin in nontokens: - if skip_testnets and "testnet" in coin["name"].lower(): + for coin in missing_list: + if skip_testnets and coin["is_testnet"]: for device, version in versions.items(): support_setdefault(device, coin["key"], False, "(AUTO) exclude testnet") else: @@ -455,10 +363,6 @@ def set_support_value(key, entries, reason): click.echo("Use 'support.py show' to search for the right one.") sys.exit(1) - if coins[key].get("duplicate") and coin_info.is_token(coins[key]): - shortcut = coins[key]["shortcut"] - click.echo(f"Note: shortcut {shortcut} is a duplicate.") - for entry in entries: try: device, value = entry.split("=", maxsplit=1)