From 9d8ec4432ebc0530788a87512a7e257efc465e75 Mon Sep 17 00:00:00 2001 From: Anthony Laibe <491074+alaibe@users.noreply.github.com> Date: Fri, 14 Jan 2022 10:21:00 +0100 Subject: [PATCH] feat: Add token store API (#2482) --- services/wallet/api.go | 7 + services/wallet/token.go | 16 + services/wallet/tokenstore.go | 918 ++++++++++++++++++++++++++++++++++ 3 files changed, 941 insertions(+) create mode 100644 services/wallet/tokenstore.go diff --git a/services/wallet/api.go b/services/wallet/api.go index c343bf400..6432c98ad 100644 --- a/services/wallet/api.go +++ b/services/wallet/api.go @@ -79,6 +79,13 @@ func (api *API) GetTokensBalancesForChainIDs(ctx context.Context, chainIDs []uin return api.s.tokenManager.getBalances(ctx, clients, accounts, addresses) } +func (api *API) GetTokens(ctx context.Context, chainID uint64) ([]*Token, error) { + log.Debug("call to get tokens") + rst, err := api.s.tokenManager.getTokens(chainID) + log.Debug("result from token store", "len", len(rst)) + return rst, err +} + func (api *API) GetCustomTokens(ctx context.Context) ([]*Token, error) { log.Debug("call to get custom tokens") rst, err := api.s.tokenManager.getCustoms() diff --git a/services/wallet/token.go b/services/wallet/token.go index 52644a861..1121b9cce 100644 --- a/services/wallet/token.go +++ b/services/wallet/token.go @@ -3,6 +3,7 @@ package wallet import ( "context" "database/sql" + "errors" "math/big" "sync" "time" @@ -34,6 +35,21 @@ type TokenManager struct { db *sql.DB } +func (tm *TokenManager) getTokens(chainID uint64) ([]*Token, error) { + tokensMap, ok := tokenStore[chainID] + if !ok { + return nil, errors.New("no tokens for this network") + } + + res := make([]*Token, 0, len(tokensMap)) + + for _, token := range tokensMap { + res = append(res, token) + } + + return res, nil +} + func (tm *TokenManager) getCustoms() ([]*Token, error) { rows, err := tm.db.Query("SELECT address, name, symbol, decimals, color, network_id FROM tokens") if err != nil { diff --git a/services/wallet/tokenstore.go b/services/wallet/tokenstore.go new file mode 100644 index 000000000..93c9c57d4 --- /dev/null +++ b/services/wallet/tokenstore.go @@ -0,0 +1,918 @@ +package wallet + +import "github.com/ethereum/go-ethereum/common" + +var tokenStore = map[uint64]map[common.Address]*Token{ + 1: { + common.HexToAddress("0x744d70fdbe2ba4cf95131626614a1763df805b9e"): &Token{ + Address: common.HexToAddress("0x744d70fdbe2ba4cf95131626614a1763df805b9e"), + Name: "Status Network Token", + Symbol: "SNT", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x6b175474e89094c44da98b954eedeac495271d0f"): &Token{ + Address: common.HexToAddress("0x6b175474e89094c44da98b954eedeac495271d0f"), + Name: "Dai Stablecoin", + Symbol: "DAI", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x89d24a6b4ccb1b6faa2625fe562bdd9a23260359"): &Token{ + Address: common.HexToAddress("0x89d24a6b4ccb1b6faa2625fe562bdd9a23260359"), + Name: "Sai Stablecoin v1.0", + Symbol: "SAI", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2"): &Token{ + Address: common.HexToAddress("0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2"), + Name: "MKR", + Symbol: "MKR", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x86fa049857e0209aa7d9e616f7eb3b3b78ecfdb0"): &Token{ + Address: common.HexToAddress("0x86fa049857e0209aa7d9e616f7eb3b3b78ecfdb0"), + Name: "EOS", + Symbol: "EOS", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xd26114cd6ee289accf82350c8d8487fedb8a0c07"): &Token{ + Address: common.HexToAddress("0xd26114cd6ee289accf82350c8d8487fedb8a0c07"), + Name: "OMGToken", + Symbol: "OMG", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xd4fa1460f537bb9085d22c7bccb5dd450ef28e3a"): &Token{ + Address: common.HexToAddress("0xd4fa1460f537bb9085d22c7bccb5dd450ef28e3a"), + Name: "Populous Platform", + Symbol: "PPT", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x1985365e9f78359a9b6ad760e32412f4a445e862"): &Token{ + Address: common.HexToAddress("0x1985365e9f78359a9b6ad760e32412f4a445e862"), + Name: "Reputation", + Symbol: "REP", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x595832f8fc6bf59c85c527fec3740a1b7a361269"): &Token{ + Address: common.HexToAddress("0x595832f8fc6bf59c85c527fec3740a1b7a361269"), + Name: "Power Ledger", + Symbol: "POWR", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xb97048628db6b661d4c2aa833e95dbe1a905b280"): &Token{ + Address: common.HexToAddress("0xb97048628db6b661d4c2aa833e95dbe1a905b280"), + Name: "Tenx Pay Token", + Symbol: "PAY", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x92e78dae1315067a8819efd6dca432de9dcde2e9"): &Token{ + Address: common.HexToAddress("0x92e78dae1315067a8819efd6dca432de9dcde2e9"), + Name: "Veros", + Symbol: "VRS", + Color: "#f8f8f8", + Decimals: 6, + ChainID: 1, + }, + common.HexToAddress("0xa74476443119a942de498590fe1f2454d7d4ac0d"): &Token{ + Address: common.HexToAddress("0xa74476443119a942de498590fe1f2454d7d4ac0d"), + Name: "Golem Network Token", + Symbol: "GNT", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x4156d3342d5c385a87d264f90653733592000581"): &Token{ + Address: common.HexToAddress("0x4156d3342d5c385a87d264f90653733592000581"), + Name: "Salt", + Symbol: "SALT", + Color: "#f8f8f8", + Decimals: 6, + ChainID: 1, + }, + common.HexToAddress("0xb8c77482e45f1f44de1745f52c74426c631bdd52"): &Token{ + Address: common.HexToAddress("0xb8c77482e45f1f44de1745f52c74426c631bdd52"), + Name: "BNB", + Symbol: "BNB", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x0d8775f648430679a709e98d2b0cb6250d2887ef"): &Token{ + Address: common.HexToAddress("0x0d8775f648430679a709e98d2b0cb6250d2887ef"), + Name: "Basic Attention Token", + Symbol: "BAT", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xdd974d5c2e2928dea5f71b9825b8b646686bd200"): &Token{ + Address: common.HexToAddress("0xdd974d5c2e2928dea5f71b9825b8b646686bd200"), + Name: "Kyber Network Crystal", + Symbol: "KNC", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xb683D83a532e2Cb7DFa5275eED3698436371cc9f"): &Token{ + Address: common.HexToAddress("0xb683D83a532e2Cb7DFa5275eED3698436371cc9f"), + Name: "BTU Protocol", + Symbol: "BTU", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xe0b7927c4af23765cb51314a0e0521a9645f0e2a"): &Token{ + Address: common.HexToAddress("0xe0b7927c4af23765cb51314a0e0521a9645f0e2a"), + Name: "Digix DAO", + Symbol: "DGD", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x5ca9a71b1d01849c0a95490cc00559717fcf0d1d"): &Token{ + Address: common.HexToAddress("0x5ca9a71b1d01849c0a95490cc00559717fcf0d1d"), + Name: "Aeternity", + Symbol: "AE", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xf230b790e05390fc8295f4d3f60332c93bed42e2"): &Token{ + Address: common.HexToAddress("0xf230b790e05390fc8295f4d3f60332c93bed42e2"), + Name: "Tronix", + Symbol: "TRX", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x5af2be193a6abca9c8817001f45744777db30756"): &Token{ + Address: common.HexToAddress("0x5af2be193a6abca9c8817001f45744777db30756"), + Name: "Ethos", + Symbol: "ETHOS", + Color: "#f8f8f8", + Decimals: 8, + ChainID: 1, + }, + common.HexToAddress("0x255aa6df07540cb5d3d297f0d0d4d84cb52bc8e6"): &Token{ + Address: common.HexToAddress("0x255aa6df07540cb5d3d297f0d0d4d84cb52bc8e6"), + Name: "Raiden Token", + Symbol: "RDN", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xaec2e87e0a235266d9c5adc9deb4b2e29b54d009"): &Token{ + Address: common.HexToAddress("0xaec2e87e0a235266d9c5adc9deb4b2e29b54d009"), + Name: "SingularDTV", + Symbol: "SNGLS", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x6810e776880c02933d47db1b9fc05908e5386b96"): &Token{ + Address: common.HexToAddress("0x6810e776880c02933d47db1b9fc05908e5386b96"), + Name: "Gnosis Token", + Symbol: "GNO", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xb64ef51c888972c908cfacf59b47c1afbc0ab8ac"): &Token{ + Address: common.HexToAddress("0xb64ef51c888972c908cfacf59b47c1afbc0ab8ac"), + Name: "StorjToken", + Symbol: "STORJ", + Color: "#f8f8f8", + Decimals: 8, + ChainID: 1, + }, + common.HexToAddress("0x4470bb87d77b963a013db939be332f927f2b992e"): &Token{ + Address: common.HexToAddress("0x4470bb87d77b963a013db939be332f927f2b992e"), + Name: "AdEx", + Symbol: "ADX", + Color: "#f8f8f8", + Decimals: 4, + ChainID: 1, + }, + common.HexToAddress("0x419d0d8bdd9af5e606ae2232ed285aff190e711b"): &Token{ + Address: common.HexToAddress("0x419d0d8bdd9af5e606ae2232ed285aff190e711b"), + Name: "FunFair", + Symbol: "FUN", + Color: "#f8f8f8", + Decimals: 8, + ChainID: 1, + }, + common.HexToAddress("0x41e5560054824ea6b0732e656e3ad64e20e94e45"): &Token{ + Address: common.HexToAddress("0x41e5560054824ea6b0732e656e3ad64e20e94e45"), + Name: "Civic", + Symbol: "CVC", + Color: "#f8f8f8", + Decimals: 8, + ChainID: 1, + }, + common.HexToAddress("0x888666ca69e0f178ded6d75b5726cee99a87d698"): &Token{ + Address: common.HexToAddress("0x888666ca69e0f178ded6d75b5726cee99a87d698"), + Name: "ICONOMI", + Symbol: "ICN", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xb7cb1c96db6b22b0d3d9536e0108d062bd488f74"): &Token{ + Address: common.HexToAddress("0xb7cb1c96db6b22b0d3d9536e0108d062bd488f74"), + Name: "Walton Token", + Symbol: "WTC", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xcb97e65f07da24d46bcdd078ebebd7c6e6e3d750"): &Token{ + Address: common.HexToAddress("0xcb97e65f07da24d46bcdd078ebebd7c6e6e3d750"), + Name: "Bytom", + Symbol: "BTM", + Color: "#f8f8f8", + Decimals: 8, + ChainID: 1, + }, + common.HexToAddress("0xe41d2489571d322189246dafa5ebde1f4699f498"): &Token{ + Address: common.HexToAddress("0xe41d2489571d322189246dafa5ebde1f4699f498"), + Name: "0x Protocol Token", + Symbol: "ZRX", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x1f573d6fb3f13d689ff844b4ce37794d79a7ff1c"): &Token{ + Address: common.HexToAddress("0x1f573d6fb3f13d689ff844b4ce37794d79a7ff1c"), + Name: "Bancor Network Token", + Symbol: "BNT", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xf433089366899d83a9f26a773d59ec7ecf30355e"): &Token{ + Address: common.HexToAddress("0xf433089366899d83a9f26a773d59ec7ecf30355e"), + Name: "Metal", + Symbol: "MTL", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xc42209accc14029c1012fb5680d95fbd6036e2a0"): &Token{ + Address: common.HexToAddress("0xc42209accc14029c1012fb5680d95fbd6036e2a0"), + Name: "PayPie", + Symbol: "PPP", + Color: "#f8f8f8", + Decimals: 8, + ChainID: 1, + }, + common.HexToAddress("0x514910771af9ca656af840dff83e8264ecf986ca"): &Token{ + Address: common.HexToAddress("0x514910771af9ca656af840dff83e8264ecf986ca"), + Name: "ChainLink Token", + Symbol: "LINK", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x818fc6c2ec5986bc6e2cbf00939d90556ab12ce5"): &Token{ + Address: common.HexToAddress("0x818fc6c2ec5986bc6e2cbf00939d90556ab12ce5"), + Name: "Kin", + Symbol: "KIN", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x960b236a07cf122663c4303350609a66a7b288c0"): &Token{ + Address: common.HexToAddress("0x960b236a07cf122663c4303350609a66a7b288c0"), + Name: "Aragon Network Token", + Symbol: "ANT", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x40395044ac3c0c57051906da938b54bd6557f212"): &Token{ + Address: common.HexToAddress("0x40395044ac3c0c57051906da938b54bd6557f212"), + Name: "MobileGo Token", + Symbol: "MGO", + Color: "#f8f8f8", + Decimals: 8, + ChainID: 1, + }, + common.HexToAddress("0xb63b606ac810a52cca15e44bb630fd42d8d1d83d"): &Token{ + Address: common.HexToAddress("0xb63b606ac810a52cca15e44bb630fd42d8d1d83d"), + Name: "Monaco", + Symbol: "MCO", + Color: "#f8f8f8", + Decimals: 8, + ChainID: 1, + }, + common.HexToAddress("0xef68e7c694f40c8202821edf525de3782458639f"): &Token{ + Address: common.HexToAddress("0xef68e7c694f40c8202821edf525de3782458639f"), + Name: "loopring", + Symbol: "LRC", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x7a41e0517a5eca4fdbc7fbeba4d4c47b9ff6dc63"): &Token{ + Address: common.HexToAddress("0x7a41e0517a5eca4fdbc7fbeba4d4c47b9ff6dc63"), + Name: "Zeus Shield Coin", + Symbol: "ZSC", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x0cf0ee63788a0849fe5297f3407f701e122cc023"): &Token{ + Address: common.HexToAddress("0x0cf0ee63788a0849fe5297f3407f701e122cc023"), + Name: "Steamr DATAcoin", + Symbol: "DATA", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xf970b8e36e23f7fc3fd752eea86f8be8d83375a6"): &Token{ + Address: common.HexToAddress("0xf970b8e36e23f7fc3fd752eea86f8be8d83375a6"), + Name: "Ripio Credit Network Token", + Symbol: "RCN", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x667088b212ce3d06a1b553a7221e1fd19000d9af"): &Token{ + Address: common.HexToAddress("0x667088b212ce3d06a1b553a7221e1fd19000d9af"), + Name: "WINGS", + Symbol: "WINGS", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c"): &Token{ + Address: common.HexToAddress("0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c"), + Name: "Edgeless", + Symbol: "EDG", + Color: "#f8f8f8", + Decimals: 0, + ChainID: 1, + }, + common.HexToAddress("0xbeb9ef514a379b997e0798fdcc901ee474b6d9a1"): &Token{ + Address: common.HexToAddress("0xbeb9ef514a379b997e0798fdcc901ee474b6d9a1"), + Name: "Melon Token", + Symbol: "MLN", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x51db5ad35c671a87207d88fc11d593ac0c8415bd"): &Token{ + Address: common.HexToAddress("0x51db5ad35c671a87207d88fc11d593ac0c8415bd"), + Name: "Moeda Loyalty Points", + Symbol: "MDA", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xe3818504c1b32bf1557b16c238b2e01fd3149c17"): &Token{ + Address: common.HexToAddress("0xe3818504c1b32bf1557b16c238b2e01fd3149c17"), + Name: "PILLAR", + Symbol: "PLR", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x697beac28b09e122c4332d163985e8a73121b97f"): &Token{ + Address: common.HexToAddress("0x697beac28b09e122c4332d163985e8a73121b97f"), + Name: "QRL", + Symbol: "QRL", + Color: "#f8f8f8", + Decimals: 8, + ChainID: 1, + }, + common.HexToAddress("0x957c30ab0426e0c93cd8241e2c60392d08c6ac8e"): &Token{ + Address: common.HexToAddress("0x957c30ab0426e0c93cd8241e2c60392d08c6ac8e"), + Name: "Modum Token", + Symbol: "MOD", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xe7775a6e9bcf904eb39da2b68c5efb4f9360e08c"): &Token{ + Address: common.HexToAddress("0xe7775a6e9bcf904eb39da2b68c5efb4f9360e08c"), + Name: "Token-as-a-Service", + Symbol: "TAAS", + Color: "#f8f8f8", + Decimals: 6, + ChainID: 1, + }, + common.HexToAddress("0x12b19d3e2ccc14da04fae33e63652ce469b3f2fd"): &Token{ + Address: common.HexToAddress("0x12b19d3e2ccc14da04fae33e63652ce469b3f2fd"), + Name: "GRID Token", + Symbol: "GRID", + Color: "#f8f8f8", + Decimals: 12, + ChainID: 1, + }, + common.HexToAddress("0x7c5a0ce9267ed19b22f8cae653f198e3e8daf098"): &Token{ + Address: common.HexToAddress("0x7c5a0ce9267ed19b22f8cae653f198e3e8daf098"), + Name: "SANtiment network token", + Symbol: "SAN", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x983f6d60db79ea8ca4eb9968c6aff8cfa04b3c63"): &Token{ + Address: common.HexToAddress("0x983f6d60db79ea8ca4eb9968c6aff8cfa04b3c63"), + Name: "SONM Token", + Symbol: "SNM", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x8f8221afbb33998d8584a2b05749ba73c37a938a"): &Token{ + Address: common.HexToAddress("0x8f8221afbb33998d8584a2b05749ba73c37a938a"), + Name: "Request Token", + Symbol: "REQ", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x12480e24eb5bec1a9d4369cab6a80cad3c0a377a"): &Token{ + Address: common.HexToAddress("0x12480e24eb5bec1a9d4369cab6a80cad3c0a377a"), + Name: "Substratum", + Symbol: "SUB", + Color: "#f8f8f8", + Decimals: 2, + ChainID: 1, + }, + common.HexToAddress("0x0f5d2fb29fb7d3cfee444a200298f468908cc942"): &Token{ + Address: common.HexToAddress("0x0f5d2fb29fb7d3cfee444a200298f468908cc942"), + Name: "Decentraland MANA", + Symbol: "MANA", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x27054b13b1b798b345b591a4d22e6562d47ea75a"): &Token{ + Address: common.HexToAddress("0x27054b13b1b798b345b591a4d22e6562d47ea75a"), + Name: "AirSwap Token", + Symbol: "AST", + Color: "#f8f8f8", + Decimals: 4, + ChainID: 1, + }, + common.HexToAddress("0x48f775efbe4f5ece6e0df2f7b5932df56823b990"): &Token{ + Address: common.HexToAddress("0x48f775efbe4f5ece6e0df2f7b5932df56823b990"), + Name: "R token", + Symbol: "R", + Color: "#f8f8f8", + Decimals: 0, + ChainID: 1, + }, + common.HexToAddress("0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc7"): &Token{ + Address: common.HexToAddress("0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc7"), + Name: "FirstBlood Token", + Symbol: "1ST", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x12fef5e57bf45873cd9b62e9dbd7bfb99e32d73e"): &Token{ + Address: common.HexToAddress("0x12fef5e57bf45873cd9b62e9dbd7bfb99e32d73e"), + Name: "Cofoundit", + Symbol: "CFI", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xf0ee6b27b759c9893ce4f094b49ad28fd15a23e4"): &Token{ + Address: common.HexToAddress("0xf0ee6b27b759c9893ce4f094b49ad28fd15a23e4"), + Name: "Enigma", + Symbol: "ENG", + Color: "#f8f8f8", + Decimals: 8, + ChainID: 1, + }, + common.HexToAddress("0x4dc3643dbc642b72c158e7f3d2ff232df61cb6ce"): &Token{ + Address: common.HexToAddress("0x4dc3643dbc642b72c158e7f3d2ff232df61cb6ce"), + Name: "Amber Token", + Symbol: "AMB", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x90528aeb3a2b736b780fd1b6c478bb7e1d643170"): &Token{ + Address: common.HexToAddress("0x90528aeb3a2b736b780fd1b6c478bb7e1d643170"), + Name: "XPlay Token", + Symbol: "XPA", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x881ef48211982d01e2cb7092c915e647cd40d85c"): &Token{ + Address: common.HexToAddress("0x881ef48211982d01e2cb7092c915e647cd40d85c"), + Name: "Open Trading Network", + Symbol: "OTN", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xcb94be6f13a1182e4a4b6140cb7bf2025d28e41b"): &Token{ + Address: common.HexToAddress("0xcb94be6f13a1182e4a4b6140cb7bf2025d28e41b"), + Name: "Trustcoin", + Symbol: "TRST", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xaaaf91d9b90df800df4f55c205fd6989c977e73a"): &Token{ + Address: common.HexToAddress("0xaaaf91d9b90df800df4f55c205fd6989c977e73a"), + Name: "Monolith TKN", + Symbol: "TKN", + Color: "#f8f8f8", + Decimals: 8, + ChainID: 1, + }, + common.HexToAddress("0x168296bb09e24a88805cb9c33356536b980d3fc5"): &Token{ + Address: common.HexToAddress("0x168296bb09e24a88805cb9c33356536b980d3fc5"), + Name: "RHOC", + Symbol: "RHOC", + Color: "#f8f8f8", + Decimals: 8, + ChainID: 1, + }, + common.HexToAddress("0xac3da587eac229c9896d919abc235ca4fd7f72c1"): &Token{ + Address: common.HexToAddress("0xac3da587eac229c9896d919abc235ca4fd7f72c1"), + Name: "Target Coin", + Symbol: "TGT", + Color: "#f8f8f8", + Decimals: 1, + ChainID: 1, + }, + common.HexToAddress("0xf3db5fa2c66b7af3eb0c0b782510816cbe4813b8"): &Token{ + Address: common.HexToAddress("0xf3db5fa2c66b7af3eb0c0b782510816cbe4813b8"), + Name: "Everex", + Symbol: "EVX", + Color: "#f8f8f8", + Decimals: 4, + ChainID: 1, + }, + common.HexToAddress("0x014b50466590340d41307cc54dcee990c8d58aa8"): &Token{ + Address: common.HexToAddress("0x014b50466590340d41307cc54dcee990c8d58aa8"), + Name: "ICOS", + Symbol: "ICOS", + Color: "#f8f8f8", + Decimals: 6, + ChainID: 1, + }, + common.HexToAddress("0x0abdace70d3790235af448c88547603b945604ea"): &Token{ + Address: common.HexToAddress("0x0abdace70d3790235af448c88547603b945604ea"), + Name: "district0x Network Token", + Symbol: "DNT", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x08d32b0da63e2c3bcf8019c9c5d849d7a9d791e6"): &Token{ + Address: common.HexToAddress("0x08d32b0da63e2c3bcf8019c9c5d849d7a9d791e6"), + Name: "Dentacoin", + Symbol: "٨", + Color: "#f8f8f8", + Decimals: 0, + ChainID: 1, + }, + common.HexToAddress("0xced4e93198734ddaff8492d525bd258d49eb388e"): &Token{ + Address: common.HexToAddress("0xced4e93198734ddaff8492d525bd258d49eb388e"), + Name: "Eidoo Token", + Symbol: "EDO", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x29d75277ac7f0335b2165d0895e8725cbf658d73"): &Token{ + Address: common.HexToAddress("0x29d75277ac7f0335b2165d0895e8725cbf658d73"), + Name: "BitDice", + Symbol: "CSNO", + Color: "#f8f8f8", + Decimals: 8, + ChainID: 1, + }, + common.HexToAddress("0xb2f7eb1f2c37645be61d73953035360e768d81e6"): &Token{ + Address: common.HexToAddress("0xb2f7eb1f2c37645be61d73953035360e768d81e6"), + Name: "Cobinhood Token", + Symbol: "COB", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c"): &Token{ + Address: common.HexToAddress("0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c"), + Name: "Enjin Coin", + Symbol: "ENJ", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x0d88ed6e74bbfd96b831231638b66c05571e824f"): &Token{ + Address: common.HexToAddress("0x0d88ed6e74bbfd96b831231638b66c05571e824f"), + Name: "AVENTUS", + Symbol: "AVT", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x6531f133e6deebe7f2dce5a0441aa7ef330b4e53"): &Token{ + Address: common.HexToAddress("0x6531f133e6deebe7f2dce5a0441aa7ef330b4e53"), + Name: "Chronobank TIME", + Symbol: "TIME", + Color: "#f8f8f8", + Decimals: 8, + ChainID: 1, + }, + common.HexToAddress("0xd4c435f5b09f855c3317c8524cb1f586e42795fa"): &Token{ + Address: common.HexToAddress("0xd4c435f5b09f855c3317c8524cb1f586e42795fa"), + Name: "Cindicator Token", + Symbol: "CND", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x006bea43baa3f7a6f765f14f10a1a1b08334ef45"): &Token{ + Address: common.HexToAddress("0x006bea43baa3f7a6f765f14f10a1a1b08334ef45"), + Name: "Stox", + Symbol: "STX", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x4df812f6064def1e5e029f1ca858777cc98d2d81"): &Token{ + Address: common.HexToAddress("0x4df812f6064def1e5e029f1ca858777cc98d2d81"), + Name: "Xaurum", + Symbol: "XAUR", + Color: "#f8f8f8", + Decimals: 8, + ChainID: 1, + }, + common.HexToAddress("0x2c974b2d0ba1716e644c1fc59982a89ddd2ff724"): &Token{ + Address: common.HexToAddress("0x2c974b2d0ba1716e644c1fc59982a89ddd2ff724"), + Name: "Vibe", + Symbol: "VIB", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x7728dfef5abd468669eb7f9b48a7f70a501ed29d"): &Token{ + Address: common.HexToAddress("0x7728dfef5abd468669eb7f9b48a7f70a501ed29d"), + Name: "PRG", + Symbol: "PRG", + Color: "#f8f8f8", + Decimals: 6, + ChainID: 1, + }, + common.HexToAddress("0x6c2adc2073994fb2ccc5032cc2906fa221e9b391"): &Token{ + Address: common.HexToAddress("0x6c2adc2073994fb2ccc5032cc2906fa221e9b391"), + Name: "Delphy Token", + Symbol: "DPY", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x2fe6ab85ebbf7776fee46d191ee4cea322cecf51"): &Token{ + Address: common.HexToAddress("0x2fe6ab85ebbf7776fee46d191ee4cea322cecf51"), + Name: "CoinDash Token", + Symbol: "CDT", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x08f5a9235b08173b7569f83645d2c7fb55e8ccd8"): &Token{ + Address: common.HexToAddress("0x08f5a9235b08173b7569f83645d2c7fb55e8ccd8"), + Name: "Tierion Network Token", + Symbol: "TNT", + Color: "#f8f8f8", + Decimals: 8, + ChainID: 1, + }, + common.HexToAddress("0x9af4f26941677c706cfecf6d3379ff01bb85d5ab"): &Token{ + Address: common.HexToAddress("0x9af4f26941677c706cfecf6d3379ff01bb85d5ab"), + Name: "DomRaiderToken", + Symbol: "DRT", + Color: "#f8f8f8", + Decimals: 8, + ChainID: 1, + }, + common.HexToAddress("0x42d6622dece394b54999fbd73d108123806f6a18"): &Token{ + Address: common.HexToAddress("0x42d6622dece394b54999fbd73d108123806f6a18"), + Name: "SPANK", + Symbol: "SPANK", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x80046305aaab08f6033b56a360c184391165dc2d"): &Token{ + Address: common.HexToAddress("0x80046305aaab08f6033b56a360c184391165dc2d"), + Name: "Berlin Coin", + Symbol: "BRLN", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"): &Token{ + Address: common.HexToAddress("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"), + Name: "USD//C", + Symbol: "USDC", + Color: "#f8f8f8", + Decimals: 6, + ChainID: 1, + }, + common.HexToAddress("0x58b6a8a3302369daec383334672404ee733ab239"): &Token{ + Address: common.HexToAddress("0x58b6a8a3302369daec383334672404ee733ab239"), + Name: "Livepeer Token", + Symbol: "LPT", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x2c4e8f2d746113d0696ce89b35f0d8bf88e0aeca"): &Token{ + Address: common.HexToAddress("0x2c4e8f2d746113d0696ce89b35f0d8bf88e0aeca"), + Name: "Simple Token", + Symbol: "ST", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"): &Token{ + Address: common.HexToAddress("0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"), + Name: "Wrapped BTC", + Symbol: "WBTC", + Color: "#f8f8f8", + Decimals: 8, + ChainID: 1, + }, + common.HexToAddress("0x107c4504cd79c5d2696ea0030a8dd4e92601b82e"): &Token{ + Address: common.HexToAddress("0x107c4504cd79c5d2696ea0030a8dd4e92601b82e"), + Name: "Bloom Token", + Symbol: "BLT", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x23b608675a2b2fb1890d3abbd85c5775c51691d5"): &Token{ + Address: common.HexToAddress("0x23b608675a2b2fb1890d3abbd85c5775c51691d5"), + Name: "Unisocks", + Symbol: "SOCKS", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xEEF9f339514298C6A857EfCfC1A762aF84438dEE"): &Token{ + Address: common.HexToAddress("0xEEF9f339514298C6A857EfCfC1A762aF84438dEE"), + Name: "Hermez Network Token", + Symbol: "HEZ", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x1f9840a85d5af5bf1d1762f925bdaddc4201f984"): &Token{ + Address: common.HexToAddress("0x1f9840a85d5af5bf1d1762f925bdaddc4201f984"), + Name: "Uniswap", + Symbol: "UNI", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xc00e94cb662c3520282e6f5717214004a7f26888"): &Token{ + Address: common.HexToAddress("0xc00e94cb662c3520282e6f5717214004a7f26888"), + Name: "Compound", + Symbol: "COMP", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0xba100000625a3754423978a60c9317c58a424e3d"): &Token{ + Address: common.HexToAddress("0xba100000625a3754423978a60c9317c58a424e3d"), + Name: "Balancer", + Symbol: "BAL", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x8ab7404063ec4dbcfd4598215992dc3f8ec853d7"): &Token{ + Address: common.HexToAddress("0x8ab7404063ec4dbcfd4598215992dc3f8ec853d7"), + Name: "Akropolis", + Symbol: "AKRO", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + common.HexToAddress("0x4575f41308EC1483f3d399aa9a2826d74Da13Deb"): &Token{ + Address: common.HexToAddress("0x4575f41308EC1483f3d399aa9a2826d74Da13Deb"), + Name: "Orchid", + Symbol: "ORC", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 1, + }, + }, + 3: { + common.HexToAddress("0xc55cf4b03948d7ebc8b9e8bad92643703811d162"): &Token{ + Address: common.HexToAddress("0xc55cf4b03948d7ebc8b9e8bad92643703811d162"), + Name: "Status Test Token", + Symbol: "STT", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 3, + }, + common.HexToAddress("0xdee43a267e8726efd60c2e7d5b81552dcd4fa35c"): &Token{ + Address: common.HexToAddress("0xdee43a267e8726efd60c2e7d5b81552dcd4fa35c"), + Name: "Handy Test Token", + Symbol: "HND", + Color: "#f8f8f8", + Decimals: 0, + ChainID: 3, + }, + common.HexToAddress("0x703d7dc0bc8e314d65436adf985dda51e09ad43b"): &Token{ + Address: common.HexToAddress("0x703d7dc0bc8e314d65436adf985dda51e09ad43b"), + Name: "Lucky Test Token", + Symbol: "LXS", + Color: "#f8f8f8", + Decimals: 2, + ChainID: 3, + }, + common.HexToAddress("0xe639e24346d646e927f323558e6e0031bfc93581"): &Token{ + Address: common.HexToAddress("0xe639e24346d646e927f323558e6e0031bfc93581"), + Name: "Adi Test Token", + Symbol: "ADI", + Color: "#f8f8f8", + Decimals: 7, + ChainID: 3, + }, + common.HexToAddress("0x2e7cd05f437eb256f363417fd8f920e2efa77540"): &Token{ + Address: common.HexToAddress("0x2e7cd05f437eb256f363417fd8f920e2efa77540"), + Name: "Wagner Test Token", + Symbol: "WGN", + Color: "#f8f8f8", + Decimals: 10, + ChainID: 3, + }, + common.HexToAddress("0x57cc9b83730e6d22b224e9dc3e370967b44a2de0"): &Token{ + Address: common.HexToAddress("0x57cc9b83730e6d22b224e9dc3e370967b44a2de0"), + Name: "Modest Test Token", + Symbol: "MDS", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 3, + }, + }, + 4: { + common.HexToAddress("0x6ba7dc8dd10880ab83041e60c4ede52bb607864b"): &Token{ + Address: common.HexToAddress("0x6ba7dc8dd10880ab83041e60c4ede52bb607864b"), + Name: "Moksha Coin", + Symbol: "MOKSHA", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 4, + }, + common.HexToAddress("0x7d4ccf6af2f0fdad48ee7958bcc28bdef7b732c7"): &Token{ + Address: common.HexToAddress("0x7d4ccf6af2f0fdad48ee7958bcc28bdef7b732c7"), + Name: "WIBB", + Symbol: "WIBB", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 4, + }, + common.HexToAddress("0x43d5adc3b49130a575ae6e4b00dfa4bc55c71621"): &Token{ + Address: common.HexToAddress("0x43d5adc3b49130a575ae6e4b00dfa4bc55c71621"), + Name: "Status Test Token", + Symbol: "STT", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 4, + }, + }, + 100: { + common.HexToAddress("0x3e50bf6703fc132a94e4baff068db2055655f11b"): &Token{ + Address: common.HexToAddress("0x3e50bf6703fc132a94e4baff068db2055655f11b"), + Name: "buffiDai", + Symbol: "BUFF", + Color: "#f8f8f8", + Decimals: 18, + ChainID: 100, + }, + }, +}