cloud_functions: Use CoinGecko API IDs from allowlist in TVL calculations

Specify the CoinGecko API ID for tokens in the allowlist.
It's useful to manually specify the API ID to in certain cases.
This commit is contained in:
Kevin Peters 2022-07-28 15:36:38 +00:00 committed by Evan Gray
parent 0809bd8874
commit 5c1a2fe182
6 changed files with 148 additions and 158 deletions

View File

@ -103,9 +103,14 @@ func fetchTransferRowsInInterval(tbl *bigtable.Table, ctx context.Context, prefi
keyParts := strings.Split(row.Key(), ":")
t.LeavingChain = keyParts[0]
transferDateStr := t.TransferTimestamp[0:10]
if isTokenAllowed(t.OriginChain, t.TokenAddress) && isTokenActive(t.OriginChain, t.TokenAddress, transferDateStr) {
rows = append(rows, *t)
isAllowed, coinGeckoCoinId := isTokenAllowed(t.OriginChain, t.TokenAddress)
if isAllowed && coinGeckoCoinId != "" {
transferDateStr := t.TransferTimestamp[0:10]
if isTokenActive(t.OriginChain, t.TokenAddress, transferDateStr) {
// use the CoinGeckoCoinId specified in the allowlist
t.CoinGeckoCoinId = coinGeckoCoinId
rows = append(rows, *t)
}
}
}

View File

@ -102,10 +102,6 @@ func tvlInInterval(tbl *bigtable.Table, ctx context.Context, start time.Time) ma
// iterate through the rows and increment the count
for _, row := range queryResult {
if row.CoinGeckoCoinId == "" {
log.Printf("skipping row without CoinGeckoCoinId. symbol: %v, amount %v", row.TokenSymbol, row.TokenAmount)
continue
}
if row.TokenAddress == "" {
// if the token address is missing, skip
continue
@ -247,12 +243,13 @@ func tvlForInterval(tbl *bigtable.Table, ctx context.Context, start, end time.Ti
}
if _, ok := result[row.OriginChain][row.TokenAddress]; !ok {
result[row.OriginChain][row.TokenAddress] = LockedAsset{
Symbol: row.TokenSymbol,
Name: row.TokenName,
Address: row.TokenAddress,
CoinGeckoId: row.CoinGeckoCoinId,
Amount: 0,
Notional: 0,
Symbol: row.TokenSymbol,
Name: row.TokenName,
Address: row.TokenAddress,
CoinGeckoId: row.CoinGeckoCoinId,
Amount: 0,
Notional: 0,
TokenDecimals: row.TokenDecimals,
}
}

View File

@ -217,11 +217,6 @@ func ProcessTransfer(ctx context.Context, m PubSubMessage) error {
nativeTokenAddress = string(item.Value)
}
}
if coinId == "" {
log.Printf("no coinId for symbol: %v, nothing to lookup.\n", symbol)
// no coinId for this asset, cannot get price from coingecko.
return nil
}
// transfers created by the bridge UI will have at most 8 decimals.
if decimals > 8 {
@ -239,12 +234,6 @@ func ProcessTransfer(ctx context.Context, m PubSubMessage) error {
timestamp := signedVaa.Timestamp.UTC()
price, _ := fetchCoinGeckoPrice(coinId, timestamp)
if price == 0 {
// no price found, don't save
log.Printf("no price for symbol: %v, name: %v, address: %v, at: %v. rowKey: %v\n", symbol, name, nativeTokenAddress, timestamp.String(), rowKey)
return nil
}
// convert the amount string so it can be used for math
amountFloat, convErr := strconv.ParseFloat(calculatedAmount, 64)
if convErr != nil {

View File

@ -463,15 +463,16 @@ func useCache(date string) bool {
}
// tokens allowed in TVL calculation
var tokenAllowlist = map[string]map[string]bool{}
var tokenAllowlist = map[string]map[string]string{}
func isTokenAllowed(chainId string, tokenAddress string) bool {
// isTokenAllowed returns whether or not the token is in the allowlist along with its CoinGecko ID
func isTokenAllowed(chainId string, tokenAddress string) (bool, string) {
if tokenAddresses, ok := tokenAllowlist[chainId]; ok {
if _, ok := tokenAddresses[tokenAddress]; ok {
return true
if coinGeckoCoinId, ok := tokenAddresses[tokenAddress]; ok {
return true, coinGeckoCoinId
}
}
return false
return false, ""
}
// tokens with no trading activity recorded by exchanges integrated on CoinGecko since the specified date

View File

@ -1,12 +1,12 @@
{
"1": {
"So11111111111111111111111111111111111111112": true
"So11111111111111111111111111111111111111112": "wrapped-solana"
},
"2": { "0xddb64fe46a91d46ee29420539fc25fd07c5fea3e": true },
"2": { "0xddb64fe46a91d46ee29420539fc25fd07c5fea3e": "weth" },
"3": {
"uluna": true,
"uusd": true
"uluna": "terra-luna",
"uusd": "terrausd"
},
"4": { "0xddb64fe46a91d46ee29420539fc25fd07c5fea3e": true },
"18": { "uusd": true, "uluna": true }
"4": { "0xddb64fe46a91d46ee29420539fc25fd07c5fea3e": "wbnb" },
"18": { "uluna": "terra-luna-2" }
}

View File

@ -1,147 +1,145 @@
{
"1": {
"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R": true,
"7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj": true,
"AkhdZGVbJXPuQZ53u2LrimCjkRP6ZyxG1SoM85T98eE1": true,
"NFTUkR4u7wKxy9QLaX2TGvd9oZSWoMo4jqSJqdMb7Nk": true,
"ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx": true,
"So11111111111111111111111111111111111111112": true,
"4Te4KJgjtnZe4aE2zne8G4NPfrPjCwDmaiEx9rKnyDVZ": true,
"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB": true,
"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v": true
"AkhdZGVbJXPuQZ53u2LrimCjkRP6ZyxG1SoM85T98eE1": "starbots",
"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R": "raydium",
"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB": "tether",
"ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx": "star-atlas",
"4Te4KJgjtnZe4aE2zne8G4NPfrPjCwDmaiEx9rKnyDVZ": "solclout",
"7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj": "lido-staked-sol",
"So11111111111111111111111111111111111111112": "wrapped-solana",
"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v": "usd-coin",
"NFTUkR4u7wKxy9QLaX2TGvd9oZSWoMo4jqSJqdMb7Nk": "blockasset"
},
"2": {
"0xd49efa7bc0d339d74f487959c573d518ba3f8437": true,
"0x0c572544a4ee47904d54aaa6a970af96b6f00e1b": true,
"0x727f064a78dc734d33eec18d5370aef32ffd46e4": true,
"0x0f5d2fb29fb7d3cfee444a200298f468908cc942": true,
"0x853d955acef822db058eb8505911ed77f175b99e": true,
"0xe28b3b32b6c345a34ff64674606124dd5aceca30": true,
"0x4da34f8264cb33a5c9f17081b9ef5ff6091116f4": true,
"0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0": true,
"0x1a7e4e63778b4f12a199c062f3efdd288afcbce8": true,
"0x92d6c1e31e14520e676a687f0a93788b716beff5": true,
"0x2c537e5624e4af88a7ae4060c022609376c8d0eb": true,
"0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e": true,
"0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce": true,
"0x30d20208d987713f46dfd34ef128bb16c404d10f": true,
"0x3845badade8e6dff049820680d1f14bd3903a5d0": true,
"0x65e6b60ea01668634d68d0513fe814679f925bad": true,
"0x8ce9137d39326ad0cd6491fb5cc0cba0e089b6a9": true,
"0x72b886d09c117654ab7da13a14d603001de0b777": true,
"0x8564653879a18c560e7c0ea0e084c516c62f5653": true,
"0x1045f5ccb01daea4f8eab055f5fcbb7c0e7c89f0": true,
"0x8a9c67fee641579deba04928c4bc45f66e26343a": true,
"0x0316eb71485b0ab14103307bf65a021042c6d380": true,
"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599": true,
"0xaaaebe6fe48e54f431b0c390cfaf0b017d09d42d": true,
"0xbb0e17ef65f82ab018d8edd776e8dd940327b28b": true,
"0x05d3606d5c81eb9b7b18530995ec9b29da05faba": true,
"0x2ba592f78db6436527729929aaf6c908497cb200": true,
"0x41c37a4683d6a05adb31c39d71348a8403b13ca9": true,
"0xc00e94cb662c3520282e6f5717214004a7f26888": true,
"0x08d967bb0134f2d07f7cfb6e246680c53927dd30": true,
"0x111111111117dc0aa78b770fa6a738034120c302": true,
"0xef19f4e48830093ce5bc8b3ff7f903a0ae3e9fa1": true,
"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9": true,
"0x0d8775f648430679a709e98d2b0cb6250d2887ef": true,
"0xc944e90c64b2c07662a292be6244bdf05cda44a7": true,
"0xdfdb7f72c1f195c5951a234e8db9806eb0635346": true,
"0x85eee30c52b0b379b046fb0f85f4f3dc3009afec": true,
"0x9b83f827928abdf18cf1f7e67053572b9bceff3a": true,
"0xf17e65822b568b3903685a7c9f496cf7656cc6c2": true,
"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": true,
"0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0": true,
"0x50d1c9771902476076ecfc8b2a83ad6b9355a4c9": true,
"0xe831f96a7a1dce1aa2eb760b1e296c6a74caa9d5": true,
"0xe0cca86b254005889ac3a81e737f56a14f4a38f5": true,
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": true,
"0xdac17f958d2ee523a2206206994597c13d831ec7": true,
"0x5ab6a4f46ce182356b6fa2661ed8ebcafce995ad": true,
"0x514910771af9ca656af840dff83e8264ecf986ca": true,
"0x6b3595068778dd592e39a122f4f5a5cf09c90fe2": true,
"0x707f9118e33a9b8998bea41dd0d46f38bb963fc8": true,
"0x1f9840a85d5af5bf1d1762f925bdaddc4201f984": true,
"0x2e95cea14dd384429eb3c4331b776c4cfbb6fcd9": true,
"0x476c5e26a75bd202a9683ffd34359c0cc15be0ff": true,
"0xbba39fd2935d5769116ce38d46a71bde9cf03099": true,
"0x18aaa7115705e8be94bffebde57af9bfc265b998": true,
"0x4674672bcddda2ea5300f5207e1158185c944bc0": true,
"0x27702a26126e0b3702af63ee09ac4d1a084ef628": true,
"0x6b175474e89094c44da98b954eedeac495271d0f": true,
"0xf1f955016ecbcd7321c7266bccfb96c68ea5e49b": true,
"0x5a98fcbea516cf06857215779fd812ca3bef1b32": true,
"0xfd09911130e6930bf87f2b0554c44f400bd80d3e": true,
"0x4bd70556ae3f8a6ec6c4080a0c327b24325438f3": true,
"0x009178997aff09a67d4caccfeb897fb79d036214": true,
"0x45804880de22913dafe09f4980848ece6ecbaf78": true
"0xc00e94cb662c3520282e6f5717214004a7f26888": "compound-governance-token",
"0x853d955acef822db058eb8505911ed77f175b99e": "frax",
"0x0f5d2fb29fb7d3cfee444a200298f468908cc942": "decentraland",
"0x2ba592f78db6436527729929aaf6c908497cb200": "cream-2",
"0xe28b3b32b6c345a34ff64674606124dd5aceca30": "injective-protocol",
"0x1a7e4e63778b4f12a199c062f3efdd288afcbce8": "ageur",
"0x4da34f8264cb33a5c9f17081b9ef5ff6091116f4": "elyfi",
"0x8a9c67fee641579deba04928c4bc45f66e26343a": "jarvis-reward-token",
"0x8564653879a18c560e7c0ea0e084c516c62f5653": "upbots",
"0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e": "yearn-finance",
"0x30d20208d987713f46dfd34ef128bb16c404d10f": "stader",
"0x92d6c1e31e14520e676a687f0a93788b716beff5": "dydx",
"0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce": "shiba-inu",
"0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0": "wrapped-steth",
"0x72b886d09c117654ab7da13a14d603001de0b777": "xdefi",
"0xf17e65822b568b3903685a7c9f496cf7656cc6c2": "biconomy",
"0x0c572544a4ee47904d54aaa6a970af96b6f00e1b": "wasder",
"0x0316eb71485b0ab14103307bf65a021042c6d380": "huobi-btc",
"0x65e6b60ea01668634d68d0513fe814679f925bad": "pixelverse",
"0x3845badade8e6dff049820680d1f14bd3903a5d0": "the-sandbox",
"0x111111111117dc0aa78b770fa6a738034120c302": "1inch",
"0xef19f4e48830093ce5bc8b3ff7f903a0ae3e9fa1": "botxcoin",
"0x05d3606d5c81eb9b7b18530995ec9b29da05faba": "tomoe",
"0xc944e90c64b2c07662a292be6244bdf05cda44a7": "the-graph",
"0xf8c3527cc04340b208c854e985240c02f7b7793f": "frontier-token",
"0x08d967bb0134f2d07f7cfb6e246680c53927dd30": "math",
"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599": "wrapped-bitcoin",
"0x0d8775f648430679a709e98d2b0cb6250d2887ef": "basic-attention-token",
"0x85eee30c52b0b379b046fb0f85f4f3dc3009afec": "keep-network",
"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9": "aave",
"0x8ce9137d39326ad0cd6491fb5cc0cba0e089b6a9": "swipe",
"0xbb0e17ef65f82ab018d8edd776e8dd940327b28b": "axie-infinity",
"0xdfdb7f72c1f195c5951a234e8db9806eb0635346": "feisty-doge-nft",
"0x4bd70556ae3f8a6ec6c4080a0c327b24325438f3": "hxro",
"0x727f064a78dc734d33eec18d5370aef32ffd46e4": "orion-money",
"0xd49efa7bc0d339d74f487959c573d518ba3f8437": "shield-finance",
"0x9b83f827928abdf18cf1f7e67053572b9bceff3a": "artem",
"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": "weth",
"0x2c537e5624e4af88a7ae4060c022609376c8d0eb": "bilira",
"0x6b3595068778dd592e39a122f4f5a5cf09c90fe2": "sushi",
"0x707f9118e33a9b8998bea41dd0d46f38bb963fc8": "ethereum",
"0xdac17f958d2ee523a2206206994597c13d831ec7": "tether",
"0x1f9840a85d5af5bf1d1762f925bdaddc4201f984": "uniswap",
"0x514910771af9ca656af840dff83e8264ecf986ca": "chainlink",
"0x27702a26126e0b3702af63ee09ac4d1a084ef628": "aleph",
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": "usd-coin",
"0x476c5e26a75bd202a9683ffd34359c0cc15be0ff": "serum",
"0x5ab6a4f46ce182356b6fa2661ed8ebcafce995ad": "sportium",
"0x5a98fcbea516cf06857215779fd812ca3bef1b32": "lido-dao",
"0xe0cca86b254005889ac3a81e737f56a14f4a38f5": "alta-finance",
"0xe831f96a7a1dce1aa2eb760b1e296c6a74caa9d5": "nexum",
"0x4674672bcddda2ea5300f5207e1158185c944bc0": "gem-exchange-and-trading",
"0xbba39fd2935d5769116ce38d46a71bde9cf03099": "choise",
"0x2e95cea14dd384429eb3c4331b776c4cfbb6fcd9": "throne",
"0x18aaa7115705e8be94bffebde57af9bfc265b998": "audius",
"0x45804880de22913dafe09f4980848ece6ecbaf78": "pax-gold",
"0xf1f955016ecbcd7321c7266bccfb96c68ea5e49b": "rally-2",
"0x6b175474e89094c44da98b954eedeac495271d0f": "dai",
"0xfd09911130e6930bf87f2b0554c44f400bd80d3e": "ethichub",
"0x009178997aff09a67d4caccfeb897fb79d036214": "1sol",
"0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0": "frax-share",
"0x50d1c9771902476076ecfc8b2a83ad6b9355a4c9": "ftx-token"
},
"3": {
"terra1hzh9vpxhsk8253se0vv5jj6etdvxu3nv8z07zu": true,
"terra1dzhzukyezv0etz22ud940z7adyv7xgcjkahuun": true,
"uluna": true,
"terra193c42lfwmlkasvcw22l9qqzc5q2dx208tkd7wl": true,
"terra13awdgcx40tz5uygkgm79dytez3x87rpg4uhnvu": true,
"uusd": true
"terra13awdgcx40tz5uygkgm79dytez3x87rpg4uhnvu": "playnity",
"uusd": "terrausd",
"terra1hzh9vpxhsk8253se0vv5jj6etdvxu3nv8z07zu": "anchorust",
"terra193c42lfwmlkasvcw22l9qqzc5q2dx208tkd7wl": "bitlocus",
"uluna": "terra-luna"
},
"4": {
"0xe9e7cea3dedca5984780bafc599bd69add087d56": true,
"0x74c1815474a75dcb366223107cde1bba4a1a7296": true,
"0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d": true,
"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c": true,
"0x55d398326f99059ff775485246999027b3197955": true,
"0xfafd4cb703b25cb22f43d017e7e0d75febc26743": true,
"0x8ebc361536094fd5b4ffb8521e31900614c9f55d": true,
"0x7e46d5eb5b7ca573b367275fee94af1945f5b636": true,
"0x3019bf2a2ef8040c242c9a4c5c4bd4c81678b2a1": true
"0xe9e7cea3dedca5984780bafc599bd69add087d56": "binance-usd",
"0xfafd4cb703b25cb22f43d017e7e0d75febc26743": "weyu",
"0x3019bf2a2ef8040c242c9a4c5c4bd4c81678b2a1": "stepn",
"0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d": "usd-coin",
"0xfa40d8fc324bcdd6bbae0e086de886c571c225d4": "wizardia",
"0x55d398326f99059ff775485246999027b3197955": "tether",
"0x2170ed0880ac9a755fd29b2688956bd959f933f8": "weth",
"0x8ebc361536094fd5b4ffb8521e31900614c9f55d": "darcmatter-coin",
"0x7e46d5eb5b7ca573b367275fee94af1945f5b636": "abitshadow-token",
"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c": "wbnb"
},
"5": {
"0x9c891326fd8b1a713974f73bb604677e1e63396d": true,
"0x2791bca1f2de4661ed88a30c99a7a9449aa84174": true,
"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619": true,
"0xc2132d05d31c914a87c6611c10748aeb04b58e8f": true,
"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270": true
"0x2791bca1f2de4661ed88a30c99a7a9449aa84174": "usd-coin",
"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619": "weth",
"0x9c891326fd8b1a713974f73bb604677e1e63396d": "islamicoin",
"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270": "wmatic",
"0xc2132d05d31c914a87c6611c10748aeb04b58e8f": "tether"
},
"6": {
"0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7": true,
"0x4bfc90322dd638f81f034517359bd447f8e0235a": true,
"0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664": true,
"0x2b2c81e08f1af8835a78bb2a90ae924ace0ea4be": true,
"0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e": true
"0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664": "usd-coin-avalanche-bridged-usdc-e",
"0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e": "usd-coin",
"0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7": "tether",
"0x2b2c81e08f1af8835a78bb2a90ae924ace0ea4be": "benqi-liquid-staked-avax",
"0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7": "wrapped-avax"
},
"7": {
"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee2": true,
"0x3223f17957ba502cbe71401d55a0db26e5f7c68f": true,
"0x366ef31c8dc715cbeff5fa54ad106dc9c25c6153": true,
"0x21c718c22d52d0f3a789b752d4c2fd5908a8a733": true
"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee2": "oasis-network",
"0x366ef31c8dc715cbeff5fa54ad106dc9c25c6153": "tether-usd-wormhole-from-bsc",
"0x3223f17957ba502cbe71401d55a0db26e5f7c68f": "ethereum-wormhole",
"0x21c718c22d52d0f3a789b752d4c2fd5908a8a733": "oasis-network"
},
"9": {
"0x8BEc47865aDe3B172A928df8f990Bc7f2A3b9f79": true,
"0x4988a896b1227218e4a686fde5eabdcabd91571f": true,
"0xb12bfca5a55806aaf64e99521918a4bf0fc40802": true,
"0xc9bdeed33cd01541e1eed10f90519d2c06fe3feb": true,
"0xc4bdd27c33ec7daa6fcfd8532ddb524bf4038096": true,
"0x5183e1b1091804bc2602586919e6880ac1cf2896": true
"0x5183e1b1091804bc2602586919e6880ac1cf2896": "usn",
"0xc4bdd27c33ec7daa6fcfd8532ddb524bf4038096": "wrapped-terra",
"0xc9bdeed33cd01541e1eed10f90519d2c06fe3feb": "weth",
"0xb12bfca5a55806aaf64e99521918a4bf0fc40802": "usd-coin",
"0x4988a896b1227218e4a686fde5eabdcabd91571f": "tether",
"0x8BEc47865aDe3B172A928df8f990Bc7f2A3b9f79": "aurora",
"0xC9BdeEd33CD01541e1eeD10f90519d2C06Fe3feB": "ethereum"
},
"10": {
"0x04068da6c83afcfa0e13ba15a6696662335d5b75": true,
"0x74b23882a30290451a17c44f4f05243b6b58c76d": true,
"0x321162cd933e2be498cd2267a90534a804051b11": true,
"0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83": true,
"0x260b3e40c714ce8196465ec824cd8bb915081812": true
"0x321162cd933e2be498cd2267a90534a804051b11": "wrapped-bitcoin",
"0x74b23882a30290451a17c44f4f05243b6b58c76d": "weth",
"0x260b3e40c714ce8196465ec824cd8bb915081812": "iron-bsc",
"0x04068da6c83afcfa0e13ba15a6696662335d5b75": "usd-coin",
"0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83": "wrapped-fantom"
},
"11": {
"0x0000000000000000000100000000000000000080": true,
"0x0000000000000000000100000000000000000081": true
"0x0000000000000000000100000000000000000081": "acala-dollar",
"0x0000000000000000000100000000000000000080": "karura"
},
"12": { "0x0000000000000000000100000000000000000000": true },
"13": { "0xe4f05a66ec68b54a58b17c22107b02e0232cc817": true },
"12": { "0x0000000000000000000100000000000000000000": "acala" },
"13": { "0xe4f05a66ec68b54a58b17c22107b02e0232cc817": "wrapped-klay" },
"14": {
"0x765de816845861e75a25fca122bb6898b8b1282a": true,
"0x471ece3750da237f93b8e339c536989b8978a438": true,
"0x46c9757c5497c5b1f2eb73ae79b6b67d119b0b58": true,
"0xd8763cba276a3738e6de85b4b3bf5fded6d6ca73": true
"0x471ece3750da237f93b8e339c536989b8978a438": "celo",
"0x46c9757c5497c5b1f2eb73ae79b6b67d119b0b58": "impactmarket",
"0x765de816845861e75a25fca122bb6898b8b1282a": "celo-dollar",
"0xd8763cba276a3738e6de85b4b3bf5fded6d6ca73": "celo-euro"
},
"15": { "0xf8ad328e98f85fccbf09e43b16dcbbda7e84beab": true },
"18": { "uusd": true, "uluna": true }
"18": { "uluna": "terra-luna-2" }
}