mirror of
https://github.com/Instadapp/trustwallet-assets.git
synced 2024-07-29 22:37:31 +00:00
Remove pairs from EVM chain tokelists.json (#17637)
* Remove pairs from EVM chain tokelists.json * Add tokenlist-extended.json * Add command for adding token to tokenlist-extended.json * Remove empty pairs * Update config namings * Add command for adding token to tokenlist.json * Update config and file namings * Update tokenlist-extended.json * Add token info getting * Fix * Fix * Add duplicates check * Add duplicate check in token list * Update commands.go Co-authored-by: Viktor Radchenko <1641795+vikmeup@users.noreply.github.com>
This commit is contained in:
parent
878bd0e062
commit
ed272b256d
14
.github/assets.config.yaml
vendored
14
.github/assets.config.yaml
vendored
|
@ -1,14 +1,17 @@
|
||||||
app:
|
app:
|
||||||
log_level: debug
|
log_level: "debug"
|
||||||
|
|
||||||
client_urls:
|
client_urls:
|
||||||
binance:
|
binance:
|
||||||
dex: https://dex.binance.org
|
dex: "https://dex.binance.org"
|
||||||
explorer: https://explorer.binance.org
|
explorer: "https://explorer.binance.org"
|
||||||
assets_manager_api: "https://assets-manager-api.herokuapp.com"
|
assets_manager_api: "https://api.assets.trustwallet.com"
|
||||||
|
|
||||||
urls:
|
urls:
|
||||||
tw_assets_app: https://assets.trustwalletapp.com
|
assets_app: "https://assets.trustwalletapp.com"
|
||||||
|
logo: "https://trustwallet.com/assets/images/favicon.png"
|
||||||
|
|
||||||
|
time_format: "2006-01-02T15:04:05.000000"
|
||||||
|
|
||||||
validators_settings:
|
validators_settings:
|
||||||
root_folder:
|
root_folder:
|
||||||
|
@ -45,6 +48,7 @@ validators_settings:
|
||||||
allowed_files:
|
allowed_files:
|
||||||
- "assets"
|
- "assets"
|
||||||
- "tokenlist.json"
|
- "tokenlist.json"
|
||||||
|
- "tokenlist-extended.json"
|
||||||
- "validators"
|
- "validators"
|
||||||
- "info"
|
- "info"
|
||||||
|
|
||||||
|
|
8
Makefile
8
Makefile
|
@ -48,4 +48,10 @@ update-manual:
|
||||||
|
|
||||||
# Helper commands.
|
# Helper commands.
|
||||||
add-token:
|
add-token:
|
||||||
go run cmd/main.go add-token $(token)
|
go run cmd/main.go add-token $(asset_id)
|
||||||
|
|
||||||
|
add-tokenlist:
|
||||||
|
go run cmd/main.go add-tokenlist $(asset_id)
|
||||||
|
|
||||||
|
add-tokenlist-extended:
|
||||||
|
go run cmd/main.go add-tokenlist-extended $(asset_id)
|
||||||
|
|
|
@ -47,7 +47,9 @@ There are several scripts available for maintainers:
|
||||||
- `make check` -- Execute validation checks; also used in continuous integration.
|
- `make check` -- Execute validation checks; also used in continuous integration.
|
||||||
- `make fix` -- Perform automatic fixes where possible
|
- `make fix` -- Perform automatic fixes where possible
|
||||||
- `make update-auto` -- Run automatic updates from external sources, executed regularly (GitHub action)
|
- `make update-auto` -- Run automatic updates from external sources, executed regularly (GitHub action)
|
||||||
- `make add-token token=c60_t0x4Fabb145d64652a948d72533023f6E7A623C7C53` -- Create `info.json` file as asset template.
|
- `make add-token asset_id=c60_t0x4Fabb145d64652a948d72533023f6E7A623C7C53` -- Create `info.json` file as asset template.
|
||||||
|
- `make add-tokenlist asset_id=c60_t0x4Fabb145d64652a948d72533023f6E7A623C7C53` -- Adds a token to tokenlist.json.
|
||||||
|
- `make add-tokenlist-extended asset_id=c60_t0x4Fabb145d64652a948d72533023f6E7A623C7C53` -- Adds a token to tokenlist-extended.json.
|
||||||
|
|
||||||
## On Checks
|
## On Checks
|
||||||
|
|
||||||
|
|
30
blockchains/ethereum/tokenlist-extended.json
Normal file
30
blockchains/ethereum/tokenlist-extended.json
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"name": "Trust Wallet: Ethereum Extended List",
|
||||||
|
"logoURI": "https://trustwallet.com/assets/images/favicon.png",
|
||||||
|
"timestamp": "2022-01-27T14:33:26.183301",
|
||||||
|
"tokens": [
|
||||||
|
{
|
||||||
|
"asset": "c60_t0x8E870D67F660D95d5be530380D0eC0bd388289E1",
|
||||||
|
"type": "ERC20",
|
||||||
|
"address": "0x8E870D67F660D95d5be530380D0eC0bd388289E1",
|
||||||
|
"name": "Pax Dollar",
|
||||||
|
"symbol": "USDP",
|
||||||
|
"decimals": 18,
|
||||||
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/ethereum/assets/0x8E870D67F660D95d5be530380D0eC0bd388289E1/logo.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"asset": "c60_t0xa47c8bf37f92aBed4A126BDA807A7b7498661acD",
|
||||||
|
"type": "ERC20",
|
||||||
|
"address": "0xa47c8bf37f92aBed4A126BDA807A7b7498661acD",
|
||||||
|
"name": "UST Token",
|
||||||
|
"symbol": "UST",
|
||||||
|
"decimals": 18,
|
||||||
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/ethereum/assets/0xa47c8bf37f92aBed4A126BDA807A7b7498661acD/logo.png"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"version": {
|
||||||
|
"major": 6,
|
||||||
|
"minor": 0,
|
||||||
|
"patch": 0
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
12
blockchains/polygon/tokenlist-extended.json
Normal file
12
blockchains/polygon/tokenlist-extended.json
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"name": "Trust Wallet: Polygon Extended List",
|
||||||
|
"logoURI": "https://trustwallet.com/assets/images/favicon.png",
|
||||||
|
"timestamp": "2022-01-27T14:33:26.183301",
|
||||||
|
"tokens": [
|
||||||
|
],
|
||||||
|
"version": {
|
||||||
|
"major": 1,
|
||||||
|
"minor": 0,
|
||||||
|
"patch": 0
|
||||||
|
}
|
||||||
|
}
|
|
@ -10,30 +10,7 @@
|
||||||
"name": "Wrapped Ether",
|
"name": "Wrapped Ether",
|
||||||
"symbol": "WETH",
|
"symbol": "WETH",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/polygon/assets/0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/polygon/assets/0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619/logo.png"
|
||||||
"pairs": [
|
|
||||||
{
|
|
||||||
"base": "c966_t0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c966_t0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c966_t0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c966_t0x831753DD7087CaC61aB5644b308642cc1c33Dc13"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c966_t0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c966_t0xc2132D05D31c914a87C6611C10748AEb04B58e8F"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c966_t0xD6DF932A45C0f255f85145f286eA0b292B21C90B"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c966_t0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",
|
"asset": "c966_t0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",
|
||||||
|
@ -42,21 +19,7 @@
|
||||||
"name": "Wrapped MATIC",
|
"name": "Wrapped MATIC",
|
||||||
"symbol": "WMATIC",
|
"symbol": "WMATIC",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/polygon/assets/0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/polygon/assets/0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270/logo.png"
|
||||||
"pairs": [
|
|
||||||
{
|
|
||||||
"base": "c966_t0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c966_t0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c966_t0x831753DD7087CaC61aB5644b308642cc1c33Dc13"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c966_t0xc2132D05D31c914a87C6611C10748AEb04B58e8F"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c966_t0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
|
"asset": "c966_t0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
|
||||||
|
@ -65,18 +28,7 @@
|
||||||
"name": "USD Coin (PoS)",
|
"name": "USD Coin (PoS)",
|
||||||
"symbol": "USDC",
|
"symbol": "USDC",
|
||||||
"decimals": 6,
|
"decimals": 6,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/polygon/assets/0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/polygon/assets/0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174/logo.png"
|
||||||
"pairs": [
|
|
||||||
{
|
|
||||||
"base": "c966_t0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c966_t0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c966_t0xc2132D05D31c914a87C6611C10748AEb04B58e8F"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c966_t0xc2132D05D31c914a87C6611C10748AEb04B58e8F",
|
"asset": "c966_t0xc2132D05D31c914a87C6611C10748AEb04B58e8F",
|
||||||
|
@ -85,18 +37,7 @@
|
||||||
"name": "(PoS) Tether USD",
|
"name": "(PoS) Tether USD",
|
||||||
"symbol": "USDT",
|
"symbol": "USDT",
|
||||||
"decimals": 6,
|
"decimals": 6,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/polygon/assets/0xc2132D05D31c914a87C6611C10748AEb04B58e8F/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/polygon/assets/0xc2132D05D31c914a87C6611C10748AEb04B58e8F/logo.png"
|
||||||
"pairs": [
|
|
||||||
{
|
|
||||||
"base": "c966_t0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c966_t0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c966_t0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c966_t0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063",
|
"asset": "c966_t0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063",
|
||||||
|
@ -105,12 +46,7 @@
|
||||||
"name": "(PoS) Dai Stablecoin",
|
"name": "(PoS) Dai Stablecoin",
|
||||||
"symbol": "DAI",
|
"symbol": "DAI",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/polygon/assets/0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/polygon/assets/0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063/logo.png"
|
||||||
"pairs": [
|
|
||||||
{
|
|
||||||
"base": "c966_t0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c966_t0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39",
|
"asset": "c966_t0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39",
|
||||||
|
@ -119,8 +55,7 @@
|
||||||
"name": "ChainLink Token",
|
"name": "ChainLink Token",
|
||||||
"symbol": "LINK",
|
"symbol": "LINK",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/polygon/assets/0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/polygon/assets/0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c966_t0x831753DD7087CaC61aB5644b308642cc1c33Dc13",
|
"asset": "c966_t0x831753DD7087CaC61aB5644b308642cc1c33Dc13",
|
||||||
|
@ -129,8 +64,7 @@
|
||||||
"name": "QuickSwap",
|
"name": "QuickSwap",
|
||||||
"symbol": "QUICK",
|
"symbol": "QUICK",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/polygon/assets/0x831753DD7087CaC61aB5644b308642cc1c33Dc13/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/polygon/assets/0x831753DD7087CaC61aB5644b308642cc1c33Dc13/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c966_t0xD6DF932A45C0f255f85145f286eA0b292B21C90B",
|
"asset": "c966_t0xD6DF932A45C0f255f85145f286eA0b292B21C90B",
|
||||||
|
@ -139,8 +73,7 @@
|
||||||
"name": "Aave (PoS)",
|
"name": "Aave (PoS)",
|
||||||
"symbol": "AAVE",
|
"symbol": "AAVE",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/polygon/assets/0xD6DF932A45C0f255f85145f286eA0b292B21C90B/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/polygon/assets/0xD6DF932A45C0f255f85145f286eA0b292B21C90B/logo.png"
|
||||||
"pairs": []
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"version": {
|
"version": {
|
||||||
|
|
13
blockchains/smartchain/tokenlist-extended.json
Normal file
13
blockchains/smartchain/tokenlist-extended.json
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"name": "Trust Wallet: SmartChain Extended List",
|
||||||
|
"logoURI": "https://trustwallet.com/assets/images/favicon.png",
|
||||||
|
"timestamp": "2022-01-27T14:33:26.183301",
|
||||||
|
"tokens": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"version": {
|
||||||
|
"major": 1,
|
||||||
|
"minor": 0,
|
||||||
|
"patch": 0
|
||||||
|
}
|
||||||
|
}
|
|
@ -11,180 +11,7 @@
|
||||||
"name": "Wrapped BNB",
|
"name": "Wrapped BNB",
|
||||||
"symbol": "WBNB",
|
"symbol": "WBNB",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c/logo.png"
|
||||||
"pairs": [
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x0D8Ce2A99Bb6e3B7Db580eD848240e4a0F9aE153"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x0Eb3a705fc54725037CC9e008bDede697f62F335"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x16939ef78684453bfDFb47825F8a5F714f12623a"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x190b589cf9Fb8DDEabBFeae36a813FFb2A702454"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x1AF3F329e8BE154074D8769D1FFa4eE058B1DBc3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x1D2F0da169ceB9fC7B3144628dB156f3F6c60dBE"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x2090c8295769791ab7A3CF1CC6e0AA19F35e441A"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x2170Ed0880ac9A755fd29B2688956BD959F933F8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x23396cF899Ca06c4472205fC903bDB4de249D6fC"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x233d91A0713155003fc4DcE0AFa871b508B3B715"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x3aabCf53A1930A42E18D938C019E83Ebee50a849"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x3EE2200Efb3400fAbB9AacF31297cBdD1d435D47"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x4197C6EF3879a08cD51e5560da5064B773aa1d29"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x4338665CBB7B2485A8855A139b75D5e34AB0DB94"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x44754455564474A89358B2C2265883DF993b12F0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x47BEAd2563dCBf3bF2c9407fEa4dC236fAbA485A"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x4B0F1812e5Df2A09796481Ff14017e6005508003"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x55d398326f99059fF775485246999027B3197955"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x56b6fB708fC5732DEC1Afc8D8556423A2EDcCbD6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x5Ac52EE5b2a633895292Ff6d8A89bB9190451587"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x63870A18B6e42b01Ef1Ad8A2302ef50B7132054F"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x67ee3Cb086F8a16f34beE3ca72FAD36F7Db929e2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x6c5FE6e99D2484db7E4BF34F365ABA42d0E4dC20"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x7083609fCE4d1d8Dc0C979AAb8c869Ea2C873402"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x728C5baC3C3e370E372Fc4671f9ef6916b814d8B"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x72fAa679E1008Ad8382959FF48E392042A8b06f7"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x78650B139471520656b9E7aA7A5e9276814a38e9"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x790Be81C3cA0e53974bE2688cDb954732C9862e1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x7979F6C54ebA05E18Ded44C4F986F49a5De551c2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x7F70642d88cf1C4a3a7abb072B53B929b653edA5"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x81859801b01764D4f0Fa5E64729f5a6C3b91435b"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x88f1A5ae2A3BF98AEAF342D26B30a79438c9142e"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x8fF795a6F4D97E7887C79beA79aba5cc76444aDf"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x928e55daB735aa8260AF3cEDadA18B5f70C72f1b"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0x948d2a81086A075b3130BAc19e4c6DEe1D2E3fE8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xa184088a740c695E156F91f5cC086a06bb78b827"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xa1faa113cbE53436Df28FF0aEe54275c13B40975"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xa2B726B1145A4773F68593CF171187d8EBe4d495"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xA8c2B8eec3d368C0253ad3dae65a5F2BBB89c929"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xAD6cAEb32CD2c308980a548bD0Bc5AA4306c6c18"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xb59490aB09A0f526Cc7305822aC65f2Ab12f9723"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xBf5140A22578168FD562DCcF235E5D43A02ce9B1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xbF7c81FFF98BbE61B40Ed186e4AfD6DDd01337fe"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xC7d8D35EBA58a0935ff2D5a33Df105DD9f071731"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xC9849E6fdB743d08fAeE3E34dd2D1bc69EA11a51"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xCa3F508B8e4Dd382eE878A314789373D80A5190A"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xcc2E12a9b5b75360c6FBf23B584c275D52cDdb0E"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xcF6BB5389c92Bdda8a3747Ddb454cB7a64626C63"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xD41FDb03Ba84762dD66a0af1a6C8540FF1ba5dfb"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xE40255C5d7fa7ceEc5120408C78C787CECB4cfdb"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xF21768cCBC73Ea5B6fd3C687208a7c2def2d966e"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xf79037F6f6bE66832DE4E7516be52826BC3cBcc4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"base": "c20000714_t0xF952Fc3ca7325Cc27D15885d37117676d25BfdA6"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"chainId": 56,
|
"chainId": 56,
|
||||||
|
@ -194,8 +21,7 @@
|
||||||
"name": "Jupiter",
|
"name": "Jupiter",
|
||||||
"symbol": "bwJUP",
|
"symbol": "bwJUP",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x0231f91e02DebD20345Ae8AB7D71A41f8E140cE7/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x0231f91e02DebD20345Ae8AB7D71A41f8E140cE7/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x0D8Ce2A99Bb6e3B7Db580eD848240e4a0F9aE153",
|
"asset": "c20000714_t0x0D8Ce2A99Bb6e3B7Db580eD848240e4a0F9aE153",
|
||||||
|
@ -204,8 +30,7 @@
|
||||||
"name": "Binance-Peg Filecoin",
|
"name": "Binance-Peg Filecoin",
|
||||||
"symbol": "FIL",
|
"symbol": "FIL",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x0D8Ce2A99Bb6e3B7Db580eD848240e4a0F9aE153/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x0D8Ce2A99Bb6e3B7Db580eD848240e4a0F9aE153/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"chainId": 56,
|
"chainId": 56,
|
||||||
|
@ -215,8 +40,7 @@
|
||||||
"name": "PancakeSwap Token",
|
"name": "PancakeSwap Token",
|
||||||
"symbol": "CAKE",
|
"symbol": "CAKE",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x0Eb3a705fc54725037CC9e008bDede697f62F335",
|
"asset": "c20000714_t0x0Eb3a705fc54725037CC9e008bDede697f62F335",
|
||||||
|
@ -225,8 +49,7 @@
|
||||||
"name": "Binance-Peg Cosmos Token",
|
"name": "Binance-Peg Cosmos Token",
|
||||||
"symbol": "ATOM",
|
"symbol": "ATOM",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x0Eb3a705fc54725037CC9e008bDede697f62F335/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x0Eb3a705fc54725037CC9e008bDede697f62F335/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x16939ef78684453bfDFb47825F8a5F714f12623a",
|
"asset": "c20000714_t0x16939ef78684453bfDFb47825F8a5F714f12623a",
|
||||||
|
@ -235,8 +58,7 @@
|
||||||
"name": "Binance-Peg Tezos Token",
|
"name": "Binance-Peg Tezos Token",
|
||||||
"symbol": "XTZ",
|
"symbol": "XTZ",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x16939ef78684453bfDFb47825F8a5F714f12623a/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x16939ef78684453bfDFb47825F8a5F714f12623a/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x190b589cf9Fb8DDEabBFeae36a813FFb2A702454",
|
"asset": "c20000714_t0x190b589cf9Fb8DDEabBFeae36a813FFb2A702454",
|
||||||
|
@ -245,8 +67,7 @@
|
||||||
"name": "bDollar",
|
"name": "bDollar",
|
||||||
"symbol": "BDO",
|
"symbol": "BDO",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x190b589cf9Fb8DDEabBFeae36a813FFb2A702454/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x190b589cf9Fb8DDEabBFeae36a813FFb2A702454/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"chainId": 56,
|
"chainId": 56,
|
||||||
|
@ -256,8 +77,7 @@
|
||||||
"name": "Binance-Peg Dai Token",
|
"name": "Binance-Peg Dai Token",
|
||||||
"symbol": "DAI",
|
"symbol": "DAI",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x1AF3F329e8BE154074D8769D1FFa4eE058B1DBc3/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x1AF3F329e8BE154074D8769D1FFa4eE058B1DBc3/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x1D2F0da169ceB9fC7B3144628dB156f3F6c60dBE",
|
"asset": "c20000714_t0x1D2F0da169ceB9fC7B3144628dB156f3F6c60dBE",
|
||||||
|
@ -266,8 +86,7 @@
|
||||||
"name": "Binance-Peg XRP Token",
|
"name": "Binance-Peg XRP Token",
|
||||||
"symbol": "XRP",
|
"symbol": "XRP",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x1D2F0da169ceB9fC7B3144628dB156f3F6c60dBE/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x1D2F0da169ceB9fC7B3144628dB156f3F6c60dBE/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x2090c8295769791ab7A3CF1CC6e0AA19F35e441A",
|
"asset": "c20000714_t0x2090c8295769791ab7A3CF1CC6e0AA19F35e441A",
|
||||||
|
@ -276,8 +95,7 @@
|
||||||
"name": "Fuel Token",
|
"name": "Fuel Token",
|
||||||
"symbol": "Fuel",
|
"symbol": "Fuel",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x2090c8295769791ab7A3CF1CC6e0AA19F35e441A/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x2090c8295769791ab7A3CF1CC6e0AA19F35e441A/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"chainId": 56,
|
"chainId": 56,
|
||||||
|
@ -287,8 +105,7 @@
|
||||||
"name": "Binance-Peg Ethereum",
|
"name": "Binance-Peg Ethereum",
|
||||||
"symbol": "ETH",
|
"symbol": "ETH",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x2170Ed0880ac9A755fd29B2688956BD959F933F8/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x2170Ed0880ac9A755fd29B2688956BD959F933F8/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x23396cF899Ca06c4472205fC903bDB4de249D6fC",
|
"asset": "c20000714_t0x23396cF899Ca06c4472205fC903bDB4de249D6fC",
|
||||||
|
@ -297,8 +114,7 @@
|
||||||
"name": "Wrapped UST Token",
|
"name": "Wrapped UST Token",
|
||||||
"symbol": "UST",
|
"symbol": "UST",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x23396cF899Ca06c4472205fC903bDB4de249D6fC/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x23396cF899Ca06c4472205fC903bDB4de249D6fC/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x233d91A0713155003fc4DcE0AFa871b508B3B715",
|
"asset": "c20000714_t0x233d91A0713155003fc4DcE0AFa871b508B3B715",
|
||||||
|
@ -307,8 +123,7 @@
|
||||||
"name": "Ditto",
|
"name": "Ditto",
|
||||||
"symbol": "DITTO",
|
"symbol": "DITTO",
|
||||||
"decimals": 9,
|
"decimals": 9,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x233d91A0713155003fc4DcE0AFa871b508B3B715/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x233d91A0713155003fc4DcE0AFa871b508B3B715/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x37Ac4D6140e54304D77437A5c11924f61a2D976f",
|
"asset": "c20000714_t0x37Ac4D6140e54304D77437A5c11924f61a2D976f",
|
||||||
|
@ -317,8 +132,7 @@
|
||||||
"name": "SparkPoint Fuel",
|
"name": "SparkPoint Fuel",
|
||||||
"symbol": "SFUEL",
|
"symbol": "SFUEL",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x37Ac4D6140e54304D77437A5c11924f61a2D976f/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x37Ac4D6140e54304D77437A5c11924f61a2D976f/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x3aabCf53A1930A42E18D938C019E83Ebee50a849",
|
"asset": "c20000714_t0x3aabCf53A1930A42E18D938C019E83Ebee50a849",
|
||||||
|
@ -327,8 +141,7 @@
|
||||||
"name": "SPONGE",
|
"name": "SPONGE",
|
||||||
"symbol": "SPG",
|
"symbol": "SPG",
|
||||||
"decimals": 9,
|
"decimals": 9,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x3aabCf53A1930A42E18D938C019E83Ebee50a849/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x3aabCf53A1930A42E18D938C019E83Ebee50a849/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x3EE2200Efb3400fAbB9AacF31297cBdD1d435D47",
|
"asset": "c20000714_t0x3EE2200Efb3400fAbB9AacF31297cBdD1d435D47",
|
||||||
|
@ -337,8 +150,7 @@
|
||||||
"name": "Binance-Peg Cardano Token",
|
"name": "Binance-Peg Cardano Token",
|
||||||
"symbol": "ADA",
|
"symbol": "ADA",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x3EE2200Efb3400fAbB9AacF31297cBdD1d435D47/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x3EE2200Efb3400fAbB9AacF31297cBdD1d435D47/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x4197C6EF3879a08cD51e5560da5064B773aa1d29",
|
"asset": "c20000714_t0x4197C6EF3879a08cD51e5560da5064B773aa1d29",
|
||||||
|
@ -347,8 +159,7 @@
|
||||||
"name": "ACryptoS",
|
"name": "ACryptoS",
|
||||||
"symbol": "ACS",
|
"symbol": "ACS",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x4197C6EF3879a08cD51e5560da5064B773aa1d29/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x4197C6EF3879a08cD51e5560da5064B773aa1d29/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x4338665CBB7B2485A8855A139b75D5e34AB0DB94",
|
"asset": "c20000714_t0x4338665CBB7B2485A8855A139b75D5e34AB0DB94",
|
||||||
|
@ -357,8 +168,7 @@
|
||||||
"name": "Binance-Peg Litecoin Token",
|
"name": "Binance-Peg Litecoin Token",
|
||||||
"symbol": "LTC",
|
"symbol": "LTC",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x4338665CBB7B2485A8855A139b75D5e34AB0DB94/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x4338665CBB7B2485A8855A139b75D5e34AB0DB94/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x44754455564474A89358B2C2265883DF993b12F0",
|
"asset": "c20000714_t0x44754455564474A89358B2C2265883DF993b12F0",
|
||||||
|
@ -367,8 +177,7 @@
|
||||||
"name": "ZeroSwapToken",
|
"name": "ZeroSwapToken",
|
||||||
"symbol": "ZEE",
|
"symbol": "ZEE",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x44754455564474A89358B2C2265883DF993b12F0/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x44754455564474A89358B2C2265883DF993b12F0/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x47BEAd2563dCBf3bF2c9407fEa4dC236fAbA485A",
|
"asset": "c20000714_t0x47BEAd2563dCBf3bF2c9407fEa4dC236fAbA485A",
|
||||||
|
@ -377,8 +186,7 @@
|
||||||
"name": "Swipe",
|
"name": "Swipe",
|
||||||
"symbol": "SXP",
|
"symbol": "SXP",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x47BEAd2563dCBf3bF2c9407fEa4dC236fAbA485A/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x47BEAd2563dCBf3bF2c9407fEa4dC236fAbA485A/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"chainId": 56,
|
"chainId": 56,
|
||||||
|
@ -388,8 +196,7 @@
|
||||||
"name": "Trust Wallet",
|
"name": "Trust Wallet",
|
||||||
"symbol": "TWT",
|
"symbol": "TWT",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x4B0F1812e5Df2A09796481Ff14017e6005508003/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x4B0F1812e5Df2A09796481Ff14017e6005508003/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"chainId": 56,
|
"chainId": 56,
|
||||||
|
@ -399,8 +206,7 @@
|
||||||
"name": "VAI Stablecoin",
|
"name": "VAI Stablecoin",
|
||||||
"symbol": "VAI",
|
"symbol": "VAI",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x4BD17003473389A42DAF6a0a729f6Fdb328BbBd7/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x4BD17003473389A42DAF6a0a729f6Fdb328BbBd7/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"chainId": 56,
|
"chainId": 56,
|
||||||
|
@ -410,8 +216,7 @@
|
||||||
"name": "Binance-Peg BSC-USD",
|
"name": "Binance-Peg BSC-USD",
|
||||||
"symbol": "USDT",
|
"symbol": "USDT",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x55d398326f99059fF775485246999027B3197955/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x55d398326f99059fF775485246999027B3197955/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x56b6fB708fC5732DEC1Afc8D8556423A2EDcCbD6",
|
"asset": "c20000714_t0x56b6fB708fC5732DEC1Afc8D8556423A2EDcCbD6",
|
||||||
|
@ -420,8 +225,7 @@
|
||||||
"name": "Binance-Peg EOS Token",
|
"name": "Binance-Peg EOS Token",
|
||||||
"symbol": "EOS",
|
"symbol": "EOS",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x56b6fB708fC5732DEC1Afc8D8556423A2EDcCbD6/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x56b6fB708fC5732DEC1Afc8D8556423A2EDcCbD6/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x5Ac52EE5b2a633895292Ff6d8A89bB9190451587",
|
"asset": "c20000714_t0x5Ac52EE5b2a633895292Ff6d8A89bB9190451587",
|
||||||
|
@ -430,8 +234,7 @@
|
||||||
"name": "BSCX",
|
"name": "BSCX",
|
||||||
"symbol": "BSCX",
|
"symbol": "BSCX",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x5Ac52EE5b2a633895292Ff6d8A89bB9190451587/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x5Ac52EE5b2a633895292Ff6d8A89bB9190451587/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"chainId": 56,
|
"chainId": 56,
|
||||||
|
@ -441,8 +244,7 @@
|
||||||
"name": "BLinkToken",
|
"name": "BLinkToken",
|
||||||
"symbol": "BLINK",
|
"symbol": "BLINK",
|
||||||
"decimals": 6,
|
"decimals": 6,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x63870A18B6e42b01Ef1Ad8A2302ef50B7132054F/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x63870A18B6e42b01Ef1Ad8A2302ef50B7132054F/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x67ee3Cb086F8a16f34beE3ca72FAD36F7Db929e2",
|
"asset": "c20000714_t0x67ee3Cb086F8a16f34beE3ca72FAD36F7Db929e2",
|
||||||
|
@ -451,8 +253,7 @@
|
||||||
"name": "DODO",
|
"name": "DODO",
|
||||||
"symbol": "DODO",
|
"symbol": "DODO",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x67ee3Cb086F8a16f34beE3ca72FAD36F7Db929e2/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x67ee3Cb086F8a16f34beE3ca72FAD36F7Db929e2/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x6c5FE6e99D2484db7E4BF34F365ABA42d0E4dC20",
|
"asset": "c20000714_t0x6c5FE6e99D2484db7E4BF34F365ABA42d0E4dC20",
|
||||||
|
@ -461,8 +262,7 @@
|
||||||
"name": "Absorber",
|
"name": "Absorber",
|
||||||
"symbol": "ABS",
|
"symbol": "ABS",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x6c5FE6e99D2484db7E4BF34F365ABA42d0E4dC20/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x6c5FE6e99D2484db7E4BF34F365ABA42d0E4dC20/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x7083609fCE4d1d8Dc0C979AAb8c869Ea2C873402",
|
"asset": "c20000714_t0x7083609fCE4d1d8Dc0C979AAb8c869Ea2C873402",
|
||||||
|
@ -471,8 +271,7 @@
|
||||||
"name": "Binance-Peg Polkadot Token",
|
"name": "Binance-Peg Polkadot Token",
|
||||||
"symbol": "DOT",
|
"symbol": "DOT",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x7083609fCE4d1d8Dc0C979AAb8c869Ea2C873402/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x7083609fCE4d1d8Dc0C979AAb8c869Ea2C873402/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"chainId": 56,
|
"chainId": 56,
|
||||||
|
@ -482,8 +281,7 @@
|
||||||
"name": "Binance-Peg BTCB Token",
|
"name": "Binance-Peg BTCB Token",
|
||||||
"symbol": "BTCB",
|
"symbol": "BTCB",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x728C5baC3C3e370E372Fc4671f9ef6916b814d8B",
|
"asset": "c20000714_t0x728C5baC3C3e370E372Fc4671f9ef6916b814d8B",
|
||||||
|
@ -492,8 +290,7 @@
|
||||||
"name": "UNFI",
|
"name": "UNFI",
|
||||||
"symbol": "UNFI",
|
"symbol": "UNFI",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x728C5baC3C3e370E372Fc4671f9ef6916b814d8B/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x728C5baC3C3e370E372Fc4671f9ef6916b814d8B/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x72fAa679E1008Ad8382959FF48E392042A8b06f7",
|
"asset": "c20000714_t0x72fAa679E1008Ad8382959FF48E392042A8b06f7",
|
||||||
|
@ -502,8 +299,7 @@
|
||||||
"name": "AllianceBlock Token",
|
"name": "AllianceBlock Token",
|
||||||
"symbol": "bALBT",
|
"symbol": "bALBT",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x72fAa679E1008Ad8382959FF48E392042A8b06f7/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x72fAa679E1008Ad8382959FF48E392042A8b06f7/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x78650B139471520656b9E7aA7A5e9276814a38e9",
|
"asset": "c20000714_t0x78650B139471520656b9E7aA7A5e9276814a38e9",
|
||||||
|
@ -512,8 +308,7 @@
|
||||||
"name": "StandardBTCHashrateToken",
|
"name": "StandardBTCHashrateToken",
|
||||||
"symbol": "BTCST",
|
"symbol": "BTCST",
|
||||||
"decimals": 17,
|
"decimals": 17,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x78650B139471520656b9E7aA7A5e9276814a38e9/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x78650B139471520656b9E7aA7A5e9276814a38e9/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x790Be81C3cA0e53974bE2688cDb954732C9862e1",
|
"asset": "c20000714_t0x790Be81C3cA0e53974bE2688cDb954732C9862e1",
|
||||||
|
@ -522,8 +317,7 @@
|
||||||
"name": "CafeSwap Token",
|
"name": "CafeSwap Token",
|
||||||
"symbol": "BREW",
|
"symbol": "BREW",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x790Be81C3cA0e53974bE2688cDb954732C9862e1/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x790Be81C3cA0e53974bE2688cDb954732C9862e1/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x7979F6C54ebA05E18Ded44C4F986F49a5De551c2",
|
"asset": "c20000714_t0x7979F6C54ebA05E18Ded44C4F986F49a5De551c2",
|
||||||
|
@ -532,8 +326,7 @@
|
||||||
"name": "Kebab Token",
|
"name": "Kebab Token",
|
||||||
"symbol": "KEBAB",
|
"symbol": "KEBAB",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x7979F6C54ebA05E18Ded44C4F986F49a5De551c2/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x7979F6C54ebA05E18Ded44C4F986F49a5De551c2/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x7F70642d88cf1C4a3a7abb072B53B929b653edA5",
|
"asset": "c20000714_t0x7F70642d88cf1C4a3a7abb072B53B929b653edA5",
|
||||||
|
@ -542,8 +335,7 @@
|
||||||
"name": "Binance-Peg YFII.finance Token",
|
"name": "Binance-Peg YFII.finance Token",
|
||||||
"symbol": "YFII",
|
"symbol": "YFII",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x7F70642d88cf1C4a3a7abb072B53B929b653edA5/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x7F70642d88cf1C4a3a7abb072B53B929b653edA5/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x81859801b01764D4f0Fa5E64729f5a6C3b91435b",
|
"asset": "c20000714_t0x81859801b01764D4f0Fa5E64729f5a6C3b91435b",
|
||||||
|
@ -552,8 +344,7 @@
|
||||||
"name": "bearn.fi",
|
"name": "bearn.fi",
|
||||||
"symbol": "BFI",
|
"symbol": "BFI",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x81859801b01764D4f0Fa5E64729f5a6C3b91435b/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x81859801b01764D4f0Fa5E64729f5a6C3b91435b/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x88f1A5ae2A3BF98AEAF342D26B30a79438c9142e",
|
"asset": "c20000714_t0x88f1A5ae2A3BF98AEAF342D26B30a79438c9142e",
|
||||||
|
@ -562,8 +353,7 @@
|
||||||
"name": "Binance-Peg yearn.finance",
|
"name": "Binance-Peg yearn.finance",
|
||||||
"symbol": "YFI",
|
"symbol": "YFI",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x88f1A5ae2A3BF98AEAF342D26B30a79438c9142e/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x88f1A5ae2A3BF98AEAF342D26B30a79438c9142e/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x8fF795a6F4D97E7887C79beA79aba5cc76444aDf",
|
"asset": "c20000714_t0x8fF795a6F4D97E7887C79beA79aba5cc76444aDf",
|
||||||
|
@ -572,8 +362,7 @@
|
||||||
"name": "Binance-Peg Bitcoin Cash Token",
|
"name": "Binance-Peg Bitcoin Cash Token",
|
||||||
"symbol": "BCH",
|
"symbol": "BCH",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x8fF795a6F4D97E7887C79beA79aba5cc76444aDf/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x8fF795a6F4D97E7887C79beA79aba5cc76444aDf/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x928e55daB735aa8260AF3cEDadA18B5f70C72f1b",
|
"asset": "c20000714_t0x928e55daB735aa8260AF3cEDadA18B5f70C72f1b",
|
||||||
|
@ -582,8 +371,7 @@
|
||||||
"name": "Frontier Token",
|
"name": "Frontier Token",
|
||||||
"symbol": "FRONT",
|
"symbol": "FRONT",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x928e55daB735aa8260AF3cEDadA18B5f70C72f1b/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x928e55daB735aa8260AF3cEDadA18B5f70C72f1b/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x948d2a81086A075b3130BAc19e4c6DEe1D2E3fE8",
|
"asset": "c20000714_t0x948d2a81086A075b3130BAc19e4c6DEe1D2E3fE8",
|
||||||
|
@ -592,8 +380,7 @@
|
||||||
"name": "Helmet.insure Governance Token",
|
"name": "Helmet.insure Governance Token",
|
||||||
"symbol": "Helmet",
|
"symbol": "Helmet",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x948d2a81086A075b3130BAc19e4c6DEe1D2E3fE8/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x948d2a81086A075b3130BAc19e4c6DEe1D2E3fE8/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x97a30C692eCe9C317235d48287d23d358170FC40",
|
"asset": "c20000714_t0x97a30C692eCe9C317235d48287d23d358170FC40",
|
||||||
|
@ -602,8 +389,7 @@
|
||||||
"name": "CryptEx Token",
|
"name": "CryptEx Token",
|
||||||
"symbol": "CRX",
|
"symbol": "CRX",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x97a30C692eCe9C317235d48287d23d358170FC40/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x97a30C692eCe9C317235d48287d23d358170FC40/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0xa184088a740c695E156F91f5cC086a06bb78b827",
|
"asset": "c20000714_t0xa184088a740c695E156F91f5cC086a06bb78b827",
|
||||||
|
@ -612,8 +398,7 @@
|
||||||
"name": "AUTOv2",
|
"name": "AUTOv2",
|
||||||
"symbol": "AUTO",
|
"symbol": "AUTO",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xa184088a740c695E156F91f5cC086a06bb78b827/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xa184088a740c695E156F91f5cC086a06bb78b827/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"chainId": 56,
|
"chainId": 56,
|
||||||
|
@ -623,8 +408,7 @@
|
||||||
"name": "Alpha Finance",
|
"name": "Alpha Finance",
|
||||||
"symbol": "ALPHA",
|
"symbol": "ALPHA",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xa1faa113cbE53436Df28FF0aEe54275c13B40975/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xa1faa113cbE53436Df28FF0aEe54275c13B40975/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"chainId": 56,
|
"chainId": 56,
|
||||||
|
@ -634,8 +418,7 @@
|
||||||
"name": "Injective Protocol",
|
"name": "Injective Protocol",
|
||||||
"symbol": "INJ",
|
"symbol": "INJ",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xa2B726B1145A4773F68593CF171187d8EBe4d495/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xa2B726B1145A4773F68593CF171187d8EBe4d495/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"chainId": 56,
|
"chainId": 56,
|
||||||
|
@ -645,8 +428,7 @@
|
||||||
"name": "CertiK Token",
|
"name": "CertiK Token",
|
||||||
"symbol": "CTK",
|
"symbol": "CTK",
|
||||||
"decimals": 6,
|
"decimals": 6,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xA8c2B8eec3d368C0253ad3dae65a5F2BBB89c929/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xA8c2B8eec3d368C0253ad3dae65a5F2BBB89c929/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0xAD6cAEb32CD2c308980a548bD0Bc5AA4306c6c18",
|
"asset": "c20000714_t0xAD6cAEb32CD2c308980a548bD0Bc5AA4306c6c18",
|
||||||
|
@ -655,8 +437,7 @@
|
||||||
"name": "Binance-Peg Band Protocol Token",
|
"name": "Binance-Peg Band Protocol Token",
|
||||||
"symbol": "BAND",
|
"symbol": "BAND",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xAD6cAEb32CD2c308980a548bD0Bc5AA4306c6c18/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xAD6cAEb32CD2c308980a548bD0Bc5AA4306c6c18/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0xb59490aB09A0f526Cc7305822aC65f2Ab12f9723",
|
"asset": "c20000714_t0xb59490aB09A0f526Cc7305822aC65f2Ab12f9723",
|
||||||
|
@ -665,8 +446,7 @@
|
||||||
"name": "Litentry",
|
"name": "Litentry",
|
||||||
"symbol": "LIT",
|
"symbol": "LIT",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xb59490aB09A0f526Cc7305822aC65f2Ab12f9723/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xb59490aB09A0f526Cc7305822aC65f2Ab12f9723/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"chainId": 56,
|
"chainId": 56,
|
||||||
|
@ -676,8 +456,7 @@
|
||||||
"name": "Binance-Peg Uniswap",
|
"name": "Binance-Peg Uniswap",
|
||||||
"symbol": "UNI",
|
"symbol": "UNI",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xBf5140A22578168FD562DCcF235E5D43A02ce9B1/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xBf5140A22578168FD562DCcF235E5D43A02ce9B1/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0xbF7c81FFF98BbE61B40Ed186e4AfD6DDd01337fe",
|
"asset": "c20000714_t0xbF7c81FFF98BbE61B40Ed186e4AfD6DDd01337fe",
|
||||||
|
@ -686,8 +465,7 @@
|
||||||
"name": "Binance-Peg Elrond",
|
"name": "Binance-Peg Elrond",
|
||||||
"symbol": "EGLD",
|
"symbol": "EGLD",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xbF7c81FFF98BbE61B40Ed186e4AfD6DDd01337fe/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xbF7c81FFF98BbE61B40Ed186e4AfD6DDd01337fe/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0xC7d8D35EBA58a0935ff2D5a33Df105DD9f071731",
|
"asset": "c20000714_t0xC7d8D35EBA58a0935ff2D5a33Df105DD9f071731",
|
||||||
|
@ -696,8 +474,7 @@
|
||||||
"name": "Hedget",
|
"name": "Hedget",
|
||||||
"symbol": "HGET",
|
"symbol": "HGET",
|
||||||
"decimals": 6,
|
"decimals": 6,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xC7d8D35EBA58a0935ff2D5a33Df105DD9f071731/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xC7d8D35EBA58a0935ff2D5a33Df105DD9f071731/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0xC7FB8c5eFE8564205eE5CbA4dE8eeA8a086a4bd2",
|
"asset": "c20000714_t0xC7FB8c5eFE8564205eE5CbA4dE8eeA8a086a4bd2",
|
||||||
|
@ -706,8 +483,7 @@
|
||||||
"name": "PocketRocket",
|
"name": "PocketRocket",
|
||||||
"symbol": "POCROC",
|
"symbol": "POCROC",
|
||||||
"decimals": 9,
|
"decimals": 9,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xC7FB8c5eFE8564205eE5CbA4dE8eeA8a086a4bd2/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xC7FB8c5eFE8564205eE5CbA4dE8eeA8a086a4bd2/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0xC9849E6fdB743d08fAeE3E34dd2D1bc69EA11a51",
|
"asset": "c20000714_t0xC9849E6fdB743d08fAeE3E34dd2D1bc69EA11a51",
|
||||||
|
@ -716,8 +492,7 @@
|
||||||
"name": "Bunny Token",
|
"name": "Bunny Token",
|
||||||
"symbol": "BUNNY",
|
"symbol": "BUNNY",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xC9849E6fdB743d08fAeE3E34dd2D1bc69EA11a51/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xC9849E6fdB743d08fAeE3E34dd2D1bc69EA11a51/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"chainId": 56,
|
"chainId": 56,
|
||||||
|
@ -727,8 +502,7 @@
|
||||||
"name": "beefy.finance",
|
"name": "beefy.finance",
|
||||||
"symbol": "BIFI",
|
"symbol": "BIFI",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xCa3F508B8e4Dd382eE878A314789373D80A5190A/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xCa3F508B8e4Dd382eE878A314789373D80A5190A/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0xcc2E12a9b5b75360c6FBf23B584c275D52cDdb0E",
|
"asset": "c20000714_t0xcc2E12a9b5b75360c6FBf23B584c275D52cDdb0E",
|
||||||
|
@ -737,8 +511,7 @@
|
||||||
"name": "Crow Token",
|
"name": "Crow Token",
|
||||||
"symbol": "CROW",
|
"symbol": "CROW",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xcc2E12a9b5b75360c6FBf23B584c275D52cDdb0E/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xcc2E12a9b5b75360c6FBf23B584c275D52cDdb0E/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"chainId": 56,
|
"chainId": 56,
|
||||||
|
@ -748,8 +521,7 @@
|
||||||
"name": "Venus",
|
"name": "Venus",
|
||||||
"symbol": "XVS",
|
"symbol": "XVS",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xcF6BB5389c92Bdda8a3747Ddb454cB7a64626C63/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xcF6BB5389c92Bdda8a3747Ddb454cB7a64626C63/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0xD41FDb03Ba84762dD66a0af1a6C8540FF1ba5dfb",
|
"asset": "c20000714_t0xD41FDb03Ba84762dD66a0af1a6C8540FF1ba5dfb",
|
||||||
|
@ -758,8 +530,7 @@
|
||||||
"name": "SafePal Token",
|
"name": "SafePal Token",
|
||||||
"symbol": "SFP",
|
"symbol": "SFP",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xD41FDb03Ba84762dD66a0af1a6C8540FF1ba5dfb/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xD41FDb03Ba84762dD66a0af1a6C8540FF1ba5dfb/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0xE40255C5d7fa7ceEc5120408C78C787CECB4cfdb",
|
"asset": "c20000714_t0xE40255C5d7fa7ceEc5120408C78C787CECB4cfdb",
|
||||||
|
@ -768,8 +539,7 @@
|
||||||
"name": "SWGb",
|
"name": "SWGb",
|
||||||
"symbol": "SWGb",
|
"symbol": "SWGb",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xE40255C5d7fa7ceEc5120408C78C787CECB4cfdb/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xE40255C5d7fa7ceEc5120408C78C787CECB4cfdb/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"chainId": 56,
|
"chainId": 56,
|
||||||
|
@ -779,8 +549,7 @@
|
||||||
"name": "Binance-Peg BUSD",
|
"name": "Binance-Peg BUSD",
|
||||||
"symbol": "BUSD",
|
"symbol": "BUSD",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0x9798dF2f5d213a872c787bD03b2b91F54D0D04A1",
|
"asset": "c20000714_t0x9798dF2f5d213a872c787bD03b2b91F54D0D04A1",
|
||||||
|
@ -789,8 +558,7 @@
|
||||||
"name": "TeraBlock Token",
|
"name": "TeraBlock Token",
|
||||||
"symbol": "TBC",
|
"symbol": "TBC",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x9798dF2f5d213a872c787bD03b2b91F54D0D04A1/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x9798dF2f5d213a872c787bD03b2b91F54D0D04A1/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0xF21768cCBC73Ea5B6fd3C687208a7c2def2d966e",
|
"asset": "c20000714_t0xF21768cCBC73Ea5B6fd3C687208a7c2def2d966e",
|
||||||
|
@ -799,8 +567,7 @@
|
||||||
"name": "Reef.finance",
|
"name": "Reef.finance",
|
||||||
"symbol": "REEF",
|
"symbol": "REEF",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xF21768cCBC73Ea5B6fd3C687208a7c2def2d966e/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xF21768cCBC73Ea5B6fd3C687208a7c2def2d966e/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"chainId": 56,
|
"chainId": 56,
|
||||||
|
@ -810,8 +577,7 @@
|
||||||
"name": "Hard Protocol",
|
"name": "Hard Protocol",
|
||||||
"symbol": "HARD",
|
"symbol": "HARD",
|
||||||
"decimals": 6,
|
"decimals": 6,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xf79037F6f6bE66832DE4E7516be52826BC3cBcc4/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xf79037F6f6bE66832DE4E7516be52826BC3cBcc4/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD",
|
"asset": "c20000714_t0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD",
|
||||||
|
@ -820,8 +586,7 @@
|
||||||
"name": "Binance-Peg ChainLink",
|
"name": "Binance-Peg ChainLink",
|
||||||
"symbol": "LINK",
|
"symbol": "LINK",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD/logo.png"
|
||||||
"pairs": []
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"asset": "c20000714_t0xF952Fc3ca7325Cc27D15885d37117676d25BfdA6",
|
"asset": "c20000714_t0xF952Fc3ca7325Cc27D15885d37117676d25BfdA6",
|
||||||
|
@ -830,8 +595,7 @@
|
||||||
"name": "Goose Golden Egg",
|
"name": "Goose Golden Egg",
|
||||||
"symbol": "EGG",
|
"symbol": "EGG",
|
||||||
"decimals": 18,
|
"decimals": 18,
|
||||||
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xF952Fc3ca7325Cc27D15885d37117676d25BfdA6/logo.png",
|
"logoURI": "https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xF952Fc3ca7325Cc27D15885d37117676d25BfdA6/logo.png"
|
||||||
"pairs": []
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"version": {
|
"version": {
|
||||||
|
|
4
go.mod
4
go.mod
|
@ -5,8 +5,8 @@ go 1.17
|
||||||
require (
|
require (
|
||||||
github.com/sirupsen/logrus v1.8.1
|
github.com/sirupsen/logrus v1.8.1
|
||||||
github.com/spf13/cobra v1.3.0
|
github.com/spf13/cobra v1.3.0
|
||||||
github.com/trustwallet/assets-go-libs v0.0.30
|
github.com/trustwallet/assets-go-libs v0.0.35
|
||||||
github.com/trustwallet/go-libs v0.2.24
|
github.com/trustwallet/go-libs v0.2.26
|
||||||
github.com/trustwallet/go-primitives v0.0.24
|
github.com/trustwallet/go-primitives v0.0.24
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
8
go.sum
8
go.sum
|
@ -340,10 +340,10 @@ github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5Cc
|
||||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
|
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
|
||||||
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
|
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
|
||||||
github.com/trustwallet/assets-go-libs v0.0.30 h1:KBxK9opl6PLg8fbnQ+NfOFO1ftdkytJGM3kUWPNOtOA=
|
github.com/trustwallet/assets-go-libs v0.0.35 h1:iOTjuFsXkmCAYhGxMu17zfL2pYUbsNac/zfwA+xGi24=
|
||||||
github.com/trustwallet/assets-go-libs v0.0.30/go.mod h1:UzDwJQPNQ9MXfBJAYarlTKIh+KuGHfx94d9iT4Sk8Nc=
|
github.com/trustwallet/assets-go-libs v0.0.35/go.mod h1:O0lGt8p+ffhEbNDMLSuuYBBAnNUI7nSQIcHRjWBxbgo=
|
||||||
github.com/trustwallet/go-libs v0.2.24 h1:wte7oifZMkcuHO4Mbv7fJsKcGPpczXCRrnNvnpiuHSs=
|
github.com/trustwallet/go-libs v0.2.26 h1:WpDc7X23EQwdrMRZ1JqXWXUk15+8pfej4pTt/3hBIJo=
|
||||||
github.com/trustwallet/go-libs v0.2.24/go.mod h1:7QdAp1lcteKKI0DYqGoaO8KO4eTNYjGmg8vHy0YXkKc=
|
github.com/trustwallet/go-libs v0.2.26/go.mod h1:7QdAp1lcteKKI0DYqGoaO8KO4eTNYjGmg8vHy0YXkKc=
|
||||||
github.com/trustwallet/go-primitives v0.0.24 h1:C1QGcX3dRL7gS2miJvSrRT732zRjob1Gd4D4dJvVwq8=
|
github.com/trustwallet/go-primitives v0.0.24 h1:C1QGcX3dRL7gS2miJvSrRT732zRjob1Gd4D4dJvVwq8=
|
||||||
github.com/trustwallet/go-primitives v0.0.24/go.mod h1:jLqd7rm+4EYG5JdpxhngM9HwbqfEXzKy/wK4vUB7STs=
|
github.com/trustwallet/go-primitives v0.0.24/go.mod h1:jLqd7rm+4EYG5JdpxhngM9HwbqfEXzKy/wK4vUB7STs=
|
||||||
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
|
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
|
||||||
|
|
|
@ -11,6 +11,7 @@ type (
|
||||||
App App `mapstructure:"app"`
|
App App `mapstructure:"app"`
|
||||||
ClientURLs ClientURLs `mapstructure:"client_urls"`
|
ClientURLs ClientURLs `mapstructure:"client_urls"`
|
||||||
URLs URLs `mapstructure:"urls"`
|
URLs URLs `mapstructure:"urls"`
|
||||||
|
TimeFormat string `mapstructure:"time_format"`
|
||||||
ValidatorsSettings ValidatorsSettings `mapstructure:"validators_settings"`
|
ValidatorsSettings ValidatorsSettings `mapstructure:"validators_settings"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,7 +28,8 @@ type (
|
||||||
}
|
}
|
||||||
|
|
||||||
URLs struct {
|
URLs struct {
|
||||||
TWAssetsApp string `mapstructure:"tw_assets_app"`
|
AssetsApp string `mapstructure:"assets_app"`
|
||||||
|
Logo string `mapstructure:"logo"`
|
||||||
}
|
}
|
||||||
|
|
||||||
ValidatorsSettings struct {
|
ValidatorsSettings struct {
|
||||||
|
|
|
@ -1,112 +1,137 @@
|
||||||
package manager
|
package manager
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
libFile "github.com/trustwallet/assets-go-libs/file"
|
||||||
|
"github.com/trustwallet/assets-go-libs/path"
|
||||||
|
"github.com/trustwallet/assets-go-libs/validation/info"
|
||||||
|
"github.com/trustwallet/assets-go-libs/validation/tokenlist"
|
||||||
|
"github.com/trustwallet/go-primitives/asset"
|
||||||
|
"github.com/trustwallet/go-primitives/coin"
|
||||||
|
"github.com/trustwallet/go-primitives/types"
|
||||||
|
|
||||||
"github.com/trustwallet/assets/internal/config"
|
"github.com/trustwallet/assets/internal/config"
|
||||||
"github.com/trustwallet/assets/internal/file"
|
|
||||||
"github.com/trustwallet/assets/internal/processor"
|
|
||||||
"github.com/trustwallet/assets/internal/report"
|
|
||||||
"github.com/trustwallet/assets/internal/service"
|
|
||||||
|
|
||||||
log "github.com/sirupsen/logrus"
|
|
||||||
"github.com/spf13/cobra"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var configPath, root string
|
func CreateAssetInfoJSONTemplate(token string) error {
|
||||||
|
c, tokenID, err := asset.ParseID(token)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to parse token id: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
func InitCommands() {
|
chain, ok := coin.Coins[c]
|
||||||
rootCmd.Flags().StringVar(&configPath, "config", ".github/assets.config.yaml",
|
if !ok {
|
||||||
"config file (default is $HOME/.github/assets.config.yaml)")
|
return fmt.Errorf("invalid token")
|
||||||
rootCmd.Flags().StringVar(&root, "root", ".", "root path to files")
|
}
|
||||||
|
|
||||||
rootCmd.AddCommand(checkCmd)
|
assetInfoPath := path.GetAssetInfoPath(chain.Handle, tokenID)
|
||||||
rootCmd.AddCommand(fixCmd)
|
|
||||||
rootCmd.AddCommand(updateAutoCmd)
|
var emptyStr string
|
||||||
rootCmd.AddCommand(addTokenCmd)
|
var emptyInt int
|
||||||
|
assetInfoModel := info.AssetModel{
|
||||||
|
Name: &emptyStr,
|
||||||
|
Type: &emptyStr,
|
||||||
|
Symbol: &emptyStr,
|
||||||
|
Decimals: &emptyInt,
|
||||||
|
Website: &emptyStr,
|
||||||
|
Explorer: &emptyStr,
|
||||||
|
Status: &emptyStr,
|
||||||
|
ID: &tokenID,
|
||||||
|
Links: []info.Link{
|
||||||
|
{
|
||||||
|
Name: &emptyStr,
|
||||||
|
URL: &emptyStr,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Tags: []string{""},
|
||||||
|
}
|
||||||
|
|
||||||
|
bytes, err := json.Marshal(&assetInfoModel)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to marshal json: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
f, err := libFile.CreateFileWithPath(assetInfoPath)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to create file: %v", err)
|
||||||
|
}
|
||||||
|
defer f.Close()
|
||||||
|
|
||||||
|
_, err = f.Write(bytes)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to write bytes to file")
|
||||||
|
}
|
||||||
|
|
||||||
|
err = libFile.FormatJSONFile(assetInfoPath)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to format json file")
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
func AddTokenToTokenListJSON(chain coin.Coin, assetId, tokenID string, tokenListType path.TokenListType) error {
|
||||||
rootCmd = &cobra.Command{
|
|
||||||
Use: "assets",
|
|
||||||
Short: "",
|
|
||||||
Long: "",
|
|
||||||
Run: func(cmd *cobra.Command, args []string) {},
|
|
||||||
}
|
|
||||||
checkCmd = &cobra.Command{
|
|
||||||
Use: "check",
|
|
||||||
Short: " Execute validation checks",
|
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
|
||||||
assetsService := InitAssetsService()
|
|
||||||
assetsService.RunJob(assetsService.Check)
|
|
||||||
},
|
|
||||||
}
|
|
||||||
fixCmd = &cobra.Command{
|
|
||||||
Use: "fix",
|
|
||||||
Short: "Perform automatic fixes where possible",
|
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
|
||||||
assetsService := InitAssetsService()
|
|
||||||
assetsService.RunJob(assetsService.Fix)
|
|
||||||
},
|
|
||||||
}
|
|
||||||
updateAutoCmd = &cobra.Command{
|
|
||||||
Use: "update-auto",
|
|
||||||
Short: "Run automatic updates from external sources",
|
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
|
||||||
assetsService := InitAssetsService()
|
|
||||||
assetsService.RunUpdateAuto()
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
addTokenCmd = &cobra.Command{
|
|
||||||
Use: "add-token",
|
|
||||||
Short: "Creates info.json template for the asset",
|
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
|
||||||
if len(args) != 1 {
|
|
||||||
log.Fatal("1 argument was expected")
|
|
||||||
}
|
|
||||||
|
|
||||||
err := CreateAssetInfoJSONTemplate(args[0])
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("Can't create asset info json template: %v", err)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
func InitAssetsService() *service.Service {
|
|
||||||
setup()
|
setup()
|
||||||
|
|
||||||
paths, err := file.ReadLocalFileStructure(root, config.Default.ValidatorsSettings.RootFolder.SkipFiles)
|
// check for duplicates.
|
||||||
if err != nil {
|
tokenListTypes := []path.TokenListType{path.TokenlistDefault, path.TokenlistExtended}
|
||||||
log.WithError(err).Fatal("Failed to load file structure.")
|
for _, t := range tokenListTypes {
|
||||||
|
tokenListPath := path.GetTokenListPath(chain.Handle, t)
|
||||||
|
var list tokenlist.Model
|
||||||
|
err := libFile.ReadJSONFile(tokenListPath, &list)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to read data from %s: %w", tokenListPath, err)
|
||||||
|
}
|
||||||
|
for _, item := range list.Tokens {
|
||||||
|
if item.Asset == assetId {
|
||||||
|
return fmt.Errorf("duplicate asset, already exist in %s", tokenListPath)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fileService := file.NewService(paths...)
|
var list tokenlist.Model
|
||||||
validatorsService := processor.NewService(fileService)
|
tokenListPath := path.GetTokenListPath(chain.Handle, tokenListType)
|
||||||
reportService := report.NewService()
|
err := libFile.ReadJSONFile(tokenListPath, &list)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to read data from %s: %w", tokenListPath, err)
|
||||||
|
}
|
||||||
|
|
||||||
return service.NewService(fileService, validatorsService, reportService, paths)
|
assetInfo, err := getAssetInfo(chain, tokenID)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to get token info: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
newToken := tokenlist.Token{
|
||||||
|
Asset: assetId,
|
||||||
|
Type: types.TokenType(*assetInfo.Type),
|
||||||
|
Address: *assetInfo.ID,
|
||||||
|
Name: *assetInfo.Name,
|
||||||
|
Symbol: *assetInfo.Symbol,
|
||||||
|
Decimals: uint(*assetInfo.Decimals),
|
||||||
|
LogoURI: path.GetAssetLogoURL(config.Default.URLs.AssetsApp, chain.Handle, tokenID),
|
||||||
|
}
|
||||||
|
list.Tokens = append(list.Tokens, newToken)
|
||||||
|
|
||||||
|
return libFile.CreateJSONFile(tokenListPath, &tokenlist.Model{
|
||||||
|
Name: fmt.Sprintf("Trust Wallet: %s", coin.Coins[chain.ID].Name),
|
||||||
|
LogoURI: config.Default.URLs.Logo,
|
||||||
|
Timestamp: time.Now().Format(config.Default.TimeFormat),
|
||||||
|
Tokens: list.Tokens,
|
||||||
|
Version: tokenlist.Version{Major: list.Version.Major + 1},
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func setup() {
|
func getAssetInfo(chain coin.Coin, tokenID string) (*info.AssetModel, error) {
|
||||||
if err := config.SetConfig(configPath); err != nil {
|
path := path.GetAssetInfoPath(chain.Handle, tokenID)
|
||||||
log.WithError(err).Fatal("Failed to set config.")
|
|
||||||
}
|
|
||||||
|
|
||||||
logLevel, err := log.ParseLevel(config.Default.App.LogLevel)
|
var assetModel info.AssetModel
|
||||||
|
err := libFile.ReadJSONFile(path, &assetModel)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.WithError(err).Fatal("Failed to parse log level.")
|
return nil, fmt.Errorf("failed to read data from info.json: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
log.SetLevel(logLevel)
|
return &assetModel, nil
|
||||||
}
|
|
||||||
|
|
||||||
// Execute adds all child commands to the root command and sets flags appropriately.
|
|
||||||
// This is called by main.main(). It only needs to happen once to the rootCmd.
|
|
||||||
func Execute() {
|
|
||||||
err := rootCmd.Execute()
|
|
||||||
if err != nil {
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,69 +0,0 @@
|
||||||
package manager
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
|
|
||||||
libFile "github.com/trustwallet/assets-go-libs/file"
|
|
||||||
"github.com/trustwallet/assets-go-libs/path"
|
|
||||||
"github.com/trustwallet/assets-go-libs/validation/info"
|
|
||||||
"github.com/trustwallet/go-primitives/asset"
|
|
||||||
"github.com/trustwallet/go-primitives/coin"
|
|
||||||
)
|
|
||||||
|
|
||||||
func CreateAssetInfoJSONTemplate(token string) error {
|
|
||||||
c, tokenID, err := asset.ParseID(token)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("failed to parse token id: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
chain, ok := coin.Coins[c]
|
|
||||||
if !ok {
|
|
||||||
return fmt.Errorf("invalid token")
|
|
||||||
}
|
|
||||||
|
|
||||||
assetInfoPath := path.GetAssetInfoPath(chain.Handle, tokenID)
|
|
||||||
|
|
||||||
var emptyStr string
|
|
||||||
var emptyInt int
|
|
||||||
assetInfoModel := info.AssetModel{
|
|
||||||
Name: &emptyStr,
|
|
||||||
Type: &emptyStr,
|
|
||||||
Symbol: &emptyStr,
|
|
||||||
Decimals: &emptyInt,
|
|
||||||
Website: &emptyStr,
|
|
||||||
Explorer: &emptyStr,
|
|
||||||
Status: &emptyStr,
|
|
||||||
ID: &tokenID,
|
|
||||||
Links: []info.Link{
|
|
||||||
{
|
|
||||||
Name: &emptyStr,
|
|
||||||
URL: &emptyStr,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Tags: []string{""},
|
|
||||||
}
|
|
||||||
|
|
||||||
bytes, err := json.Marshal(&assetInfoModel)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("failed to marshal json: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
f, err := libFile.CreateFileWithPath(assetInfoPath)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("failed to create file: %v", err)
|
|
||||||
}
|
|
||||||
defer f.Close()
|
|
||||||
|
|
||||||
_, err = f.Write(bytes)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("failed to write bytes to file")
|
|
||||||
}
|
|
||||||
|
|
||||||
err = libFile.FormatJSONFile(assetInfoPath)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("failed to format json file")
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
155
internal/manager/manager.go
Normal file
155
internal/manager/manager.go
Normal file
|
@ -0,0 +1,155 @@
|
||||||
|
package manager
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"github.com/trustwallet/assets-go-libs/path"
|
||||||
|
"github.com/trustwallet/go-primitives/asset"
|
||||||
|
"github.com/trustwallet/go-primitives/coin"
|
||||||
|
|
||||||
|
"github.com/trustwallet/assets/internal/config"
|
||||||
|
"github.com/trustwallet/assets/internal/file"
|
||||||
|
"github.com/trustwallet/assets/internal/processor"
|
||||||
|
"github.com/trustwallet/assets/internal/report"
|
||||||
|
"github.com/trustwallet/assets/internal/service"
|
||||||
|
|
||||||
|
log "github.com/sirupsen/logrus"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var configPath, root string
|
||||||
|
|
||||||
|
func InitCommands() {
|
||||||
|
rootCmd.Flags().StringVar(&configPath, "config", ".github/assets.config.yaml",
|
||||||
|
"config file (default is $HOME/.github/assets.config.yaml)")
|
||||||
|
rootCmd.Flags().StringVar(&root, "root", ".", "root path to files")
|
||||||
|
|
||||||
|
rootCmd.AddCommand(checkCmd)
|
||||||
|
rootCmd.AddCommand(fixCmd)
|
||||||
|
rootCmd.AddCommand(updateAutoCmd)
|
||||||
|
rootCmd.AddCommand(addTokenCmd)
|
||||||
|
rootCmd.AddCommand(addTokenlistCmd)
|
||||||
|
rootCmd.AddCommand(addTokenlistExtendedCmd)
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
rootCmd = &cobra.Command{
|
||||||
|
Use: "assets",
|
||||||
|
Short: "",
|
||||||
|
Long: "",
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {},
|
||||||
|
}
|
||||||
|
checkCmd = &cobra.Command{
|
||||||
|
Use: "check",
|
||||||
|
Short: " Execute validation checks",
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
assetsService := InitAssetsService()
|
||||||
|
assetsService.RunJob(assetsService.Check)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
fixCmd = &cobra.Command{
|
||||||
|
Use: "fix",
|
||||||
|
Short: "Perform automatic fixes where possible",
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
assetsService := InitAssetsService()
|
||||||
|
assetsService.RunJob(assetsService.Fix)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
updateAutoCmd = &cobra.Command{
|
||||||
|
Use: "update-auto",
|
||||||
|
Short: "Run automatic updates from external sources",
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
assetsService := InitAssetsService()
|
||||||
|
assetsService.RunUpdateAuto()
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
addTokenCmd = &cobra.Command{
|
||||||
|
Use: "add-token",
|
||||||
|
Short: "Creates info.json template for the asset",
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
if len(args) != 1 {
|
||||||
|
log.Fatal("1 argument was expected")
|
||||||
|
}
|
||||||
|
|
||||||
|
err := CreateAssetInfoJSONTemplate(args[0])
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("Can't create asset info json template: %v", err)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
addTokenlistCmd = &cobra.Command{
|
||||||
|
Use: "add-tokenlist",
|
||||||
|
Short: "Adds token to tokenlist.json",
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
handleAddTokenList(args, path.TokenlistDefault)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
addTokenlistExtendedCmd = &cobra.Command{
|
||||||
|
Use: "add-tokenlist-extended",
|
||||||
|
Short: "Adds token to tokenlist-extended.json",
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
handleAddTokenList(args, path.TokenlistExtended)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
func handleAddTokenList(args []string, tokenlistType path.TokenListType) {
|
||||||
|
if len(args) != 1 {
|
||||||
|
log.Fatal("1 argument was expected")
|
||||||
|
}
|
||||||
|
|
||||||
|
c, tokenID, err := asset.ParseID(args[0])
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("Can't parse token: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
chain, ok := coin.Coins[c]
|
||||||
|
if !ok {
|
||||||
|
log.Fatal("Invalid token")
|
||||||
|
}
|
||||||
|
|
||||||
|
err = AddTokenToTokenListJSON(chain, args[0], tokenID, tokenlistType)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("Can't add token: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func InitAssetsService() *service.Service {
|
||||||
|
setup()
|
||||||
|
|
||||||
|
paths, err := file.ReadLocalFileStructure(root, config.Default.ValidatorsSettings.RootFolder.SkipFiles)
|
||||||
|
if err != nil {
|
||||||
|
log.WithError(err).Fatal("Failed to load file structure.")
|
||||||
|
}
|
||||||
|
|
||||||
|
fileService := file.NewService(paths...)
|
||||||
|
validatorsService := processor.NewService(fileService)
|
||||||
|
reportService := report.NewService()
|
||||||
|
|
||||||
|
return service.NewService(fileService, validatorsService, reportService, paths)
|
||||||
|
}
|
||||||
|
|
||||||
|
func setup() {
|
||||||
|
if err := config.SetConfig(configPath); err != nil {
|
||||||
|
log.WithError(err).Fatal("Failed to set config.")
|
||||||
|
}
|
||||||
|
|
||||||
|
logLevel, err := log.ParseLevel(config.Default.App.LogLevel)
|
||||||
|
if err != nil {
|
||||||
|
log.WithError(err).Fatal("Failed to parse log level.")
|
||||||
|
}
|
||||||
|
|
||||||
|
log.SetLevel(logLevel)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Execute adds all child commands to the root command and sets flags appropriately.
|
||||||
|
// This is called by main.main(). It only needs to happen once to the rootCmd.
|
||||||
|
func Execute() {
|
||||||
|
err := rootCmd.Execute()
|
||||||
|
if err != nil {
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,9 +1,9 @@
|
||||||
package processor
|
package processor
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
assetsmanager "github.com/trustwallet/assets-go-libs/client/assets-manager"
|
||||||
"github.com/trustwallet/assets/internal/config"
|
"github.com/trustwallet/assets/internal/config"
|
||||||
"github.com/trustwallet/assets/internal/file"
|
"github.com/trustwallet/assets/internal/file"
|
||||||
assetsmanager "github.com/trustwallet/go-libs/client/api/assets-manager"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Service struct {
|
type Service struct {
|
||||||
|
|
|
@ -32,9 +32,6 @@ const (
|
||||||
marketPairsLimit = 1000
|
marketPairsLimit = 1000
|
||||||
tokensListLimit = 10000
|
tokensListLimit = 10000
|
||||||
|
|
||||||
twLogoURL = "https://trustwallet.com/assets/images/favicon.png"
|
|
||||||
timestampFormat = "2006-01-02T15:04:05.000000"
|
|
||||||
|
|
||||||
activeStatus = "active"
|
activeStatus = "active"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -139,7 +136,7 @@ func createInfoJSON(chain coin.Coin, a explorer.Bep2Asset) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func createTokenListJSON(chain coin.Coin, tokens []tokenlist.Token) error {
|
func createTokenListJSON(chain coin.Coin, tokens []tokenlist.Token) error {
|
||||||
tokenListPath := path.GetTokenListPath(chain.Handle)
|
tokenListPath := path.GetTokenListPath(chain.Handle, path.TokenlistDefault)
|
||||||
|
|
||||||
var oldTokenList tokenlist.Model
|
var oldTokenList tokenlist.Model
|
||||||
err := fileLib.ReadJSONFile(tokenListPath, &oldTokenList)
|
err := fileLib.ReadJSONFile(tokenListPath, &oldTokenList)
|
||||||
|
@ -160,8 +157,8 @@ func createTokenListJSON(chain coin.Coin, tokens []tokenlist.Token) error {
|
||||||
|
|
||||||
return fileLib.CreateJSONFile(tokenListPath, &tokenlist.Model{
|
return fileLib.CreateJSONFile(tokenListPath, &tokenlist.Model{
|
||||||
Name: fmt.Sprintf("Trust Wallet: %s", coin.Coins[chain.ID].Name),
|
Name: fmt.Sprintf("Trust Wallet: %s", coin.Coins[chain.ID].Name),
|
||||||
LogoURI: twLogoURL,
|
LogoURI: config.Default.URLs.Logo,
|
||||||
Timestamp: time.Now().Format(timestampFormat),
|
Timestamp: time.Now().Format(config.Default.TimeFormat),
|
||||||
Tokens: tokens,
|
Tokens: tokens,
|
||||||
Version: tokenlist.Version{Major: oldTokenList.Version.Major + 1},
|
Version: tokenlist.Version{Major: oldTokenList.Version.Major + 1},
|
||||||
})
|
})
|
||||||
|
@ -315,8 +312,8 @@ func getTokenType(symbol string, nativeCoinSymbol string, tokenType types.TokenT
|
||||||
|
|
||||||
func getLogoURI(id, githubChainFolder, nativeCoinSymbol string) string {
|
func getLogoURI(id, githubChainFolder, nativeCoinSymbol string) string {
|
||||||
if id == nativeCoinSymbol {
|
if id == nativeCoinSymbol {
|
||||||
return path.GetChainLogoURL(config.Default.URLs.TWAssetsApp, githubChainFolder)
|
return path.GetChainLogoURL(config.Default.URLs.AssetsApp, githubChainFolder)
|
||||||
}
|
}
|
||||||
|
|
||||||
return path.GetAssetLogoURL(config.Default.URLs.TWAssetsApp, githubChainFolder, id)
|
return path.GetAssetLogoURL(config.Default.URLs.AssetsApp, githubChainFolder, id)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user