diff --git a/CHANGELOG.md b/CHANGELOG.md index 77a86e20c..842ac344d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ ## Unreleased +- added: `EdgeCurrencyConfig.addCustomTokens` batch method. +- added: `EdgeToken.isUserCreated` field. +- changed: `customTokenTemplate` on `EdgeCurrencyInfo` — an empty array now indicates token support; a filled array indicates custom token support. +- removed: `EdgeCurrencyConfig.builtinTokens`. All tokens are now served through `allTokens` (backed by `customTokens`). +- removed: `EdgeCurrencyPlugin.getBuiltinTokens`. Built-in token data is now bundled in `builtinTokens.json` and migrated into `customTokens` on login. + ## 2.43.1 (2026-02-23) - changed: Upgrade `@nymproject/mix-fetch` to improve performance with new concurrency changes. diff --git a/package.json b/package.json index ce883d849..9a1143693 100644 --- a/package.json +++ b/package.json @@ -109,6 +109,7 @@ "@babel/preset-typescript": "^7.18.6", "@babel/runtime": "^7.0.0", "@rollup/plugin-babel": "^5.3.0", + "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^15.0.1", "@sucrase/webpack-loader": "^2.0.0", "@types/chai": "^4.2.16", diff --git a/rollup.config.js b/rollup.config.js index 252e23698..ba2225da9 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,4 +1,5 @@ import babel from '@rollup/plugin-babel' +import json from '@rollup/plugin-json' import resolve from '@rollup/plugin-node-resolve' import flowEntry from 'rollup-plugin-flow-entry' import mjs from 'rollup-plugin-mjs-entry' @@ -29,7 +30,8 @@ export default [ resolve(resolveOpts), babel(babelOpts), flowEntry({ types: './lib/flow/exports.js' }), - mjs() + mjs(), + json() ] }, { @@ -40,7 +42,8 @@ export default [ resolve(resolveOpts), babel(babelOpts), flowEntry({ types: './lib/flow/types.js' }), - mjs() + mjs(), + json() ] } ] diff --git a/src/core/account/account-cleaners.ts b/src/core/account/account-cleaners.ts index 4785f9ff5..6ff2f4bbe 100644 --- a/src/core/account/account-cleaners.ts +++ b/src/core/account/account-cleaners.ts @@ -26,7 +26,8 @@ const asEdgeToken = asObject({ currencyCode: asString, denominations: asArray(asEdgeDenomination), displayName: asString, - networkLocation: asOptional(asJsonObject) + networkLocation: asOptional(asJsonObject), + isUserCreated: asOptional(asBoolean, false) }) const asSwapSettings = asObject({ diff --git a/src/core/account/account-pixie.ts b/src/core/account/account-pixie.ts index 0359d8ee2..c6da5aedc 100644 --- a/src/core/account/account-pixie.ts +++ b/src/core/account/account-pixie.ts @@ -28,11 +28,7 @@ import { import { makeAccountApi } from './account-api' import { loadAllWalletStates, reloadPluginSettings } from './account-files' import { AccountState, initialCustomTokens } from './account-reducer' -import { - loadBuiltinTokens, - loadCustomTokens, - saveCustomTokens -} from './custom-tokens' +import { loadCustomTokens, saveCustomTokens } from './custom-tokens' export const EXPEDITED_SYNC_INTERVAL = 5000 @@ -91,7 +87,6 @@ const accountPixie: TamePixie = combinePixies({ try { // Wait for the currency plugins (should already be loaded by now): await waitForPlugins(ai) - await loadBuiltinTokens(ai, accountId) log.warn('Login: currency plugins exist') // Start the repo: diff --git a/src/core/account/account-reducer.ts b/src/core/account/account-reducer.ts index 86f37d714..9eb30eec5 100644 --- a/src/core/account/account-reducer.ts +++ b/src/core/account/account-reducer.ts @@ -59,7 +59,6 @@ export interface AccountState { // Plugin stuff: readonly allTokens: EdgePluginMap - readonly builtinTokens: EdgePluginMap readonly customTokens: EdgePluginMap readonly alwaysEnabledTokenIds: EdgePluginMap readonly swapSettings: EdgePluginMap @@ -275,41 +274,7 @@ const accountInner = buildReducer({ ), allTokens(state = {}, action, next, prev): EdgePluginMap { - const { builtinTokens, customTokens } = next.self - - // Roll our own `memoizeReducer` implementation, - // so we can minimize our diff as much as possible: - if ( - prev.self == null || - builtinTokens !== prev.self.builtinTokens || - customTokens !== prev.self.customTokens - ) { - const out = { ...state } - for (const pluginId of Object.keys(next.root.plugins.currency)) { - if ( - prev.self == null || - builtinTokens[pluginId] !== prev.self.builtinTokens[pluginId] || - customTokens[pluginId] !== prev.self.customTokens[pluginId] - ) { - out[pluginId] = { - ...customTokens[pluginId], - ...builtinTokens[pluginId] - } - } - } - return out - } - return state - }, - - builtinTokens(state = {}, action): EdgePluginMap { - switch (action.type) { - case 'ACCOUNT_BUILTIN_TOKENS_LOADED': { - const { pluginId, tokens } = action.payload - return { ...state, [pluginId]: tokens } - } - } - return state + return next.self.customTokens }, customTokens( @@ -331,6 +296,21 @@ const accountInner = buildReducer({ const newList = { ...oldList, [tokenId]: token } return { ...state, [pluginId]: newList } } + case 'ACCOUNT_CUSTOM_TOKENS_ADDED': { + const { pluginId, tokens } = action.payload + const oldList = state[pluginId] ?? {} + + let changed = false + const merged = { ...oldList } + for (const [tokenId, token] of Object.entries(tokens)) { + if (!compare(merged[tokenId], token)) { + merged[tokenId] = token + changed = true + } + } + if (!changed) return state + return { ...state, [pluginId]: merged } + } case 'ACCOUNT_CUSTOM_TOKEN_REMOVED': { const { pluginId, tokenId } = action.payload const oldList = state[pluginId] ?? {} diff --git a/src/core/account/builtinTokens.json b/src/core/account/builtinTokens.json new file mode 100644 index 000000000..bf122566a --- /dev/null +++ b/src/core/account/builtinTokens.json @@ -0,0 +1,9685 @@ +{ + "algorand": { + "31566704": { + "currencyCode": "USDC", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC" + } + ], + "displayName": "USD Coin", + "networkLocation": { + "contractAddress": "31566704" + } + } + }, + "algorandtestnet": { + "10458941": { + "currencyCode": "USDC", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC" + } + ], + "displayName": "USD Coin", + "networkLocation": { + "contractAddress": "10458941" + } + } + }, + "arbitrum": { + "02a6c1789c3b4fdb1a7a3dfa39f90e5d3c94f4f9": { + "currencyCode": "PMx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PMx" + } + ], + "displayName": "Philip Morris xStock", + "networkLocation": { + "contractAddress": "0x02a6c1789c3b4fdb1a7a3dfa39f90e5d3c94f4f9" + } + }, + "03183ce31b1656b72a55fa6056e287f50c35bbeb": { + "currencyCode": "ACNx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ACNx" + } + ], + "displayName": "Accenture xStock", + "networkLocation": { + "contractAddress": "0x03183Ce31b1656B72A55fa6056e287f50C35BbEB" + } + }, + "053c784cd87b74f42e0c089f98643e79c1a3ff16": { + "currencyCode": "CSCOx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CSCOx" + } + ], + "displayName": "Cisco xStock", + "networkLocation": { + "contractAddress": "0x053C784cD87B74f42e0c089f98643E79c1A3ff16" + } + }, + "0588e851ec0418d660bee81230d6c678daf21d46": { + "currencyCode": "MDTx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MDTx" + } + ], + "displayName": "Medtronic xStock", + "networkLocation": { + "contractAddress": "0x0588e851ec0418d660bee81230d6c678daf21d46" + } + }, + "09199d9a5f4448d0848e4395d065e1ad9c4a1f74": { + "currencyCode": "BONK", + "denominations": [ + { + "multiplier": "100000", + "name": "BONK" + } + ], + "displayName": "Bonk", + "networkLocation": { + "contractAddress": "0x09199d9a5f4448d0848e4395d065e1ad9c4a1f74" + } + }, + "0c880f6761f1af8d9aa9c466984b80dab9a8c9e8": { + "currencyCode": "PENDLE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PENDLE" + } + ], + "displayName": "Pendle", + "networkLocation": { + "contractAddress": "0x0c880f6761f1af8d9aa9c466984b80dab9a8c9e8" + } + }, + "12992613fdd35abe95dec5a4964331b1ee23b50d": { + "currencyCode": "BRK.Bx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BRK.Bx" + } + ], + "displayName": "Berkshire Hathaway xStock", + "networkLocation": { + "contractAddress": "0x12992613fDd35aBe95DEc5a4964331b1ee23B50d" + } + }, + "15059c599c16fd8f70b633ade165502d6402cd49": { + "currencyCode": "LINx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LINx" + } + ], + "displayName": "Linde xStock", + "networkLocation": { + "contractAddress": "0x15059c599c16fd8f70b633ade165502d6402cd49" + } + }, + "167a6375da1efc4a5be0f470e73ecefd66245048": { + "currencyCode": "UNHx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "UNHx" + } + ], + "displayName": "UnitedHealth xStock", + "networkLocation": { + "contractAddress": "0x167a6375da1efc4a5be0f470e73ecefd66245048" + } + }, + "17d8186ed8f68059124190d147174d0f6697dc40": { + "currencyCode": "MRKx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MRKx" + } + ], + "displayName": "Merck xStock", + "networkLocation": { + "contractAddress": "0x17d8186ed8f68059124190d147174d0f6697dc40" + } + }, + "19c41ea77b34bbdee61c3a87a75d1abda2ed0be4": { + "currencyCode": "LLYx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LLYx" + } + ], + "displayName": "Eli Lilly xStock", + "networkLocation": { + "contractAddress": "0x19c41EA77b34BbDEe61c3A87A75D1ABDA2ED0be4" + } + }, + "1ac765b5bea23184802c7d2d497f7c33f1444a9e": { + "currencyCode": "PFEx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PFEx" + } + ], + "displayName": "Pfizer xStock", + "networkLocation": { + "contractAddress": "0x1ac765b5bea23184802c7d2d497f7c33f1444a9e" + } + }, + "1b896893dfc86bb67cf57767298b9073d2c1ba2c": { + "currencyCode": "CAKE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CAKE" + } + ], + "displayName": "PancakeSwap", + "networkLocation": { + "contractAddress": "0x1b896893dfc86bb67cf57767298b9073d2c1ba2c" + } + }, + "214151022c2a5e380ab80cdac31f23ae554a7345": { + "currencyCode": "CRWDx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CRWDx" + } + ], + "displayName": "CrowdStrike xStock", + "networkLocation": { + "contractAddress": "0x214151022C2a5E380aB80CdaC31f23Ae554a7345" + } + }, + "2363fd1235c1b6d3a5088ddf8df3a0b3a30c5293": { + "currencyCode": "Vx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "Vx" + } + ], + "displayName": "Visa xStock", + "networkLocation": { + "contractAddress": "0x2363fd1235c1b6d3a5088ddf8df3a0b3a30c5293" + } + }, + "2380f2673c640fb67e2d6b55b44c62f0e0e69da9": { + "currencyCode": "GLDx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "GLDx" + } + ], + "displayName": "Gold xStock", + "networkLocation": { + "contractAddress": "0x2380F2673C640fB67E2d6B55B44C62F0E0e69DA9" + } + }, + "2416092f143378750bb29b79ed961ab195cceea5": { + "currencyCode": "ezETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ezETH" + } + ], + "displayName": "Renzo Restaked ETH", + "networkLocation": { + "contractAddress": "0x2416092f143378750bb29b79eD961ab195CcEea5" + } + }, + "2f2a2543b76a4166549f7aab2e75bef0aefc5b0f": { + "currencyCode": "WBTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "WBTC" + } + ], + "displayName": "Wrapped BTC", + "networkLocation": { + "contractAddress": "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f" + } + }, + "2f9a35ab5ddfbc49927bfdeab98a86c53dc6e763": { + "currencyCode": "AMBRx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AMBRx" + } + ], + "displayName": "Amber xStock", + "networkLocation": { + "contractAddress": "0x2f9a35ab5ddfbc49927bfdeab98a86c53dc6e763" + } + }, + "314938c596f5ce31c3f75307d2979338c346d7f2": { + "currencyCode": "BACx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BACx" + } + ], + "displayName": "Bank of America xStock", + "networkLocation": { + "contractAddress": "0x314938c596F5ce31C3f75307d2979338C346D7F2" + } + }, + "3557ba345b01efa20a1bddc61f573bfd87195081": { + "currencyCode": "AMZNx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AMZNx" + } + ], + "displayName": "Amazon xStock", + "networkLocation": { + "contractAddress": "0x3557ba345b01efa20a1bddc61f573bfd87195081" + } + }, + "364f210f430ec2448fc68a49203040f6124096f0": { + "currencyCode": "COINx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "COINx" + } + ], + "displayName": "Coinbase xStock", + "networkLocation": { + "contractAddress": "0x364f210f430ec2448fc68a49203040f6124096f0" + } + }, + "36c424a6ec0e264b1616102ad63ed2ad7857413e": { + "currencyCode": "PEPx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PEPx" + } + ], + "displayName": "PepsiCo xStock", + "networkLocation": { + "contractAddress": "0x36c424a6ec0e264b1616102ad63ed2ad7857413e" + } + }, + "38bac69cbbd28156796e4163b2b6dcb81e336565": { + "currencyCode": "AVGOx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AVGOx" + } + ], + "displayName": "Broadcom xStock", + "networkLocation": { + "contractAddress": "0x38BAC69cbBd28156796e4163B2B6dcb81E336565" + } + }, + "3ee7e9b3a992fd23cd1c363b0e296856b04ab149": { + "currencyCode": "GSx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "GSx" + } + ], + "displayName": "Goldman Sachs xStock", + "networkLocation": { + "contractAddress": "0x3Ee7E9B3A992fD23CD1C363B0e296856B04ab149" + } + }, + "46777c76dbbe40fabb2aab99e33ce20058e76c59": { + "currencyCode": "L3", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "L3" + } + ], + "displayName": "Layer3", + "networkLocation": { + "contractAddress": "0x46777c76dbbe40fabb2aab99e33ce20058e76c59" + } + }, + "46850ad61c2b7d64d08c9c754f45254596696984": { + "currencyCode": "PYUSD", + "denominations": [ + { + "multiplier": "1000000", + "name": "PYUSD" + } + ], + "displayName": "PayPal USD", + "networkLocation": { + "contractAddress": "0x46850ad61c2b7d64d08c9c754f45254596696984" + } + }, + "4a4073f2eaf299a1be22254dcd2c41727f6f54a2": { + "currencyCode": "CRMx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CRMx" + } + ], + "displayName": "Salesforce xStock", + "networkLocation": { + "contractAddress": "0x4a4073f2eaf299a1be22254dcd2c41727f6f54a2" + } + }, + "4d15a3a2286d883af0aa1b3f21367843fac63e07": { + "currencyCode": "TUSD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "TUSD" + } + ], + "displayName": "TrueUSD", + "networkLocation": { + "contractAddress": "0x4D15a3A2286D883AF0AA1B3f21367843FAc63E07" + } + }, + "50a1291f69d9d3853def8209cfb1af0b46927be1": { + "currencyCode": "APPx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "APPx" + } + ], + "displayName": "AppLovin xStock", + "networkLocation": { + "contractAddress": "0x50a1291F69D9d3853Def8209cFb1AF0b46927BE1" + } + }, + "521860bb5df5468358875266b89bfe90d990c6e7": { + "currencyCode": "DFDVx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DFDVx" + } + ], + "displayName": "DFDV xStock", + "networkLocation": { + "contractAddress": "0x521860bb5df5468358875266b89bfe90d990c6e7" + } + }, + "539bde0d7dbd336b79148aa742883198bbf60342": { + "currencyCode": "MAGIC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MAGIC" + } + ], + "displayName": "Treasure", + "networkLocation": { + "contractAddress": "0x539bdE0d7Dbd336b79148AA742883198BBF60342" + } + }, + "548308e91ec9f285c7bff05295badbd56a6e4971": { + "currencyCode": "ORCLx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ORCLx" + } + ], + "displayName": "Oracle xStock", + "networkLocation": { + "contractAddress": "0x548308e91ec9f285c7bff05295badbd56a6e4971" + } + }, + "5621737f42dae558b81269fcb9e9e70c19aa6b35": { + "currencyCode": "MSFTx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MSFTx" + } + ], + "displayName": "Microsoft xStock", + "networkLocation": { + "contractAddress": "0x5621737f42dae558b81269fcb9e9e70c19aa6b35" + } + }, + "5979d7b546e38e414f7e9822514be443a4800529": { + "currencyCode": "WSTETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WSTETH" + } + ], + "displayName": "Lido Wrapped Staked Ethereum", + "networkLocation": { + "contractAddress": "0x5979D7b546E38E414F7E9822514be443A4800529" + } + }, + "5d642505fe1a28897eb3baba665f454755d8daa2": { + "currencyCode": "AZNx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AZNx" + } + ], + "displayName": "AstraZeneca xStock", + "networkLocation": { + "contractAddress": "0x5D642505FE1a28897eb3BaBA665F454755D8daA2" + } + }, + "62a48560861b0b451654bfffdb5be6e47aa8ff1b": { + "currencyCode": "HONx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "HONx" + } + ], + "displayName": "Honeywell xStock", + "networkLocation": { + "contractAddress": "0x62a48560861b0b451654bfffdb5be6e47aa8ff1b" + } + }, + "6d482cec5f9dd1f05ccee9fd3ff79b246170f8e2": { + "currencyCode": "PLTRx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PLTRx" + } + ], + "displayName": "Palantir xStock", + "networkLocation": { + "contractAddress": "0x6d482cec5f9dd1f05ccee9fd3ff79b246170f8e2" + } + }, + "766b0cd6ed6d90b5d49d2c36a3761e9728501ba9": { + "currencyCode": "HDx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "HDx" + } + ], + "displayName": "Home Depot xStock", + "networkLocation": { + "contractAddress": "0x766b0CD6ED6D90B5d49d2c36a3761E9728501BA9" + } + }, + "7aefc9965699fbea943e03264d96e50cd4a97b21": { + "currencyCode": "WMTx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WMTx" + } + ], + "displayName": "Walmart xStock", + "networkLocation": { + "contractAddress": "0x7aefc9965699fbea943e03264d96e50cd4a97b21" + } + }, + "80a77a372c1e12accda84299492f404902e2da67": { + "currencyCode": "MCDx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MCDx" + } + ], + "displayName": "McDonald's xStock", + "networkLocation": { + "contractAddress": "0x80a77a372c1e12accda84299492f404902e2da67" + } + }, + "82af49447d8a07e3bd95bd0d56f35241523fbab1": { + "currencyCode": "WETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WETH" + } + ], + "displayName": "Wrapped Ether", + "networkLocation": { + "contractAddress": "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1" + } + }, + "89233399708c18ac6887f90a2b4cd8ba5fedd06e": { + "currencyCode": "ABTx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ABTx" + } + ], + "displayName": "Abbott xStock", + "networkLocation": { + "contractAddress": "0x89233399708C18Ac6887F90A2B4Cd8Ba5fEdD06e" + } + }, + "8ad3c73f833d3f9a523ab01476625f269aeb7cf0": { + "currencyCode": "TSLAx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "TSLAx" + } + ], + "displayName": "Tesla xStock", + "networkLocation": { + "contractAddress": "0x8ad3c73f833d3f9a523ab01476625f269aeb7cf0" + } + }, + "90a2a4c76b5d8c0bc892a69ea28aa775a8f2dd48": { + "currencyCode": "SPYx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SPYx" + } + ], + "displayName": "SP500 xStock", + "networkLocation": { + "contractAddress": "0x90a2a4c76b5d8c0bc892a69ea28aa775a8f2dd48" + } + }, + "912ce59144191c1204e64559fe8253a0e49e6548": { + "currencyCode": "ARB", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ARB" + } + ], + "displayName": "Arbitrum", + "networkLocation": { + "contractAddress": "0x912CE59144191C1204E64559FE8253a0e49E6548" + } + }, + "96702be57cd9777f835117a809c7124fe4ec989a": { + "currencyCode": "METAx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "METAx" + } + ], + "displayName": "Meta xStock", + "networkLocation": { + "contractAddress": "0x96702be57cd9777f835117a809c7124fe4ec989a" + } + }, + "9d275685dc284c8eb1c79f6aba7a63dc75ec890a": { + "currencyCode": "AAPLx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AAPLx" + } + ], + "displayName": "Apple xStock", + "networkLocation": { + "contractAddress": "0x9d275685dc284c8eb1c79f6aba7a63dc75ec890a" + } + }, + "a6a65ac27e76cd53cb790473e4345c46e5ebf961": { + "currencyCode": "NFLXx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "NFLXx" + } + ], + "displayName": "Netflix xStock", + "networkLocation": { + "contractAddress": "0xa6a65ac27e76cd53cb790473e4345c46e5ebf961" + } + }, + "a753a7395cae905cd615da0b82a53e0560f250af": { + "currencyCode": "QQQx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "QQQx" + } + ], + "displayName": "Nasdaq xStock", + "networkLocation": { + "contractAddress": "0xa753a7395cae905cd615da0b82a53e0560f250af" + } + }, + "a90424d5d3e770e8644103ab503ed775dd1318fd": { + "currencyCode": "PGx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PGx" + } + ], + "displayName": "Procter & Gamble xStock", + "networkLocation": { + "contractAddress": "0xa90424d5d3e770e8644103ab503ed775dd1318fd" + } + }, + "ad5cdc3340904285b8159089974a99a1a09eb4c0": { + "currencyCode": "CVXx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CVXx" + } + ], + "displayName": "Chevron xStock", + "networkLocation": { + "contractAddress": "0xad5cdc3340904285B8159089974A99a1A09EB4C0" + } + }, + "ae2f842ef90c0d5213259ab82639d5bbf649b08e": { + "currencyCode": "MSTRx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MSTRx" + } + ], + "displayName": "MicroStrategy xStock", + "networkLocation": { + "contractAddress": "0xae2f842ef90c0d5213259ab82639d5bbf649b08e" + } + }, + "af072f109a2c173d822a4fe9af311a1b18f83d19": { + "currencyCode": "TMOx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "TMOx" + } + ], + "displayName": "Thermo Fisher xStock", + "networkLocation": { + "contractAddress": "0xAF072F109A2C173D822a4fe9af311A1B18F83d19" + } + }, + "af88d065e77c8cc2239327c5edb3a432268e5831": { + "currencyCode": "USDC", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC" + } + ], + "displayName": "USD Coin", + "networkLocation": { + "contractAddress": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" + } + }, + "b365cd2588065f522d379ad19e903304f6b622c6": { + "currencyCode": "MAx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MAx" + } + ], + "displayName": "Mastercard xStock", + "networkLocation": { + "contractAddress": "0xb365Cd2588065F522D379AD19e903304f6B622C6" + } + }, + "bc7170a1280be28513b4e940c681537eb25e39f4": { + "currencyCode": "CMCSAx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CMCSAx" + } + ], + "displayName": "Comcast xStock", + "networkLocation": { + "contractAddress": "0xBC7170a1280Be28513B4e940C681537EB25e39f4" + } + }, + "bd730e618bcd88c82ddee52e10275cf2f88a4777": { + "currencyCode": "VTIx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "VTIx" + } + ], + "displayName": "Vanguard xStock", + "networkLocation": { + "contractAddress": "0xbd730e618bcd88c82ddee52e10275cf2f88a4777" + } + }, + "c845b2894dbddd03858fd2d643b4ef725fe0849d": { + "currencyCode": "NVDAx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "NVDAx" + } + ], + "displayName": "NVIDIA xStock", + "networkLocation": { + "contractAddress": "0xc845b2894dbddd03858fd2d643b4ef725fe0849d" + } + }, + "ca5ca9083702c56b481d1eec86f1776fdbd2e594": { + "currencyCode": "RSR", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "RSR" + } + ], + "displayName": "Reserve Rights", + "networkLocation": { + "contractAddress": "0xca5ca9083702c56b481d1eec86f1776fdbd2e594" + } + }, + "cbb7c0000ab88b473b1f5afd9ef808440eed33bf": { + "currencyCode": "cbBTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "cbBTC" + } + ], + "displayName": "Coinbase Wrapped Bitcoin", + "networkLocation": { + "contractAddress": "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf" + } + }, + "d9913208647671fe0f48f7f260076b2c6f310aac": { + "currencyCode": "IBMx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "IBMx" + } + ], + "displayName": "International Business Machines xStock", + "networkLocation": { + "contractAddress": "0xd9913208647671fe0f48f7f260076b2c6f310aac" + } + }, + "d9fc3e075d45254a1d834fea18af8041207dea0a": { + "currencyCode": "JPMx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "JPMx" + } + ], + "displayName": "JPMorgan Chase xStock", + "networkLocation": { + "contractAddress": "0xd9fc3e075d45254a1d834fea18af8041207dea0a" + } + }, + "da10009cbd5d07dd0cecc66161fc93d7c9000da1": { + "currencyCode": "DAI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DAI" + } + ], + "displayName": "Dai Stablecoin", + "networkLocation": { + "contractAddress": "0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1" + } + }, + "db0482cfad4789798623e64b15eeba01b16e917c": { + "currencyCode": "JNJx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "JNJx" + } + ], + "displayName": "Johnson & Johnson xStock", + "networkLocation": { + "contractAddress": "0xdb0482cfaD4789798623E64b15eebA01b16e917C" + } + }, + "dba228936f4079daf9aa906fd48a87f2300405f4": { + "currencyCode": "DHRx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DHRx" + } + ], + "displayName": "Danaher xStock", + "networkLocation": { + "contractAddress": "0xdba228936f4079daf9aa906fd48a87f2300405f4" + } + }, + "dcc1a2699441079da889b1f49e12b69cc791129b": { + "currencyCode": "KOx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "KOx" + } + ], + "displayName": "Coca-Cola xStock", + "networkLocation": { + "contractAddress": "0xdCC1a2699441079dA889B1F49e12B69cC791129b" + } + }, + "ddb46999f8891663a8f2828d25298f70416d7610": { + "currencyCode": "sUSDS", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "sUSDS" + } + ], + "displayName": "sUSDS", + "networkLocation": { + "contractAddress": "0xddb46999f8891663a8f2828d25298f70416d7610" + } + }, + "e1385fdd5ffb10081cd52c56584f25efa9084015": { + "currencyCode": "HOODx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "HOODx" + } + ], + "displayName": "Robinhood xStock", + "networkLocation": { + "contractAddress": "0xE1385FDd5ffB10081Cd52C56584F25EFa9084015" + } + }, + "e5f6d3b2405abdfe6f660e63202b25d23763160d": { + "currencyCode": "GMEx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "GMEx" + } + ], + "displayName": "Gamestop xStock", + "networkLocation": { + "contractAddress": "0xE5f6d3b2405ABdfE6F660e63202B25D23763160d" + } + }, + "e92f673ca36c5e2efd2de7628f815f84807e803f": { + "currencyCode": "GOOGLx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "GOOGLx" + } + ], + "displayName": "Alphabet xStock", + "networkLocation": { + "contractAddress": "0xe92f673Ca36C5E2Efd2DE7628f815f84807e803F" + } + }, + "eaad46f4146ded5a47b55aa7f6c48c191deaec88": { + "currencyCode": "MRVLx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MRVLx" + } + ], + "displayName": "Marvell xStock", + "networkLocation": { + "contractAddress": "0xeaad46f4146ded5a47b55aa7f6c48c191deaec88" + } + }, + "eedb0273c5af792745180e9ff568cd01550ffa13": { + "currencyCode": "XOMx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "XOMx" + } + ], + "displayName": "Exxon Mobil xStock", + "networkLocation": { + "contractAddress": "0xeedb0273c5af792745180e9ff568cd01550ffa13" + } + }, + "f8a80d1cb9cfd70d03d655d9df42339846f3b3c8": { + "currencyCode": "INTCx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "INTCx" + } + ], + "displayName": "Intel xStock", + "networkLocation": { + "contractAddress": "0xf8a80d1cb9cfd70d03d655d9df42339846f3b3c8" + } + }, + "f9523e369c5f55ad72dbaa75b0a9b92b3d8b147e": { + "currencyCode": "NVOx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "NVOx" + } + ], + "displayName": "Novo Nordisk xStock", + "networkLocation": { + "contractAddress": "0xf9523e369c5f55ad72dbaa75b0a9b92b3d8b147e" + } + }, + "f97f4df75117a78c1a5a0dbb814af92458539fb4": { + "currencyCode": "LINK", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LINK" + } + ], + "displayName": "Chainlink", + "networkLocation": { + "contractAddress": "0xf97f4df75117a78c1A5a0DBb814Af92458539FB4" + } + }, + "fa7f8980b0f1e64a2062791cc3b0871572f1f7f0": { + "currencyCode": "UNI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "UNI" + } + ], + "displayName": "Uniswap", + "networkLocation": { + "contractAddress": "0xFa7F8980b0f1E64A2062791cc3b0871572f1F7f0" + } + }, + "fbf2398df672cee4afcc2a4a733222331c742a6a": { + "currencyCode": "ABBVx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ABBVx" + } + ], + "displayName": "AbbVie xStock", + "networkLocation": { + "contractAddress": "0xfbf2398df672cee4afcc2a4a733222331c742a6a" + } + }, + "fc5a1a6eb076a2c7ad06ed22c90d7e710e35ad0a": { + "currencyCode": "GMX", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "GMX" + } + ], + "displayName": "GMX", + "networkLocation": { + "contractAddress": "0xfc5A1A6EB076a2C7aD06eD22C90d7E710E35ad0a" + } + }, + "fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9": { + "currencyCode": "USDT", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDT" + } + ], + "displayName": "Tether", + "networkLocation": { + "contractAddress": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9" + } + }, + "fdddb57878ef9d6f681ec4381dcb626b9e69ac86": { + "currencyCode": "TQQQx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "TQQQx" + } + ], + "displayName": "TQQQ xStock", + "networkLocation": { + "contractAddress": "0xfdddb57878ef9d6f681ec4381dcb626b9e69ac86" + } + }, + "febded1b0986a8ee107f5ab1a1c5a813491deceb": { + "currencyCode": "CRCLx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CRCLx" + } + ], + "displayName": "Circle xStock", + "networkLocation": { + "contractAddress": "0xfebded1b0986a8ee107f5ab1a1c5a813491deceb" + } + }, + "ff970a61a04b1ca14834a43f5de4533ebddb5cc8": { + "currencyCode": "USDC.e", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC.e" + } + ], + "displayName": "USD Coin", + "networkLocation": { + "contractAddress": "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8" + } + } + }, + "avalanche": { + "19860ccb0a68fd4213ab9d8266f7bbf05a8dde98": { + "currencyCode": "BUSD.e", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BUSD.e" + } + ], + "displayName": "Binance USD", + "networkLocation": { + "contractAddress": "0x19860CCB0A68fd4213aB9D8266F7bBf05A8dDe98" + } + }, + "214db107654ff987ad859f34125307783fc8e387": { + "currencyCode": "FXS", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "FXS" + } + ], + "displayName": "Frax Share", + "networkLocation": { + "contractAddress": "0x214DB107654fF987AD859F34125307783fC8e387" + } + }, + "264c1383ea520f73dd837f915ef3a732e204a493": { + "currencyCode": "BNB", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BNB" + } + ], + "displayName": "Binance", + "networkLocation": { + "contractAddress": "0x264c1383EA520f73dd837F915ef3a732e204a493" + } + }, + "50b7545627a5162f82a992c33b87adc75187b218": { + "currencyCode": "WBTC.e", + "denominations": [ + { + "multiplier": "100000000", + "name": "WBTC.e" + } + ], + "displayName": "Wrapped BTC", + "networkLocation": { + "contractAddress": "0x50b7545627a5162F82A992c33b87aDc75187B218" + } + }, + "59414b3089ce2af0010e7523dea7e2b35d776ec7": { + "currencyCode": "YAK", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "YAK" + } + ], + "displayName": "Yield Yak", + "networkLocation": { + "contractAddress": "0x59414b3089ce2AF0010e7523Dea7E2b35d776ec7" + } + }, + "5947bb275c521040051d82396192181b413227a3": { + "currencyCode": "LINK.e", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LINK.e" + } + ], + "displayName": "ChainLink Token", + "networkLocation": { + "contractAddress": "0x5947BB275c521040051D82396192181b413227A3" + } + }, + "60781c2586d68229fde47564546784ab3faca982": { + "currencyCode": "PNG", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PNG" + } + ], + "displayName": "Pangolin", + "networkLocation": { + "contractAddress": "0x60781C2586D68229fde47564546784ab3fACA982" + } + }, + "6e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd": { + "currencyCode": "JOE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "JOE" + } + ], + "displayName": "Joe Token", + "networkLocation": { + "contractAddress": "0x6e84a6216eA6dACC71eE8E6b0a5B7322EEbC0fDd" + } + }, + "8ebaf22b6f053dffeaf46f4dd9efa95d89ba8580": { + "currencyCode": "UNI.e", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "UNI.e" + } + ], + "displayName": "Uniswap", + "networkLocation": { + "contractAddress": "0x8eBAf22B6F053dFFeaf46f4Dd9eFA95D89ba8580" + } + }, + "9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7": { + "currencyCode": "USDT", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDT" + } + ], + "displayName": "Tether USD", + "networkLocation": { + "contractAddress": "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7" + } + }, + "a7d7079b0fead91f3e65f86e8915cb59c1a4c664": { + "currencyCode": "USDC.e", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC.e" + } + ], + "displayName": "USD Coin", + "networkLocation": { + "contractAddress": "0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664" + } + }, + "b97ef9ef8734c71904d8002f8b6bc66dd9c48a6e": { + "currencyCode": "USDC", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC" + } + ], + "displayName": "USD Coin", + "networkLocation": { + "contractAddress": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E" + } + }, + "c7198437980c041c805a1edcba50c1ce5db95118": { + "currencyCode": "USDT.e", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDT.e" + } + ], + "displayName": "Tether USD", + "networkLocation": { + "contractAddress": "0xc7198437980c041c805A1EDcbA50c1Ce5db95118" + } + }, + "d1c3f94de7e5b45fa4edbba472491a9f4b166fc4": { + "currencyCode": "XAVA", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "XAVA" + } + ], + "displayName": "Avalaunch", + "networkLocation": { + "contractAddress": "0xd1c3f94DE7e5B45fa4eDBBA472491a9f4B166FC4" + } + }, + "d501281565bf7789224523144fe5d98e8b28f267": { + "currencyCode": "1INCH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "1INCH" + } + ], + "displayName": "1inch", + "networkLocation": { + "contractAddress": "0xd501281565bf7789224523144Fe5D98e8B28f267" + } + }, + "d586e7f844cea2f87f50152665bcbc2c279d8d70": { + "currencyCode": "DAI.e", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DAI.e" + } + ], + "displayName": "Dai Stablecoin", + "networkLocation": { + "contractAddress": "0xd586E7F844cEa2F87f50152665BCbc2C279D8d70" + } + }, + "d6070ae98b8069de6b494332d1a1a81b6179d960": { + "currencyCode": "BIFI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BIFI" + } + ], + "displayName": "Beefy Finance", + "networkLocation": { + "contractAddress": "0xd6070ae98b8069de6B494332d1A1a81B6179D960" + } + }, + "e896cdeaac9615145c0ca09c8cd5c25bced6384c": { + "currencyCode": "PEFI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PEFI" + } + ], + "displayName": "Penguin Finance", + "networkLocation": { + "contractAddress": "0xe896CDeaAC9615145c0cA09C8Cd5C25bced6384c" + } + }, + "fe6b19286885a4f7f55adad09c3cd1f906d2478f": { + "currencyCode": "WSOL", + "denominations": [ + { + "multiplier": "1000000000", + "name": "WSOL" + } + ], + "displayName": "Wrapped Solana", + "networkLocation": { + "contractAddress": "0xFE6B19286885a4F7F55AdAD09C3Cd1f906D2478F" + } + } + }, + "base": { + "12e96c2bfea6e835cf8dd38a5834fa61cf723736": { + "currencyCode": "uDOGE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "uDOGE" + } + ], + "displayName": "Wrapped DOGE (Universal)", + "networkLocation": { + "contractAddress": "0x12e96c2bfea6e835cf8dd38a5834fa61cf723736" + } + }, + "1bc0c42215582d5a085795f4badbac3ff36d1bcb": { + "currencyCode": "CLANKER", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CLANKER" + } + ], + "displayName": "tokenbot", + "networkLocation": { + "contractAddress": "0x1bc0c42215582d5a085795f4badbac3ff36d1bcb" + } + }, + "1dd2d631c92b1acdfcdd51a0f7145a50130050c4": { + "currencyCode": "ALB", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ALB" + } + ], + "displayName": "AlienBase Token", + "networkLocation": { + "contractAddress": "0x1dd2d631c92b1aCdFCDd51A0F7145A50130050C4" + } + }, + "239b9c1f24f3423062b0d364796e07ee905e9fce": { + "currencyCode": "uSHIB", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "uSHIB" + } + ], + "displayName": "Wrapped Shiba Inu (Universal)", + "networkLocation": { + "contractAddress": "0x239b9c1f24f3423062b0d364796e07ee905e9fce" + } + }, + "2416092f143378750bb29b79ed961ab195cceea5": { + "currencyCode": "ezETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ezETH" + } + ], + "displayName": "Renzo Restaked ETH", + "networkLocation": { + "contractAddress": "0x2416092f143378750bb29b79eD961ab195CcEea5" + } + }, + "2615a94df961278dcbc41fb0a54fec5f10a693ae": { + "currencyCode": "uXRP", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "uXRP" + } + ], + "displayName": "Wrapped XRP (Universal)", + "networkLocation": { + "contractAddress": "0x2615a94df961278dcbc41fb0a54fec5f10a693ae" + } + }, + "2a06a17cbc6d0032cac2c6696da90f29d39a1a29": { + "currencyCode": "BITCOIN", + "denominations": [ + { + "multiplier": "100000000", + "name": "BITCOIN" + } + ], + "displayName": "HarryPotterObamaSonic10Inu", + "networkLocation": { + "contractAddress": "0x2a06A17CBC6d0032Cac2c6696DA90f29D39a1a29" + } + }, + "3055913c90fcc1a6ce9a358911721eeb942013a1": { + "currencyCode": "CAKE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CAKE" + } + ], + "displayName": "PancakeSwap", + "networkLocation": { + "contractAddress": "0x3055913c90fcc1a6ce9a358911721eeb942013a1" + } + }, + "46777c76dbbe40fabb2aab99e33ce20058e76c59": { + "currencyCode": "L3", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "L3" + } + ], + "displayName": "Layer3", + "networkLocation": { + "contractAddress": "0x46777c76dbbe40fabb2aab99e33ce20058e76c59" + } + }, + "4ed4e862860bed51a9570b96d89af5e1b0efefed": { + "currencyCode": "DEGEN", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DEGEN" + } + ], + "displayName": "Degen", + "networkLocation": { + "contractAddress": "0x4ed4e862860bed51a9570b96d89af5e1b0efefed" + } + }, + "4f9fd6be4a90f2620860d680c0d4d5fb53d1a825": { + "currencyCode": "AIXBT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AIXBT" + } + ], + "displayName": "aixbt", + "networkLocation": { + "contractAddress": "0x4f9fd6be4a90f2620860d680c0d4d5fb53d1a825" + } + }, + "50da645f148798f68ef2d7db7c1cb22a6819bb2c": { + "currencyCode": "SPX", + "denominations": [ + { + "multiplier": "100000000", + "name": "SPX" + } + ], + "displayName": "SPX6900", + "networkLocation": { + "contractAddress": "0x50dA645f148798F68EF2d7dB7C1CB22A6819bb2C" + } + }, + "532f27101965dd16442e59d40670faf5ebb142e4": { + "currencyCode": "BRETT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BRETT" + } + ], + "displayName": "Brett", + "networkLocation": { + "contractAddress": "0x532f27101965dd16442e59d40670faf5ebb142e4" + } + }, + "5875eee11cf8398102fdad704c9e96607675467a": { + "currencyCode": "sUSDS", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "sUSDS" + } + ], + "displayName": "sUSDS", + "networkLocation": { + "contractAddress": "0x5875eee11cf8398102fdad704c9e96607675467a" + } + }, + "5ed25e305e08f58afd7995eac72563e6be65a617": { + "currencyCode": "uNEAR", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "uNEAR" + } + ], + "displayName": "Wrapped NEAR (Universal)", + "networkLocation": { + "contractAddress": "0x5ed25e305e08f58afd7995eac72563e6be65a617" + } + }, + "6921b130d297cc43754afba22e5eac0fbf8db75b": { + "currencyCode": "DOGINME", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DOGINME" + } + ], + "displayName": "doginme", + "networkLocation": { + "contractAddress": "0x6921b130d297cc43754afba22e5eac0fbf8db75b" + } + }, + "71a67215a2025f501f386a49858a9ced2fc0249d": { + "currencyCode": "uSEI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "uSEI" + } + ], + "displayName": "Wrapped SEI (Universal)", + "networkLocation": { + "contractAddress": "0x71a67215a2025f501f386a49858a9ced2fc0249d" + } + }, + "73fbd93bfda83b111ddc092aa3a4ca77fd30d380": { + "currencyCode": "SOPH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SOPH" + } + ], + "displayName": "SophiaVerse", + "networkLocation": { + "contractAddress": "0x73fbd93bfda83b111ddc092aa3a4ca77fd30d380" + } + }, + "833589fcd6edb6e08f4c7c32d4f71b54bda02913": { + "currencyCode": "USDC", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC" + } + ], + "displayName": "USD Coin", + "networkLocation": { + "contractAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" + } + }, + "95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce": { + "currencyCode": "SHIB", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SHIB" + } + ], + "displayName": "Shiba Inu", + "networkLocation": { + "contractAddress": "0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce" + } + }, + "98d0baa52b2d063e780de12f615f963fe8537553": { + "currencyCode": "KAITO", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "KAITO" + } + ], + "displayName": "KAITO", + "networkLocation": { + "contractAddress": "0x98d0baa52b2D063E780DE12F615f963Fe8537553" + } + }, + "9a26f5433671751c3276a065f57e5a02d2817973": { + "currencyCode": "KEYCAT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "KEYCAT" + } + ], + "displayName": "Keyboard Cat", + "networkLocation": { + "contractAddress": "0x9a26F5433671751C3276a065f57e5a02D2817973" + } + }, + "9b8df6e244526ab5f6e6400d331db28c8fdddb55": { + "currencyCode": "uSOL", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "uSOL" + } + ], + "displayName": "Wrapped Solana (Universal)", + "networkLocation": { + "contractAddress": "0x9b8df6e244526ab5f6e6400d331db28c8fdddb55" + } + }, + "9c0e042d65a2e1ff31ac83f404e5cb79f452c337": { + "currencyCode": "uAPT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "uAPT" + } + ], + "displayName": "Wrapped Aptos (Universal)", + "networkLocation": { + "contractAddress": "0x9c0e042d65a2e1ff31ac83f404e5cb79f452c337" + } + }, + "a0a8481fc246cd12f75227abb96220ff5360fad3": { + "currencyCode": "CMC20", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CMC20" + } + ], + "displayName": "CoinMarketCap 20 Index DTF", + "networkLocation": { + "contractAddress": "0xa0A8481fc246Cd12f75227aBB96220fF5360fad3" + } + }, + "a3a34a0d9a08ccddb6ed422ac0a28a06731335aa": { + "currencyCode": "uADA", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "uADA" + } + ], + "displayName": "Wrapped ADA (Universal)", + "networkLocation": { + "contractAddress": "0xa3a34a0d9a08ccddb6ed422ac0a28a06731335aa" + } + }, + "a99f6e6785da0f5d6fb42495fe424bce029eeb3e": { + "currencyCode": "PENDLE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PENDLE" + } + ], + "displayName": "Pendle", + "networkLocation": { + "contractAddress": "0xa99f6e6785da0f5d6fb42495fe424bce029eeb3e" + } + }, + "ab36452dbac151be02b16ca17d8919826072f64a": { + "currencyCode": "RSR", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "RSR" + } + ], + "displayName": "Reserve Rights", + "networkLocation": { + "contractAddress": "0xab36452dbac151be02b16ca17d8919826072f64a" + } + }, + "ac1bd2486aaf3b5c0fc3fd868558b082a531b2b4": { + "currencyCode": "TOSHI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "TOSHI" + } + ], + "displayName": "Toshi", + "networkLocation": { + "contractAddress": "0xac1bd2486aaf3b5c0fc3fd868558b082a531b2b4" + } + }, + "b0505e5a99abd03d94a1169e638b78edfed26ea4": { + "currencyCode": "uSUI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "uSUI" + } + ], + "displayName": "Wrapped SUI (Universal)", + "networkLocation": { + "contractAddress": "0xb0505e5a99abd03d94a1169e638b78edfed26ea4" + } + }, + "b166e8b140d35d9d8226e40c09f757bac5a4d87d": { + "currencyCode": "NPC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "NPC" + } + ], + "displayName": "Non-Playable Coin", + "networkLocation": { + "contractAddress": "0xb166e8b140d35d9d8226e40c09f757bac5a4d87d" + } + }, + "b33ff54b9f7242ef1593d2c9bcd8f9df46c77935": { + "currencyCode": "FAI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "FAI" + } + ], + "displayName": "Freysa", + "networkLocation": { + "contractAddress": "0xb33ff54b9f7242ef1593d2c9bcd8f9df46c77935" + } + }, + "ba12bc7b210e61e5d3110b997a63ea216e0e18f7": { + "currencyCode": "C", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "C" + } + ], + "displayName": "Chainbase", + "networkLocation": { + "contractAddress": "0xba12bc7b210e61e5d3110b997a63ea216e0e18f7" + } + }, + "bc45647ea894030a4e9801ec03479739fa2485f0": { + "currencyCode": "BENJI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BENJI" + } + ], + "displayName": "Basenji", + "networkLocation": { + "contractAddress": "0xBC45647eA894030a4E9801Ec03479739FA2485F0" + } + }, + "cbb7c0000ab88b473b1f5afd9ef808440eed33bf": { + "currencyCode": "cbBTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "cbBTC" + } + ], + "displayName": "Coinbase Wrapped Bitcoin", + "networkLocation": { + "contractAddress": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf" + } + }, + "cde172dc5ffc46d228838446c57c1227e0b82049": { + "currencyCode": "BOOMER", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BOOMER" + } + ], + "displayName": "Boomer", + "networkLocation": { + "contractAddress": "0xcdE172dc5ffC46D228838446c57C1227e0B82049" + } + }, + "d403d1624daef243fbcbd4a80d8a6f36affe32b2": { + "currencyCode": "uLINK", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "uLINK" + } + ], + "displayName": "Wrapped Chainlink (Universal)", + "networkLocation": { + "contractAddress": "0xd403d1624daef243fbcbd4a80d8a6f36affe32b2" + } + }, + "df1cf211d38e7762c9691be4d779a441a17a6cfc": { + "currencyCode": "BONK", + "denominations": [ + { + "multiplier": "100000", + "name": "BONK" + } + ], + "displayName": "Bonk", + "networkLocation": { + "contractAddress": "0xdf1cf211d38e7762c9691be4d779a441a17a6cfc" + } + }, + "e3086852a4b125803c815a158249ae468a3254ca": { + "currencyCode": "MFER", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MFER" + } + ], + "displayName": "mfercoin", + "networkLocation": { + "contractAddress": "0xe3086852a4b125803c815a158249ae468a3254ca" + } + }, + "ecac9c5f704e954931349da37f60e39f515c11c1": { + "currencyCode": "LBTC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LBTC" + } + ], + "displayName": "Lombard Staked BTC", + "networkLocation": { + "contractAddress": "0xecAc9C5F704e954931349Da37F60E39f515c11c1" + } + }, + "f1143f3a8d76f1ca740d29d5671d365f66c44ed1": { + "currencyCode": "uBTC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "uBTC" + } + ], + "displayName": "Wrapped Bitcoin (Universal)", + "networkLocation": { + "contractAddress": "0xf1143f3a8d76f1ca740d29d5671d365f66c44ed1" + } + } + }, + "binancesmartchain": { + "000ae314e2a2172a039b26378814c252734f556a": { + "currencyCode": "ASTER", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ASTER" + } + ], + "displayName": "Aster", + "networkLocation": { + "contractAddress": "0x000Ae314E2A2172a039B26378814C252734f556A" + } + }, + "02a6c1789c3b4fdb1a7a3dfa39f90e5d3c94f4f9": { + "currencyCode": "PMx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PMx" + } + ], + "displayName": "Philip Morris xStock", + "networkLocation": { + "contractAddress": "0x02a6c1789c3b4fdb1a7a3dfa39f90e5d3c94f4f9" + } + }, + "03183ce31b1656b72a55fa6056e287f50c35bbeb": { + "currencyCode": "ACNx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ACNx" + } + ], + "displayName": "Accenture xStock", + "networkLocation": { + "contractAddress": "0x03183ce31b1656b72a55fa6056e287f50c35bbeb" + } + }, + "053c784cd87b74f42e0c089f98643e79c1a3ff16": { + "currencyCode": "CSCOx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CSCOx" + } + ], + "displayName": "Cisco xStock", + "networkLocation": { + "contractAddress": "0x053c784cd87b74f42e0c089f98643e79c1a3ff16" + } + }, + "0588e851ec0418d660bee81230d6c678daf21d46": { + "currencyCode": "MDTx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MDTx" + } + ], + "displayName": "Medtronic xStock", + "networkLocation": { + "contractAddress": "0x0588e851ec0418d660bee81230d6c678daf21d46" + } + }, + "0e09fabb73bd3ade0a17ecc321fd13a19e81ce82": { + "currencyCode": "CAKE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CAKE" + } + ], + "displayName": "PancakeSwap", + "networkLocation": { + "contractAddress": "0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82" + } + }, + "111111111117dc0aa78b770fa6a738034120c302": { + "currencyCode": "1INCH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "1INCH" + } + ], + "displayName": "1inch", + "networkLocation": { + "contractAddress": "0x111111111117dc0aa78b770fa6a738034120c302" + } + }, + "12992613fdd35abe95dec5a4964331b1ee23b50d": { + "currencyCode": "BRK.Bx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BRK.Bx" + } + ], + "displayName": "Berkshire Hathaway xStock", + "networkLocation": { + "contractAddress": "0x12992613fdd35abe95dec5a4964331b1ee23b50d" + } + }, + "15059c599c16fd8f70b633ade165502d6402cd49": { + "currencyCode": "LINx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LINx" + } + ], + "displayName": "Linde xStock", + "networkLocation": { + "contractAddress": "0x15059c599c16fd8f70b633ade165502d6402cd49" + } + }, + "167a6375da1efc4a5be0f470e73ecefd66245048": { + "currencyCode": "UNHx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "UNHx" + } + ], + "displayName": "UnitedHealth xStock", + "networkLocation": { + "contractAddress": "0x167a6375da1efc4a5be0f470e73ecefd66245048" + } + }, + "17d8186ed8f68059124190d147174d0f6697dc40": { + "currencyCode": "MRKx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MRKx" + } + ], + "displayName": "Merck xStock", + "networkLocation": { + "contractAddress": "0x17d8186ed8f68059124190d147174d0f6697dc40" + } + }, + "19c41ea77b34bbdee61c3a87a75d1abda2ed0be4": { + "currencyCode": "LLYx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LLYx" + } + ], + "displayName": "Eli Lilly xStock", + "networkLocation": { + "contractAddress": "0x19c41ea77b34bbdee61c3a87a75d1abda2ed0be4" + } + }, + "1ac765b5bea23184802c7d2d497f7c33f1444a9e": { + "currencyCode": "PFEx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PFEx" + } + ], + "displayName": "Pfizer xStock", + "networkLocation": { + "contractAddress": "0x1ac765b5bea23184802c7d2d497f7c33f1444a9e" + } + }, + "2003f7ba57ea956b05b85c60b4b2ceea9b111256": { + "currencyCode": "KMD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "KMD" + } + ], + "displayName": "Komodo", + "networkLocation": { + "contractAddress": "0x2003f7ba57Ea956B05B85C60B4B2Ceea9b111256" + } + }, + "214151022c2a5e380ab80cdac31f23ae554a7345": { + "currencyCode": "CRWDx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CRWDx" + } + ], + "displayName": "CrowdStrike xStock", + "networkLocation": { + "contractAddress": "0x214151022C2a5E380aB80CdaC31f23Ae554a7345" + } + }, + "2170ed0880ac9a755fd29b2688956bd959f933f8": { + "currencyCode": "ETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ETH" + } + ], + "displayName": "Binance-Peg Ethereum Token", + "networkLocation": { + "contractAddress": "0x2170Ed0880ac9A755fd29B2688956BD959F933F8" + } + }, + "2363fd1235c1b6d3a5088ddf8df3a0b3a30c5293": { + "currencyCode": "Vx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "Vx" + } + ], + "displayName": "Visa xStock", + "networkLocation": { + "contractAddress": "0x2363fd1235c1b6d3a5088ddf8df3a0b3a30c5293" + } + }, + "2380f2673c640fb67e2d6b55b44c62f0e0e69da9": { + "currencyCode": "GLDx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "GLDx" + } + ], + "displayName": "Gold xStock", + "networkLocation": { + "contractAddress": "0x2380f2673c640fb67e2d6b55b44c62f0e0e69da9" + } + }, + "2416092f143378750bb29b79ed961ab195cceea5": { + "currencyCode": "ezETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ezETH" + } + ], + "displayName": "Renzo Restaked ETH", + "networkLocation": { + "contractAddress": "0x2416092f143378750bb29b79eD961ab195CcEea5" + } + }, + "2859e4544c4bb03966803b044a93563bd2d0dd4d": { + "currencyCode": "SHIB", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SHIB" + } + ], + "displayName": "Shiba Inu", + "networkLocation": { + "contractAddress": "0x2859e4544c4bb03966803b044a93563bd2d0dd4d" + } + }, + "2f8a339b5889ffac4c5a956787cda593b3c36867": { + "currencyCode": "CMC20", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CMC20" + } + ], + "displayName": "CoinMarketCap 20 Index DTF", + "networkLocation": { + "contractAddress": "0x2f8A339B5889FfaC4c5A956787cdA593b3c36867" + } + }, + "2f9a35ab5ddfbc49927bfdeab98a86c53dc6e763": { + "currencyCode": "AMBRx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AMBRx" + } + ], + "displayName": "Amber xStock", + "networkLocation": { + "contractAddress": "0x2f9a35ab5ddfbc49927bfdeab98a86c53dc6e763" + } + }, + "3019bf2a2ef8040c242c9a4c5c4bd4c81678b2a1": { + "currencyCode": "GMT", + "denominations": [ + { + "multiplier": "100000000", + "name": "GMT" + } + ], + "displayName": "GMT", + "networkLocation": { + "contractAddress": "0x3019BF2a2eF8040C242C9a4c5c4BD4C81678b2A1" + } + }, + "314938c596f5ce31c3f75307d2979338c346d7f2": { + "currencyCode": "BACx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BACx" + } + ], + "displayName": "Bank of America xStock", + "networkLocation": { + "contractAddress": "0x314938c596f5ce31c3f75307d2979338c346d7f2" + } + }, + "3557ba345b01efa20a1bddc61f573bfd87195081": { + "currencyCode": "AMZNx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AMZNx" + } + ], + "displayName": "Amazon xStock", + "networkLocation": { + "contractAddress": "0x3557ba345b01efa20a1bddc61f573bfd87195081" + } + }, + "364f210f430ec2448fc68a49203040f6124096f0": { + "currencyCode": "COINx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "COINx" + } + ], + "displayName": "Coinbase xStock", + "networkLocation": { + "contractAddress": "0x364f210f430ec2448fc68a49203040f6124096f0" + } + }, + "36c424a6ec0e264b1616102ad63ed2ad7857413e": { + "currencyCode": "PEPx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PEPx" + } + ], + "displayName": "PepsiCo xStock", + "networkLocation": { + "contractAddress": "0x36c424a6ec0e264b1616102ad63ed2ad7857413e" + } + }, + "38bac69cbbd28156796e4163b2b6dcb81e336565": { + "currencyCode": "AVGOx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AVGOx" + } + ], + "displayName": "Broadcom xStock", + "networkLocation": { + "contractAddress": "0x38bac69cbbd28156796e4163b2b6dcb81e336565" + } + }, + "3ee7e9b3a992fd23cd1c363b0e296856b04ab149": { + "currencyCode": "GSx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "GSx" + } + ], + "displayName": "Goldman Sachs xStock", + "networkLocation": { + "contractAddress": "0x3ee7e9b3a992fd23cd1c363b0e296856b04ab149" + } + }, + "405fbc9004d857903bfd6b3357792d71a50726b0": { + "currencyCode": "XPL", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "XPL" + } + ], + "displayName": "Plasma", + "networkLocation": { + "contractAddress": "0x405FBc9004D857903bFD6b3357792D71a50726b0" + } + }, + "40af3827f39d0eacbf4a168f8d4ee67c121d11c9": { + "currencyCode": "TUSD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "TUSD" + } + ], + "displayName": "TrueUSD", + "networkLocation": { + "contractAddress": "0x40af3827F39D0EAcBF4A168f8D4ee67c121D11c9" + } + }, + "4a4073f2eaf299a1be22254dcd2c41727f6f54a2": { + "currencyCode": "CRMx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CRMx" + } + ], + "displayName": "Salesforce xStock", + "networkLocation": { + "contractAddress": "0x4a4073f2eaf299a1be22254dcd2c41727f6f54a2" + } + }, + "50a1291f69d9d3853def8209cfb1af0b46927be1": { + "currencyCode": "APPx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "APPx" + } + ], + "displayName": "AppLovin xStock", + "networkLocation": { + "contractAddress": "0x50a1291f69d9d3853def8209cfb1af0b46927be1" + } + }, + "548308e91ec9f285c7bff05295badbd56a6e4971": { + "currencyCode": "ORCLx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ORCLx" + } + ], + "displayName": "Oracle xStock", + "networkLocation": { + "contractAddress": "0x548308e91ec9f285c7bff05295badbd56a6e4971" + } + }, + "55d398326f99059ff775485246999027b3197955": { + "currencyCode": "BSC-USD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BSC-USD" + } + ], + "displayName": "Binance-Peg BSC-USD", + "networkLocation": { + "contractAddress": "0x55d398326f99059fF775485246999027B3197955" + } + }, + "5621737f42dae558b81269fcb9e9e70c19aa6b35": { + "currencyCode": "MSFTx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MSFTx" + } + ], + "displayName": "Microsoft xStock", + "networkLocation": { + "contractAddress": "0x5621737f42dae558b81269fcb9e9e70c19aa6b35" + } + }, + "570a5d26f7765ecb712c0924e4de545b89fd43df": { + "currencyCode": "WSOL", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WSOL" + } + ], + "displayName": "Wrapped Solana", + "networkLocation": { + "contractAddress": "0x570a5d26f7765ecb712c0924e4de545b89fd43df" + } + }, + "5d642505fe1a28897eb3baba665f454755d8daa2": { + "currencyCode": "AZNx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AZNx" + } + ], + "displayName": "AstraZeneca xStock", + "networkLocation": { + "contractAddress": "0x5d642505fe1a28897eb3baba665f454755d8daa2" + } + }, + "62a48560861b0b451654bfffdb5be6e47aa8ff1b": { + "currencyCode": "HONx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "HONx" + } + ], + "displayName": "Honeywell xStock", + "networkLocation": { + "contractAddress": "0x62a48560861b0b451654bfffdb5be6e47aa8ff1b" + } + }, + "6d482cec5f9dd1f05ccee9fd3ff79b246170f8e2": { + "currencyCode": "PLTRx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PLTRx" + } + ], + "displayName": "Palantir xStock", + "networkLocation": { + "contractAddress": "0x6d482cec5f9dd1f05ccee9fd3ff79b246170f8e2" + } + }, + "7083609fce4d1d8dc0c979aab8c869ea2c873402": { + "currencyCode": "DOT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DOT" + } + ], + "displayName": "Binance-Peg Polkadot Token", + "networkLocation": { + "contractAddress": "0x7083609fCE4d1d8Dc0C979AAb8c869Ea2C873402" + } + }, + "7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c": { + "currencyCode": "BTCB", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BTCB" + } + ], + "displayName": "Bitcoin BEP2", + "networkLocation": { + "contractAddress": "0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c" + } + }, + "766b0cd6ed6d90b5d49d2c36a3761e9728501ba9": { + "currencyCode": "HDx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "HDx" + } + ], + "displayName": "Home Depot xStock", + "networkLocation": { + "contractAddress": "0x766b0cd6ed6d90b5d49d2c36a3761e9728501ba9" + } + }, + "7aefc9965699fbea943e03264d96e50cd4a97b21": { + "currencyCode": "WMTx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WMTx" + } + ], + "displayName": "Walmart xStock", + "networkLocation": { + "contractAddress": "0x7aefc9965699fbea943e03264d96e50cd4a97b21" + } + }, + "7ddc52c4de30e94be3a6a0a2b259b2850f421989": { + "currencyCode": "GOMINING", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "GOMINING" + } + ], + "displayName": "GoMining", + "networkLocation": { + "contractAddress": "0x7Ddc52c4De30e94Be3A6A0A2b259b2850f421989" + } + }, + "80a77a372c1e12accda84299492f404902e2da67": { + "currencyCode": "MCDx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MCDx" + } + ], + "displayName": "McDonald's xStock", + "networkLocation": { + "contractAddress": "0x80a77a372c1e12accda84299492f404902e2da67" + } + }, + "8457ca5040ad67fdebbcc8edce889a335bc0fbfb": { + "currencyCode": "ALT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ALT" + } + ], + "displayName": "AltLayer", + "networkLocation": { + "contractAddress": "0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb" + } + }, + "89233399708c18ac6887f90a2b4cd8ba5fedd06e": { + "currencyCode": "ABTx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ABTx" + } + ], + "displayName": "Abbott xStock", + "networkLocation": { + "contractAddress": "0x89233399708c18ac6887f90a2b4cd8ba5fedd06e" + } + }, + "8ac76a51cc950d9822d68b83fe1ad97b32cd580d": { + "currencyCode": "USDC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "USDC" + } + ], + "displayName": "USD Coin", + "networkLocation": { + "contractAddress": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d" + } + }, + "8ad3c73f833d3f9a523ab01476625f269aeb7cf0": { + "currencyCode": "TSLAx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "TSLAx" + } + ], + "displayName": "Tesla xStock", + "networkLocation": { + "contractAddress": "0x8ad3c73f833d3f9a523ab01476625f269aeb7cf0" + } + }, + "8f0528ce5ef7b51152a59745befdd91d97091d2f": { + "currencyCode": "ALPACA", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ALPACA" + } + ], + "displayName": "Alpaca Finance", + "networkLocation": { + "contractAddress": "0x8f0528ce5ef7b51152a59745befdd91d97091d2f" + } + }, + "90a2a4c76b5d8c0bc892a69ea28aa775a8f2dd48": { + "currencyCode": "SPYx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SPYx" + } + ], + "displayName": "SP500 xStock", + "networkLocation": { + "contractAddress": "0x90a2a4c76b5d8c0bc892a69ea28aa775a8f2dd48" + } + }, + "96702be57cd9777f835117a809c7124fe4ec989a": { + "currencyCode": "METAx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "METAx" + } + ], + "displayName": "Meta xStock", + "networkLocation": { + "contractAddress": "0x96702be57cd9777f835117a809c7124fe4ec989a" + } + }, + "9d275685dc284c8eb1c79f6aba7a63dc75ec890a": { + "currencyCode": "AAPLx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AAPLx" + } + ], + "displayName": "Apple xStock", + "networkLocation": { + "contractAddress": "0x9d275685dc284c8eb1c79f6aba7a63dc75ec890a" + } + }, + "a697e272a73744b343528c3bc4702f2565b2f422": { + "currencyCode": "BONK", + "denominations": [ + { + "multiplier": "100000", + "name": "BONK" + } + ], + "displayName": "Bonk", + "networkLocation": { + "contractAddress": "0xA697e272a73744b343528C3Bc4702F2565b2F422" + } + }, + "a6a65ac27e76cd53cb790473e4345c46e5ebf961": { + "currencyCode": "NFLXx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "NFLXx" + } + ], + "displayName": "Netflix xStock", + "networkLocation": { + "contractAddress": "0xa6a65ac27e76cd53cb790473e4345c46e5ebf961" + } + }, + "a753a7395cae905cd615da0b82a53e0560f250af": { + "currencyCode": "QQQx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "QQQx" + } + ], + "displayName": "Nasdaq xStock", + "networkLocation": { + "contractAddress": "0xa753a7395cae905cd615da0b82a53e0560f250af" + } + }, + "a90424d5d3e770e8644103ab503ed775dd1318fd": { + "currencyCode": "PGx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PGx" + } + ], + "displayName": "Procter & Gamble xStock", + "networkLocation": { + "contractAddress": "0xa90424d5d3e770e8644103ab503ed775dd1318fd" + } + }, + "ad5cdc3340904285b8159089974a99a1a09eb4c0": { + "currencyCode": "CVXx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CVXx" + } + ], + "displayName": "Chevron xStock", + "networkLocation": { + "contractAddress": "0xad5cdc3340904285b8159089974a99a1a09eb4c0" + } + }, + "ae2f842ef90c0d5213259ab82639d5bbf649b08e": { + "currencyCode": "MSTRx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MSTRx" + } + ], + "displayName": "MicroStrategy xStock", + "networkLocation": { + "contractAddress": "0xae2f842ef90c0d5213259ab82639d5bbf649b08e" + } + }, + "af072f109a2c173d822a4fe9af311a1b18f83d19": { + "currencyCode": "TMOx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "TMOx" + } + ], + "displayName": "Thermo Fisher xStock", + "networkLocation": { + "contractAddress": "0xaf072f109a2c173d822a4fe9af311a1b18f83d19" + } + }, + "b365cd2588065f522d379ad19e903304f6b622c6": { + "currencyCode": "MAx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MAx" + } + ], + "displayName": "Mastercard xStock", + "networkLocation": { + "contractAddress": "0xb365cd2588065f522d379ad19e903304f6b622c6" + } + }, + "b3ed0a426155b79b898849803e3b36552f7ed507": { + "currencyCode": "PENDLE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PENDLE" + } + ], + "displayName": "Pendle", + "networkLocation": { + "contractAddress": "0xb3Ed0A426155B79B898849803E3B36552f7ED507" + } + }, + "ba12bc7b210e61e5d3110b997a63ea216e0e18f7": { + "currencyCode": "C", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "C" + } + ], + "displayName": "Chainbase", + "networkLocation": { + "contractAddress": "0xba12bc7b210e61e5d3110b997a63ea216e0e18f7" + } + }, + "ba2ae424d960c26247dd6c32edc70b295c744c43": { + "currencyCode": "DOGE", + "denominations": [ + { + "multiplier": "100000000", + "name": "DOGE" + } + ], + "displayName": "Binance-Peg Dogecoin Token", + "networkLocation": { + "contractAddress": "0xbA2aE424d960c26247Dd6c32edC70B295c744C43" + } + }, + "bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c": { + "currencyCode": "WBNB", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WBNB" + } + ], + "displayName": "Wrapped BNB", + "networkLocation": { + "contractAddress": "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c" + } + }, + "bc7170a1280be28513b4e940c681537eb25e39f4": { + "currencyCode": "CMCSAx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CMCSAx" + } + ], + "displayName": "Comcast xStock", + "networkLocation": { + "contractAddress": "0xbc7170a1280be28513b4e940c681537eb25e39f4" + } + }, + "bd730e618bcd88c82ddee52e10275cf2f88a4777": { + "currencyCode": "VTIx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "VTIx" + } + ], + "displayName": "Vanguard xStock", + "networkLocation": { + "contractAddress": "0xbd730e618bcd88c82ddee52e10275cf2f88a4777" + } + }, + "c2c28b58db223da89b567a0a98197fc17c115148": { + "currencyCode": "SOLO", + "denominations": [ + { + "multiplier": "1000000000000000", + "name": "SOLO" + } + ], + "displayName": "Sologenic", + "networkLocation": { + "contractAddress": "0xc2c28b58db223da89b567a0a98197fc17c115148" + } + }, + "c748673057861a797275cd8a068abb95a902e8de": { + "currencyCode": "BabyDoge", + "denominations": [ + { + "multiplier": "1000000000", + "name": "BabyDoge" + } + ], + "displayName": "Baby Doge Coin", + "networkLocation": { + "contractAddress": "0xc748673057861a797275cd8a068abb95a902e8de" + } + }, + "c845b2894dbddd03858fd2d643b4ef725fe0849d": { + "currencyCode": "NVDAx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "NVDAx" + } + ], + "displayName": "NVIDIA xStock", + "networkLocation": { + "contractAddress": "0xc845b2894dbddd03858fd2d643b4ef725fe0849d" + } + }, + "cc42724c6683b7e57334c4e856f4c9965ed682bd": { + "currencyCode": "MATIC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MATIC" + } + ], + "displayName": "Matic Token", + "networkLocation": { + "contractAddress": "0xCC42724C6683B7E57334c4E856f4c9965ED682bD" + } + }, + "cdaf240c90f989847c56ac9dee754f76f41c5833": { + "currencyCode": "wARRR", + "denominations": [ + { + "multiplier": "100000000", + "name": "wARRR" + } + ], + "displayName": "Wrapped Pirate Chain", + "networkLocation": { + "contractAddress": "0xCDAF240C90F989847c56aC9Dee754F76F41c5833" + } + }, + "d9913208647671fe0f48f7f260076b2c6f310aac": { + "currencyCode": "IBMx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "IBMx" + } + ], + "displayName": "International Business Machines xStock", + "networkLocation": { + "contractAddress": "0xd9913208647671fe0f48f7f260076b2c6f310aac" + } + }, + "d9fc3e075d45254a1d834fea18af8041207dea0a": { + "currencyCode": "JPMx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "JPMx" + } + ], + "displayName": "JPMorgan Chase xStock", + "networkLocation": { + "contractAddress": "0xd9fc3e075d45254a1d834fea18af8041207dea0a" + } + }, + "db0482cfad4789798623e64b15eeba01b16e917c": { + "currencyCode": "JNJx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "JNJx" + } + ], + "displayName": "Johnson & Johnson xStock", + "networkLocation": { + "contractAddress": "0xdb0482cfad4789798623e64b15eeba01b16e917c" + } + }, + "dba228936f4079daf9aa906fd48a87f2300405f4": { + "currencyCode": "DHRx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DHRx" + } + ], + "displayName": "Danaher xStock", + "networkLocation": { + "contractAddress": "0xdba228936f4079daf9aa906fd48a87f2300405f4" + } + }, + "dcc1a2699441079da889b1f49e12b69cc791129b": { + "currencyCode": "KOx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "KOx" + } + ], + "displayName": "Coca-Cola xStock", + "networkLocation": { + "contractAddress": "0xdcc1a2699441079da889b1f49e12b69cc791129b" + } + }, + "e1385fdd5ffb10081cd52c56584f25efa9084015": { + "currencyCode": "HOODx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "HOODx" + } + ], + "displayName": "Robinhood xStock", + "networkLocation": { + "contractAddress": "0xe1385fdd5ffb10081cd52c56584f25efa9084015" + } + }, + "e5f6d3b2405abdfe6f660e63202b25d23763160d": { + "currencyCode": "GMEx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "GMEx" + } + ], + "displayName": "Gamestop xStock", + "networkLocation": { + "contractAddress": "0xe5f6d3b2405abdfe6f660e63202b25d23763160d" + } + }, + "e92f673ca36c5e2efd2de7628f815f84807e803f": { + "currencyCode": "GOOGLx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "GOOGLx" + } + ], + "displayName": "Alphabet xStock", + "networkLocation": { + "contractAddress": "0xe92f673ca36c5e2efd2de7628f815f84807e803f" + } + }, + "e9e7cea3dedca5984780bafc599bd69add087d56": { + "currencyCode": "BUSD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BUSD" + } + ], + "displayName": "Binance USD", + "networkLocation": { + "contractAddress": "0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56" + } + }, + "eaad46f4146ded5a47b55aa7f6c48c191deaec88": { + "currencyCode": "MRVLx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MRVLx" + } + ], + "displayName": "Marvell xStock", + "networkLocation": { + "contractAddress": "0xeaad46f4146ded5a47b55aa7f6c48c191deaec88" + } + }, + "ecac9c5f704e954931349da37f60e39f515c11c1": { + "currencyCode": "LBTC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LBTC" + } + ], + "displayName": "Lombard Staked BTC", + "networkLocation": { + "contractAddress": "0xecAc9C5F704e954931349Da37F60E39f515c11c1" + } + }, + "eedb0273c5af792745180e9ff568cd01550ffa13": { + "currencyCode": "XOMx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "XOMx" + } + ], + "displayName": "Exxon Mobil xStock", + "networkLocation": { + "contractAddress": "0xeedb0273c5af792745180e9ff568cd01550ffa13" + } + }, + "f8a0bf9cf54bb92f17374d9e9a321e6a111a51bd": { + "currencyCode": "LINK", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LINK" + } + ], + "displayName": "Binance-Peg ChainLink Token", + "networkLocation": { + "contractAddress": "0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD" + } + }, + "f8a80d1cb9cfd70d03d655d9df42339846f3b3c8": { + "currencyCode": "INTCx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "INTCx" + } + ], + "displayName": "Intel xStock", + "networkLocation": { + "contractAddress": "0xf8a80d1cb9cfd70d03d655d9df42339846f3b3c8" + } + }, + "f9523e369c5f55ad72dbaa75b0a9b92b3d8b147e": { + "currencyCode": "NVOx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "NVOx" + } + ], + "displayName": "Novo Nordisk xStock", + "networkLocation": { + "contractAddress": "0xf9523e369c5f55ad72dbaa75b0a9b92b3d8b147e" + } + }, + "fb5b838b6cfeedc2873ab27866079ac55363d37e": { + "currencyCode": "FLOKI", + "denominations": [ + { + "multiplier": "1000000000", + "name": "FLOKI" + } + ], + "displayName": "FLOKI", + "networkLocation": { + "contractAddress": "0xfb5b838b6cfeedc2873ab27866079ac55363d37e" + } + }, + "fb6115445bff7b52feb98650c87f44907e58f802": { + "currencyCode": "AAVE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AAVE" + } + ], + "displayName": "Binance-Peg Aave Token", + "networkLocation": { + "contractAddress": "0xfb6115445Bff7b52FeB98650C87f44907E58f802" + } + }, + "fbf2398df672cee4afcc2a4a733222331c742a6a": { + "currencyCode": "ABBVx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ABBVx" + } + ], + "displayName": "AbbVie xStock", + "networkLocation": { + "contractAddress": "0xfbf2398df672cee4afcc2a4a733222331c742a6a" + } + }, + "fdddb57878ef9d6f681ec4381dcb626b9e69ac86": { + "currencyCode": "TQQQx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "TQQQx" + } + ], + "displayName": "TQQQ xStock", + "networkLocation": { + "contractAddress": "0xfdddb57878ef9d6f681ec4381dcb626b9e69ac86" + } + }, + "febded1b0986a8ee107f5ab1a1c5a813491deceb": { + "currencyCode": "CRCLx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CRCLx" + } + ], + "displayName": "Circle xStock", + "networkLocation": { + "contractAddress": "0xfebded1b0986a8ee107f5ab1a1c5a813491deceb" + } + }, + "febfa339e44c28e2aa9e62ea1027c9cb4e378605": { + "currencyCode": "NPC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "NPC" + } + ], + "displayName": "Non-Playable Coin", + "networkLocation": { + "contractAddress": "0xFEbfA339E44c28E2aa9E62Ea1027C9CB4e378605" + } + } + }, + "botanix": { + "0d2437f93fed6ea64ef01ccde385fb1263910c56": { + "currencyCode": "pBTC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "pBTC" + } + ], + "displayName": "Botanix Pegged Bitcoin", + "networkLocation": { + "contractAddress": "0x0d2437f93fed6ea64ef01ccde385fb1263910c56" + } + }, + "1217bfe6c773eec6cc4a38b5dc45b92292b6e189": { + "currencyCode": "oUSDT", + "denominations": [ + { + "multiplier": "1000000", + "name": "oUSDT" + } + ], + "displayName": "OpenUSDT", + "networkLocation": { + "contractAddress": "0x1217BfE6c773EEC6cc4A38b5Dc45B92292B6E189" + } + }, + "29ee6138dd4c9815f46d34a4a1ed48f46758a402": { + "currencyCode": "USDC.e", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC.e" + } + ], + "displayName": "Bridged USDC (Stargate)", + "networkLocation": { + "contractAddress": "0x29eE6138DD4C9815f46D34a4A1ed48F46758A402" + } + }, + "42725b4d9270cfe24f6852401fdda88248cb4de9": { + "currencyCode": "PUSD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PUSD" + } + ], + "displayName": "Palladium Debt Token", + "networkLocation": { + "contractAddress": "0x42725b4D9270CFe24F6852401fdDa88248CB4dE9" + } + }, + "4f1b32aecffe190d80b9f553987ed4f20450e927": { + "currencyCode": "SPIDER", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SPIDER" + } + ], + "displayName": "Spider", + "networkLocation": { + "contractAddress": "0x4f1B32AECfFE190D80B9F553987ED4f20450E927" + } + }, + "9bc574a6f1170e90d80826d86a6126d59198a3ef": { + "currencyCode": "rovBTC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "rovBTC" + } + ], + "displayName": "Rover BTC", + "networkLocation": { + "contractAddress": "0x9BC574a6f1170e90D80826D86a6126d59198A3Ef" + } + }, + "f4586028ffda7eca636864f80f8a3f2589e33795": { + "currencyCode": "stBTC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "stBTC" + } + ], + "displayName": "Botanix Staked Bitcoin", + "networkLocation": { + "contractAddress": "0xf4586028ffda7eca636864f80f8a3f2589e33795" + } + } + }, + "celo": { + "765de816845861e75a25fca122bb6898b8b1282a": { + "currencyCode": "CUSD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CUSD" + } + ], + "displayName": "Celo Dollar", + "networkLocation": { + "contractAddress": "0x765DE816845861e75A25fCA122bb6898B8B1282a" + } + }, + "d8763cba276a3738e6de85b4b3bf5fded6d6ca73": { + "currencyCode": "CEUR", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CEUR" + } + ], + "displayName": "Celo Euro", + "networkLocation": { + "contractAddress": "0xD8763CBa276a3738E6DE85b4b3bF5FDed6D6cA73" + } + } + }, + "coreum": { + "ibc078eaf11288a47609fd894070ca8a1bfcebd9e08745ea7030f95d7adee2e22ca": { + "currencyCode": "EVMOS", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "EVMOS" + } + ], + "displayName": "Evmos", + "networkLocation": { + "contractAddress": "ibc/078EAF11288A47609FD894070CA8A1BFCEBD9E08745EA7030F95D7ADEE2E22CA" + } + }, + "ibc12b178a885fc6891e0e09e1fb013973c5632b7093ce52d8f33b32e76e3bb6ea1": { + "currencyCode": "KAVA", + "denominations": [ + { + "multiplier": "1000000", + "name": "KAVA" + } + ], + "displayName": "Kava", + "networkLocation": { + "contractAddress": "ibc/12B178A885FC6891E0E09E1FB013973C5632B7093CE52D8F33B32E76E3BB6EA1" + } + }, + "ibc13b2c536bb057ac79d5616b8ea1b9540ec1f2170718caff6f0083c966fffed0b": { + "currencyCode": "OSMO", + "denominations": [ + { + "multiplier": "1000000", + "name": "OSMO" + } + ], + "displayName": "Osmosis", + "networkLocation": { + "contractAddress": "ibc/13B2C536BB057AC79D5616B8EA1B9540EC1F2170718CAFF6F0083C966FFFED0B" + } + }, + "ibc3e35008738ac049c9c1a1e37f785e947a8daa9811b3ea3b25580664294056151": { + "currencyCode": "AXL", + "denominations": [ + { + "multiplier": "1000000", + "name": "AXL" + } + ], + "displayName": "Axelar", + "networkLocation": { + "contractAddress": "ibc/3E35008738AC049C9C1A1E37F785E947A8DAA9811B3EA3B25580664294056151" + } + }, + "ibc45c001a5ae212d09879be4627c45b64d5636086285590d5145a51e18e9d16722": { + "currencyCode": "ATOM", + "denominations": [ + { + "multiplier": "1000000", + "name": "ATOM" + } + ], + "displayName": "Cosmos Hub", + "networkLocation": { + "contractAddress": "ibc/45C001A5AE212D09879BE4627C45B64D5636086285590D5145A51E18E9D16722" + } + }, + "ibc64ada1661e3c1a4293e3bb15d5bd13012d0db3d9002c117c30d7c429a32f4d51": { + "currencyCode": "GRAV", + "denominations": [ + { + "multiplier": "1000000", + "name": "GRAV" + } + ], + "displayName": "Gravity Bridge", + "networkLocation": { + "contractAddress": "ibc/64ADA1661E3C1A4293E3BB15D5BD13012D0DB3D9002C117C30D7C429A32F4D51" + } + }, + "ibc6c00e4aa0cc7618370f81f7378638ae6c48eff8c9203ce1c2357012b440ebdb7": { + "currencyCode": "USDT", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDT" + } + ], + "displayName": "USDT from Kava", + "networkLocation": { + "contractAddress": "ibc/6C00E4AA0CC7618370F81F7378638AE6C48EFF8C9203CE1C2357012B440EBDB7" + } + }, + "ibc6d42727c323c8af2821966c83e0708f0c17fb0b0de38ba5e4d23f2ee7c0e9ddc": { + "currencyCode": "BAND", + "denominations": [ + { + "multiplier": "1000000", + "name": "BAND" + } + ], + "displayName": "Band Protocol", + "networkLocation": { + "contractAddress": "ibc/6D42727C323C8AF2821966C83E0708F0C17FB0B0DE38BA5E4D23F2EE7C0E9DDC" + } + }, + "ibc81bd95b0890b8d0130755e8338cf4aa48c7cbbd149c1d66ec9f9b62afae5c4f3": { + "currencyCode": "SEI", + "denominations": [ + { + "multiplier": "1000000", + "name": "SEI" + } + ], + "displayName": "Sei Network", + "networkLocation": { + "contractAddress": "ibc/81BD95B0890B8D0130755E8338CF4AA48C7CBBD149C1D66EC9F9B62AFAE5C4F3" + } + }, + "ibcab305490f17eccae3f2b0398a572e0efb3af394b90c3a1663da28c1f0869f624": { + "currencyCode": "KUJI", + "denominations": [ + { + "multiplier": "1000000", + "name": "KUJI" + } + ], + "displayName": "Kujira", + "networkLocation": { + "contractAddress": "ibc/AB305490F17ECCAE3F2B0398A572E0EFB3AF394B90C3A1663DA28C1F0869F624" + } + }, + "ibce1e3674a0e4e1ef9c69646f9af8d9497173821826074622d831bab73ccb99a2d": { + "currencyCode": "USDC", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC" + } + ], + "displayName": "USDC from Noble", + "networkLocation": { + "contractAddress": "ibc/E1E3674A0E4E1EF9C69646F9AF8D9497173821826074622D831BAB73CCB99A2D" + } + }, + "ibcf8ca5236869f819bc006eef088e67889a26e4140339757878f0f4e229cdda858": { + "currencyCode": "DYDX", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DYDX" + } + ], + "displayName": "dYdX", + "networkLocation": { + "contractAddress": "ibc/F8CA5236869F819BC006EEF088E67889A26E4140339757878F0F4E229CDDA858" + } + }, + "usara-core1r9gc0rnxnzpq33u82f44aufgdwvyxv4wyepyck98m9v2pxua6naqr8h03z": { + "currencyCode": "SARA", + "denominations": [ + { + "multiplier": "1000000", + "name": "SARA" + } + ], + "displayName": "Pulsara", + "networkLocation": { + "contractAddress": "usara-core1r9gc0rnxnzpq33u82f44aufgdwvyxv4wyepyck98m9v2pxua6naqr8h03z" + } + } + }, + "ethDev": { + "d0a1e359811322d97991e03f863a0c30c2cf029c": { + "currencyCode": "WETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WETH" + } + ], + "displayName": "Wrapped ETH", + "networkLocation": { + "contractAddress": "0xd0a1e359811322d97991e03f863a0c30c2cf029c" + } + }, + "d1b98b6607330172f1d991521145a22bce793277": { + "currencyCode": "WBTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "WBTC" + } + ], + "displayName": "Wrapped Bitcoin", + "networkLocation": { + "contractAddress": "0xD1B98B6607330172f1D991521145A22BCe793277" + } + }, + "ff795577d9ac8bd7d90ee22b6c1703490b6512fd": { + "currencyCode": "DAI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DAI" + } + ], + "displayName": "Dai Stablecoin", + "networkLocation": { + "contractAddress": "0xff795577d9ac8bd7d90ee22b6c1703490b6512fd" + } + } + }, + "ethereum": { + "0000000000085d4780b73119b644ae5ecd22b376": { + "currencyCode": "TUSD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "TUSD" + } + ], + "displayName": "TrueUSD", + "networkLocation": { + "contractAddress": "0x0000000000085d4780B73119b644AE5ecd22b376" + } + }, + "00f3c42833c3170159af4e92dbb451fb3f708917": { + "currencyCode": "ICP", + "denominations": [ + { + "multiplier": "100000000", + "name": "ICP" + } + ], + "displayName": "Internet Computer", + "networkLocation": { + "contractAddress": "0x00f3C42833C3170159af4E92dbb451Fb3F708917" + } + }, + "028171bca77440897b824ca71d1c56cac55b68a3": { + "currencyCode": "ADAI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ADAI" + } + ], + "displayName": "Aave Interest Bearing Dai", + "networkLocation": { + "contractAddress": "0x028171bCA77440897B824Ca71D1c56caC55b68A3" + } + }, + "030ba81f1c18d280636f32af80b9aad02cf0854e": { + "currencyCode": "AWETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AWETH" + } + ], + "displayName": "Aave Interest Bearing Wrapped ETH", + "networkLocation": { + "contractAddress": "0x030ba81f1c18d280636f32af80b9aad02cf0854e" + } + }, + "044d078f1c86508e13328842cc75ac021b272958": { + "currencyCode": "PPC", + "denominations": [ + { + "multiplier": "1000000", + "name": "PPC" + } + ], + "displayName": "Peercoin", + "networkLocation": { + "contractAddress": "0x044d078F1c86508e13328842Cc75AC021B272958" + } + }, + "04fa0d235c4abf4bcf4787af4cf447de572ef828": { + "currencyCode": "UMA", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "UMA" + } + ], + "displayName": "UMA", + "networkLocation": { + "contractAddress": "0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828" + } + }, + "054c9d4c6f4ea4e14391addd1812106c97d05690": { + "currencyCode": "LLD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LLD" + } + ], + "displayName": "Liberland Dollar", + "networkLocation": { + "contractAddress": "0x054c9D4C6F4EA4E14391addD1812106c97D05690" + } + }, + "056fd409e1d7a124bd7017459dfea2f387b6d5cd": { + "currencyCode": "GUSD", + "denominations": [ + { + "multiplier": "100", + "name": "GUSD" + } + ], + "displayName": "Gemini Dollar", + "networkLocation": { + "contractAddress": "0x056fd409e1d7a124bd7017459dfea2f387b6d5cd" + } + }, + "05ec93c0365baaeabf7aeffb0972ea7ecdd39cf1": { + "currencyCode": "ABAT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ABAT" + } + ], + "displayName": "Aave Interest Bearing BAT", + "networkLocation": { + "contractAddress": "0x05ec93c0365baaeabf7aeffb0972ea7ecdd39cf1" + } + }, + "0763fdccf1ae541a5961815c0872a8c5bc6de4d7": { + "currencyCode": "SUKU", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SUKU" + } + ], + "displayName": "SUKU", + "networkLocation": { + "contractAddress": "0x0763fdCCF1aE541A5961815C0872A8c5Bc6DE4d7" + } + }, + "0954906da0bf32d5479e25f46056d22f08464cab": { + "currencyCode": "INDEX", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "INDEX" + } + ], + "displayName": "INDEX COOP", + "networkLocation": { + "contractAddress": "0x0954906da0Bf32d5479e25f46056d22f08464cab" + } + }, + "0bc529c00c6401aef6d220be8c6ea1667f6ad93e": { + "currencyCode": "YFI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "YFI" + } + ], + "displayName": "Yearn Finance", + "networkLocation": { + "contractAddress": "0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e" + } + }, + "0d8775f648430679a709e98d2b0cb6250d2887ef": { + "currencyCode": "BAT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BAT" + } + ], + "displayName": "Basic Attention Token", + "networkLocation": { + "contractAddress": "0x0D8775F648430679A709E98d2b0Cb6250d2887EF", + "overrideGasLimit": "75000" + } + }, + "0f5d2fb29fb7d3cfee444a200298f468908cc942": { + "currencyCode": "MANA", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MANA" + } + ], + "displayName": "Decentraland", + "networkLocation": { + "contractAddress": "0x0F5D2fB29fb7d3CFeE444a200298f468908cC942" + } + }, + "111111111117dc0aa78b770fa6a738034120c302": { + "currencyCode": "1INCH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "1INCH" + } + ], + "displayName": "1inch", + "networkLocation": { + "contractAddress": "0x111111111117dc0aa78b770fa6a738034120c302" + } + }, + "1151cb3d861920e07a38e03eead12c32178567f6": { + "currencyCode": "BONK", + "denominations": [ + { + "multiplier": "100000", + "name": "BONK" + } + ], + "displayName": "Bonk", + "networkLocation": { + "contractAddress": "0x1151CB3d861920e07a38e03eEAd12C32178567F6" + } + }, + "1494ca1f11d487c2bbe4543e90080aeba4ba3c2b": { + "currencyCode": "DPI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DPI" + } + ], + "displayName": "DefiPulse Index", + "networkLocation": { + "contractAddress": "0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b" + } + }, + "158079ee67fce2f58472a96584a73c7ab9ac95c1": { + "currencyCode": "CREP", + "denominations": [ + { + "multiplier": "100000000", + "name": "CREP" + } + ], + "displayName": "Compound Augur", + "networkLocation": { + "contractAddress": "0x158079ee67fce2f58472a96584a73c7ab9ac95c1" + } + }, + "15d4c048f83bd7e37d49ea4c83a07267ec4203da": { + "currencyCode": "GALAV1", + "denominations": [ + { + "multiplier": "100000000", + "name": "GALAV1" + } + ], + "displayName": "Gala (old)", + "networkLocation": { + "contractAddress": "0x15D4c048F83bd7e37d49eA4C83a07267Ec4203dA" + } + }, + "1776e1f26f98b1a5df9cd347953a26dd3cb46671": { + "currencyCode": "NMR", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "NMR" + } + ], + "displayName": "Numeraire", + "networkLocation": { + "contractAddress": "0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671" + } + }, + "1985365e9f78359a9b6ad760e32412f4a445e862": { + "currencyCode": "REP", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "REP" + } + ], + "displayName": "Augur", + "networkLocation": { + "contractAddress": "0x1985365e9f78359a9B6AD760e32412f4a445E862" + } + }, + "1c5db575e2ff833e46a2e9864c22f4b22e0b37c2": { + "currencyCode": "RENZEC", + "denominations": [ + { + "multiplier": "100000000", + "name": "RENZEC" + } + ], + "displayName": "Ren ZEC", + "networkLocation": { + "contractAddress": "0x1c5db575e2ff833e46a2e9864c22f4b22e0b37c2" + } + }, + "1f573d6fb3f13d689ff844b4ce37794d79a7ff1c": { + "currencyCode": "BNT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BNT" + } + ], + "displayName": "Bancor", + "networkLocation": { + "contractAddress": "0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C" + } + }, + "1f9840a85d5af5bf1d1762f925bdaddc4201f984": { + "currencyCode": "UNI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "UNI" + } + ], + "displayName": "Uniswap", + "networkLocation": { + "contractAddress": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984" + } + }, + "221657776846890989a759ba2973e427dff5c9bb": { + "currencyCode": "REPV2", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "REPV2" + } + ], + "displayName": "Augur v2", + "networkLocation": { + "contractAddress": "0x221657776846890989a759BA2973e427DfF5C9bB" + } + }, + "2260fac5e5542a773aa44fbcfedf7c193bc2c599": { + "currencyCode": "WBTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "WBTC" + } + ], + "displayName": "Wrapped Bitcoin", + "networkLocation": { + "contractAddress": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599" + } + }, + "2b591e99afe9f32eaa6214f7b7629768c40eeb39": { + "currencyCode": "eHEX", + "denominations": [ + { + "multiplier": "100000000", + "name": "eHEX" + } + ], + "displayName": "HEX on Ethereum", + "networkLocation": { + "contractAddress": "0x2b591e99afe9f32eaa6214f7b7629768c40eeb39" + } + }, + "2ba592f78db6436527729929aaf6c908497cb200": { + "currencyCode": "CREAM", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CREAM" + } + ], + "displayName": "Cream", + "networkLocation": { + "contractAddress": "0x2ba592F78dB6436527729929AAf6c908497cB200" + } + }, + "2e91e3e54c5788e9fdd6a181497fdcea1de1bcc1": { + "currencyCode": "HERC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "HERC" + } + ], + "displayName": "Hercules", + "networkLocation": { + "contractAddress": "0x2e91E3e54C5788e9FdD6A181497FDcEa1De1bcc1" + } + }, + "3073f7aaa4db83f95e9fff17424f71d4751a3073": { + "currencyCode": "MOVE", + "denominations": [ + { + "multiplier": "100000000", + "name": "MOVE" + } + ], + "displayName": "Movement", + "networkLocation": { + "contractAddress": "0x3073f7aAA4DB83f95e9FFf17424F71D4751a3073" + } + }, + "320623b8e4ff03373931769a31fc52a4e78b5d70": { + "currencyCode": "RSR", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "RSR" + } + ], + "displayName": "Reserve Rights", + "networkLocation": { + "contractAddress": "0x320623b8e4ff03373931769a31fc52a4e78b5d70" + } + }, + "3472a5a71965499acd81997a54bba8d852c6e53d": { + "currencyCode": "BADGER", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BADGER" + } + ], + "displayName": "Badger", + "networkLocation": { + "contractAddress": "0x3472A5A71965499acd81997a54BBA8D852C6E53d", + "overrideGasLimit": "300000" + } + }, + "3597bfd533a99c9aa083587b074434e61eb0a258": { + "currencyCode": "DENT", + "denominations": [ + { + "multiplier": "100000000", + "name": "DENT" + } + ], + "displayName": "Dent", + "networkLocation": { + "contractAddress": "0x3597bfd533a99c9aa083587b074434e61eb0a258" + } + }, + "35f6b052c598d933d69a4eec4d04c73a191fe6c2": { + "currencyCode": "ASNX", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ASNX" + } + ], + "displayName": "Aave Interest Bearing SNX", + "networkLocation": { + "contractAddress": "0x35f6b052c598d933d69a4eec4d04c73a191fe6c2" + } + }, + "3845badade8e6dff049820680d1f14bd3903a5d0": { + "currencyCode": "SAND", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SAND" + } + ], + "displayName": "SAND", + "networkLocation": { + "contractAddress": "0x3845badAde8e6dFF049820680d1F14bD3903a5d0" + } + }, + "38e4adb44ef08f22f5b5b76a8f0c2d0dcbe7dca1": { + "currencyCode": "CVP", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CVP" + } + ], + "displayName": "Concentrated Voting Power", + "networkLocation": { + "contractAddress": "0x38e4adb44ef08f22f5b5b76a8f0c2d0dcbe7dca1" + } + }, + "39aa39c021dfbae8fac545936693ac917d5e7563": { + "currencyCode": "CUSDC", + "denominations": [ + { + "multiplier": "100000000", + "name": "CUSDC" + } + ], + "displayName": "Compound USDC", + "networkLocation": { + "contractAddress": "0x39aa39c021dfbae8fac545936693ac917d5e7563" + } + }, + "39c6b3e42d6a679d7d776778fe880bc9487c2eda": { + "currencyCode": "AKNC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AKNC" + } + ], + "displayName": "Aave Interest Bearing KNC", + "networkLocation": { + "contractAddress": "0x39c6b3e42d6a679d7d776778fe880bc9487c2eda" + } + }, + "3a15461d8ae0f0fb5fa2629e9da7d66a794a6e37": { + "currencyCode": "USDRIF", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "USDRIF" + } + ], + "displayName": "RIF US Dollar", + "networkLocation": { + "contractAddress": "0x3a15461d8ae0f0fb5fa2629e9da7d66a794a6e37" + } + }, + "3a4f40631a4f906c2bad353ed06de7a5d3fcb430": { + "currencyCode": "PLA", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PLA" + } + ], + "displayName": "PlayDapp Token", + "networkLocation": { + "contractAddress": "0x3a4f40631a4f906c2BaD353Ed06De7A5D3fCb430" + } + }, + "3c3a81e81dc49a522a592e7622a7e711c06bf354": { + "currencyCode": "MNT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MNT" + } + ], + "displayName": "Mantle", + "networkLocation": { + "contractAddress": "0x3c3a81e81dc49a522a592e7622a7e711c06bf354" + } + }, + "3ed3b47dd13ec9a98b44e6204a523e766b225811": { + "currencyCode": "AUSDT", + "denominations": [ + { + "multiplier": "1000000", + "name": "AUSDT" + } + ], + "displayName": "Aave Interest Bearing USDT", + "networkLocation": { + "contractAddress": "0x3ed3b47dd13ec9a98b44e6204a523e766b225811" + } + }, + "408133907cd3a75db2b031973b9ea1c084500a15": { + "currencyCode": "WLTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "WLTC" + } + ], + "displayName": "Wrapped Litecoin", + "networkLocation": { + "contractAddress": "0x408133907cd3A75db2B031973b9ea1C084500a15" + } + }, + "408e41876cccdc0f92210600ef50372656052a38": { + "currencyCode": "REN", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "REN" + } + ], + "displayName": "Ren", + "networkLocation": { + "contractAddress": "0x408e41876cccdc0f92210600ef50372656052a38" + } + }, + "4156d3342d5c385a87d264f90653733592000581": { + "currencyCode": "SALT", + "denominations": [ + { + "multiplier": "100000000", + "name": "SALT" + } + ], + "displayName": "SALT", + "networkLocation": { + "contractAddress": "0x4156D3342D5c385a87D264F90653733592000581", + "overrideGasLimit": "300000" + } + }, + "419d0d8bdd9af5e606ae2232ed285aff190e711b": { + "currencyCode": "FUN", + "denominations": [ + { + "multiplier": "100000000", + "name": "FUN" + } + ], + "displayName": "FunFair", + "networkLocation": { + "contractAddress": "0x419D0d8BdD9aF5e606Ae2232ed285Aff190E711b" + } + }, + "420412e765bfa6d85aaac94b4f7b708c89be2e2b": { + "currencyCode": "BRZ", + "denominations": [ + { + "multiplier": "10000", + "name": "BRZ" + } + ], + "displayName": "BRZ Token", + "networkLocation": { + "contractAddress": "0x420412E765BFa6d85aaaC94b4f7b708C89be2e2B" + } + }, + "429881672b9ae42b8eba0e26cd9c73711b891ca5": { + "currencyCode": "PICKLE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PICKLE" + } + ], + "displayName": "PickleToken", + "networkLocation": { + "contractAddress": "0x429881672B9AE42b8EbA0E26cD9C73711b891Ca5" + } + }, + "446c9033e7516d820cc9a2ce2d0b7328b579406f": { + "currencyCode": "SOLVE", + "denominations": [ + { + "multiplier": "100000000", + "name": "SOLVE" + } + ], + "displayName": "Healthcare Administration Token", + "networkLocation": { + "contractAddress": "0x446c9033e7516d820cc9a2ce2d0b7328b579406f" + } + }, + "455e53cbb86018ac2b8092fdcd39d8444affc3f6": { + "currencyCode": "POL", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "POL" + } + ], + "displayName": "Polygon", + "networkLocation": { + "contractAddress": "0x455e53CBB86018Ac2B8092FdCd39d8444aFFC3F6" + } + }, + "4575f41308ec1483f3d399aa9a2826d74da13deb": { + "currencyCode": "OXT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "OXT" + } + ], + "displayName": "Orchid", + "networkLocation": { + "contractAddress": "0x4575f41308EC1483f3d399aa9a2826d74Da13Deb" + } + }, + "45804880de22913dafe09f4980848ece6ecbaf78": { + "currencyCode": "PAXG", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PAXG" + } + ], + "displayName": "Paxos Gold", + "networkLocation": { + "contractAddress": "0x45804880De22913dAFE09f4980848ECE6EcbAf78" + } + }, + "459086f2376525bdceba5bdda135e4e9d3fef5bf": { + "currencyCode": "RENBCH", + "denominations": [ + { + "multiplier": "100000000", + "name": "RENBCH" + } + ], + "displayName": "Ren BCH", + "networkLocation": { + "contractAddress": "0x459086f2376525bdceba5bdda135e4e9d3fef5bf" + } + }, + "4a16baf414b8e637ed12019fad5dd705735db2e0": { + "currencyCode": "QCAD", + "denominations": [ + { + "multiplier": "100", + "name": "QCAD" + } + ], + "displayName": "QCAD", + "networkLocation": { + "contractAddress": "0x4A16BAf414b8e637Ed12019faD5Dd705735DB2e0" + } + }, + "4a220e6096b25eadb88358cb44068a3248254675": { + "currencyCode": "QNT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "QNT" + } + ], + "displayName": "Quant", + "networkLocation": { + "contractAddress": "0x4a220e6096b25eadb88358cb44068a3248254675" + } + }, + "4c1746a800d224393fe2470c70a35717ed4ea5f1": { + "currencyCode": "PLUME", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PLUME" + } + ], + "displayName": "Plume", + "networkLocation": { + "contractAddress": "0x4C1746A800D224393fE2470C70A35717eD4eA5F1" + } + }, + "4d224452801aced8b2f0aebe155379bb5d594381": { + "currencyCode": "APE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "APE" + } + ], + "displayName": "ApeCoin", + "networkLocation": { + "contractAddress": "0x4d224452801aced8b2f0aebe155379bb5d594381" + } + }, + "4d5f47fa6a74757f35c14fd3a6ef8e3c9bc514e8": { + "currencyCode": "aEthWETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "aEthWETH" + } + ], + "displayName": "Aave Ethereum WETH", + "networkLocation": { + "contractAddress": "0x4d5F47FA6A74757f35C14fD3a6Ef8E3C9BC514E8" + } + }, + "4ddc2d193948926d02f9b1fe9e1daa0718270ed5": { + "currencyCode": "CETH", + "denominations": [ + { + "multiplier": "100000000", + "name": "CETH" + } + ], + "displayName": "Compound ETH", + "networkLocation": { + "contractAddress": "0x4ddc2d193948926d02f9b1fe9e1daa0718270ed5" + } + }, + "4e15361fd6b4bb609fa63c81a2be19d873717870": { + "currencyCode": "FTM", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "FTM" + } + ], + "displayName": "Fantom", + "networkLocation": { + "contractAddress": "0x4e15361fd6b4bb609fa63c81a2be19d873717870" + } + }, + "4fabb145d64652a948d72533023f6e7a623c7c53": { + "currencyCode": "BUSD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BUSD" + } + ], + "displayName": "Binance USD", + "networkLocation": { + "contractAddress": "0x4Fabb145d64652a948d72533023f6E7A623C7C53" + } + }, + "514910771af9ca656af840dff83e8264ecf986ca": { + "currencyCode": "LINK", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LINK" + } + ], + "displayName": "Chainlink", + "networkLocation": { + "contractAddress": "0x514910771af9ca656af840dff83e8264ecf986ca" + } + }, + "5165d24277cd063f5ac44efd447b27025e888f37": { + "currencyCode": "AYFI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AYFI" + } + ], + "displayName": "Aave Interest Bearing YFI", + "networkLocation": { + "contractAddress": "0x5165d24277cd063f5ac44efd447b27025e888f37" + } + }, + "56072c95faa701256059aa122697b133aded9279": { + "currencyCode": "SKY", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SKY" + } + ], + "displayName": "Sky (formerly MKR)", + "networkLocation": { + "contractAddress": "0x56072C95FAA701256059aa122697B133aDEd9279" + } + }, + "57ab1ec28d129707052df4df418d58a2d46d5f51": { + "currencyCode": "SUSD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SUSD" + } + ], + "displayName": "Synthetix USD", + "networkLocation": { + "contractAddress": "0x57Ab1ec28D129707052df4dF418D58a2D46d5f51" + } + }, + "5d3a536e4d6dbd6114cc1ead35777bab948e3643": { + "currencyCode": "CDAI", + "denominations": [ + { + "multiplier": "100000000", + "name": "CDAI" + } + ], + "displayName": "Compound DAI", + "networkLocation": { + "contractAddress": "0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643" + } + }, + "5ee5bf7ae06d1be5997a1a72006fe6c607ec6de8": { + "currencyCode": "aEthWBTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "aEthWBTC" + } + ], + "displayName": "Aave Ethereum WBTC", + "networkLocation": { + "contractAddress": "0x5Ee5bf7ae06D1Be5997A1A72006FE6C607eC6DE8" + } + }, + "667088b212ce3d06a1b553a7221e1fd19000d9af": { + "currencyCode": "WINGS", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WINGS" + } + ], + "displayName": "Wings", + "networkLocation": { + "contractAddress": "0x667088b212ce3d06a1b553a7221E1fD19000d9aF" + } + }, + "6810e776880c02933d47db1b9fc05908e5386b96": { + "currencyCode": "GNO", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "GNO" + } + ], + "displayName": "Gnosis", + "networkLocation": { + "contractAddress": "0x6810e776880C02933D47DB1b9fc05908e5386b96" + } + }, + "6982508145454ce325ddbe47a25d4ec3d2311933": { + "currencyCode": "PEPE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PEPE" + } + ], + "displayName": "Pepe", + "networkLocation": { + "contractAddress": "0x6982508145454Ce325dDbE47a25d4ec3d2311933" + } + }, + "6b175474e89094c44da98b954eedeac495271d0f": { + "currencyCode": "DAI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DAI" + } + ], + "displayName": "Dai Stablecoin", + "networkLocation": { + "contractAddress": "0x6B175474E89094C44Da98b954EedeAC495271d0F" + } + }, + "6b3595068778dd592e39a122f4f5a5cf09c90fe2": { + "currencyCode": "SUSHI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SUSHI" + } + ], + "displayName": "Sushi Token", + "networkLocation": { + "contractAddress": "0x6b3595068778dd592e39a122f4f5a5cf09c90fe2" + } + }, + "6c3ea9036406852006290770bedfcaba0e23a0e8": { + "currencyCode": "PYUSD", + "denominations": [ + { + "multiplier": "1000000", + "name": "PYUSD" + } + ], + "displayName": "PayPal USD", + "networkLocation": { + "contractAddress": "0x6c3ea9036406852006290770bedfcaba0e23a0e8" + } + }, + "6c5024cd4f8a59110119c56f8933403a539555eb": { + "currencyCode": "ASUSD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ASUSD" + } + ], + "displayName": "Aave Interest Bearing SUSD", + "networkLocation": { + "contractAddress": "0x6c5024cd4f8a59110119c56f8933403a539555eb" + } + }, + "6c6ee5e31d828de241282b9606c8e98ea48526e2": { + "currencyCode": "HOT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "HOT" + } + ], + "displayName": "Holo", + "networkLocation": { + "contractAddress": "0x6c6ee5e31d828de241282b9606c8e98ea48526e2" + } + }, + "6c8c6b02e7b2be14d4fa6022dfd6d75921d90e4e": { + "currencyCode": "CBAT", + "denominations": [ + { + "multiplier": "100000000", + "name": "CBAT" + } + ], + "displayName": "Compound BAT", + "networkLocation": { + "contractAddress": "0x6c8c6b02e7b2be14d4fa6022dfd6d75921d90e4e" + } + }, + "72e4f9f808c49a2a61de9c5896298920dc4eeea9": { + "currencyCode": "BITCOIN", + "denominations": [ + { + "multiplier": "100000000", + "name": "BITCOIN" + } + ], + "displayName": "HarryPotterObamaSonic10Inu", + "networkLocation": { + "contractAddress": "0x72e4f9f808c49a2a61de9c5896298920dc4eeea9" + } + }, + "7420b4b9a0110cdc71fb720908340c03f9bc03ec": { + "currencyCode": "JASMY", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "JASMY" + } + ], + "displayName": "JasmyCoin", + "networkLocation": { + "contractAddress": "0x7420B4b9a0110cdC71fB720908340C03F9Bc03EC" + } + }, + "74232704659ef37c08995e386a2e26cc27a8d7b1": { + "currencyCode": "STRK", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "STRK" + } + ], + "displayName": "Strike Token", + "networkLocation": { + "contractAddress": "0x74232704659ef37c08995e386a2e26cc27a8d7b1" + } + }, + "761d38e5ddf6ccf6cf7c55759d5210750b5d60f3": { + "currencyCode": "ELON", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ELON" + } + ], + "displayName": "Dogelon Mars", + "networkLocation": { + "contractAddress": "0x761d38e5ddf6ccf6cf7c55759d5210750b5d60f3" + } + }, + "7d1afa7b718fb893db30a3abc0cfc608aacfebb0": { + "currencyCode": "MATIC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MATIC" + } + ], + "displayName": "Polygon (old)", + "networkLocation": { + "contractAddress": "0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0" + } + }, + "7dd9c5cba05e151c895fde1cf355c9a1d5da6429": { + "currencyCode": "GLM", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "GLM" + } + ], + "displayName": "Golem", + "networkLocation": { + "contractAddress": "0x7DD9c5Cba05E151C895FDe1CF355C9A1D5DA6429" + } + }, + "7ddc52c4de30e94be3a6a0a2b259b2850f421989": { + "currencyCode": "GMT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "GMT" + } + ], + "displayName": "GMT", + "networkLocation": { + "contractAddress": "0x7Ddc52c4De30e94Be3A6A0A2b259b2850f421989" + } + }, + "7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9": { + "currencyCode": "AAVE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AAVE" + } + ], + "displayName": "Aave", + "networkLocation": { + "contractAddress": "0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9" + } + }, + "808507121b80c02388fad14726482e061b8da827": { + "currencyCode": "PENDLE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PENDLE" + } + ], + "displayName": "Pendle", + "networkLocation": { + "contractAddress": "0x808507121b80c02388fad14726482e061b8da827" + } + }, + "817bbdbc3e8a1204f3691d14bb44992841e3db35": { + "currencyCode": "CUDOS", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CUDOS" + } + ], + "displayName": "CUDOS", + "networkLocation": { + "contractAddress": "0x817bbDbC3e8A1204f3691d14bB44992841e3dB35" + } + }, + "818fc6c2ec5986bc6e2cbf00939d90556ab12ce5": { + "currencyCode": "KIN", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "KIN" + } + ], + "displayName": "Kin", + "networkLocation": { + "contractAddress": "0x818Fc6C2Ec5986bc6E2CBf00939d90556aB12ce5", + "overrideGasLimit": "300000" + } + }, + "8207c1ffc5b6804f6024322ccf34f29c3541ae26": { + "currencyCode": "OGN", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "OGN" + } + ], + "displayName": "Origin", + "networkLocation": { + "contractAddress": "0x8207c1ffc5b6804f6024322ccf34f29c3541ae26" + } + }, + "8236a87084f8b84306f72007f36f2618a5634494": { + "currencyCode": "LBTC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LBTC" + } + ], + "displayName": "Lombard Staked BTC", + "networkLocation": { + "contractAddress": "0x8236a87084f8b84306f72007f36f2618a5634494" + } + }, + "8292bb45bf1ee4d140127049757c2e0ff06317ed": { + "currencyCode": "RLUSD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "RLUSD" + } + ], + "displayName": "Ripple USD", + "networkLocation": { + "contractAddress": "0x8292Bb45bf1Ee4d140127049757C2E0fF06317eD" + } + }, + "8457ca5040ad67fdebbcc8edce889a335bc0fbfb": { + "currencyCode": "ALT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ALT" + } + ], + "displayName": "AltLayer", + "networkLocation": { + "contractAddress": "0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb" + } + }, + "875773784af8135ea0ef43b5a374aad105c5d39e": { + "currencyCode": "IDLE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "IDLE" + } + ], + "displayName": "Idle Finance", + "networkLocation": { + "contractAddress": "0x875773784Af8135eA0ef43b5a374AaD105c5D39e" + } + }, + "89d24a6b4ccb1b6faa2625fe562bdd9a23260359": { + "currencyCode": "SAI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SAI" + } + ], + "displayName": "Sai Stablecoin", + "networkLocation": { + "contractAddress": "0x89d24a6b4ccb1b6faa2625fe562bdd9a23260359" + } + }, + "8daebade922df735c38c80c7ebd708af50815faa": { + "currencyCode": "TBTC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "TBTC" + } + ], + "displayName": "tBTC", + "networkLocation": { + "contractAddress": "0x8dAEBADE922dF735c38C80C7eBD708Af50815fAa" + } + }, + "8e870d67f660d95d5be530380d0ec0bd388289e1": { + "currencyCode": "USDP", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "USDP" + } + ], + "displayName": "Pax Dollar", + "networkLocation": { + "contractAddress": "0x8e870d67f660d95d5be530380d0ec0bd388289e1" + } + }, + "8ed97a637a790be1feff5e888d43629dc05408f6": { + "currencyCode": "NPC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "NPC" + } + ], + "displayName": "Non-Playable Coin", + "networkLocation": { + "contractAddress": "0x8ed97a637a790be1feff5e888d43629dc05408f6" + } + }, + "92d6c1e31e14520e676a687f0a93788b716beff5": { + "currencyCode": "DYDX", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DYDX" + } + ], + "displayName": "dYdX (on Ethereum)", + "networkLocation": { + "contractAddress": "0x92d6c1e31e14520e676a687f0a93788b716beff5" + } + }, + "95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce": { + "currencyCode": "SHIB", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SHIB" + } + ], + "displayName": "SHIBA INU", + "networkLocation": { + "contractAddress": "0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce" + } + }, + "960b236a07cf122663c4303350609a66a7b288c0": { + "currencyCode": "ANTV1", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ANTV1" + } + ], + "displayName": "Aragon", + "networkLocation": { + "contractAddress": "0x960b236A07cf122663c4303350609A66A7B288C0" + } + }, + "967da4048cd07ab37855c090aaf366e4ce1b9f48": { + "currencyCode": "OCEAN", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "OCEAN" + } + ], + "displayName": "OCEAN", + "networkLocation": { + "contractAddress": "0x967da4048cD07aB37855c090aAF366e4ce1b9F48" + } + }, + "9992ec3cf6a55b00978cddf2b27bc6882d88d1ec": { + "currencyCode": "POLY", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "POLY" + } + ], + "displayName": "Polymath Network", + "networkLocation": { + "contractAddress": "0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC" + } + }, + "9cdf242ef7975d8c68d5c1f5b6905801699b1940": { + "currencyCode": "WHITE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WHITE" + } + ], + "displayName": "WhiteRock", + "networkLocation": { + "contractAddress": "0x9cdf242Ef7975D8c68D5C1F5B6905801699b1940" + } + }, + "9f8f72aa9304c8b593d555f12ef6589cc3a579a2": { + "currencyCode": "MKR", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MKR" + } + ], + "displayName": "Maker", + "networkLocation": { + "contractAddress": "0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2" + } + }, + "9ff58f4ffb29fa2266ab25e75e2a8b3503311656": { + "currencyCode": "AWBTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "AWBTC" + } + ], + "displayName": "Aave Interest Bearing Wrapped BTC", + "networkLocation": { + "contractAddress": "0x9ff58f4ffb29fa2266ab25e75e2a8b3503311656" + } + }, + "a06bc25b5805d5f8d82847d191cb4af5a3e873e0": { + "currencyCode": "ALINK", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ALINK" + } + ], + "displayName": "Aave Interest Bearing LINK", + "networkLocation": { + "contractAddress": "0xa06bc25b5805d5f8d82847d191cb4af5a3e873e0" + } + }, + "a0b73e1ff0b80914ab6fe0444e65848c4c34450b": { + "currencyCode": "CRO", + "denominations": [ + { + "multiplier": "100000000", + "name": "CRO" + } + ], + "displayName": "Cronos Coin", + "networkLocation": { + "contractAddress": "0xa0b73e1ff0b80914ab6fe0444e65848c4c34450b" + } + }, + "a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { + "currencyCode": "USDC", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC" + } + ], + "displayName": "USD Coin", + "networkLocation": { + "contractAddress": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" + } + }, + "a117000000f279d81a1d3cc75430faa017fa5a2e": { + "currencyCode": "ANT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ANT" + } + ], + "displayName": "Aragon", + "networkLocation": { + "contractAddress": "0xa117000000f279D81A1D3cc75430fAA017FA5A2e" + } + }, + "a2cd3d43c775978a96bdbf12d733d5a1ed94fb18": { + "currencyCode": "XCN", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "XCN" + } + ], + "displayName": "Onyxcoin", + "networkLocation": { + "contractAddress": "0xa2cd3d43c775978a96bdbf12d733d5a1ed94fb18" + } + }, + "a3931d71877c0e7a3148cb7eb4463524fec27fbd": { + "currencyCode": "sUSDS", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "sUSDS" + } + ], + "displayName": "sUSDS", + "networkLocation": { + "contractAddress": "0xa3931d71877c0e7a3148cb7eb4463524fec27fbd" + } + }, + "a3d58c4e56fedcae3a7c43a725aee9a71f0ece4e": { + "currencyCode": "MET", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MET" + } + ], + "displayName": "Metronome", + "networkLocation": { + "contractAddress": "0xa3d58c4e56fedcae3a7c43a725aee9a71f0ece4e" + } + }, + "a462bde22d98335e18a21555b6752db93a937cff": { + "currencyCode": "BOBBY", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BOBBY" + } + ], + "displayName": "Kennedy Memecoin", + "networkLocation": { + "contractAddress": "0xa462bdE22D98335E18A21555b6752dB93a937cFf" + } + }, + "a4bdb11dc0a2bec88d24a3aa1e6bb17201112ebe": { + "currencyCode": "USDSC", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDSC" + } + ], + "displayName": "StableUSD Classic", + "networkLocation": { + "contractAddress": "0xA4Bdb11dc0a2bEC88d24A3aa1E6Bb17201112eBe" + } + }, + "a685a61171bb30d4072b338c80cb7b2c865c873e": { + "currencyCode": "AMANA", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AMANA" + } + ], + "displayName": "Aave Interest Bearing MANA", + "networkLocation": { + "contractAddress": "0xa685a61171bb30d4072b338c80cb7b2c865c873e" + } + }, + "a74476443119a942de498590fe1f2454d7d4ac0d": { + "currencyCode": "GNT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "GNT" + } + ], + "displayName": "Golem (old)", + "networkLocation": { + "contractAddress": "0xa74476443119A942dE498590Fe1f2454d7D4aC0d" + } + }, + "ad32a8e6220741182940c5abf610bde99e737b2d": { + "currencyCode": "DOUGH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DOUGH" + } + ], + "displayName": "PieDAO", + "networkLocation": { + "contractAddress": "0xad32a8e6220741182940c5abf610bde99e737b2d" + } + }, + "b1cd6e4153b2a390cf00a6556b0fc1458c4a5533": { + "currencyCode": "ETHBNT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ETHBNT" + } + ], + "displayName": "BNT Smart Token Relay", + "networkLocation": { + "contractAddress": "0xb1CD6e4153B2a390Cf00A6556b0fC1458C4A5533" + } + }, + "b3319f5d18bc0d84dd1b4825dcde5d5f7266d407": { + "currencyCode": "CZRX", + "denominations": [ + { + "multiplier": "100000000", + "name": "CZRX" + } + ], + "displayName": "Compound ZRX", + "networkLocation": { + "contractAddress": "0xb3319f5d18bc0d84dd1b4825dcde5d5f7266d407" + } + }, + "b4bebd34f6daafd808f73de0d10235a92fbb6c3d": { + "currencyCode": "YETI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "YETI" + } + ], + "displayName": "Yearn Ecosystem Token Index", + "networkLocation": { + "contractAddress": "0xb4bebd34f6daafd808f73de0d10235a92fbb6c3d" + } + }, + "b50721bcf8d664c30412cfbc6cf7a15145234ad1": { + "currencyCode": "ARB", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ARB" + } + ], + "displayName": "Arbitrum DAO", + "networkLocation": { + "contractAddress": "0xB50721BCf8d664c30412Cfbc6cf7a15145234ad1" + } + }, + "b62132e35a6c13ee1ee0f84dc5d40bad8d815206": { + "currencyCode": "NEXO", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "NEXO" + } + ], + "displayName": "Nexo", + "networkLocation": { + "contractAddress": "0xb62132e35a6c13ee1ee0f84dc5d40bad8d815206" + } + }, + "b64ef51c888972c908cfacf59b47c1afbc0ab8ac": { + "currencyCode": "STORJ", + "denominations": [ + { + "multiplier": "100000000", + "name": "STORJ" + } + ], + "displayName": "Storj", + "networkLocation": { + "contractAddress": "0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC" + } + }, + "b8c77482e45f1f44de1745f52c74426c631bdd52": { + "currencyCode": "BNB", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BNB" + } + ], + "displayName": "Binance", + "networkLocation": { + "contractAddress": "0xB8c77482e45F1F44dE1745F52C74426C631bDD52" + } + }, + "b9d7cb55f463405cdfbe4e90a6d2df01c2b92bf1": { + "currencyCode": "AUNI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AUNI" + } + ], + "displayName": "Aave Interest Bearing UNI", + "networkLocation": { + "contractAddress": "0xb9d7cb55f463405cdfbe4e90a6d2df01c2b92bf1" + } + }, + "ba100000625a3754423978a60c9317c58a424e3d": { + "currencyCode": "BAL", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BAL" + } + ], + "displayName": "Balancer", + "networkLocation": { + "contractAddress": "0xba100000625a3754423978a60c9317c58a424e3d" + } + }, + "ba11d00c5f74255f56a5e366f4f77f5a186d7f55": { + "currencyCode": "BAND", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BAND" + } + ], + "displayName": "BAND", + "networkLocation": { + "contractAddress": "0xba11d00c5f74255f56a5e366f4f77f5a186d7f55" + } + }, + "bb0e17ef65f82ab018d8edd776e8dd940327b28b": { + "currencyCode": "AXS", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AXS" + } + ], + "displayName": "Axie Infinity Shard", + "networkLocation": { + "contractAddress": "0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b" + } + }, + "bbbbca6a901c926f240b89eacb641d8aec7aeafd": { + "currencyCode": "LRC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LRC" + } + ], + "displayName": "LoopringCoin V2", + "networkLocation": { + "contractAddress": "0xbbbbca6a901c926f240b89eacb641d8aec7aeafd" + } + }, + "bcca60bb61934080951369a648fb03df4f96263c": { + "currencyCode": "AUSDC", + "denominations": [ + { + "multiplier": "1000000", + "name": "AUSDC" + } + ], + "displayName": "Aave Interest Bearing USDC", + "networkLocation": { + "contractAddress": "0xbcca60bb61934080951369a648fb03df4f96263c" + } + }, + "bea269038eb75bdab47a9c04d0f5c572d94b93d5": { + "currencyCode": "WFIO", + "denominations": [ + { + "multiplier": "1000000000", + "name": "WFIO" + } + ], + "displayName": "Wrapped FIO", + "networkLocation": { + "contractAddress": "0xbEA269038Eb75BdAB47a9C04D0F5c572d94b93D5" + } + }, + "bf5495efe5db9ce00f80364c8b423567e58d2110": { + "currencyCode": "ezETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ezETH" + } + ], + "displayName": "Renzo Restaked ETH", + "networkLocation": { + "contractAddress": "0xbf5495Efe5DB9ce00f80364C8B423567e58d2110" + } + }, + "c00e94cb662c3520282e6f5717214004a7f26888": { + "currencyCode": "COMP", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "COMP" + } + ], + "displayName": "Compound", + "networkLocation": { + "contractAddress": "0xc00e94cb662c3520282e6f5717214004a7f26888" + } + }, + "c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f": { + "currencyCode": "SNX", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SNX" + } + ], + "displayName": "Synthetix Network", + "networkLocation": { + "contractAddress": "0xc011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f" + } + }, + "c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "currencyCode": "WETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WETH" + } + ], + "displayName": "Wrapped ETH", + "networkLocation": { + "contractAddress": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" + } + }, + "c11b1268c1a384e55c48c2391d8d480264a3a7f4": { + "currencyCode": "CWBTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "CWBTC" + } + ], + "displayName": "Compound WBTC", + "networkLocation": { + "contractAddress": "0xc11b1268c1a384e55c48c2391d8d480264a3a7f4" + } + }, + "c434268603ca8854e0be1a3ff15cad73bd6ec49a": { + "currencyCode": "ZAPI", + "denominations": [ + { + "multiplier": "1000000000", + "name": "ZAPI" + } + ], + "displayName": "Zapicorn", + "networkLocation": { + "contractAddress": "0xc434268603cA8854e0Be1a3fF15CaD73BD6eC49A" + } + }, + "c66d4059e14180a2f66994e404c5a7c799b1e1b7": { + "currencyCode": "LLM", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LLM" + } + ], + "displayName": "Liberland Merit", + "networkLocation": { + "contractAddress": "0xc66D4059e14180A2f66994E404c5a7c799B1E1B7" + } + }, + "c713e5e149d5d0715dcd1c156a020976e7e56b88": { + "currencyCode": "AMKR", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AMKR" + } + ], + "displayName": "Aave Interest Bearing MKR", + "networkLocation": { + "contractAddress": "0xc713e5e149d5d0715dcd1c156a020976e7e56b88" + } + }, + "c77336fdd91e22c737b0f5ec33f4c429caa1d13b": { + "currencyCode": "BALTO", + "denominations": [ + { + "multiplier": "1000000000", + "name": "BALTO" + } + ], + "displayName": "BALTO", + "networkLocation": { + "contractAddress": "0xc77336FdD91e22c737B0f5EC33f4c429Caa1D13b" + } + }, + "c824bf014539f6bde6b81abaaca0d626c2ac5985": { + "currencyCode": "USD1", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "USD1" + } + ], + "displayName": "USD One", + "networkLocation": { + "contractAddress": "0xC824Bf014539F6bdE6b81ABAaca0D626C2AC5985" + } + }, + "c944e90c64b2c07662a292be6244bdf05cda44a7": { + "currencyCode": "GRT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "GRT" + } + ], + "displayName": "Graph Token", + "networkLocation": { + "contractAddress": "0xc944e90c64b2c07662a292be6244bdf05cda44a7" + } + }, + "cb1592591996765ec0efc1f92599a19767ee5ffa": { + "currencyCode": "BIO", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BIO" + } + ], + "displayName": "Bio Protocol", + "networkLocation": { + "contractAddress": "0xcb1592591996765ec0efc1f92599a19767ee5ffa" + } + }, + "cbb7c0000ab88b473b1f5afd9ef808440eed33bf": { + "currencyCode": "cbBTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "cbBTC" + } + ], + "displayName": "Coinbase Wrapped Bitcoin", + "networkLocation": { + "contractAddress": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf" + } + }, + "cc12abe4ff81c9378d670de1b57f8e0dd228d77a": { + "currencyCode": "AREN", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AREN" + } + ], + "displayName": "Aave Interest Bearing REN", + "networkLocation": { + "contractAddress": "0xcc12abe4ff81c9378d670de1b57f8e0dd228d77a" + } + }, + "cdb7ecfd3403eef3882c65b761ef9b5054890a47": { + "currencyCode": "HUR", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "HUR" + } + ], + "displayName": "Hurify", + "networkLocation": { + "contractAddress": "0xCDB7eCFd3403Eef3882c65B761ef9B5054890a47" + } + }, + "cf0c122c6b73ff809c693db761e7baebe62b6a2e": { + "currencyCode": "FLOKI", + "denominations": [ + { + "multiplier": "1000000000", + "name": "FLOKI" + } + ], + "displayName": "FLOKI", + "networkLocation": { + "contractAddress": "0xcf0c122c6b73ff809c693db761e7baebe62b6a2e" + } + }, + "d1d2eb1b1e90b638588728b4130137d262c87cae": { + "currencyCode": "GALA", + "denominations": [ + { + "multiplier": "100000000", + "name": "GALA" + } + ], + "displayName": "Gala", + "networkLocation": { + "contractAddress": "0xd1d2Eb1B1e90B638588728b4130137D262C87cae" + } + }, + "d26114cd6ee289accf82350c8d8487fedb8a0c07": { + "currencyCode": "OMG", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "OMG" + } + ], + "displayName": "OmiseGO", + "networkLocation": { + "contractAddress": "0xd26114cd6EE289AccF82350c8d8487fedB8A0C07" + } + }, + "d31a59c85ae9d8edefec411d448f90841571b89c": { + "currencyCode": "WSOL", + "denominations": [ + { + "multiplier": "1000000000", + "name": "WSOL" + } + ], + "displayName": "Wrapped Solana", + "networkLocation": { + "contractAddress": "0xD31a59c85aE9D8edEFeC411D448f90841571b89c" + } + }, + "d46ba6d942050d489dbd938a2c909a5d5039a161": { + "currencyCode": "AMPL", + "denominations": [ + { + "multiplier": "1000000000", + "name": "AMPL" + } + ], + "displayName": "Ampleforth", + "networkLocation": { + "contractAddress": "0xd46ba6d942050d489dbd938a2c909a5d5039a161" + } + }, + "d533a949740bb3306d119cc777fa900ba034cd52": { + "currencyCode": "CRV", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CRV" + } + ], + "displayName": "Curve DAO Token", + "networkLocation": { + "contractAddress": "0xD533a949740bb3306d119CC777fa900bA034cd52" + } + }, + "d567b5f02b9073ad3a982a099a23bf019ff11d1c": { + "currencyCode": "GAME", + "denominations": [ + { + "multiplier": "100000", + "name": "GAME" + } + ], + "displayName": "Game Coin", + "networkLocation": { + "contractAddress": "0xd567b5f02b9073ad3a982a099a23bf019ff11d1c" + } + }, + "d7c49cee7e9188cca6ad8ff264c1da2e69d4cf3b": { + "currencyCode": "NXM", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "NXM" + } + ], + "displayName": "Nexus Mutual", + "networkLocation": { + "contractAddress": "0xd7c49cee7e9188cca6ad8ff264c1da2e69d4cf3b" + } + }, + "dac17f958d2ee523a2206206994597c13d831ec7": { + "currencyCode": "USDT", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDT" + } + ], + "displayName": "Tether", + "networkLocation": { + "contractAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7" + } + }, + "db85f6685950e285b1e611037bebe5b34e2b7d78": { + "currencyCode": "wZANO", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "wZANO" + } + ], + "displayName": "Wrapped Zano", + "networkLocation": { + "contractAddress": "0xdb85f6685950E285b1E611037BEBe5B34e2B7d78" + } + }, + "dc035d45d973e3ec169d2276ddab16f1e407384f": { + "currencyCode": "USDS", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDS" + } + ], + "displayName": "StableUSD", + "networkLocation": { + "contractAddress": "0xdC035D45d973E3EC169d2276DDab16f1e407384F" + } + }, + "dd974d5c2e2928dea5f71b9825b8b646686bd200": { + "currencyCode": "KNCV1", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "KNCV1" + } + ], + "displayName": "Kyber Network", + "networkLocation": { + "contractAddress": "0xdd974D5C2e2928deA5F71b9825b8b646686BD200" + } + }, + "ddb3422497e61e13543bea06989c0789117555c5": { + "currencyCode": "COTI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "COTI" + } + ], + "displayName": "COTI", + "networkLocation": { + "contractAddress": "0xDDB3422497E61e13543BeA06989C0789117555c5" + } + }, + "defa4e8a7bcba345f687a2f1456f5edd9ce97202": { + "currencyCode": "KNC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "KNC" + } + ], + "displayName": "Kyber Network", + "networkLocation": { + "contractAddress": "0xdeFA4e8a7bcBA345F687a2f1456F5Edd9CE97202" + } + }, + "df7ff54aacacbff42dfe29dd6144a69b629f8c9e": { + "currencyCode": "AZRX", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AZRX" + } + ], + "displayName": "Aave Interest Bearing ZRX", + "networkLocation": { + "contractAddress": "0xdf7ff54aacacbff42dfe29dd6144a69b629f8c9e" + } + }, + "e0f63a424a4439cbe457d80e4f4b51ad25b2c56c": { + "currencyCode": "SPX", + "denominations": [ + { + "multiplier": "100000000", + "name": "SPX" + } + ], + "displayName": "SPX6900", + "networkLocation": { + "contractAddress": "0xe0f63a424a4439cbe457d80e4f4b51ad25b2c56c" + } + }, + "e3c408bd53c31c085a1746af401a4042954ff740": { + "currencyCode": "GMT", + "denominations": [ + { + "multiplier": "100000000", + "name": "GMT" + } + ], + "displayName": "GMT", + "networkLocation": { + "contractAddress": "0xe3c408bd53c31c085a1746af401a4042954ff740" + } + }, + "e41d2489571d322189246dafa5ebde1f4699f498": { + "currencyCode": "ZRX", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ZRX" + } + ], + "displayName": "0x", + "networkLocation": { + "contractAddress": "0xE41d2489571d322189246DaFA5ebDe1F4699F498" + } + }, + "e700691da7b9851f2f35f8b8182c69c53ccad9db": { + "currencyCode": "DOC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DOC" + } + ], + "displayName": "Dollar On Chain", + "networkLocation": { + "contractAddress": "0xe700691da7b9851f2f35f8b8182c69c53ccad9db" + } + }, + "e9a95d175a5f4c9369f3b74222402eb1b837693b": { + "currencyCode": "NOW", + "denominations": [ + { + "multiplier": "100000000", + "name": "NOW" + } + ], + "displayName": "NOW Token", + "networkLocation": { + "contractAddress": "0xe9a95d175a5f4c9369f3b74222402eb1b837693b" + } + }, + "eb4c2781e4eba804ce9a9803c67d0893436bb27d": { + "currencyCode": "RENBTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "RENBTC" + } + ], + "displayName": "Ren BTC", + "networkLocation": { + "contractAddress": "0xeb4c2781e4eba804ce9a9803c67d0893436bb27d" + } + }, + "ec53bf9167f50cdeb3ae105f56099aaab9061f83": { + "currencyCode": "EIGEN", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "EIGEN" + } + ], + "displayName": "Eigen Layer", + "networkLocation": { + "contractAddress": "0xec53bf9167f50cdeb3ae105f56099aaab9061f83" + } + }, + "ef4461891dfb3ac8572ccf7c794664a8dd927945": { + "currencyCode": "WCT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WCT" + } + ], + "displayName": "WalletConnect Token", + "networkLocation": { + "contractAddress": "0xeF4461891DfB3AC8572cCf7C794664A8DD927945" + } + }, + "f5dce57282a584d2746faf1593d3121fcac444dc": { + "currencyCode": "CSAI", + "denominations": [ + { + "multiplier": "100000000", + "name": "CSAI" + } + ], + "displayName": "Compound SAI", + "networkLocation": { + "contractAddress": "0xf5dce57282a584d2746faf1593d3121fcac444dc" + } + }, + "f629cbd94d3791c9250152bd8dfbdf380e2a3b9c": { + "currencyCode": "ENJ", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ENJ" + } + ], + "displayName": "EnjinCoin", + "networkLocation": { + "contractAddress": "0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c" + } + }, + "f8e386eda857484f5a12e4b5daa9984e06e73705": { + "currencyCode": "IND", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "IND" + } + ], + "displayName": "Indorse", + "networkLocation": { + "contractAddress": "0xf8e386EDa857484f5a12e4B5DAa9984E06E73705" + } + }, + "fa5047c9c78b8877af97bdcb85db743fd7313d4a": { + "currencyCode": "ROOK", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ROOK" + } + ], + "displayName": "Keeper DAO", + "networkLocation": { + "contractAddress": "0xfA5047c9c78B8877af97BDcb85Db743fD7313d4a" + } + }, + "faba6f8e4a5e8ab82f62fe7c39859fa577269be3": { + "currencyCode": "ONDO", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ONDO" + } + ], + "displayName": "Ondo", + "networkLocation": { + "contractAddress": "0xfAbA6f8e4a5E8Ab82F62fe7C39859FA577269BE3" + } + }, + "fc8dcfca8a37a855e352098af205b3a537b6b026": { + "currencyCode": "PLLD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PLLD" + } + ], + "displayName": "Palladium Network", + "networkLocation": { + "contractAddress": "0xfc8dcfca8a37a855e352098af205b3a537b6b026" + } + }, + "fe18be6b3bd88a2d2a7f928d00292e7a9963cfc6": { + "currencyCode": "SBTC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SBTC" + } + ], + "displayName": "Synthetix BTC", + "networkLocation": { + "contractAddress": "0xfE18be6b3Bd88A2D2A7f928d00292E7a9963CfC6" + } + }, + "ff20817765cb7f73d4bde2e66e067e58d11095c2": { + "currencyCode": "AMP", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AMP" + } + ], + "displayName": "Amp", + "networkLocation": { + "contractAddress": "0xff20817765cb7f73d4bde2e66e067e58d11095c2" + } + }, + "ffffffff2ba8f66d4e51811c5190992176930278": { + "currencyCode": "COMBO", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "COMBO" + } + ], + "displayName": "Furucombo", + "networkLocation": { + "contractAddress": "0xffffffff2ba8f66d4e51811c5190992176930278" + } + } + }, + "ethereumclassic": { + "2c78f1b70ccf63cdee49f9233e9faa99d43aa07e": { + "currencyCode": "DAI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DAI" + } + ], + "displayName": "Dai Stablecoin", + "networkLocation": { + "contractAddress": "0x2c78f1b70ccf63cdee49f9233e9faa99d43aa07e" + } + } + }, + "ethereumpow": { + "2a0cf46ecaaead92487577e9b737ec63b0208a33": { + "currencyCode": "UNIW", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "UNIW" + } + ], + "displayName": "UniWswap", + "networkLocation": { + "contractAddress": "0x2a0cf46ecaaead92487577e9b737ec63b0208a33" + } + }, + "2ad7868ca212135c6119fd7ad1ce51cfc5702892": { + "currencyCode": "USDT", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDT" + } + ], + "displayName": "Tether", + "networkLocation": { + "contractAddress": "0x2ad7868ca212135c6119fd7ad1ce51cfc5702892" + } + }, + "7bf88d2c0e32de92cdaf2d43ccdc23e8edfd5990": { + "currencyCode": "WETHW", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WETHW" + } + ], + "displayName": "Wrapped ETHPoW", + "networkLocation": { + "contractAddress": "0x7bf88d2c0e32de92cdaf2d43ccdc23e8edfd5990" + } + }, + "88909d489678dd17aa6d9609f89b0419bf78fd9a": { + "currencyCode": "L3", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "L3" + } + ], + "displayName": "Layer3", + "networkLocation": { + "contractAddress": "0x88909D489678dD17aA6D9609F89B0419Bf78FD9a" + } + } + }, + "fantom": { + "04068da6c83afcfa0e13ba15a6696662335d5b75": { + "currencyCode": "USDC-M", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC-M" + } + ], + "displayName": "Multichain Bridged USDC", + "networkLocation": { + "contractAddress": "0x04068da6c83afcfa0e13ba15a6696662335d5b75" + } + }, + "049d68029688eabf473097a2fc38ef61633a3c7a": { + "currencyCode": "FUSDT", + "denominations": [ + { + "multiplier": "1000000", + "name": "FUSDT" + } + ], + "displayName": "Frapped Tether", + "networkLocation": { + "contractAddress": "0x049d68029688eabf473097a2fc38ef61633a3c7a" + } + }, + "09e145a1d53c0045f41aeef25d8ff982ae74dd56": { + "currencyCode": "ZOO", + "denominations": [ + { + "multiplier": "1", + "name": "ZOO" + } + ], + "displayName": "Zookeeper", + "networkLocation": { + "contractAddress": "0x09e145a1d53c0045f41aeef25d8ff982ae74dd56" + } + }, + "1b6382dbdea11d97f24495c9a90b7c88469134a4": { + "currencyCode": "AXLUSDC", + "denominations": [ + { + "multiplier": "1000000", + "name": "AXLUSDC" + } + ], + "displayName": "Axelar Wrapped USDC", + "networkLocation": { + "contractAddress": "0x1B6382DBDEa11d97f24495C9A90b7c88469134a4" + } + }, + "1e4f97b9f9f913c46f1632781732927b9019c68b": { + "currencyCode": "CRV", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CRV" + } + ], + "displayName": "Curve", + "networkLocation": { + "contractAddress": "0x1e4f97b9f9f913c46f1632781732927b9019c68b" + } + }, + "21be370d5312f44cb42ce377bc9b8a0cef1a4c83": { + "currencyCode": "WFTM", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WFTM" + } + ], + "displayName": "Wrapped Fantom", + "networkLocation": { + "contractAddress": "0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83" + } + }, + "24248cd1747348bdc971a5395f4b3cd7fee94ea0": { + "currencyCode": "TBOND", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "TBOND" + } + ], + "displayName": "Tomb Bonds", + "networkLocation": { + "contractAddress": "0x24248CD1747348bDC971a5395f4b3cd7feE94ea0" + } + }, + "321162cd933e2be498cd2267a90534a804051b11": { + "currencyCode": "BTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "BTC" + } + ], + "displayName": "Bitcoin", + "networkLocation": { + "contractAddress": "0x321162cd933e2be498cd2267a90534a804051b11" + } + }, + "448d59b4302ab5d2dadf9611bed9457491926c8e": { + "currencyCode": "AXLWBTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "AXLWBTC" + } + ], + "displayName": "Axelar Wrapped WBTC", + "networkLocation": { + "contractAddress": "0x448d59B4302aB5d2dadf9611bED9457491926c8e" + } + }, + "4cdf39285d7ca8eb3f090fda0c069ba5f4145b37": { + "currencyCode": "TSHARE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "TSHARE" + } + ], + "displayName": "Tomb Shares", + "networkLocation": { + "contractAddress": "0x4cdf39285d7ca8eb3f090fda0c069ba5f4145b37" + } + }, + "511d35c52a3c244e7b8bd92c0c297755fbd89212": { + "currencyCode": "AVAX", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AVAX" + } + ], + "displayName": "Avalanche", + "networkLocation": { + "contractAddress": "0x511d35c52a3c244e7b8bd92c0c297755fbd89212" + } + }, + "5f0456f728e2d59028b4f5b8ad8c604100724c6a": { + "currencyCode": "L3USD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "L3USD" + } + ], + "displayName": "L3USD", + "networkLocation": { + "contractAddress": "0x5f0456f728e2d59028b4f5b8ad8c604100724c6a" + } + }, + "658b0c7613e890ee50b8c4bc6a3f41ef411208ad": { + "currencyCode": "FETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "FETH" + } + ], + "displayName": "Frapped Ethereum", + "networkLocation": { + "contractAddress": "0x658b0c7613e890ee50b8c4bc6a3f41ef411208ad" + } + }, + "66eed5ff1701e6ed8470dc391f05e27b1d0657eb": { + "currencyCode": "MPX", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MPX" + } + ], + "displayName": "MPX", + "networkLocation": { + "contractAddress": "0x66eEd5FF1701E6ed8470DC391F05e27B1d0657eb" + } + }, + "6c021ae822bea943b2e66552bde1d2696a53fbb7": { + "currencyCode": "TOMB", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "TOMB" + } + ], + "displayName": "Tomb", + "networkLocation": { + "contractAddress": "0x6c021Ae822BEa943b2E66552bDe1D2696a53fbB7" + } + }, + "74b23882a30290451a17c44f4f05243b6b58c76d": { + "currencyCode": "ETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ETH" + } + ], + "displayName": "Ethereum", + "networkLocation": { + "contractAddress": "0x74b23882a30290451a17c44f4f05243b6b58c76d" + } + }, + "82f0b8b456c1a451378467398982d4834b6829c1": { + "currencyCode": "MIM", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MIM" + } + ], + "displayName": "Magic Internet Money", + "networkLocation": { + "contractAddress": "0x82f0b8b456c1a451378467398982d4834b6829c1" + } + }, + "841fad6eae12c286d1fd18d1d525dffa75c7effe": { + "currencyCode": "BOO", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BOO" + } + ], + "displayName": "SpookyToken", + "networkLocation": { + "contractAddress": "0x841fad6eae12c286d1fd18d1d525dffa75c7effe" + } + }, + "8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e": { + "currencyCode": "DAI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DAI" + } + ], + "displayName": "DAI Stablecoin", + "networkLocation": { + "contractAddress": "0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e" + } + }, + "a48d959ae2e88f1daa7d5f611e01908106de7598": { + "currencyCode": "xBOO", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "xBOO" + } + ], + "displayName": "Boo MirrorWorld", + "networkLocation": { + "contractAddress": "0xa48d959AE2E88f1dAA7D5F611E01908106dE7598" + } + }, + "ad84341756bf337f5a0164515b1f6f993d194e1f": { + "currencyCode": "FUSD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "FUSD" + } + ], + "displayName": "Fantom USD", + "networkLocation": { + "contractAddress": "0xad84341756bf337f5a0164515b1f6f993d194e1f" + } + }, + "b3654dc3d10ea7645f8319668e8f54d2574fbdc8": { + "currencyCode": "LINK", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LINK" + } + ], + "displayName": "Chainlink", + "networkLocation": { + "contractAddress": "0xb3654dc3d10ea7645f8319668e8f54d2574fbdc8" + } + }, + "bf60e7414ef09026733c1e7de72e7393888c64da": { + "currencyCode": "LIF3", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LIF3" + } + ], + "displayName": "LIF3", + "networkLocation": { + "contractAddress": "0xbf60e7414ef09026733c1e7de72e7393888c64da" + } + }, + "c60d7067dfbc6f2caf30523a064f416a5af52963": { + "currencyCode": "TREEB", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "TREEB" + } + ], + "displayName": "Retreeb", + "networkLocation": { + "contractAddress": "0xc60d7067dfbc6f2caf30523a064f416a5af52963" + } + }, + "cbe0ca46399af916784cadf5bcc3aed2052d6c45": { + "currencyCode": "LSHARE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LSHARE" + } + ], + "displayName": "LIF3 LSHARE", + "networkLocation": { + "contractAddress": "0xcbe0ca46399af916784cadf5bcc3aed2052d6c45" + } + }, + "d226392c23fb3476274ed6759d4a478db3197d82": { + "currencyCode": "AXLUSDT", + "denominations": [ + { + "multiplier": "1000000", + "name": "AXLUSDT" + } + ], + "displayName": "Axelar Wrapped USDT", + "networkLocation": { + "contractAddress": "0xd226392C23fb3476274ED6759D4a478db3197d82" + } + }, + "d67de0e0a0fd7b15dc8348bb9be742f3c5850454": { + "currencyCode": "BNB", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BNB" + } + ], + "displayName": "Binance", + "networkLocation": { + "contractAddress": "0xd67de0e0a0fd7b15dc8348bb9be742f3c5850454" + } + }, + "e1146b9ac456fcbb60644c36fd3f868a9072fc6e": { + "currencyCode": "FBTC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "FBTC" + } + ], + "displayName": "Frapped Bitcoin", + "networkLocation": { + "contractAddress": "0xe1146b9ac456fcbb60644c36fd3f868a9072fc6e" + } + }, + "fb98b335551a418cd0737375a2ea0ded62ea213b": { + "currencyCode": "MAI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MAI" + } + ], + "displayName": "miMATIC", + "networkLocation": { + "contractAddress": "0xfB98B335551a418cD0737375a2ea0ded62Ea213b" + } + }, + "fe7eda5f2c56160d406869a8aa4b2f365d544c7b": { + "currencyCode": "AXLETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AXLETH" + } + ], + "displayName": "Axelar Wrapped ETH", + "networkLocation": { + "contractAddress": "0xfe7eDa5F2c56160d406869A8aA4B2F365d544C7B" + } + } + }, + "filecoinfevm": { + "60e1773636cf5e4a227d9ac24f20feca034ee25a": { + "currencyCode": "WFIL", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "wFIL" + } + ], + "displayName": "Wrapped FIL", + "networkLocation": { + "contractAddress": "0x60E1773636CF5E4A227d9AC24F20fEca034ee25A" + } + }, + "690908f7fa93afc040cfbd9fe1ddd2c2668aa0e0": { + "currencyCode": "iFIL", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "iFIL" + } + ], + "displayName": "iFIL Inifinity Pool", + "networkLocation": { + "contractAddress": "0x690908f7fa93afC040CFbD9fE1dDd2C2668Aa0e0" + } + } + }, + "filecoinfevmcalibration": { + "8c97f94b2cdbf7dc0098057334d9908c4dc0a885": { + "currencyCode": "iFIL", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "iFIL" + } + ], + "displayName": "iFIL Inifinity Pool", + "networkLocation": { + "contractAddress": "0x8c97F94b2cDbF7Dc0098057334d9908C4dC0a885" + } + }, + "ac26a4ab9cf2a8c5dbab6fb4351ec0f4b07356c4": { + "currencyCode": "WFIL", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "wFIL" + } + ], + "displayName": "Wrapped FIL", + "networkLocation": { + "contractAddress": "0xaC26a4Ab9cF2A8c5DBaB6fb4351ec0F4b07356c4" + } + } + }, + "holesky": { + "29219dd400f2bf60e5a23d13be72b486d4038894": { + "currencyCode": "USDC.e", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC.e" + } + ], + "displayName": "Bridged USDC", + "networkLocation": { + "contractAddress": "0x29219dd400f2Bf60E5a23d13Be72B486D4038894" + } + }, + "6252738383746736476374378374374374377654": { + "currencyCode": "BTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "BTC" + } + ], + "displayName": "Real Bitcoin", + "networkLocation": { + "contractAddress": "0x6252738383746736476374378374374374377654" + } + }, + "94373a4919b3240d86ea41593d5eba789fef3848": { + "currencyCode": "WETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WETH" + } + ], + "displayName": "Wrapped Ethereum", + "networkLocation": { + "contractAddress": "0x94373a4919B3240D86eA41593D5eBa789FEF3848" + } + } + }, + "hyperevm": { + "1bee6762f0b522c606dc2ffb106c0bb391b2e309": { + "currencyCode": "PiP", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PiP", + "symbol": "PiP" + } + ], + "displayName": "PiP", + "networkLocation": { + "contractAddress": "0x1bEe6762F0B522c606DC2Ffb106C0BB391b2E309" + } + }, + "1ecd15865d7f8019d546f76d095d9c93cc34edfa": { + "currencyCode": "LIQD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LiquidLaunch", + "symbol": "LIQD" + } + ], + "displayName": "LiquidLaunch", + "networkLocation": { + "contractAddress": "0x1Ecd15865D7F8019D546f76d095d9c93cc34eDFa" + } + }, + "9b498c3c8a0b8cd8ba1d9851d40d186f1872b44e": { + "currencyCode": "PURR", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PURR", + "symbol": "PURR" + } + ], + "displayName": "Purr", + "networkLocation": { + "contractAddress": "0x9b498C3c8A0b8CD8BA1D9851d40D186F1872b44E" + } + }, + "a320d9f65ec992eff38622c63627856382db726c": { + "currencyCode": "HFUN", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "HFUN", + "symbol": "HFUN" + } + ], + "displayName": "Hypurr Fun", + "networkLocation": { + "contractAddress": "0xa320D9f65ec992EfF38622c63627856382Db726c" + } + }, + "b8ce59fc3717ada4c02eadf9682a9e934f625ebb": { + "currencyCode": "USD₮0", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "USD₮0", + "symbol": "USD₮0" + } + ], + "displayName": "USD₮0", + "networkLocation": { + "contractAddress": "0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb" + } + } + }, + "liberland": { + "1": { + "currencyCode": "LLM", + "denominations": [ + { + "multiplier": "1000000000000", + "name": "LLM" + } + ], + "displayName": "Liberland Merit", + "networkLocation": { + "contractAddress": "1" + } + } + }, + "liberlandtestnet": { + "1": { + "currencyCode": "LKN", + "denominations": [ + { + "multiplier": "1000000000000", + "name": "LKN" + } + ], + "displayName": "Liberland Merit Testnet", + "networkLocation": { + "contractAddress": "1" + } + } + }, + "optimism": { + "01bff41798a0bcf287b996046ca68b395dbc1071": { + "currencyCode": "USDT0", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDT0" + } + ], + "displayName": "USDT0", + "networkLocation": { + "contractAddress": "0x01bff41798a0bcf287b996046ca68b395dbc1071" + } + }, + "0b2c639c533813f4aa9d7837caf62653d097ff85": { + "currencyCode": "USDC", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC" + } + ], + "displayName": "USD Coin", + "networkLocation": { + "contractAddress": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85" + } + }, + "1f32b1c2345538c0c6f582fcb022739c4a194ebb": { + "currencyCode": "WSTETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WSTETH" + } + ], + "displayName": "Lido Wrapped Staked Ethereum", + "networkLocation": { + "contractAddress": "0x1f32b1c2345538c0c6f582fcb022739c4a194ebb" + } + }, + "1f514a61bcde34f94bc39731235690ab9da737f7": { + "currencyCode": "TAROT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "TAROT" + } + ], + "displayName": "Tarot", + "networkLocation": { + "contractAddress": "0x1f514a61bcde34f94bc39731235690ab9da737f7" + } + }, + "2e3d870790dc77a83dd1d18184acc7439a53f475": { + "currencyCode": "FRAX", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "FRAX" + } + ], + "displayName": "Frax", + "networkLocation": { + "contractAddress": "0x2E3D870790dC77A83DD1d18184Acc7439A53f475" + } + }, + "350a791bfc2c21f9ed5d10980dad2e2638ffa7f6": { + "currencyCode": "LINK", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LINK" + } + ], + "displayName": "Chainlink", + "networkLocation": { + "contractAddress": "0x350a791Bfc2C21F9Ed5d10980Dad2e2638ffa7f6" + } + }, + "3c8b650257cfb5f272f799f5e2b4e65093a11a05": { + "currencyCode": "VELOV1", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "VELOV1" + } + ], + "displayName": "Velodrome", + "networkLocation": { + "contractAddress": "0x3c8B650257cFb5f272f799F5e2b4e65093a11a05" + } + }, + "4200000000000000000000000000000000000006": { + "currencyCode": "WETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WETH" + } + ], + "displayName": "Wrapped ETH", + "networkLocation": { + "contractAddress": "0x4200000000000000000000000000000000000006" + } + }, + "4200000000000000000000000000000000000042": { + "currencyCode": "OP", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "OP" + } + ], + "displayName": "Optimism", + "networkLocation": { + "contractAddress": "0x4200000000000000000000000000000000000042" + } + }, + "46777c76dbbe40fabb2aab99e33ce20058e76c59": { + "currencyCode": "L3", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "L3" + } + ], + "displayName": "Layer3", + "networkLocation": { + "contractAddress": "0x46777c76dbbe40fabb2aab99e33ce20058e76c59" + } + }, + "68f180fcce6836688e9084f035309e29bf0a2095": { + "currencyCode": "WBTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "WBTC" + } + ], + "displayName": "Wrapped Bitcoin", + "networkLocation": { + "contractAddress": "0x68f180fcCe6836688e9084f035309E29Bf0A2095" + } + }, + "6fd9d7ad17242c41f7131d257212c54a0e816691": { + "currencyCode": "UNI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "UNI" + } + ], + "displayName": "Uniswap", + "networkLocation": { + "contractAddress": "0x6fd9d7AD17242c41f7131d257212c54A0e816691" + } + }, + "76fb31fb4af56892a25e32cfc43de717950c9278": { + "currencyCode": "AAVE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AAVE" + } + ], + "displayName": "Aave", + "networkLocation": { + "contractAddress": "0x76FB31fb4af56892A25e32cFC43De717950c9278" + } + }, + "7f5c764cbc14f9669b88837ca1490cca17c31607": { + "currencyCode": "USDC.e", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC.e" + } + ], + "displayName": "USD Coin", + "networkLocation": { + "contractAddress": "0x7F5c764cBc14f9669B88837ca1490cCa17c31607" + } + }, + "87eee96d50fb761ad85b1c982d28a042169d61b1": { + "currencyCode": "WRSTETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WRSTETH" + } + ], + "displayName": "Kelp DAO Wrapped rsETH", + "networkLocation": { + "contractAddress": "0x87eEE96D50Fb761AD85B1c982d28A042169d61b1" + } + }, + "8ae125e8653821e851f12a49f7765db9a9ce7384": { + "currencyCode": "DOLA", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DOLA" + } + ], + "displayName": "DOLA", + "networkLocation": { + "contractAddress": "0x8aE125E8653821E851F12A49F7765db9a9ce7384" + } + }, + "94b008aa00579c1307b0ef2c499ad98a8ce58e58": { + "currencyCode": "USDT", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDT" + } + ], + "displayName": "Tether", + "networkLocation": { + "contractAddress": "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58" + } + }, + "9560e827af36c94d2ac33a39bce1fe78631088db": { + "currencyCode": "VELO", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "VELO" + } + ], + "displayName": "Velodrome", + "networkLocation": { + "contractAddress": "0x9560e827aF36c94D2Ac33a39bCE1Fe78631088Db" + } + }, + "bfc044a234e45412ecfec2cd6aae2dd0c083a7cd": { + "currencyCode": "CRV", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CRV" + } + ], + "displayName": "Curve DAO", + "networkLocation": { + "contractAddress": "0xbfC044a234E45412eCfeC2Cd6aAe2dd0C083a7cd" + } + }, + "da10009cbd5d07dd0cecc66161fc93d7c9000da1": { + "currencyCode": "DAI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DAI" + } + ], + "displayName": "Dai Stablecoin", + "networkLocation": { + "contractAddress": "0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1" + } + }, + "ef4461891dfb3ac8572ccf7c794664a8dd927945": { + "currencyCode": "WCT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WCT" + } + ], + "displayName": "WalletConnect Token", + "networkLocation": { + "contractAddress": "0xeF4461891DfB3AC8572cCf7C794664A8DD927945" + } + }, + "fdb794692724153d1488ccdbe0c56c252596735f": { + "currencyCode": "LDO", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LDO" + } + ], + "displayName": "Lido DAO", + "networkLocation": { + "contractAddress": "0xFdb794692724153d1488CcdBE0C56c252596735F" + } + } + }, + "osmosis": { + "ibc27394fb092d2eccd56123c74f36e4c1f926001ceada9ca97ea622b25f41e5eb2": { + "currencyCode": "ATOM", + "denominations": [ + { + "multiplier": "1000000", + "name": "ATOM" + } + ], + "displayName": "Cosmos Hub", + "networkLocation": { + "contractAddress": "ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2" + } + }, + "uion": { + "currencyCode": "ION", + "denominations": [ + { + "multiplier": "1000000", + "name": "ION" + } + ], + "displayName": "Ion", + "networkLocation": { + "contractAddress": "uion" + } + } + }, + "polygon": { + "03b54a6e9a984069379fae1a4fc4dbae93b3bccd": { + "currencyCode": "WSTETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WSTETH" + } + ], + "displayName": "Lido Wrapped Staked Ethereum", + "networkLocation": { + "contractAddress": "0x03b54a6e9a984069379fae1a4fc4dbae93b3bccd" + } + }, + "1bfd67037b42cf73acf2047067bd4f2c47d9bfd6": { + "currencyCode": "WBTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "WBTC" + } + ], + "displayName": "Wrapped Bitcoin", + "networkLocation": { + "contractAddress": "0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6" + } + }, + "2791bca1f2de4661ed88a30c99a7a9449aa84174": { + "currencyCode": "USDC.e", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC.e" + } + ], + "displayName": "USD Coin", + "networkLocation": { + "contractAddress": "0x2791bca1f2de4661ed88a30c99a7a9449aa84174" + } + }, + "2e1ad108ff1d8c782fcbbb89aad783ac49586756": { + "currencyCode": "TUSD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "TUSD" + } + ], + "displayName": "TrueUSD", + "networkLocation": { + "contractAddress": "0x2e1ad108ff1d8c782fcbbb89aad783ac49586756" + } + }, + "3ba4c387f786bfee076a58914f5bd38d668b42c3": { + "currencyCode": "BNB", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BNB" + } + ], + "displayName": "Binance", + "networkLocation": { + "contractAddress": "0x3BA4c387f786bFEE076A58914F5Bd38d668B42c3" + } + }, + "3c499c542cef5e3811e1192ce70d8cc03d5c3359": { + "currencyCode": "USDC", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC" + } + ], + "displayName": "USD Coin", + "networkLocation": { + "contractAddress": "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359" + } + }, + "46777c76dbbe40fabb2aab99e33ce20058e76c59": { + "currencyCode": "L3", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "L3" + } + ], + "displayName": "Layer3", + "networkLocation": { + "contractAddress": "0x46777c76dbbe40fabb2aab99e33ce20058e76c59" + } + }, + "53e0bca35ec356bd5dddfebbd1fc0fd03fabad39": { + "currencyCode": "LINK", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LINK" + } + ], + "displayName": "Chainlink", + "networkLocation": { + "contractAddress": "0x53e0bca35ec356bd5dddfebbd1fc0fd03fabad39" + } + }, + "6f7c932e7684666c9fd1d44527765433e01ff61d": { + "currencyCode": "MKR", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MKR" + } + ], + "displayName": "Maker", + "networkLocation": { + "contractAddress": "0x6f7C932e7684666C9fd1d44527765433e01fF61d" + } + }, + "714db550b574b3e927af3d93e26127d15721d4c2": { + "currencyCode": "GMT", + "denominations": [ + { + "multiplier": "100000000", + "name": "GMT" + } + ], + "displayName": "GMT", + "networkLocation": { + "contractAddress": "0x714DB550b574b3E927af3D93E26127D15721D4C2" + } + }, + "7ceb23fd6bc0add59e62ac25578270cff1b9f619": { + "currencyCode": "WETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WETH" + } + ], + "displayName": "Wrapped ETH", + "networkLocation": { + "contractAddress": "0x7ceb23fd6bc0add59e62ac25578270cff1b9f619" + } + }, + "8f3cf7ad23cd3cadbd9735aff958023239c6a063": { + "currencyCode": "DAI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DAI" + } + ], + "displayName": "Dai Stablecoin", + "networkLocation": { + "contractAddress": "0x8f3cf7ad23cd3cadbd9735aff958023239c6a063" + } + }, + "91e7e32c710661c44ae44d10aa86135d91c3ed65": { + "currencyCode": "PPC", + "denominations": [ + { + "multiplier": "1000000", + "name": "PPC" + } + ], + "displayName": "Peercoin", + "networkLocation": { + "contractAddress": "0x91E7E32C710661C44ae44D10Aa86135d91C3Ed65" + } + }, + "9c9e5fd8bbc25984b178fdce6117defa39d2db39": { + "currencyCode": "BUSD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BUSD" + } + ], + "displayName": "Binance USD", + "networkLocation": { + "contractAddress": "0x9c9e5fd8bbc25984b178fdce6117defa39d2db39" + } + }, + "a1c57f48f0deb89f569dfbe6e2b7f46d33606fd4": { + "currencyCode": "MANA", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "MANA" + } + ], + "displayName": "Decentraland", + "networkLocation": { + "contractAddress": "0xa1c57f48f0deb89f569dfbe6e2b7f46d33606fd4" + } + }, + "b33eaad8d922b1083446dc23f610c2567fb5180f": { + "currencyCode": "UNI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "UNI" + } + ], + "displayName": "Uniswap", + "networkLocation": { + "contractAddress": "0xb33eaad8d922b1083446dc23f610c2567fb5180f" + } + }, + "c2132d05d31c914a87c6611c10748aeb04b58e8f": { + "currencyCode": "USDT", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDT" + } + ], + "displayName": "Tether", + "networkLocation": { + "contractAddress": "0xc2132d05d31c914a87c6611c10748aeb04b58e8f" + } + }, + "c9c1c1c20b3658f8787cc2fd702267791f224ce1": { + "currencyCode": "FTM", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "FTM" + } + ], + "displayName": "Fantom", + "networkLocation": { + "contractAddress": "0xc9c1c1c20b3658f8787cc2fd702267791f224ce1" + } + }, + "d0258a3fd00f38aa8090dfee343f10a9d4d30d3f": { + "currencyCode": "VOXEL", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "VOXEL" + } + ], + "displayName": "VOXEL", + "networkLocation": { + "contractAddress": "0xd0258a3fD00f38aa8090dfee343f10A9D4d30D3F" + } + }, + "d6df932a45c0f255f85145f286ea0b292b21c90b": { + "currencyCode": "AAVE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "AAVE" + } + ], + "displayName": "Aave", + "networkLocation": { + "contractAddress": "0xd6df932a45c0f255f85145f286ea0b292b21c90b" + } + }, + "d93f7e271cb87c23aaa73edc008a79646d1f9912": { + "currencyCode": "WSOL", + "denominations": [ + { + "multiplier": "1000000000", + "name": "WSOL" + } + ], + "displayName": "Wrapped Solana", + "networkLocation": { + "contractAddress": "0xd93f7e271cb87c23aaa73edc008a79646d1f9912" + } + }, + "da537104d6a5edd53c6fbba9a898708e465260b6": { + "currencyCode": "YFI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "YFI" + } + ], + "displayName": "Yearn Finance", + "networkLocation": { + "contractAddress": "0xda537104d6a5edd53c6fbba9a898708e465260b6" + } + }, + "e5b49820e5a1063f6f4ddf851327b5e8b2301048": { + "currencyCode": "BONK", + "denominations": [ + { + "multiplier": "100000", + "name": "BONK" + } + ], + "displayName": "Bonk", + "networkLocation": { + "contractAddress": "0xe5b49820e5a1063f6f4ddf851327b5e8b2301048" + } + } + }, + "pulsechain": { + "02dcdd04e3f455d838cd1249292c58f3b79e3c3c": { + "currencyCode": "WETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WETH" + } + ], + "displayName": "Wrapped Bridged Ethereum", + "networkLocation": { + "contractAddress": "0x02DcdD04e3F455D838cd1249292C58f3B79e3C3C" + } + }, + "15d38573d2feeb82e7ad5187ab8c1d52810b1f07": { + "currencyCode": "USDC", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC" + } + ], + "displayName": "USDC Bridged from Ethereum", + "networkLocation": { + "contractAddress": "0x15D38573d2feeb82e7ad5187aB8c1D52810B1f07" + } + }, + "2b591e99afe9f32eaa6214f7b7629768c40eeb39": { + "currencyCode": "HEX", + "denominations": [ + { + "multiplier": "100000000", + "name": "HEX" + } + ], + "displayName": "HEX", + "networkLocation": { + "contractAddress": "0x2b591e99afe9f32eaa6214f7b7629768c40eeb39" + } + }, + "2fa878ab3f87cc1c9737fc071108f904c0b0c95d": { + "currencyCode": "INC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "INC" + } + ], + "displayName": "Incentive", + "networkLocation": { + "contractAddress": "0x2fa878Ab3F87CC1C9737Fc071108F904c0B0C95d" + } + }, + "57fde0a71132198bbec939b98976993d8d89d225": { + "currencyCode": "ebHEX", + "denominations": [ + { + "multiplier": "100000000", + "name": "ebHEX" + } + ], + "displayName": "HEX (Bridged from Ethereum)", + "networkLocation": { + "contractAddress": "0x57fde0a71132198bbec939b98976993d8d89d225" + } + }, + "6b175474e89094c44da98b954eedeac495271d0f": { + "currencyCode": "pDAI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "pDAI" + } + ], + "displayName": "DAI on Pulsechain", + "networkLocation": { + "contractAddress": "0x6b175474e89094c44da98b954eedeac495271d0f" + } + }, + "95b303987a60c71504d99aa1b13b4da07b0790ab": { + "currencyCode": "PLSX", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "PLSX" + } + ], + "displayName": "PulseX", + "networkLocation": { + "contractAddress": "0x95b303987a60c71504d99aa1b13b4da07b0790ab" + } + }, + "a1077a294dde1b09bb078844df40758a5d0f9a27": { + "currencyCode": "WPLS", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WPLS" + } + ], + "displayName": "Wrapped Pulse", + "networkLocation": { + "contractAddress": "0xA1077a294dDE1B09bB078844df40758a5D0f9a27" + } + }, + "b17d901469b9208b17d916112988a3fed19b5ca1": { + "currencyCode": "WBTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "WBTC" + } + ], + "displayName": "Wrapped BTC Bridged from Ethereum", + "networkLocation": { + "contractAddress": "0xb17D901469B9208B17d916112988A3FeD19b5cA1" + } + }, + "efd766ccb38eaf1dfd701853bfce31359239f305": { + "currencyCode": "DAI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DAI" + } + ], + "displayName": "DAI (Bridged)", + "networkLocation": { + "contractAddress": "0xefd766ccb38eaf1dfd701853bfce31359239f305" + } + } + }, + "ripple": { + "434F524500000000000000000000000000000000-rcoreNywaoz2ZCQ8Lg2EbSLnGuRBmun6D": { + "currencyCode": "CORE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CORE" + } + ], + "displayName": "Coreum", + "networkLocation": { + "currency": "434F524500000000000000000000000000000000", + "issuer": "rcoreNywaoz2ZCQ8Lg2EbSLnGuRBmun6D" + } + }, + "524C555344000000000000000000000000000000-rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De": { + "currencyCode": "RLUSD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "RLUSD" + } + ], + "displayName": "Ripple USD", + "networkLocation": { + "currency": "524C555344000000000000000000000000000000", + "issuer": "rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De" + } + }, + "534F4C4F00000000000000000000000000000000-rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz": { + "currencyCode": "SOLO", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SOLO" + } + ], + "displayName": "Sologenic", + "networkLocation": { + "currency": "534F4C4F00000000000000000000000000000000", + "issuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz" + } + }, + "5553444300000000000000000000000000000000-rGm7WCVp9gb4jZHWTEtGUr4dd74z2XuWhE": { + "currencyCode": "USDC", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC" + } + ], + "displayName": "USDC", + "networkLocation": { + "currency": "5553444300000000000000000000000000000000", + "issuer": "rGm7WCVp9gb4jZHWTEtGUr4dd74z2XuWhE" + } + }, + "EUR-rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq": { + "currencyCode": "EUR", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "EUR" + } + ], + "displayName": "Gatehub EUR", + "networkLocation": { + "currency": "EUR", + "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq" + } + }, + "EUR-rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B": { + "currencyCode": "EUR", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "EUR" + } + ], + "displayName": "Bitstamp EUR", + "networkLocation": { + "currency": "EUR", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" + } + }, + "USD-rEn9eRkX25wfGPLysUMAvZ84jAzFNpT5fL": { + "currencyCode": "USD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "USD" + } + ], + "displayName": "Stably USD", + "networkLocation": { + "currency": "USD", + "issuer": "rEn9eRkX25wfGPLysUMAvZ84jAzFNpT5fL" + } + }, + "USD-rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq": { + "currencyCode": "USD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "USD" + } + ], + "displayName": "Gatehub USD", + "networkLocation": { + "currency": "USD", + "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq" + } + }, + "USD-rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B": { + "currencyCode": "USD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "USD" + } + ], + "displayName": "Bitstamp USD", + "networkLocation": { + "currency": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" + } + } + }, + "rsk": { + "2acc95758f8b5f583470ba265eb685a8f45fc9d5": { + "currencyCode": "RIF", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "RIF" + } + ], + "displayName": "RIF Token", + "networkLocation": { + "contractAddress": "0x2acc95758f8b5f583470ba265eb685a8f45fc9d5" + } + } + }, + "solana": { + "2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo": { + "currencyCode": "PYUSD", + "denominations": [ + { + "multiplier": "1000000", + "name": "PYUSD" + } + ], + "displayName": "PayPal USD", + "networkLocation": { + "contractAddress": "2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "2qEHjDLDLbuBgRYvsxhc5D6uDWAivNFZGan56P1tpump": { + "currencyCode": "PNUT", + "denominations": [ + { + "multiplier": "1000000", + "name": "PNUT" + } + ], + "displayName": "Peanut the Squirrel", + "networkLocation": { + "contractAddress": "2qEHjDLDLbuBgRYvsxhc5D6uDWAivNFZGan56P1tpump" + } + }, + "2zMMhcVQEXDtdE6vsFS7S7D5oUodfJHE8vd1gnBouauv": { + "currencyCode": "PENGU", + "denominations": [ + { + "multiplier": "1000000", + "name": "PENGU" + } + ], + "displayName": "Pudgy Penguins", + "networkLocation": { + "contractAddress": "2zMMhcVQEXDtdE6vsFS7S7D5oUodfJHE8vd1gnBouauv" + } + }, + "3KzAE8dPyJRgZ36Eh81v7WPwi6dm7bDhdMb8EAus2RAf": { + "currencyCode": "GOMINING", + "denominations": [ + { + "multiplier": "1000000000", + "name": "GOMINING" + } + ], + "displayName": "GoMining", + "networkLocation": { + "contractAddress": "3KzAE8dPyJRgZ36Eh81v7WPwi6dm7bDhdMb8EAus2RAf" + } + }, + "3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh": { + "currencyCode": "WBTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "WBTC" + } + ], + "displayName": "Wrapped BTC (Wormhole)", + "networkLocation": { + "contractAddress": "3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh" + } + }, + "3S8qX1MsMqRbiwKg2cQyx7nis1oHMgaCuc9c4VfvVdPN": { + "currencyCode": "MOTHER", + "denominations": [ + { + "multiplier": "1000000", + "name": "MOTHER" + } + ], + "displayName": "MOTHER IGGY", + "networkLocation": { + "contractAddress": "3S8qX1MsMqRbiwKg2cQyx7nis1oHMgaCuc9c4VfvVdPN" + } + }, + "3rQK45d1ojXR7vtvCmeNjKKVycnVWqaVcP3zk1G39RJR": { + "currencyCode": "wS", + "denominations": [ + { + "multiplier": "1000000000", + "name": "wS" + } + ], + "displayName": "Wrapped Sonic", + "networkLocation": { + "contractAddress": "3rQK45d1ojXR7vtvCmeNjKKVycnVWqaVcP3zk1G39RJR" + } + }, + "4Hx6Bj56eGyw8EJrrheM6LBQAvVYRikYCWsALeTrwyRU": { + "currencyCode": "DYDX", + "denominations": [ + { + "multiplier": "100000000", + "name": "DYDX" + } + ], + "displayName": "dYdX (on Solana)", + "networkLocation": { + "contractAddress": "4Hx6Bj56eGyw8EJrrheM6LBQAvVYRikYCWsALeTrwyRU" + } + }, + "4geJykZY92d2mZk8zgWDrKoz4BDcSjp7DJdNvH8GoH5f": { + "currencyCode": "BOBBY", + "denominations": [ + { + "multiplier": "100000000", + "name": "BOBBY" + } + ], + "displayName": "Kennedy Memecoin", + "networkLocation": { + "contractAddress": "4geJykZY92d2mZk8zgWDrKoz4BDcSjp7DJdNvH8GoH5f" + } + }, + "4qQeZ5LwSz6HuupUu8jCtgXyW1mYQcNbFAW1sWZp89HL": { + "currencyCode": "CAKE", + "denominations": [ + { + "multiplier": "1000000000", + "name": "CAKE" + } + ], + "displayName": "PancakeSwap", + "networkLocation": { + "contractAddress": "4qQeZ5LwSz6HuupUu8jCtgXyW1mYQcNbFAW1sWZp89HL" + } + }, + "5k84VjAKoGPXa7ias1BNgKUrX7e61eMPWhZDqsiD4Bpe": { + "currencyCode": "L3", + "denominations": [ + { + "multiplier": "1000000000", + "name": "L3" + } + ], + "displayName": "Layer3", + "networkLocation": { + "contractAddress": "5k84VjAKoGPXa7ias1BNgKUrX7e61eMPWhZDqsiD4Bpe" + } + }, + "61V8vBaqAGMpgDQi4JcAwo1dmBGHsyhzodcPqnEVpump": { + "currencyCode": "ARC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ARC" + } + ], + "displayName": "AI Rig Complex", + "networkLocation": { + "contractAddress": "61V8vBaqAGMpgDQi4JcAwo1dmBGHsyhzodcPqnEVpump" + } + }, + "63LfDmNb3MQ8mw9MtZ2To9bEA2M71kZUUGq5tiJxcqj9": { + "currencyCode": "GIGA", + "denominations": [ + { + "multiplier": "100000", + "name": "GIGA" + } + ], + "displayName": "Gigachad", + "networkLocation": { + "contractAddress": "63LfDmNb3MQ8mw9MtZ2To9bEA2M71kZUUGq5tiJxcqj9" + } + }, + "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN": { + "currencyCode": "TRUMP", + "denominations": [ + { + "multiplier": "1000000", + "name": "TRUMP" + } + ], + "displayName": "Official Trump", + "networkLocation": { + "contractAddress": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN" + } + }, + "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr": { + "currencyCode": "POPCAT", + "denominations": [ + { + "multiplier": "1000000000", + "name": "POPCAT" + } + ], + "displayName": "Popcat", + "networkLocation": { + "contractAddress": "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr" + } + }, + "7Q2afV64in6N6SeZsAAB81TJzwDoD6zpqmHkzi9Dcavn": { + "currencyCode": "JSOL", + "denominations": [ + { + "multiplier": "1000000000", + "name": "JSOL" + } + ], + "displayName": "JPool Staked SOL", + "networkLocation": { + "contractAddress": "7Q2afV64in6N6SeZsAAB81TJzwDoD6zpqmHkzi9Dcavn" + } + }, + "7atgF8KQo4wJrD5ATGX7t1V2zVvykPJbFfNeVf1icFv1": { + "currencyCode": "$CWIF", + "denominations": [ + { + "multiplier": "100", + "name": "$CWIF" + } + ], + "displayName": "catwifhat", + "networkLocation": { + "contractAddress": "7atgF8KQo4wJrD5ATGX7t1V2zVvykPJbFfNeVf1icFv1", + "tokenProgram": "token2022PublicKey" + } + }, + "7i5KKsX2weiTkry7jA4ZwSuXGhs5eJBEjY8vVxR4pfRx": { + "currencyCode": "GMT", + "denominations": [ + { + "multiplier": "1000000000", + "name": "GMT" + } + ], + "displayName": "GMT", + "networkLocation": { + "contractAddress": "7i5KKsX2weiTkry7jA4ZwSuXGhs5eJBEjY8vVxR4pfRx" + } + }, + "7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs": { + "currencyCode": "WETH", + "denominations": [ + { + "multiplier": "100000000", + "name": "WETH" + } + ], + "displayName": "Wrapped Ether (Wormhole)", + "networkLocation": { + "contractAddress": "7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs" + } + }, + "9TE7ebz1dsFo1uQ2T4oYAKSm39Y6fWuHrd6Uk6XaiD16": { + "currencyCode": "MIMO", + "denominations": [ + { + "multiplier": "1000000000", + "name": "MIMO" + } + ], + "displayName": "Million Monke", + "networkLocation": { + "contractAddress": "9TE7ebz1dsFo1uQ2T4oYAKSm39Y6fWuHrd6Uk6XaiD16" + } + }, + "A8C3xuqscfmyLrte3VmTqrAq8kgMASius9AFNANwpump": { + "currencyCode": "FWOG", + "denominations": [ + { + "multiplier": "1000000", + "name": "FWOG" + } + ], + "displayName": "FWOG", + "networkLocation": { + "contractAddress": "A8C3xuqscfmyLrte3VmTqrAq8kgMASius9AFNANwpump" + } + }, + "AjkPkq3nsyDe1yKcbyZT7N4aK4Evv9om9tzhQD3wsRC": { + "currencyCode": "1INCH", + "denominations": [ + { + "multiplier": "100000000", + "name": "1INCH" + } + ], + "displayName": "1inch", + "networkLocation": { + "contractAddress": "AjkPkq3nsyDe1yKcbyZT7N4aK4Evv9om9tzhQD3wsRC" + } + }, + "BKipkearSqAUdNKa1WDstvcMjoPsSKBuNyvKDQDDu9WE": { + "currencyCode": "HAWK", + "denominations": [ + { + "multiplier": "1000000", + "name": "HAWK" + } + ], + "displayName": "Hawksight", + "networkLocation": { + "contractAddress": "BKipkearSqAUdNKa1WDstvcMjoPsSKBuNyvKDQDDu9WE" + } + }, + "BZLbGTNCSFfoth2GYDtwr7e4imWzpR5jqcUuGEwr646K": { + "currencyCode": "IO", + "denominations": [ + { + "multiplier": "100000000", + "name": "IO" + } + ], + "displayName": "io.net", + "networkLocation": { + "contractAddress": "BZLbGTNCSFfoth2GYDtwr7e4imWzpR5jqcUuGEwr646K" + } + }, + "BeGY8KqKxboEwRbJd1q9H2K829jS4Rc5dEyNMYXCbV5p": { + "currencyCode": "NPC", + "denominations": [ + { + "multiplier": "100000000", + "name": "NPC" + } + ], + "displayName": "Non-Playable Coin", + "networkLocation": { + "contractAddress": "BeGY8KqKxboEwRbJd1q9H2K829jS4Rc5dEyNMYXCbV5p" + } + }, + "CKaKtYvz6dKPyMvYq9Rh3UBrnNqYZAyd7iF4hJtjUvks": { + "currencyCode": "GARI", + "denominations": [ + { + "multiplier": "1000000000", + "name": "GARI" + } + ], + "displayName": "Gari Network", + "networkLocation": { + "contractAddress": "CKaKtYvz6dKPyMvYq9Rh3UBrnNqYZAyd7iF4hJtjUvks" + } + }, + "CTgiaZUK12kCcB8sosn4Nt2NZtzLgtPqDwyQyr2syATC": { + "currencyCode": "BITCOIN", + "denominations": [ + { + "multiplier": "100000000", + "name": "BITCOIN" + } + ], + "displayName": "HarryPotterObamaSonic10Inu", + "networkLocation": { + "contractAddress": "CTgiaZUK12kCcB8sosn4Nt2NZtzLgtPqDwyQyr2syATC" + } + }, + "CWE8jPTUYhdCTZYWPTe1o5DFqfdjzWKc9WKz6rSjQUdG": { + "currencyCode": "LINK", + "denominations": [ + { + "multiplier": "1000000", + "name": "LINK" + } + ], + "displayName": "Wrapped Chainlink", + "networkLocation": { + "contractAddress": "CWE8jPTUYhdCTZYWPTe1o5DFqfdjzWKc9WKz6rSjQUdG" + } + }, + "CiKu4eHsVrc1eueVQeHn7qhXTcVu95gSQmBpX4utjL9z": { + "currencyCode": "SHIB", + "denominations": [ + { + "multiplier": "100000000", + "name": "SHIB" + } + ], + "displayName": "Shiba Inu", + "networkLocation": { + "contractAddress": "CiKu4eHsVrc1eueVQeHn7qhXTcVu95gSQmBpX4utjL9z" + } + }, + "CrAr4RRJMBVwRsZtT62pEhfA9H5utymC2mVx8e7FreP2": { + "currencyCode": "MON", + "denominations": [ + { + "multiplier": "100000000", + "name": "MON" + } + ], + "displayName": "Monad", + "networkLocation": { + "contractAddress": "CrAr4RRJMBVwRsZtT62pEhfA9H5utymC2mVx8e7FreP2" + } + }, + "CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump": { + "currencyCode": "GOAT", + "denominations": [ + { + "multiplier": "1000000", + "name": "GOAT" + } + ], + "displayName": "Goatseus Maximus", + "networkLocation": { + "contractAddress": "CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump" + } + }, + "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263": { + "currencyCode": "BONK", + "denominations": [ + { + "multiplier": "100000", + "name": "BONK" + } + ], + "displayName": "Bonk", + "networkLocation": { + "contractAddress": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263", + "tokenProgram": "tokenPublicKey" + } + }, + "Dfh5DzRgSvvCFDoYc2ciTkMrbDfRKybA4SoFbPmApump": { + "currencyCode": "PIPPIN", + "denominations": [ + { + "multiplier": "1000000", + "name": "PIPPIN" + } + ], + "displayName": "pippin", + "networkLocation": { + "contractAddress": "Dfh5DzRgSvvCFDoYc2ciTkMrbDfRKybA4SoFbPmApump" + } + }, + "DriFtupJYLTosbwoN8koMbEYSx54aFAVLddWsbksjwg7": { + "currencyCode": "DRIFT", + "denominations": [ + { + "multiplier": "1000000", + "name": "DRIFT" + } + ], + "displayName": "DRIFT", + "networkLocation": { + "contractAddress": "DriFtupJYLTosbwoN8koMbEYSx54aFAVLddWsbksjwg7" + } + }, + "Dz9mQ9NzkBcCsuGPFJ3r1bS4wgqKMHBPiVuniW8Mbonk": { + "currencyCode": "USELESS", + "denominations": [ + { + "multiplier": "1000000", + "name": "USELESS" + } + ], + "displayName": "Useless Coin", + "networkLocation": { + "contractAddress": "Dz9mQ9NzkBcCsuGPFJ3r1bS4wgqKMHBPiVuniW8Mbonk" + } + }, + "ED5nyyWEzpPPiWimP8vYm7sD7TD3LAt3Q3gRTWHzPJBY": { + "currencyCode": "MOODENG", + "denominations": [ + { + "multiplier": "1000000", + "name": "MOODENG" + } + ], + "displayName": "Moo Deng", + "networkLocation": { + "contractAddress": "ED5nyyWEzpPPiWimP8vYm7sD7TD3LAt3Q3gRTWHzPJBY" + } + }, + "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm": { + "currencyCode": "WIF", + "denominations": [ + { + "multiplier": "1000000", + "name": "WIF" + } + ], + "displayName": "dogwifhat", + "networkLocation": { + "contractAddress": "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm" + } + }, + "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v": { + "currencyCode": "USDC", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC" + } + ], + "displayName": "USD Coin", + "networkLocation": { + "contractAddress": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" + } + }, + "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB": { + "currencyCode": "USDT", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDT" + } + ], + "displayName": "Tether", + "networkLocation": { + "contractAddress": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB" + } + }, + "EzYEwn4R5tNkNGw4K2a5a58MJFQESdf1r4UJrV7cpUF3": { + "currencyCode": "MYCO", + "denominations": [ + { + "multiplier": "1000000", + "name": "MYCO" + } + ], + "displayName": "MYCO", + "networkLocation": { + "contractAddress": "EzYEwn4R5tNkNGw4K2a5a58MJFQESdf1r4UJrV7cpUF3" + } + }, + "FUAfBo2jgks6gB4Z4LfZkqSZgzNucisEHqnNebaRxM1P": { + "currencyCode": "MELANIA", + "denominations": [ + { + "multiplier": "1000000", + "name": "MELANIA" + } + ], + "displayName": "Melania Meme", + "networkLocation": { + "contractAddress": "FUAfBo2jgks6gB4Z4LfZkqSZgzNucisEHqnNebaRxM1P" + } + }, + "GKwLkbDXUXxyfi4kA6Bgoc9gK2MZmEvEAmZ3cX4JckPx": { + "currencyCode": "ZORON", + "denominations": [ + { + "multiplier": "1000000", + "name": "ZORON" + } + ], + "displayName": "Zoron The Moron", + "networkLocation": { + "contractAddress": "GKwLkbDXUXxyfi4kA6Bgoc9gK2MZmEvEAmZ3cX4JckPx" + } + }, + "Grass7B4RdKfBCjTKgSqnXkqjwiGvQyFbuSCUJr3XXjs": { + "currencyCode": "GRASS", + "denominations": [ + { + "multiplier": "1000000000", + "name": "GRASS" + } + ], + "displayName": "Grass", + "networkLocation": { + "contractAddress": "Grass7B4RdKfBCjTKgSqnXkqjwiGvQyFbuSCUJr3XXjs" + } + }, + "GwKKPsJdY5oWMJ8RReWLcvb82KzW6FKy2bKoYW7kHr16": { + "currencyCode": "LLD", + "denominations": [ + { + "multiplier": "100000000", + "name": "LLD" + } + ], + "displayName": "Liberland LLD", + "networkLocation": { + "contractAddress": "GwKKPsJdY5oWMJ8RReWLcvb82KzW6FKy2bKoYW7kHr16" + } + }, + "HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3": { + "currencyCode": "PYTH", + "denominations": [ + { + "multiplier": "1000000", + "name": "PYTH" + } + ], + "displayName": "Pyth Network", + "networkLocation": { + "contractAddress": "HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3" + } + }, + "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn": { + "currencyCode": "JITOSOL", + "denominations": [ + { + "multiplier": "1000000000", + "name": "JITOSOL" + } + ], + "displayName": "Jito Staked SOL", + "networkLocation": { + "contractAddress": "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn" + } + }, + "J3NKxxXZcnNiMjKw9hYb2K4LUxgwB6t1FtPtQVsv3KFr": { + "currencyCode": "SPX", + "denominations": [ + { + "multiplier": "100000000", + "name": "SPX" + } + ], + "displayName": "SPX6900", + "networkLocation": { + "contractAddress": "J3NKxxXZcnNiMjKw9hYb2K4LUxgwB6t1FtPtQVsv3KFr" + } + }, + "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN": { + "currencyCode": "JUP", + "denominations": [ + { + "multiplier": "1000000", + "name": "JUP" + } + ], + "displayName": "Jupiter", + "networkLocation": { + "contractAddress": "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN" + } + }, + "LAYER4xPpTCb3QL8S9u41EAhAX7mhBn8Q6xMTwY2Yzc": { + "currencyCode": "LAYER", + "denominations": [ + { + "multiplier": "1000000000", + "name": "LAYER" + } + ], + "displayName": "Solayer", + "networkLocation": { + "contractAddress": "LAYER4xPpTCb3QL8S9u41EAhAX7mhBn8Q6xMTwY2Yzc" + } + }, + "MEFNBXixkEbait3xn9bkm8WsJzXtVsaJEn4c8Sam21u": { + "currencyCode": "ME", + "denominations": [ + { + "multiplier": "1000000", + "name": "ME" + } + ], + "displayName": "Magic Eden", + "networkLocation": { + "contractAddress": "MEFNBXixkEbait3xn9bkm8WsJzXtVsaJEn4c8Sam21u" + } + }, + "MEW1gQWJ3nEXg2qgERiKu7FAFj79PHvQVREQUzScPP5": { + "currencyCode": "MEW", + "denominations": [ + { + "multiplier": "100000", + "name": "MEW" + } + ], + "displayName": "cat in a dogs world", + "networkLocation": { + "contractAddress": "MEW1gQWJ3nEXg2qgERiKu7FAFj79PHvQVREQUzScPP5" + } + }, + "MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac": { + "currencyCode": "MNGO", + "denominations": [ + { + "multiplier": "1000000", + "name": "MNGO" + } + ], + "displayName": "Mango", + "networkLocation": { + "contractAddress": "MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac" + } + }, + "So11111111111111111111111111111111111111112": { + "currencyCode": "WSOL", + "denominations": [ + { + "multiplier": "1000000000", + "name": "WSOL" + } + ], + "displayName": "Wrapped SOL", + "networkLocation": { + "contractAddress": "So11111111111111111111111111111111111111112" + } + }, + "WENWENvqqNya429ubCdR81ZmD69brwQaaBYY6p3LCpk": { + "currencyCode": "WEN", + "denominations": [ + { + "multiplier": "100000", + "name": "WEN" + } + ], + "displayName": "Wen", + "networkLocation": { + "contractAddress": "WENWENvqqNya429ubCdR81ZmD69brwQaaBYY6p3LCpk" + } + }, + "Xs151QeqTCiuKtinzfRATnUESM2xTU6V9Wy8Vy538ci": { + "currencyCode": "WMTx", + "denominations": [ + { + "multiplier": "100000000", + "name": "WMTx" + } + ], + "displayName": "Walmart xStock", + "networkLocation": { + "contractAddress": "Xs151QeqTCiuKtinzfRATnUESM2xTU6V9Wy8Vy538ci", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "Xs2yquAgsHByNzx68WJC55WHjHBvG9JsMB7CWjTLyPy": { + "currencyCode": "DFDVx", + "denominations": [ + { + "multiplier": "100000000", + "name": "DFDVx" + } + ], + "displayName": "DFDV xStock", + "networkLocation": { + "contractAddress": "Xs2yquAgsHByNzx68WJC55WHjHBvG9JsMB7CWjTLyPy", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "Xs3ZFkPYT2BN7qBMqf1j1bfTeTm1rFzEFSsQ1z3wAKU": { + "currencyCode": "AZNx", + "denominations": [ + { + "multiplier": "100000000", + "name": "AZNx" + } + ], + "displayName": "AstraZeneca xStock", + "networkLocation": { + "contractAddress": "Xs3ZFkPYT2BN7qBMqf1j1bfTeTm1rFzEFSsQ1z3wAKU", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "Xs3eBt7uRfJX8QUs4suhyU8p2M6DoUDrJyWBa8LLZsg": { + "currencyCode": "AMZNx", + "denominations": [ + { + "multiplier": "100000000", + "name": "AMZNx" + } + ], + "displayName": "Amazon xStock", + "networkLocation": { + "contractAddress": "Xs3eBt7uRfJX8QUs4suhyU8p2M6DoUDrJyWBa8LLZsg", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "Xs5UJzmCRQ8DWZjskExdSQDnbE6iLkRu2jjrRAB1JSU": { + "currencyCode": "ACNx", + "denominations": [ + { + "multiplier": "100000000", + "name": "ACNx" + } + ], + "displayName": "Accenture xStock", + "networkLocation": { + "contractAddress": "Xs5UJzmCRQ8DWZjskExdSQDnbE6iLkRu2jjrRAB1JSU", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "Xs6B6zawENwAbWVi7w92rjazLuAr5Az59qgWKcNb45x": { + "currencyCode": "BRK.Bx", + "denominations": [ + { + "multiplier": "100000000", + "name": "BRK.Bx" + } + ], + "displayName": "Berkshire Hathaway xStock", + "networkLocation": { + "contractAddress": "Xs6B6zawENwAbWVi7w92rjazLuAr5Az59qgWKcNb45x", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "Xs7ZdzSHLU9ftNJsii5fCeJhoRWSC32SQGzGQtePxNu": { + "currencyCode": "COINx", + "denominations": [ + { + "multiplier": "100000000", + "name": "COINx" + } + ], + "displayName": "Coinbase xStock", + "networkLocation": { + "contractAddress": "Xs7ZdzSHLU9ftNJsii5fCeJhoRWSC32SQGzGQtePxNu", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "Xs7xXqkcK7K8urEqGg52SECi79dRp2cEKKuYjUePYDw": { + "currencyCode": "CRWDx", + "denominations": [ + { + "multiplier": "100000000", + "name": "CRWDx" + } + ], + "displayName": "CrowdStrike xStock", + "networkLocation": { + "contractAddress": "Xs7xXqkcK7K8urEqGg52SECi79dRp2cEKKuYjUePYDw", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "Xs8S1uUs1zvS2p7iwtsG3b6fkhpvmwz4GYU3gWAmWHZ": { + "currencyCode": "QQQx", + "denominations": [ + { + "multiplier": "100000000", + "name": "QQQx" + } + ], + "displayName": "Nasdaq xStock", + "networkLocation": { + "contractAddress": "Xs8S1uUs1zvS2p7iwtsG3b6fkhpvmwz4GYU3gWAmWHZ", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "Xs8drBWy3Sd5QY3aifG9kt9KFs2K3PGZmx7jWrsrk57": { + "currencyCode": "TMOx", + "denominations": [ + { + "multiplier": "100000000", + "name": "TMOx" + } + ], + "displayName": "Thermo Fisher xStock", + "networkLocation": { + "contractAddress": "Xs8drBWy3Sd5QY3aifG9kt9KFs2K3PGZmx7jWrsrk57", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsApJFV9MAktqnAc6jqzsHVujxkGm9xcSUffaBoYLKC": { + "currencyCode": "MAx", + "denominations": [ + { + "multiplier": "100000000", + "name": "MAx" + } + ], + "displayName": "Mastercard xStock", + "networkLocation": { + "contractAddress": "XsApJFV9MAktqnAc6jqzsHVujxkGm9xcSUffaBoYLKC", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsAtbqkAP1HJxy7hFDeq7ok6yM43DQ9mQ1Rh861X8rw": { + "currencyCode": "PFEx", + "denominations": [ + { + "multiplier": "100000000", + "name": "PFEx" + } + ], + "displayName": "Pfizer xStock", + "networkLocation": { + "contractAddress": "XsAtbqkAP1HJxy7hFDeq7ok6yM43DQ9mQ1Rh861X8rw", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsCPL9dNWBMvFtTmwcCA5v3xWPSMEBCszbQdiLLq6aN": { + "currencyCode": "GOOGLx", + "denominations": [ + { + "multiplier": "100000000", + "name": "GOOGLx" + } + ], + "displayName": "Alphabet xStock", + "networkLocation": { + "contractAddress": "XsCPL9dNWBMvFtTmwcCA5v3xWPSMEBCszbQdiLLq6aN", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsDgw22qRLTv5Uwuzn6T63cW69exG41T6gwQhEK22u2": { + "currencyCode": "MDTx", + "denominations": [ + { + "multiplier": "100000000", + "name": "MDTx" + } + ], + "displayName": "Medtronic xStock", + "networkLocation": { + "contractAddress": "XsDgw22qRLTv5Uwuzn6T63cW69exG41T6gwQhEK22u2", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsDoVfqeBukxuZHWhdvWHBhgEHjGNst4MLodqsJHzoB": { + "currencyCode": "TSLAx", + "denominations": [ + { + "multiplier": "100000000", + "name": "TSLAx" + } + ], + "displayName": "Tesla xStock", + "networkLocation": { + "contractAddress": "XsDoVfqeBukxuZHWhdvWHBhgEHjGNst4MLodqsJHzoB", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsEH7wWfJJu2ZT3UCFeVfALnVA6CP5ur7Ee11KmzVpL": { + "currencyCode": "NFLXx", + "denominations": [ + { + "multiplier": "100000000", + "name": "NFLXx" + } + ], + "displayName": "Netflix xStock", + "networkLocation": { + "contractAddress": "XsEH7wWfJJu2ZT3UCFeVfALnVA6CP5ur7Ee11KmzVpL", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsGVi5eo1Dh2zUpic4qACcjuWGjNv8GCt3dm5XcX6Dn": { + "currencyCode": "JNJx", + "denominations": [ + { + "multiplier": "100000000", + "name": "JNJx" + } + ], + "displayName": "Johnson & Johnson xStock", + "networkLocation": { + "contractAddress": "XsGVi5eo1Dh2zUpic4qACcjuWGjNv8GCt3dm5XcX6Dn", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsHtf5RpxsQ7jeJ9ivNewouZKJHbPxhPoEy6yYvULr7": { + "currencyCode": "ABTx", + "denominations": [ + { + "multiplier": "100000000", + "name": "ABTx" + } + ], + "displayName": "Abbott xStock", + "networkLocation": { + "contractAddress": "XsHtf5RpxsQ7jeJ9ivNewouZKJHbPxhPoEy6yYvULr7", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsMAqkcKsUewDrzVkait4e5u4y8REgtyS7jWgCpLV2C": { + "currencyCode": "JPMx", + "denominations": [ + { + "multiplier": "100000000", + "name": "JPMx" + } + ], + "displayName": "JPMorgan Chase xStock", + "networkLocation": { + "contractAddress": "XsMAqkcKsUewDrzVkait4e5u4y8REgtyS7jWgCpLV2C", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsNNMt7WTNA2sV3jrb1NNfNgapxRF5i4i6GcnTRRHts": { + "currencyCode": "CVXx", + "denominations": [ + { + "multiplier": "100000000", + "name": "CVXx" + } + ], + "displayName": "Chevron xStock", + "networkLocation": { + "contractAddress": "XsNNMt7WTNA2sV3jrb1NNfNgapxRF5i4i6GcnTRRHts", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsP7xzNPvEHS1m6qfanPUGjNmdnmsLKEoNAnHjdxxyZ": { + "currencyCode": "MSTRx", + "denominations": [ + { + "multiplier": "100000000", + "name": "MSTRx" + } + ], + "displayName": "MicroStrategy xStock", + "networkLocation": { + "contractAddress": "XsP7xzNPvEHS1m6qfanPUGjNmdnmsLKEoNAnHjdxxyZ", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsPdAVBi8Zc1xvv53k4JcMrQaEDTgkGqKYeh7AYgPHV": { + "currencyCode": "APPx", + "denominations": [ + { + "multiplier": "100000000", + "name": "APPx" + } + ], + "displayName": "AppLovin xStock", + "networkLocation": { + "contractAddress": "XsPdAVBi8Zc1xvv53k4JcMrQaEDTgkGqKYeh7AYgPHV", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsRbLZthfABAPAfumWNEJhPyiKDW6TvDVeAeW7oKqA2": { + "currencyCode": "HONx", + "denominations": [ + { + "multiplier": "100000000", + "name": "HONx" + } + ], + "displayName": "Honeywell xStock", + "networkLocation": { + "contractAddress": "XsRbLZthfABAPAfumWNEJhPyiKDW6TvDVeAeW7oKqA2", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsSr8anD1hkvNMu8XQiVcmiaTP7XGvYu7Q58LdmtE8Z": { + "currencyCode": "LINx", + "denominations": [ + { + "multiplier": "100000000", + "name": "LINx" + } + ], + "displayName": "Linde xStock", + "networkLocation": { + "contractAddress": "XsSr8anD1hkvNMu8XQiVcmiaTP7XGvYu7Q58LdmtE8Z", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsYdjDjNUygZ7yGKfQaB6TxLh2gC6RRjzLtLAGJrhzV": { + "currencyCode": "PGx", + "denominations": [ + { + "multiplier": "100000000", + "name": "PGx" + } + ], + "displayName": "Procter & Gamble xStock", + "networkLocation": { + "contractAddress": "XsYdjDjNUygZ7yGKfQaB6TxLh2gC6RRjzLtLAGJrhzV", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "Xsa62P5mvPszXL1krVUnU5ar38bBSVcWAB6fmPCo5Zu": { + "currencyCode": "METAx", + "denominations": [ + { + "multiplier": "100000000", + "name": "METAx" + } + ], + "displayName": "Meta xStock", + "networkLocation": { + "contractAddress": "Xsa62P5mvPszXL1krVUnU5ar38bBSVcWAB6fmPCo5Zu", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsaBXg8dU5cPM6ehmVctMkVqoiRG2ZjMo1cyBJ3AykQ": { + "currencyCode": "KOx", + "denominations": [ + { + "multiplier": "100000000", + "name": "KOx" + } + ], + "displayName": "Coca-Cola xStock", + "networkLocation": { + "contractAddress": "XsaBXg8dU5cPM6ehmVctMkVqoiRG2ZjMo1cyBJ3AykQ", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsaHND8sHyfMfsWPj6kSdd5VwvCayZvjYgKmmcNL5qh": { + "currencyCode": "XOMx", + "denominations": [ + { + "multiplier": "100000000", + "name": "XOMx" + } + ], + "displayName": "Exxon Mobil xStock", + "networkLocation": { + "contractAddress": "XsaHND8sHyfMfsWPj6kSdd5VwvCayZvjYgKmmcNL5qh", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsaQTCgebC2KPbf27KUhdv5JFvHhQ4GDAPURwrEhAzb": { + "currencyCode": "AMBRx", + "denominations": [ + { + "multiplier": "100000000", + "name": "AMBRx" + } + ], + "displayName": "Amber xStock", + "networkLocation": { + "contractAddress": "XsaQTCgebC2KPbf27KUhdv5JFvHhQ4GDAPURwrEhAzb", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsbEhLAtcf6HdfpFZ5xEMdqW8nfAvcsP5bdudRLJzJp": { + "currencyCode": "AAPLx", + "denominations": [ + { + "multiplier": "100000000", + "name": "AAPLx" + } + ], + "displayName": "Apple xStock", + "networkLocation": { + "contractAddress": "XsbEhLAtcf6HdfpFZ5xEMdqW8nfAvcsP5bdudRLJzJp", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "Xsba6tUnSjDae2VcopDB6FGGDaxRrewFCDa5hKn5vT3": { + "currencyCode": "PMx", + "denominations": [ + { + "multiplier": "100000000", + "name": "PMx" + } + ], + "displayName": "Philip Morris xStock", + "networkLocation": { + "contractAddress": "Xsba6tUnSjDae2VcopDB6FGGDaxRrewFCDa5hKn5vT3", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "Xsc9qvGR1efVDFGLrVsmkzv3qi45LTBjeUKSPmx9qEh": { + "currencyCode": "NVDAx", + "denominations": [ + { + "multiplier": "100000000", + "name": "NVDAx" + } + ], + "displayName": "NVIDIA xStock", + "networkLocation": { + "contractAddress": "Xsc9qvGR1efVDFGLrVsmkzv3qi45LTBjeUKSPmx9qEh", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsczbcQ3zfcgAEt9qHQES8pxKAVG5rujPSHQEXi4kaN": { + "currencyCode": "CRMx", + "denominations": [ + { + "multiplier": "100000000", + "name": "CRMx" + } + ], + "displayName": "Salesforce xStock", + "networkLocation": { + "contractAddress": "XsczbcQ3zfcgAEt9qHQES8pxKAVG5rujPSHQEXi4kaN", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "Xseo8tgCZfkHxWS9xbFYeKFyMSbWEvZGFV1Gh53GtCV": { + "currencyCode": "DHRx", + "denominations": [ + { + "multiplier": "100000000", + "name": "DHRx" + } + ], + "displayName": "Danaher xStock", + "networkLocation": { + "contractAddress": "Xseo8tgCZfkHxWS9xbFYeKFyMSbWEvZGFV1Gh53GtCV", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "Xsf9mBktVB9BSU5kf4nHxPq5hCBJ2j2ui3ecFGxPRGc": { + "currencyCode": "GMEx", + "denominations": [ + { + "multiplier": "100000000", + "name": "GMEx" + } + ], + "displayName": "Gamestop xStock", + "networkLocation": { + "contractAddress": "Xsf9mBktVB9BSU5kf4nHxPq5hCBJ2j2ui3ecFGxPRGc", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsfAzPzYrYjd4Dpa9BU3cusBsvWfVB9gBcyGC87S57n": { + "currencyCode": "NVOx", + "denominations": [ + { + "multiplier": "100000000", + "name": "NVOx" + } + ], + "displayName": "Novo Nordisk xStock", + "networkLocation": { + "contractAddress": "XsfAzPzYrYjd4Dpa9BU3cusBsvWfVB9gBcyGC87S57n", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsgSaSvNSqLTtFuyWPBhK9196Xb9Bbdyjj4fH3cPJGo": { + "currencyCode": "AVGOx", + "denominations": [ + { + "multiplier": "100000000", + "name": "AVGOx" + } + ], + "displayName": "Broadcom xStock", + "networkLocation": { + "contractAddress": "XsgSaSvNSqLTtFuyWPBhK9196Xb9Bbdyjj4fH3cPJGo", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsgaUyp4jd1fNBCxgtTKkW64xnnhQcvgaxzsbAq5ZD1": { + "currencyCode": "GSx", + "denominations": [ + { + "multiplier": "100000000", + "name": "GSx" + } + ], + "displayName": "Goldman Sachs xStock", + "networkLocation": { + "contractAddress": "XsgaUyp4jd1fNBCxgtTKkW64xnnhQcvgaxzsbAq5ZD1", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XshPgPdXFRWB8tP1j82rebb2Q9rPgGX37RuqzohmArM": { + "currencyCode": "INTCx", + "denominations": [ + { + "multiplier": "100000000", + "name": "INTCx" + } + ], + "displayName": "Intel xStock", + "networkLocation": { + "contractAddress": "XshPgPdXFRWB8tP1j82rebb2Q9rPgGX37RuqzohmArM", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsjFwUPiLofddX5cWFHW35GCbXcSu1BCUGfxoQAQjeL": { + "currencyCode": "ORCLx", + "denominations": [ + { + "multiplier": "100000000", + "name": "ORCLx" + } + ], + "displayName": "Oracle xStock", + "networkLocation": { + "contractAddress": "XsjFwUPiLofddX5cWFHW35GCbXcSu1BCUGfxoQAQjeL", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsjQP3iMAaQ3kQScQKthQpx9ALRbjKAjQtHg6TFomoc": { + "currencyCode": "TQQQx", + "denominations": [ + { + "multiplier": "100000000", + "name": "TQQQx" + } + ], + "displayName": "TQQQ xStock", + "networkLocation": { + "contractAddress": "XsjQP3iMAaQ3kQScQKthQpx9ALRbjKAjQtHg6TFomoc", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsnQnU7AdbRZYe2akqqpibDdXjkieGFfSkbkjX1Sd1X": { + "currencyCode": "MRKx", + "denominations": [ + { + "multiplier": "100000000", + "name": "MRKx" + } + ], + "displayName": "Merck xStock", + "networkLocation": { + "contractAddress": "XsnQnU7AdbRZYe2akqqpibDdXjkieGFfSkbkjX1Sd1X", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "Xsnuv4omNoHozR6EEW5mXkw8Nrny5rB3jVfLqi6gKMH": { + "currencyCode": "LLYx", + "denominations": [ + { + "multiplier": "100000000", + "name": "LLYx" + } + ], + "displayName": "Eli Lilly xStock", + "networkLocation": { + "contractAddress": "Xsnuv4omNoHozR6EEW5mXkw8Nrny5rB3jVfLqi6gKMH", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsoBhf2ufR8fTyNSjqfU71DYGaE6Z3SUGAidpzriAA4": { + "currencyCode": "PLTRx", + "denominations": [ + { + "multiplier": "100000000", + "name": "PLTRx" + } + ], + "displayName": "Palantir xStock", + "networkLocation": { + "contractAddress": "XsoBhf2ufR8fTyNSjqfU71DYGaE6Z3SUGAidpzriAA4", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsoCS1TfEyfFhfvj8EtZ528L3CaKBDBRqRapnBbDF2W": { + "currencyCode": "SPYx", + "denominations": [ + { + "multiplier": "100000000", + "name": "SPYx" + } + ], + "displayName": "SP500 xStock", + "networkLocation": { + "contractAddress": "XsoCS1TfEyfFhfvj8EtZ528L3CaKBDBRqRapnBbDF2W", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XspwhyYPdWVM8XBHZnpS9hgyag9MKjLRyE3tVfmCbSr": { + "currencyCode": "IBMx", + "denominations": [ + { + "multiplier": "100000000", + "name": "IBMx" + } + ], + "displayName": "International Business Machines xStock", + "networkLocation": { + "contractAddress": "XspwhyYPdWVM8XBHZnpS9hgyag9MKjLRyE3tVfmCbSr", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XspzcW1PRtgf6Wj92HCiZdjzKCyFekVD8P5Ueh3dRMX": { + "currencyCode": "MSFTx", + "denominations": [ + { + "multiplier": "100000000", + "name": "MSFTx" + } + ], + "displayName": "Microsoft xStock", + "networkLocation": { + "contractAddress": "XspzcW1PRtgf6Wj92HCiZdjzKCyFekVD8P5Ueh3dRMX", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsqE9cRRpzxcGKDXj1BJ7Xmg4GRhZoyY1KpmGSxAWT2": { + "currencyCode": "MCDx", + "denominations": [ + { + "multiplier": "100000000", + "name": "MCDx" + } + ], + "displayName": "McDonald's xStock", + "networkLocation": { + "contractAddress": "XsqE9cRRpzxcGKDXj1BJ7Xmg4GRhZoyY1KpmGSxAWT2", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsqgsbXwWogGJsNcVZ3TyVouy2MbTkfCFhCGGGcQZ2p": { + "currencyCode": "Vx", + "denominations": [ + { + "multiplier": "100000000", + "name": "Vx" + } + ], + "displayName": "Visa xStock", + "networkLocation": { + "contractAddress": "XsqgsbXwWogGJsNcVZ3TyVouy2MbTkfCFhCGGGcQZ2p", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "Xsr3pdLQyXvDJBFgpR5nexCEZwXvigb8wbPYp4YoNFf": { + "currencyCode": "CSCOx", + "denominations": [ + { + "multiplier": "100000000", + "name": "CSCOx" + } + ], + "displayName": "Cisco xStock", + "networkLocation": { + "contractAddress": "Xsr3pdLQyXvDJBFgpR5nexCEZwXvigb8wbPYp4YoNFf", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsssYEQjzxBCFgvYFFNuhJFBeHNdLWYeUSP8F45cDr9": { + "currencyCode": "VTIx", + "denominations": [ + { + "multiplier": "100000000", + "name": "VTIx" + } + ], + "displayName": "Vanguard xStock", + "networkLocation": { + "contractAddress": "XsssYEQjzxBCFgvYFFNuhJFBeHNdLWYeUSP8F45cDr9", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsueG8BtpquVJX9LVLLEGuViXUungE6WmK5YZ3p3bd1": { + "currencyCode": "CRCLx", + "denominations": [ + { + "multiplier": "100000000", + "name": "CRCLx" + } + ], + "displayName": "Circle xStock", + "networkLocation": { + "contractAddress": "XsueG8BtpquVJX9LVLLEGuViXUungE6WmK5YZ3p3bd1", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsuxRGDzbLjnJ72v74b7p9VY6N66uYgTCyfwwRjVCJA": { + "currencyCode": "MRVLx", + "denominations": [ + { + "multiplier": "100000000", + "name": "MRVLx" + } + ], + "displayName": "Marvell xStock", + "networkLocation": { + "contractAddress": "XsuxRGDzbLjnJ72v74b7p9VY6N66uYgTCyfwwRjVCJA", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "Xsv99frTRUeornyvCfvhnDesQDWuvns1M852Pez91vF": { + "currencyCode": "PEPx", + "denominations": [ + { + "multiplier": "100000000", + "name": "PEPx" + } + ], + "displayName": "PepsiCo xStock", + "networkLocation": { + "contractAddress": "Xsv99frTRUeornyvCfvhnDesQDWuvns1M852Pez91vF", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re": { + "currencyCode": "GLDx", + "denominations": [ + { + "multiplier": "100000000", + "name": "GLDx" + } + ], + "displayName": "Gold xStock", + "networkLocation": { + "contractAddress": "Xsv9hRk1z5ystj9MhnA7Lq4vjSsLwzL2nxrwmwtD3re", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsvKCaNsxg2GN8jjUmq71qukMJr7Q1c5R2Mk9P8kcS8": { + "currencyCode": "CMCSAx", + "denominations": [ + { + "multiplier": "100000000", + "name": "CMCSAx" + } + ], + "displayName": "Comcast xStock", + "networkLocation": { + "contractAddress": "XsvKCaNsxg2GN8jjUmq71qukMJr7Q1c5R2Mk9P8kcS8", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XsvNBAYkrDRNhA7wPHQfX3ZUXZyZLdnCQDfHZ56bzpg": { + "currencyCode": "HOODx", + "denominations": [ + { + "multiplier": "100000000", + "name": "HOODx" + } + ], + "displayName": "Robinhood xStock", + "networkLocation": { + "contractAddress": "XsvNBAYkrDRNhA7wPHQfX3ZUXZyZLdnCQDfHZ56bzpg", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XswbinNKyPmzTa5CskMbCPvMW6G5CMnZXZEeQSSQoie": { + "currencyCode": "ABBVx", + "denominations": [ + { + "multiplier": "100000000", + "name": "ABBVx" + } + ], + "displayName": "AbbVie xStock", + "networkLocation": { + "contractAddress": "XswbinNKyPmzTa5CskMbCPvMW6G5CMnZXZEeQSSQoie", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XswsQk4duEQmCbGzfqUUWYmi7pV7xpJ9eEmLHXCaEQP": { + "currencyCode": "BACx", + "denominations": [ + { + "multiplier": "100000000", + "name": "BACx" + } + ], + "displayName": "Bank of America xStock", + "networkLocation": { + "contractAddress": "XswsQk4duEQmCbGzfqUUWYmi7pV7xpJ9eEmLHXCaEQP", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XszjVtyhowGjSC5odCqBpW1CtXXwXjYokymrk7fGKD3": { + "currencyCode": "HDx", + "denominations": [ + { + "multiplier": "100000000", + "name": "HDx" + } + ], + "displayName": "Home Depot xStock", + "networkLocation": { + "contractAddress": "XszjVtyhowGjSC5odCqBpW1CtXXwXjYokymrk7fGKD3", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "XszvaiXGPwvk2nwb3o9C1CX4K6zH8sez11E6uyup6fe": { + "currencyCode": "UNHx", + "denominations": [ + { + "multiplier": "100000000", + "name": "UNHx" + } + ], + "displayName": "UnitedHealth xStock", + "networkLocation": { + "contractAddress": "XszvaiXGPwvk2nwb3o9C1CX4K6zH8sez11E6uyup6fe", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "bSo13r4TkiE4KumL71LsHTPpL2euBYLFx6h9HP3piy1": { + "currencyCode": "BSOL", + "denominations": [ + { + "multiplier": "1000000000", + "name": "BSOL" + } + ], + "displayName": "BlazeStake", + "networkLocation": { + "contractAddress": "bSo13r4TkiE4KumL71LsHTPpL2euBYLFx6h9HP3piy1" + } + }, + "bioJ9JTqW62MLz7UKHU69gtKhPpGi1BQhccj2kmSvUJ": { + "currencyCode": "BIO", + "denominations": [ + { + "multiplier": "1000000000", + "name": "BIO" + } + ], + "displayName": "BIO", + "networkLocation": { + "contractAddress": "bioJ9JTqW62MLz7UKHU69gtKhPpGi1BQhccj2kmSvUJ", + "tokenProgram": "token2022PublicKey" + } + }, + "cbbtcf3aa214zXHbiAZQwf4122FBYbraNdFqgw4iMij": { + "currencyCode": "cbBTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "cbBTC" + } + ], + "displayName": "Coinbase Wrapped Bitcoin", + "networkLocation": { + "contractAddress": "cbbtcf3aa214zXHbiAZQwf4122FBYbraNdFqgw4iMij" + } + }, + "degod39zqQWzpG6h4b7SJLLTCFE6FeZnZD8BwHBFxaN": { + "currencyCode": "DEGOD", + "denominations": [ + { + "multiplier": "1000000000", + "name": "DEGOD" + } + ], + "displayName": "degod", + "networkLocation": { + "contractAddress": "degod39zqQWzpG6h4b7SJLLTCFE6FeZnZD8BwHBFxaN" + } + }, + "jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL": { + "currencyCode": "JTO", + "denominations": [ + { + "multiplier": "1000000000", + "name": "JTO" + } + ], + "displayName": "JITO", + "networkLocation": { + "contractAddress": "jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL" + } + }, + "kshrEkxuc7zPAvLxvabxoERKxK6BfariPcjBoiHvM7B": { + "currencyCode": "GMT", + "denominations": [ + { + "multiplier": "1000000000", + "name": "GMT" + } + ], + "displayName": "STEPN", + "networkLocation": { + "contractAddress": "kshrEkxuc7zPAvLxvabxoERKxK6BfariPcjBoiHvM7B" + } + }, + "mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So": { + "currencyCode": "MSOL", + "denominations": [ + { + "multiplier": "1000000000", + "name": "MSOL" + } + ], + "displayName": "Marinade staked SOL", + "networkLocation": { + "contractAddress": "mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So" + } + }, + "pumpCmXqMfrsAkQ5r49WcJnRayYRqmXz6ae8H7H9Dfn": { + "currencyCode": "PUMP", + "denominations": [ + { + "multiplier": "1000000", + "name": "PUMP" + } + ], + "displayName": "Pump.fun", + "networkLocation": { + "contractAddress": "pumpCmXqMfrsAkQ5r49WcJnRayYRqmXz6ae8H7H9Dfn" + } + }, + "rndrizKT3MK1iimdxRdWabcF7Zg7AR5T4nud4EkHBof": { + "currencyCode": "RNDR", + "denominations": [ + { + "multiplier": "100000000", + "name": "RNDR" + } + ], + "displayName": "Render Token", + "networkLocation": { + "contractAddress": "rndrizKT3MK1iimdxRdWabcF7Zg7AR5T4nud4EkHBof" + } + }, + "spinezMPKxkBpf4Q9xET2587fehM3LuKe4xoAoXtSjR": { + "currencyCode": "SPINE", + "denominations": [ + { + "multiplier": "1000000000", + "name": "SPINE" + } + ], + "displayName": "SpineDAO", + "networkLocation": { + "contractAddress": "spinezMPKxkBpf4Q9xET2587fehM3LuKe4xoAoXtSjR", + "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb" + } + }, + "wctk5xwdn5syg56twgj32suf3w4wfq48ogezlbuytby": { + "currencyCode": "WCT", + "denominations": [ + { + "multiplier": "1000000000", + "name": "WCT" + } + ], + "displayName": "WalletConnect Token", + "networkLocation": { + "contractAddress": "wctk5xwdn5syg56twgj32suf3w4wfq48ogezlbuytby" + } + } + }, + "sonic": { + "039e2fb66102314ce7b64ce5ce3e5183bc94ad38": { + "currencyCode": "wS", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "wS" + } + ], + "displayName": "Wrapped Sonic", + "networkLocation": { + "contractAddress": "0x039e2fb66102314ce7b64ce5ce3e5183bc94ad38" + } + }, + "0555e30da8f98308edb960aa94c0db47230d2b9c": { + "currencyCode": "WBTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "WBTC" + } + ], + "displayName": "Wrapped Bitcoin", + "networkLocation": { + "contractAddress": "0x0555e30da8f98308edb960aa94c0db47230d2b9c" + } + }, + "0e0ce4d450c705f8a0b6dd9d5123e3df2787d16b": { + "currencyCode": "WAGMI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WAGMI" + } + ], + "displayName": "Wagmi", + "networkLocation": { + "contractAddress": "0x0e0Ce4D450c705F8a0B6Dd9d5123e3df2787D16B" + } + }, + "29219dd400f2bf60e5a23d13be72b486d4038894": { + "currencyCode": "USDC.e", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC.e" + } + ], + "displayName": "Bridged USDC (Sonic)", + "networkLocation": { + "contractAddress": "0x29219dd400f2bf60e5a23d13be72b486d4038894" + } + }, + "2d0e0814e62d80056181f5cd932274405966e4f0": { + "currencyCode": "BEETS", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BEETS" + } + ], + "displayName": "Beets", + "networkLocation": { + "contractAddress": "0x2d0e0814e62d80056181f5cd932274405966e4f0" + } + }, + "3333111a391cc08fa51353e9195526a70b333333": { + "currencyCode": "x33", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "x33" + } + ], + "displayName": "Shadow Liquid Staking Token", + "networkLocation": { + "contractAddress": "0x3333111a391cc08fa51353e9195526a70b333333" + } + }, + "3333b97138d4b086720b5ae8a7844b1345a33333": { + "currencyCode": "SHADOW", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SHADOW" + } + ], + "displayName": "Shadow", + "networkLocation": { + "contractAddress": "0x3333b97138d4b086720b5ae8a7844b1345a33333" + } + }, + "50c42deacd8fc9773493ed674b675be577f2634b": { + "currencyCode": "WETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WETH" + } + ], + "displayName": "Wrapped Ether", + "networkLocation": { + "contractAddress": "0x50c42deacd8fc9773493ed674b675be577f2634b" + } + }, + "6047828dc181963ba44974801ff68e538da5eaf9": { + "currencyCode": "USDT", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDT" + } + ], + "displayName": "Bridged USDT (Sonic)", + "networkLocation": { + "contractAddress": "0x6047828dc181963ba44974801ff68e538da5eaf9" + } + }, + "71e99522ead5e21cf57f1f542dc4ad2e841f7321": { + "currencyCode": "METRO", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "METRO" + } + ], + "displayName": "Metropolis Token", + "networkLocation": { + "contractAddress": "0x71E99522EaD5E21CF57F1f542Dc4ad2E841F7321" + } + }, + "79bbf4508b1391af3a0f4b30bb5fc4aa9ab0e07c": { + "currencyCode": "Anon", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "Anon" + } + ], + "displayName": "HeyAnon", + "networkLocation": { + "contractAddress": "0x79bbf4508b1391af3a0f4b30bb5fc4aa9ab0e07c" + } + }, + "9fdbc3f8abc05fa8f3ad3c17d2f806c1230c4564": { + "currencyCode": "GOGLZ", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "GOGLZ" + } + ], + "displayName": "GOGGLES", + "networkLocation": { + "contractAddress": "0x9fdbc3f8abc05fa8f3ad3c17d2f806c1230c4564" + } + }, + "a04bc7140c26fc9bb1f36b1a604c7a5a88fb0e70": { + "currencyCode": "SWPx", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SWPx" + } + ], + "displayName": "SwapX", + "networkLocation": { + "contractAddress": "0xA04BC7140c26fc9BB1F36B1A604C7A5a88fb0E70" + } + }, + "b1e25689d55734fd3fffc939c4c3eb52dff8a794": { + "currencyCode": "OS", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "OS" + } + ], + "displayName": "Origin Sonic", + "networkLocation": { + "contractAddress": "0xb1e25689D55734FD3ffFc939c4C3Eb52DFf8A794" + } + }, + "d3dce716f3ef535c5ff8d041c1a41c3bd89b97ae": { + "currencyCode": "scUSD", + "denominations": [ + { + "multiplier": "1000000", + "name": "scUSD" + } + ], + "displayName": "Rings scUSD", + "networkLocation": { + "contractAddress": "0xd3DCe716f3eF535C5Ff8d041c1A41C3bd89b97aE" + } + }, + "e5da20f15420ad15de0fa650600afc998bbe3955": { + "currencyCode": "stS", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "stS" + } + ], + "displayName": "Beets Staked Sonic", + "networkLocation": { + "contractAddress": "0xe5da20f15420ad15de0fa650600afc998bbe3955" + } + }, + "ecac9c5f704e954931349da37f60e39f515c11c1": { + "currencyCode": "LBTC", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "LBTC" + } + ], + "displayName": "Lombard Staked BTC", + "networkLocation": { + "contractAddress": "0xecAc9C5F704e954931349Da37F60E39f515c11c1" + } + } + }, + "sui": { + "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7usdcUSDC": { + "currencyCode": "USDC", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC" + } + ], + "displayName": "USD Coin", + "networkLocation": { + "contractAddress": "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC" + } + } + }, + "suitestnet": { + "0xcf9856788a9738fe7b679f57e2aace7e7226cca1acb2298c457d2e0687806e92wispWISP": { + "currencyCode": "WISP", + "denominations": [ + { + "multiplier": "1000000000", + "name": "Wisp" + } + ], + "displayName": "Wisp", + "networkLocation": { + "contractAddress": "0xcf9856788a9738fe7b679f57e2aace7e7226cca1acb2298c457d2e0687806e92::wisp::WISP" + } + } + }, + "thorchainrune": { + "tcy": { + "currencyCode": "TCY", + "denominations": [ + { + "multiplier": "100000000", + "name": "TCY" + } + ], + "displayName": "TCY", + "networkLocation": { + "contractAddress": "tcy" + } + } + }, + "thorchainrunestagenet": { + "tcy": { + "currencyCode": "TCY", + "denominations": [ + { + "multiplier": "100000000", + "name": "TCY" + } + ], + "displayName": "TCY", + "networkLocation": { + "contractAddress": "tcy" + } + } + }, + "tron": { + "TAFjULxiVgT4qWk6UZwjqwZXTSaGaqnVp4": { + "currencyCode": "BTT", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "BTT" + } + ], + "displayName": "BitTorrent", + "networkLocation": { + "contractAddress": "TAFjULxiVgT4qWk6UZwjqwZXTSaGaqnVp4" + } + }, + "TCFLL5dx5ZJdKnWuesXxi1VPwjLVmWZZy9": { + "currencyCode": "JST", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "JST" + } + ], + "displayName": "JUST", + "networkLocation": { + "contractAddress": "TCFLL5dx5ZJdKnWuesXxi1VPwjLVmWZZy9" + } + }, + "TEkxiTehnzSmSe2XqrBj4w32RUN966rdz8": { + "currencyCode": "USDC", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC" + } + ], + "displayName": "USD Coin", + "networkLocation": { + "contractAddress": "TEkxiTehnzSmSe2XqrBj4w32RUN966rdz8" + } + }, + "TFczxzPhnThNSqr5by8tvxsdCFRRz6cPNq": { + "currencyCode": "NFT", + "denominations": [ + { + "multiplier": "1000000", + "name": "NFT" + } + ], + "displayName": "APENFT", + "networkLocation": { + "contractAddress": "TFczxzPhnThNSqr5by8tvxsdCFRRz6cPNq" + } + }, + "TLa2f6VPqDgRE67v1736s7bJ8Ray5wYjU7": { + "currencyCode": "WIN", + "denominations": [ + { + "multiplier": "1000000", + "name": "WIN" + } + ], + "displayName": "WINkLink", + "networkLocation": { + "contractAddress": "TLa2f6VPqDgRE67v1736s7bJ8Ray5wYjU7" + } + }, + "TMwFHYXLJaRUPeW6421aqXL4ZEzPRFGkGT": { + "currencyCode": "USDJ", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "USDJ" + } + ], + "displayName": "JUST Stablecoin", + "networkLocation": { + "contractAddress": "TMwFHYXLJaRUPeW6421aqXL4ZEzPRFGkGT" + } + }, + "TNUC9Qb1rRpS5CbWLmNMxXBjyFoydXjWFR": { + "currencyCode": "WTRX", + "denominations": [ + { + "multiplier": "1000000", + "name": "WTRX" + } + ], + "displayName": "Wrapped TRX", + "networkLocation": { + "contractAddress": "TNUC9Qb1rRpS5CbWLmNMxXBjyFoydXjWFR" + } + }, + "TPYmHEhy5n8TCEfYGqW2rPxsghSfzghPDn": { + "currencyCode": "USDD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "USDD" + } + ], + "displayName": "Decentralized USD", + "networkLocation": { + "contractAddress": "TPYmHEhy5n8TCEfYGqW2rPxsghSfzghPDn" + } + }, + "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t": { + "currencyCode": "USDT", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDT" + } + ], + "displayName": "Tether", + "networkLocation": { + "contractAddress": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t" + } + }, + "TSSMHYeV2uE9qYH95DqyoCuNCzEL1NvU3S": { + "currencyCode": "SUN", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "SUN" + } + ], + "displayName": "SUN", + "networkLocation": { + "contractAddress": "TSSMHYeV2uE9qYH95DqyoCuNCzEL1NvU3S" + } + }, + "TUpMhErZL2fhh4sVNULAbNKLokS4GjC1F4": { + "currencyCode": "TUSD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "TUSD" + } + ], + "displayName": "TrueUSD", + "networkLocation": { + "contractAddress": "TUpMhErZL2fhh4sVNULAbNKLokS4GjC1F4" + } + } + }, + "zano": { + "012173a8d49688eb83093eca8ea5e12b77c84da9fe87bbee17880093294467df": { + "currencyCode": "BTCTKVR", + "denominations": [ + { + "multiplier": "1000000000000", + "name": "BTCTKVR" + } + ], + "displayName": "Bitcoin Takeover Podcast S15 E60 Airdrop Token", + "networkLocation": { + "contractAddress": "012173a8d49688eb83093eca8ea5e12b77c84da9fe87bbee17880093294467df" + } + }, + "040a180aca4194a158c17945dd115db42086f6f074c1f77838621a4927fffa91": { + "currencyCode": "BTCx", + "denominations": [ + { + "multiplier": "100000000", + "name": "BTCx" + } + ], + "displayName": "Bitcoin", + "networkLocation": { + "contractAddress": "040a180aca4194a158c17945dd115db42086f6f074c1f77838621a4927fffa91" + } + }, + "24819c4b65786c3ac424e05d9ef4ab212de6222cc73bc5c4b012df5a3107eea4": { + "currencyCode": "DAIx", + "denominations": [ + { + "multiplier": "1000000", + "name": "DAIx" + } + ], + "displayName": "DAI", + "networkLocation": { + "contractAddress": "24819c4b65786c3ac424e05d9ef4ab212de6222cc73bc5c4b012df5a3107eea4" + } + }, + "2d4dbc05d942ade7452310b9cd258f5999ef69f2514e1ae598cbaedb8f1d5675": { + "currencyCode": "EDGE", + "denominations": [ + { + "multiplier": "100000000", + "name": "EDGE" + } + ], + "displayName": "Get Edgy", + "networkLocation": { + "contractAddress": "2d4dbc05d942ade7452310b9cd258f5999ef69f2514e1ae598cbaedb8f1d5675" + } + }, + "6ca3fa07f1b6a75b6e195d2918c32228765968b54ea691c75958affa1c4073fb": { + "currencyCode": "BNBx", + "denominations": [ + { + "multiplier": "1000000", + "name": "BNBx" + } + ], + "displayName": "Binance", + "networkLocation": { + "contractAddress": "6ca3fa07f1b6a75b6e195d2918c32228765968b54ea691c75958affa1c4073fb" + } + }, + "86143388bd056a8f0bab669f78f14873fac8e2dd8d57898cdb725a2d5e2e4f8f": { + "currencyCode": "FUSD", + "denominations": [ + { + "multiplier": "10000", + "name": "FUSD" + } + ], + "displayName": "Freedom Dollar", + "networkLocation": { + "contractAddress": "86143388bd056a8f0bab669f78f14873fac8e2dd8d57898cdb725a2d5e2e4f8f" + } + }, + "93da681503353509367e241cda3234299dedbbad9ec851de31e900490807bf0c": { + "currencyCode": "ETHx", + "denominations": [ + { + "multiplier": "1000000", + "name": "ETHx" + } + ], + "displayName": "Ethereum", + "networkLocation": { + "contractAddress": "93da681503353509367e241cda3234299dedbbad9ec851de31e900490807bf0c" + } + }, + "f5413f195b3347a3822ea6100e4db70f10b34ea0b22822af0ba15258d139fb71": { + "currencyCode": "TALLY", + "denominations": [ + { + "multiplier": "1000000", + "name": "TALLY" + } + ], + "displayName": "Tally Note", + "networkLocation": { + "contractAddress": "f5413f195b3347a3822ea6100e4db70f10b34ea0b22822af0ba15258d139fb71" + } + } + }, + "zksync": { + "1d17cbcf0d6d143135ae902365d2e5e2a16538d4": { + "currencyCode": "USDC", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC" + } + ], + "displayName": "USD Coin", + "networkLocation": { + "contractAddress": "0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4" + } + }, + "3355df6d4c9c3035724fd0e3914de96a5a83aaf4": { + "currencyCode": "USDC.e", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDC.e" + } + ], + "displayName": "USD Coin", + "networkLocation": { + "contractAddress": "0x3355df6D4c9C3035724Fd0e3914dE96A5a83aaf4" + } + }, + "3a287a06c66f9e95a56327185ca2bdf5f031cecd": { + "currencyCode": "CAKE", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "CAKE" + } + ], + "displayName": "PancakeSwap", + "networkLocation": { + "contractAddress": "0x3a287a06c66f9e95a56327185ca2bdf5f031cecd" + } + }, + "493257fd37edb34451f62edf8d2a0c418852ba4c": { + "currencyCode": "USDT", + "denominations": [ + { + "multiplier": "1000000", + "name": "USDT" + } + ], + "displayName": "USDT", + "networkLocation": { + "contractAddress": "0x493257fD37EDB34451f62EDf8D2a0C418852bA4C" + } + }, + "4b9eb6c0b6ea15176bbf62841c6b2a8a398cb656": { + "currencyCode": "DAI", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "DAI" + } + ], + "displayName": "DAI", + "networkLocation": { + "contractAddress": "0x4B9eb6c0b6ea15176BBF62841C6B2A8a398cb656" + } + }, + "5a7d6b2f92c77fad6ccabd7ee0624e64907eaf3e": { + "currencyCode": "ZK", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "ZK" + } + ], + "displayName": "ZK", + "networkLocation": { + "contractAddress": "0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E" + } + }, + "7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0": { + "currencyCode": "WSTETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WSTETH" + } + ], + "displayName": "Lido Wrapped Staked Ethereum", + "networkLocation": { + "contractAddress": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0" + } + }, + "bbeb516fb02a01611cbbe0453fe3c580d7281011": { + "currencyCode": "WBTC", + "denominations": [ + { + "multiplier": "100000000", + "name": "WBTC" + } + ], + "displayName": "Wrapped Bitcoin", + "networkLocation": { + "contractAddress": "0xBBeB516fb02a01611cBBE0453Fe3c580D7281011" + } + }, + "d4169e045bcf9a86cc00101225d9ed61d2f51af2": { + "currencyCode": "WRSTETH", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "WRSTETH" + } + ], + "displayName": "Kelp DAO Wrapped rsETH", + "networkLocation": { + "contractAddress": "0xd4169E045bcF9a86cC00101225d9ED61D2F51af2" + } + }, + "ed4040fd47629e7c8fbb7da76bb50b3e7695f0f2": { + "currencyCode": "HOLD", + "denominations": [ + { + "multiplier": "1000000000000000000", + "name": "HOLD" + } + ], + "displayName": "Holdstation", + "networkLocation": { + "contractAddress": "0xed4040fD47629e7c8FBB7DA76bb50B3e7695F0f2" + } + } + } +} \ No newline at end of file diff --git a/src/core/account/custom-tokens.ts b/src/core/account/custom-tokens.ts index 38b3cfbda..b81649463 100644 --- a/src/core/account/custom-tokens.ts +++ b/src/core/account/custom-tokens.ts @@ -78,21 +78,6 @@ function contractToTokenId(contractAddress: string): string { return contractAddress.toLowerCase().replace(/^0x/, '') } -function upgradeMetaTokens(metaTokens: EdgeMetaToken[]): EdgeTokenMap { - const out: EdgeTokenMap = {} - for (const metaToken of metaTokens) { - const { contractAddress } = metaToken - if (contractAddress == null) continue - out[contractToTokenId(contractAddress)] = { - currencyCode: metaToken.currencyCode, - denominations: metaToken.denominations, - displayName: metaToken.currencyName, - networkLocation: { contractAddress: metaToken.contractAddress } - } - } - return out -} - export function makeMetaToken(token: EdgeToken): EdgeMetaToken { const { currencyCode, displayName, denominations, networkLocation } = token const cleanLocation = asMaybeContractLocation(networkLocation) @@ -126,28 +111,6 @@ export function makeTokenInfo(token: EdgeToken): EdgeTokenInfo | undefined { } } -export async function loadBuiltinTokens( - ai: ApiInput, - accountId: string -): Promise { - const { dispatch, state } = ai.props - - // Load builtin tokens: - await Promise.all( - Object.keys(state.plugins.currency).map(async pluginId => { - const plugin = state.plugins.currency[pluginId] - const tokens: EdgeTokenMap = - plugin.getBuiltinTokens == null - ? upgradeMetaTokens(plugin.currencyInfo.metaTokens ?? []) - : await plugin.getBuiltinTokens() - dispatch({ - type: 'ACCOUNT_BUILTIN_TOKENS_LOADED', - payload: { accountId, pluginId, tokens } - }) - }) - ) -} - export function findEngine( ai: ApiInput, pluginId: string @@ -242,3 +205,16 @@ export async function saveCustomTokens( customTokens }) } + +// Lazy loader for builtinTokens.json +let builtinTokensCache: EdgePluginMap | null = null + +export function loadBuiltinTokensJson(): EdgePluginMap { + if (builtinTokensCache != null) return builtinTokensCache + + // Use require for lazy loading (only loads when function is called) + // Works well with CommonJS output from Rollup + // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires, @typescript-eslint/no-unsafe-assignment + builtinTokensCache = require('./builtinTokens.json') + return builtinTokensCache as EdgePluginMap +} diff --git a/src/core/account/plugin-api.ts b/src/core/account/plugin-api.ts index 7bff1070b..7045d68ed 100644 --- a/src/core/account/plugin-api.ts +++ b/src/core/account/plugin-api.ts @@ -14,7 +14,7 @@ import { uniqueStrings } from '../currency/wallet/enabled-tokens' import { getCurrencyTools } from '../plugins/plugins-selectors' import { ApiInput } from '../root-pixie' import { changePluginUserSettings, changeSwapSettings } from './account-files' -import { getTokenId } from './custom-tokens' +import { getTokenId, saveCustomTokens } from './custom-tokens' const emptyTokens: EdgeTokenMap = {} const emptyTokenIds: string[] = [] @@ -57,12 +57,6 @@ export class CurrencyConfig return state.accounts[accountId].allTokens[pluginId] } - get builtinTokens(): EdgeTokenMap { - const { state } = this._ai.props - const { _accountId: accountId, _pluginId: pluginId } = this - return state.accounts[accountId].builtinTokens[pluginId] - } - get customTokens(): EdgeTokenMap { const { state } = this._ai.props const { _accountId: accountId, _pluginId: pluginId } = this @@ -94,6 +88,26 @@ export class CurrencyConfig return tokenId } + async addCustomTokens(tokens: EdgeToken[]): Promise { + const { _accountId: accountId, _ai: ai, _pluginId: pluginId } = this + + const tokenIds = await Promise.all( + tokens.map(async token => await getTokenId(ai, pluginId, token)) + ) + + const tokenMap: EdgeTokenMap = {} + for (let i = 0; i < tokens.length; i++) { + tokenMap[tokenIds[i]] = tokens[i] + } + + ai.props.dispatch({ + type: 'ACCOUNT_CUSTOM_TOKENS_ADDED', + payload: { accountId, pluginId, tokens: tokenMap } + }) + await saveCustomTokens(ai, accountId) + return tokenIds + } + async changeCustomToken(tokenId: string, token: EdgeToken): Promise { const { _accountId: accountId, _ai: ai, _pluginId: pluginId } = this const oldToken = diff --git a/src/core/actions.ts b/src/core/actions.ts index 59bdf34ca..c6b1bfd8a 100644 --- a/src/core/actions.ts +++ b/src/core/actions.ts @@ -40,15 +40,6 @@ export type RootAction = tokenIds: string[] } } - | { - // A currency plugin has returned its builtin tokens. - type: 'ACCOUNT_BUILTIN_TOKENS_LOADED' - payload: { - accountId: string - pluginId: string - tokens: EdgeTokenMap - } - } | { // The account fires this when the user sorts or archives wallets. type: 'ACCOUNT_CHANGED_WALLET_STATES' @@ -67,6 +58,15 @@ export type RootAction = token: EdgeToken } } + | { + // Somebody just added a batch of custom tokens. + type: 'ACCOUNT_CUSTOM_TOKENS_ADDED' + payload: { + accountId: string + pluginId: string + tokens: EdgeTokenMap + } + } | { // Somebody just removed a custom token. type: 'ACCOUNT_CUSTOM_TOKEN_REMOVED' diff --git a/src/core/currency/wallet/currency-wallet-api.ts b/src/core/currency/wallet/currency-wallet-api.ts index a3da9d3f3..c479b1aa9 100644 --- a/src/core/currency/wallet/currency-wallet-api.ts +++ b/src/core/currency/wallet/currency-wallet-api.ts @@ -15,7 +15,6 @@ import { import { EdgeAddress, EdgeBalanceMap, - EdgeBalances, EdgeCurrencyConfig, EdgeCurrencyEngine, EdgeCurrencyInfo, @@ -194,9 +193,6 @@ export function makeCurrencyWalletApi( }, // Chain state: - get balances(): EdgeBalances { - return input.props.walletState.balances - }, get balanceMap(): EdgeBalanceMap { return input.props.walletState.balanceMap }, @@ -229,9 +225,8 @@ export function makeCurrencyWalletApi( async changeEnabledTokenIds(tokenIds: string[]): Promise { const { dispatch, walletId, walletState } = input.props const { accountId, pluginId } = walletState - const accountState = input.props.state.accounts[accountId] - const allTokens = accountState.allTokens[pluginId] ?? {} - + const allTokens = + input.props.state.accounts[accountId].allTokens[pluginId] const enabledTokenIds = uniqueStrings(tokenIds).filter( tokenId => allTokens[tokenId] != null ) diff --git a/src/core/currency/wallet/currency-wallet-files.ts b/src/core/currency/wallet/currency-wallet-files.ts index e09605775..04f27decb 100644 --- a/src/core/currency/wallet/currency-wallet-files.ts +++ b/src/core/currency/wallet/currency-wallet-files.ts @@ -7,10 +7,12 @@ import { EdgeMetadataChange, EdgeSubscribedAddress, EdgeTokenId, + EdgeTokenMap, EdgeTransaction, EdgeTxAction } from '../../../types/types' import { makeJsonFile } from '../../../util/file-helpers' +import { loadBuiltinTokensJson } from '../../account/custom-tokens' import { fetchAppIdInfo } from '../../account/lobby-api' import { toApiInput } from '../../root-pixie' import { RootState } from '../../root-reducer' @@ -232,6 +234,7 @@ export async function loadTokensFile( ): Promise { const { dispatch, state, walletId } = input.props const disklet = getStorageWalletDisklet(state, walletId) + let enabledTokenIds: string[] = [] const clean = await tokensFile.load(disklet, TOKENS_FILE) if (clean != null) { @@ -241,46 +244,83 @@ export async function loadTokensFile( type: 'CURRENCY_WALLET_LOADED_TOKEN_FILE', payload: { walletId: input.props.walletId, ...clean } }) - return + enabledTokenIds = clean.enabledTokenIds + } else { + const legacyCurrencyCodes = await legacyTokensFile.load( + disklet, + LEGACY_TOKENS_FILE + ) + if (legacyCurrencyCodes != null) { + const { accountId, currencyInfo, pluginId } = input.props.walletState + const accountState = input.props.state.accounts[accountId] + const builtinTokens = loadBuiltinTokensJson() + enabledTokenIds = currencyCodesToTokenIds( + builtinTokens[pluginId], + accountState.customTokens[pluginId], + currencyInfo, + legacyCurrencyCodes + ) + + const shortId = walletId.slice(0, 2) + input.props.log.warn(`enabledTokenIds: ${shortId} loaded legacy file`) + dispatch({ + type: 'CURRENCY_WALLET_LOADED_TOKEN_FILE', + payload: { + walletId: input.props.walletId, + detectedTokenIds: [], + enabledTokenIds + } + }) + } else { + const shortId = walletId.slice(0, 2) + input.props.log.warn(`enabledTokenIds: ${shortId} loaded neither file`) + dispatch({ + type: 'CURRENCY_WALLET_LOADED_TOKEN_FILE', + payload: { + walletId: input.props.walletId, + detectedTokenIds: [], + enabledTokenIds: [] + } + }) + } } - const legacyCurrencyCodes = await legacyTokensFile.load( - disklet, - LEGACY_TOKENS_FILE + migrateEnabledTokens(input, enabledTokenIds) +} + +/** + * Ensures that all enabled tokens exist in customTokens. + * Any enabled token found in builtinTokens.json but missing from + * customTokens is added via dispatch (the account tokenSaver + * auto-persists the change to disk). + */ +function migrateEnabledTokens( + input: CurrencyWalletInput, + enabledTokenIds: string[] +): void { + const { accountId, pluginId } = input.props.walletState + const accountState = input.props.state.accounts[accountId] + const customTokens = accountState.customTokens[pluginId] ?? {} + + const missingTokenIds = enabledTokenIds.filter( + tokenId => customTokens[tokenId] == null ) - if (legacyCurrencyCodes != null) { - const { accountId, currencyInfo, pluginId } = input.props.walletState - const accountState = input.props.state.accounts[accountId] - const tokenIds = currencyCodesToTokenIds( - accountState.builtinTokens[pluginId], - accountState.customTokens[pluginId], - currencyInfo, - legacyCurrencyCodes - ) + if (missingTokenIds.length === 0) return - const shortId = walletId.slice(0, 2) - input.props.log.warn(`enabledTokenIds: ${shortId} loaded legacy file`) - dispatch({ - type: 'CURRENCY_WALLET_LOADED_TOKEN_FILE', - payload: { - walletId: input.props.walletId, - detectedTokenIds: [], - enabledTokenIds: tokenIds - } - }) - return + const builtinTokens = loadBuiltinTokensJson() + const builtinForPlugin = builtinTokens[pluginId] ?? {} + + const tokensToAdd: EdgeTokenMap = {} + for (const tokenId of missingTokenIds) { + const token = builtinForPlugin[tokenId] + if (token != null) tokensToAdd[tokenId] = token } - // Both the new and old files are missing: - const shortId = walletId.slice(0, 2) - input.props.log.warn(`enabledTokenIds: ${shortId} loaded neither file`) - dispatch({ - type: 'CURRENCY_WALLET_LOADED_TOKEN_FILE', - payload: { - walletId: input.props.walletId, - detectedTokenIds: [], - enabledTokenIds: [] - } + if (Object.keys(tokensToAdd).length === 0) return + + input.props.dispatch({ + type: 'ACCOUNT_CUSTOM_TOKENS_ADDED', + payload: { accountId, pluginId, tokens: tokensToAdd } }) } diff --git a/src/core/currency/wallet/currency-wallet-pixie.ts b/src/core/currency/wallet/currency-wallet-pixie.ts index 2b310532b..794335300 100644 --- a/src/core/currency/wallet/currency-wallet-pixie.ts +++ b/src/core/currency/wallet/currency-wallet-pixie.ts @@ -48,7 +48,6 @@ import { writeTokensFile } from './currency-wallet-files' import { CurrencyWalletState, initialTokenIds } from './currency-wallet-reducer' -import { tokenIdsToCurrencyCodes, uniqueStrings } from './enabled-tokens' export interface CurrencyWalletOutput { readonly walletApi: EdgeCurrencyWallet | undefined @@ -512,28 +511,6 @@ export const walletPixie: TamePixie = combinePixies({ await engine .changeEnabledTokenIds(allEnabledTokenIds) .catch(error => input.props.onError(error)) - } else if ( - engine.disableTokens != null && - engine.enableTokens != null - ) { - const removed = tokenIdsToCurrencyCodes( - accountState.builtinTokens[pluginId], - accountState.customTokens[pluginId], - walletState.currencyInfo, - uniqueStrings(lastEnabledTokenIds, allEnabledTokenIds) - ) - const added = tokenIdsToCurrencyCodes( - accountState.builtinTokens[pluginId], - accountState.customTokens[pluginId], - walletState.currencyInfo, - uniqueStrings(allEnabledTokenIds, lastEnabledTokenIds) - ) - await engine - .disableTokens(removed) - .catch(error => input.props.onError(error)) - await engine - .enableTokens(added) - .catch(error => input.props.onError(error)) } // else { no token support } } lastEnabledTokenIds = allEnabledTokenIds diff --git a/src/core/currency/wallet/currency-wallet-reducer.ts b/src/core/currency/wallet/currency-wallet-reducer.ts index b9912277a..5aff985a6 100644 --- a/src/core/currency/wallet/currency-wallet-reducer.ts +++ b/src/core/currency/wallet/currency-wallet-reducer.ts @@ -4,7 +4,6 @@ import { buildReducer, filterReducer, memoizeReducer } from 'redux-keto' import { EdgeAssetAction, EdgeBalanceMap, - EdgeBalances, EdgeCurrencyInfo, EdgeMemo, EdgeStakingStatus, @@ -68,7 +67,6 @@ export interface CurrencyWalletState { readonly allEnabledTokenIds: string[] readonly balanceMap: EdgeBalanceMap - readonly balances: EdgeBalances readonly changeServiceSubscriptions: ChangeServiceSubscription[] readonly currencyInfo: EdgeCurrencyInfo readonly detectedTokenIds: string[] @@ -341,23 +339,6 @@ const currencyWalletInner = buildReducer< return state }, - balances: memoizeReducer( - next => next.self.balanceMap, - next => next.self.currencyInfo, - next => - next.root.accounts[next.self.accountId].allTokens[next.self.pluginId], - (balanceMap, currencyInfo, allTokens) => { - const out: EdgeBalances = {} - for (const tokenId of balanceMap.keys()) { - const balance = balanceMap.get(tokenId) - const { currencyCode } = - tokenId == null ? currencyInfo : allTokens[tokenId] - if (balance != null) out[currencyCode] = balance - } - return out - } - ), - height(state = 0, action): number { return action.type === 'CURRENCY_ENGINE_CHANGED_HEIGHT' ? action.payload.height diff --git a/src/types/types.ts b/src/types/types.ts index 3127ec66c..8a405120d 100644 --- a/src/types/types.ts +++ b/src/types/types.ts @@ -417,6 +417,10 @@ export interface EdgeToken { // This may be `undefined` for special built-in tokens // such as staking balances. networkLocation: JsonObject | undefined + + // True if this token was manually created by the user (via EditTokenScene). + // False or undefined for tokens fetched from the server + isUserCreated?: boolean } /** @@ -518,6 +522,7 @@ export interface EdgeCurrencyInfo { canReplaceByFee?: boolean // Defaults to false customFeeTemplate?: EdgeObjectTemplate // Indicates custom fee support customTokenTemplate?: EdgeObjectTemplate // Indicates custom token support + hasTokens?: boolean // Indicates token support requiredConfirmations?: number // Block confirmations required for a tx /** EVM chain id */ @@ -1151,12 +1156,6 @@ export interface EdgeCurrencyEngine { readonly otherMethods?: EdgeOtherMethods readonly otherMethodsWithKeys?: EdgeOtherMethods - /** @deprecated Replaced by changeEnabledTokenIds */ - readonly enableTokens?: (tokens: string[]) => Promise - - /** @deprecated Replaced by changeEnabledTokenIds */ - readonly disableTokens?: (tokens: string[]) => Promise - /** @deprecated Replaced by changeCustomTokens */ readonly addCustomToken?: (token: EdgeTokenInfo & EdgeToken) => Promise @@ -1227,7 +1226,6 @@ export interface EdgeCurrencyTools { export interface EdgeCurrencyPlugin { readonly currencyInfo: EdgeCurrencyInfo - readonly getBuiltinTokens?: () => Promise readonly makeCurrencyTools: () => Promise readonly makeCurrencyEngine: ( walletInfo: EdgeWalletInfo, @@ -1348,7 +1346,6 @@ export interface EdgeCurrencyWallet { // Chain state: readonly balanceMap: EdgeBalanceMap - readonly balances: EdgeBalances readonly blockHeight: number readonly syncStatus: EdgeSyncStatus readonly unactivatedTokenIds: string[] @@ -1682,13 +1679,13 @@ export interface EdgeCurrencyConfig { // Tokens: readonly allTokens: EdgeTokenMap - readonly builtinTokens: EdgeTokenMap readonly customTokens: EdgeTokenMap readonly getTokenDetails: ( filter: EdgeGetTokenDetailsFilter ) => Promise readonly getTokenId: (token: EdgeToken) => Promise readonly addCustomToken: (token: EdgeToken) => Promise + readonly addCustomTokens: (tokens: EdgeToken[]) => Promise readonly changeCustomToken: ( tokenId: string, token: EdgeToken diff --git a/test/core/account/account.test.ts b/test/core/account/account.test.ts index e393fbd70..33dfac298 100644 --- a/test/core/account/account.test.ts +++ b/test/core/account/account.test.ts @@ -8,6 +8,7 @@ import { makeFakeEdgeWorld } from '../../../src/index' import { expectRejection } from '../../expect-rejection' +import { fakeTokens } from '../../fake/fake-currency-plugin' import { fakeUser } from '../../fake/fake-user' const plugins = { fakecoin: true, tulipcoin: true } @@ -126,6 +127,7 @@ describe('account', function () { fakeUser.username, fakeUser.pin ) + await account.currencyConfig.fakecoin.addCustomToken(fakeTokens.badf00d5) const wallet = await account.createCurrencyWallet('wallet:fakecoin', { fiatCurrencyCode: 'iso:JPY', diff --git a/test/core/currency/currency.test.ts b/test/core/currency/currency.test.ts index 736ca7968..6821d7833 100644 --- a/test/core/currency/currency.test.ts +++ b/test/core/currency/currency.test.ts @@ -2,15 +2,12 @@ import { expect } from 'chai' import { describe, it } from 'mocha' import { getCurrencyMultiplier } from '../../../src/core/currency/currency-selectors' -import { fakeCurrencyPlugin } from '../../fake/fake-currency-plugin' +import { fakeCurrencyPlugin, fakeTokens } from '../../fake/fake-currency-plugin' describe('currency selectors', function () { it('find currency multiplier', async function () { const { currencyInfo } = fakeCurrencyPlugin - const tokens = - fakeCurrencyPlugin.getBuiltinTokens != null - ? await fakeCurrencyPlugin.getBuiltinTokens() - : {} + const tokens = fakeTokens expect(getCurrencyMultiplier(currencyInfo, tokens, 'SMALL')).equals('10') expect(getCurrencyMultiplier(currencyInfo, tokens, 'FAKE')).equals('100') diff --git a/test/core/currency/wallet/currency-wallet.test.ts b/test/core/currency/wallet/currency-wallet.test.ts index dfd14db20..addcbc1c4 100644 --- a/test/core/currency/wallet/currency-wallet.test.ts +++ b/test/core/currency/wallet/currency-wallet.test.ts @@ -17,6 +17,7 @@ import { makeFakeEdgeWorld } from '../../../../src/index' import { expectRejection } from '../../../expect-rejection' +import { fakeTokens } from '../../../fake/fake-currency-plugin' import { moreTxs, walletTxs } from '../../../fake/fake-transactions' import { fakeUser } from '../../../fake/fake-user' @@ -130,6 +131,8 @@ describe('currency wallets', function () { it('triggers callbacks', async function () { const log = makeAssertLog() const { wallet, config } = await makeFakeCurrencyWallet() + // Seed allTokens with the fake plugin token so balances/watch callbacks work + await config.addCustomToken(fakeTokens.badf00d5) // Subscribe to the wallet: wallet.on('newTransactions', txs => { @@ -157,7 +160,6 @@ describe('currency wallets', function () { [null, '0'], ['badf00d5', '0'] ]) - expect(wallet.balances).to.deep.equal({ FAKE: '0', TOKEN: '0' }) expect(wallet.stakingStatus).deep.equals({ stakedAmounts: [{ nativeAmount: '0' }] }) @@ -168,7 +170,6 @@ describe('currency wallets', function () { [null, '0'], ['badf00d5', '30'] ]) - expect(wallet.balances).to.deep.equal({ FAKE: '0', TOKEN: '30' }) await config.changeUserSettings({ blockHeight: 200 }) await log.waitFor(1).assert('blockHeight 200') @@ -186,7 +187,6 @@ describe('currency wallets', function () { [null, '1234567890'], ['badf00d5', '30'] ]) - expect(wallet.balances).to.deep.equal({ FAKE: '1234567890', TOKEN: '30' }) await config.changeUserSettings({ stakedBalance: 543 }) await log.waitFor(1).assert('stakingStatus 543') @@ -230,6 +230,7 @@ describe('currency wallets', function () { it('handles token balances', async function () { const fixture: Fixture = await makeFakeCurrencyWallet() const { wallet, config } = fixture + await config.addCustomToken(fakeTokens.badf00d5) await config.changeUserSettings({ txs: { a: { tokenId: null, nativeAmount: '2' }, @@ -250,21 +251,6 @@ describe('currency wallets', function () { }) }) - it('exposes builtin tokens', async function () { - const { config } = await makeFakeCurrencyWallet() - - expect(config.builtinTokens).deep.equals({ - badf00d5: { - currencyCode: 'TOKEN', - displayName: 'Fake Token', - denominations: [{ multiplier: '1000', name: 'TOKEN' }], - networkLocation: { - contractAddress: '0xBADF00D5' - } - } - }) - }) - it('exposes custom tokens', async function () { const log = makeAssertLog() const { config } = await makeFakeCurrencyWallet() @@ -289,15 +275,13 @@ describe('currency wallets', function () { customToken }) - expect(config.allTokens).deep.equals({ - ...config.customTokens, - ...config.builtinTokens - }) + expect(config.allTokens).deep.equals(config.customTokens) }) it('enables tokens', async function () { const log = makeAssertLog() - const { wallet } = await makeFakeCurrencyWallet() + const { wallet, config } = await makeFakeCurrencyWallet() + await config.addCustomToken(fakeTokens.badf00d5) const tokenId = 'badf00d5' wallet.watch('enabledTokenIds', ids => log(ids.join(', '))) @@ -458,7 +442,8 @@ describe('currency wallets', function () { }) it('converts number formats', async function () { - const { wallet } = await makeFakeCurrencyWallet() + const { wallet, config } = await makeFakeCurrencyWallet() + await config.addCustomToken(fakeTokens.badf00d5) expect(await wallet.denominationToNative('0.1', 'SMALL')).equals('1') expect(await wallet.denominationToNative('0.1', 'FAKE')).equals('10') expect(await wallet.denominationToNative('0.1', 'TOKEN')).equals('100') diff --git a/test/fake/fake-currency-plugin.ts b/test/fake/fake-currency-plugin.ts index bffa847ec..7f866ae37 100644 --- a/test/fake/fake-currency-plugin.ts +++ b/test/fake/fake-currency-plugin.ts @@ -27,7 +27,7 @@ import { upgradeCurrencyCode } from '../../src/types/type-helpers' const GENESIS_BLOCK = 1231006505 -const fakeTokens: EdgeTokenMap = { +export const fakeTokens: EdgeTokenMap = { badf00d5: { currencyCode: 'TOKEN', denominations: [{ multiplier: '1000', name: 'TOKEN' }], @@ -394,10 +394,6 @@ export function makeFakeCurrencyPlugin( return { currencyInfo, - getBuiltinTokens(): Promise { - return Promise.resolve(fakeTokens) - }, - makeCurrencyEngine( walletInfo: EdgeWalletInfo, opts: EdgeCurrencyEngineOptions diff --git a/tsconfig.json b/tsconfig.json index 3d3bd6c95..d4122b577 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,6 +6,7 @@ "jsx": "react", "module": "es2015", "moduleResolution": "node", + "resolveJsonModule": true, "target": "es2015", "skipLibCheck": true, diff --git a/yarn.lock b/yarn.lock index f594233a1..1d1e188b8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1158,6 +1158,13 @@ "@babel/helper-module-imports" "^7.10.4" "@rollup/pluginutils" "^3.1.0" +"@rollup/plugin-json@^6.1.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-6.1.0.tgz#fbe784e29682e9bb6dee28ea75a1a83702e7b805" + integrity sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA== + dependencies: + "@rollup/pluginutils" "^5.1.0" + "@rollup/plugin-node-resolve@^15.0.1": version "15.0.1" resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.1.tgz#72be449b8e06f6367168d5b3cd5e2802e0248971" @@ -1188,6 +1195,15 @@ estree-walker "^2.0.2" picomatch "^2.3.1" +"@rollup/pluginutils@^5.1.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.3.0.tgz#57ba1b0cbda8e7a3c597a4853c807b156e21a7b4" + integrity sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^4.0.2" + "@sucrase/webpack-loader@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@sucrase/webpack-loader/-/webpack-loader-2.0.0.tgz#b8a70b8d3df3eeb570e6a3315e1a9c6b723e4a37" @@ -4633,7 +4649,7 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -picomatch@^4.0.3: +picomatch@^4.0.2, picomatch@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==