diff --git a/.beads/ss-dx5.12.json b/.beads/ss-dx5.12.json new file mode 100644 index 00000000000..e7764939f23 --- /dev/null +++ b/.beads/ss-dx5.12.json @@ -0,0 +1,39 @@ +[ + { + "id": "ss-dx5.12", + "title": "Integrate Ethereal (chainId: 5064014, USDe, App-specific L2)", + "description": "TVL: $65.3M | RPC: https://rpc.ethereal.trade | Explorer: https://explorer.ethereal.trade | Token Support: Limited | Pattern B (RPC-only) | Ethena ecosystem, USDe-native", + "notes": "\nLogo: https://assets.relay.link/icons/5064014/light.png (dark: dark.png)\nCoinGecko platform: ❌ NOT ON COINGECKO (native-only asset, no token list)\nCoinGecko native ID: N/A (USDe — use ethena-usde as CoinGecko coin ID)\nArch: App-specific L2 (Ethena ecosystem)\nNative token: USDe (stablecoin as gas — NOT ETH-native)\nSLIP44: 60 (Ethereum)\nETH-native: NO — USDe gas token\nViem: ❌ NOT IN VIEM — needs defineChain({ id: 5064014, ... })\nAcross: ❌ NOT SUPPORTED\nZerion ID: TBD (likely \"ethereal\" — verify when integrating)\n\n🔴 CRITICAL QUIRKS:\n- Not in viem: Must use defineChain() in RelaySwapper constant.ts\n- Not on CoinGecko: Only native asset, no ERC20 token list from CoinGecko\n- USDe is gas: Stablecoin-native chain (like Stable with gUSDT)\n- adapter.json: {\"eip155:5064014/slip44:60\":\"ethena-usde\"}\n- relatedAssetKey: null (NOT eip155:1/slip44:60)\n- Does NOT affect ethereum test array or market-service counts\n\n--- PHASE 1 LEARNED CHECKLIST (MANDATORY) ---\n[ ] adapter.json: Create packages/caip/src/adapters/coingecko/generated/eip155_5064014/adapter.json\n[ ] Wire adapter.json: Import+export from packages/caip/src/adapters/coingecko/generated/index.ts\n[ ] getCoingeckoSupportedChainIds: Add etherealChainId (feature-flagged) in src/lib/coingecko/utils.ts\n[ ] Zerion: Add to ZERION_CHAINS + ZERION_CHAINS_MAP in packages/types/src/zerion.ts\n[ ] Across: ❌ SKIP — not supported\n[ ] ETH test ordering: ❌ SKIP — not ETH-native\n[ ] Market-service counts: ❌ SKIP — not ETH-native\n\n--- RELAY ACTIVATION ---\n[ ] Add to chainIdToRelayChainId (use defineChain() since not in viem)\n[ ] Add native asset case in relayTokenToAssetId.ts\n--- ASSET DATA REGEN ---\n[ ] Create scripts/generateAssetData/ethereal/index.ts\n[ ] Add case to scripts/generateAssetData/coingecko.ts (will be native-only)\n[ ] Add import + getAssets call to generateAssetData.ts\n--- DRAFT PR ---\n[ ] Branch: feat/integrate-ethereal-relay (off develop)\n[ ] gh pr create --draft\n[ ] yarn lint --fix \u0026\u0026 yarn type-check must pass\n", + "status": "open", + "priority": 2, + "issue_type": "task", + "owner": "14963751+NeOMakinG@users.noreply.github.com", + "created_at": "2026-02-17T10:56:00Z", + "created_by": "NeOMakinG", + "updated_at": "2026-02-17T22:42:34Z", + "labels": [ + "critical-quirk", + "evm", + "relay", + "tier-2" + ], + "dependencies": [ + { + "id": "ss-dx5", + "title": "Add support for missing Relay.link EVM chains", + "description": "Master epic tracking integration of ALL chains supported by Relay.link that ShapeShift web doesn't currently support. Enables cross-chain bridging capabilities via Relay infrastructure. See https://github.com/shapeshift/web/issues/11902 for full details. All new EVM chains will use Pattern B (RPC-only + getKnownTokens) since no ShapeShift unchained indexer infrastructure exists for these chains.", + "notes": "=== FROM ISSUE COMMENTS ===\n\nLOGO PATTERN: https://assets.relay.link/icons/{chainId}/light.png (dark: dark.png)\n\nARCHITECTURE GROUPS:\n- OP Stack (standard): Ink, Unichain, BOB, Mode, Hemi, World Chain, Soneium, Zircuit, Lisk, Cyber, Blast, Zora, Redstone, Shape, Superseed, Manta Pacific\n- zkEVM (special handling): Scroll, zkSync Era, Linea, Polygon zkEVM, Taiko, Abstract\n- Arbitrum Orbit: ApeChain, Xai, Sanko\n- Non-ETH gas (10 chains): Mantle(MNT), Metis(METIS), Cronos(CRO), Ronin(RON), Sonic(S), Flow(FLOW), Berachain(BERA), Plume(PLUME), Story(IP), Stable(gUSDT)\n\nCRITICAL CHAINS:\n1. Celo (42220): Native token is BOTH native AND ERC20. Relay uses wrapped CELO. Check relayTransactionMetadata.assetRequiringApproval\n2. Blast (81457): Rebasing ETH from L1 staking yield. USDB also rebases. Handle in balance displays.\n3. Ethereal (5064014): NOT in viem. Needs custom chain definition.\n4. zkSync Era (324) + Abstract (2741): Type 113 (EIP-712) transactions. Use viem zksync chainConfig.\n5. Linea (59144): Custom linea_estimateGas RPC method.\n6. Sei (1329): Parallelized EVM + CosmWasm interop. CoinGecko uses sei-v2 NOT sei.\n\nCOINGECKO GOTCHAS: sei-\u003esei-v2, plume-\u003eplume-network, zksync-\u003ezksync, metis-\u003emetis-andromeda, morph-\u003emorph-l2, gravity-\u003egravity-alpha, boba-\u003eboba, zora-\u003ezora-network, funkichain-\u003efunki, Superposition (capital S). BOB/Zero Network have null chain_identifier. 11 chains not on CoinGecko at all.\n\nPER-CHAIN CHECKLIST: [ ] chain-adapters [ ] caip [ ] asset-service [ ] feature-flag [ ] plugin [ ] env-config [ ] icon/logo\n\n=== RELAY SWAPPER INTEGRATION (per chain) ===\n\nFILE 1: packages/swapper/src/swappers/RelaySwapper/constant.ts\n - Add to chainIdToRelayChainId map: [newChainChainId]: \u003cviem_chain\u003e.id (or numeric chain ID)\n - Import the caip chainId (e.g., scrollChainId) from @shapeshiftoss/caip\n - Import viem chain from viem/chains (or use raw numeric ID if not in viem)\n - The reverse map relayChainIdToChainId auto-generates via invert()\n\nFILE 2: packages/swapper/src/swappers/RelaySwapper/utils/relayTokenToAssetId.ts\n - Add case CHAIN_REFERENCE.NewChainMainnet: with ASSET_REFERENCE.NewChain + ASSET_NAMESPACE.slip44\n\nNO CHANGES NEEDED (for EVM chains):\n - getRelayAssetAddress.ts (uses generic isNativeEvmAsset + DEFAULT_RELAY_EVM_TOKEN_ADDRESS)\n - getRelayDefaultUserAddress.ts (falls through to DEFAULT_RELAY_EVM_USER_ADDRESS default)\n\nUPSTREAM DEPS REQUIRED (in @shapeshiftoss packages):\n - @shapeshiftoss/caip: export newChainChainId, CHAIN_REFERENCE.NewChainMainnet, ASSET_REFERENCE.NewChain\n - @shapeshiftoss/types: KnownChainIds.NewChainMainnet\n - @shapeshiftoss/chain-adapters: NewChain chain adapter class\n - viem/chains: chain config (or custom if not in viem)\n\nRELAY API: https://api.relay.link (env: VITE_RELAY_API_URL) - no per-chain config needed\n\n=== ASSET DATA REGENERATION (per chain) ===\n\nAfter integrating each chain, run a partial assets data regen to populate the token list.\n\nFILE 1 (CREATE): scripts/generateAssetData/\u003cchainname\u003e/index.ts\n Pattern (identical for all EVM chains):\n import { \u003cchainname\u003eChainId } from '@shapeshiftoss/caip'\n import type { Asset } from '@shapeshiftoss/types'\n import { \u003cchainname\u003e, unfreeze } from '@shapeshiftoss/utils'\n import * as coingecko from '../coingecko'\n export const getAssets = async (): Promise\u003cAsset[]\u003e =\u003e {\n const assets = await coingecko.getAssets(\u003cchainname\u003eChainId)\n return [...assets, unfreeze(\u003cchainname\u003e)]\n }\n\nFILE 2 (MODIFY): scripts/generateAssetData/coingecko.ts\n - Import \u003cchainname\u003eChainId from @shapeshiftoss/caip\n - Import \u003cchainname\u003e native asset from @shapeshiftoss/utils\n - Add case in the switch: case \u003cchainname\u003eChainId: return { assetNamespace: ASSET_NAMESPACE.erc20, category: adapters.chainIdToCoingeckoAssetPlatform(chainId), explorer/explorerAddressLink/explorerTxLink from \u003cchainname\u003e utils }\n - NOTE: chains not on CoinGecko will only have the native asset (no ERC20 token list)\n\nFILE 3 (MODIFY): scripts/generateAssetData/generateAssetData.ts\n - Import: import * as \u003cchainname\u003e from './\u003cchainname\u003e'\n - Call: const \u003cchainname\u003eAssets = await \u003cchainname\u003e.getAssets()\n - Spread into unfilteredAssetData: ...\u003cchainname\u003eAssets\n\nCOMMAND: yarn generate:asset-data\n This regenerates: src/generated/asset-data.json + related-asset-index + manifest + compressed assets\n\n=== DRAFT PR CREATION (final step per chain) ===\n\nAfter all code changes are complete for a chain, open a draft PR using the repo template.\n\nBRANCH NAMING: feat/integrate-\u003cchainname\u003e-relay (e.g. feat/integrate-scroll-relay)\n\nCOMMAND:\n gh pr create --draft --title 'feat: integrate \u003cChainName\u003e (chainId: \u003cid\u003e) via Relay' --body \"$(cat \u003c\u003c'PREOF'\n ## Description\n\n Add \u003cChainName\u003e (chainId: \u003cid\u003e) as a second-class EVM chain in ShapeShift Web with Relay bridge support.\n\n **Changes:**\n - Plugin registration in src/plugins/\u003cchainname\u003e/\n - Feature flag `\u003cChainName\u003e` in preferencesSlice\n - Relay swapper chain mapping in RelaySwapper/constant.ts\n - Asset data generation via CoinGecko (`\u003ccoingecko_platform_id\u003e`)\n - Environment config for RPC URL\n\n **Chain details:**\n - TVL: \u003ctvl\u003e\n - Native token: \u003ctoken\u003e (18 decimals)\n - Architecture: \u003carch_type\u003e\n - RPC: \u003crpc_url\u003e\n - Explorer: \u003cexplorer_url\u003e\n\n ## Issue (if applicable)\n\n Part of #11902\n\n ## Risk\n\n Low risk — new chain behind feature flag (`\u003cChainName\u003e`), no existing functionality affected.\n\n \u003e New chain plugin + Relay bridge mapping. No modifications to existing chain logic.\n\n ## Testing\n\n ### Engineering\n\n 1. Enable feature flag: set `VITE_FEATURE_\u003cCHAINNAME\u003e=true` in .env\n 2. Verify chain appears in supported chains list\n 3. Verify native token balance loads (connect wallet with \u003ctoken\u003e on \u003cChainName\u003e)\n 4. Verify Relay bridge quote works: bridge ETH from Ethereum → \u003cChainName\u003e\n 5. Run `yarn lint --fix \u0026\u0026 yarn type-check` — must pass\n\n ### Operations\n\n - [x] :checkered_flag: My feature is behind a flag and doesn't require operations testing (yet)\n\n ## Screenshots (if applicable)\n\n N/A — chain integration, no UI changes.\n PREOF\n )\"\n\nNOTE: Replace all \u003cplaceholders\u003e with actual chain values from the bead description/notes.\nNOTE: Use --draft flag to create as draft PR.\nNOTE: Branch off develop (main branch is develop, not main).", + "status": "open", + "priority": 0, + "issue_type": "epic", + "owner": "14963751+NeOMakinG@users.noreply.github.com", + "created_at": "2026-02-17T10:55:02Z", + "created_by": "NeOMakinG", + "updated_at": "2026-02-17T11:21:27Z", + "external_ref": "gh-11902", + "dependency_type": "parent-child" + } + ], + "parent": "ss-dx5" + } +] diff --git a/.beads/ss-dx5.15.json b/.beads/ss-dx5.15.json new file mode 100644 index 00000000000..28ac29c8f77 --- /dev/null +++ b/.beads/ss-dx5.15.json @@ -0,0 +1,39 @@ +[ + { + "id": "ss-dx5.15", + "title": "Integrate Plume (chainId: 98866, PLUME, RWA L2)", + "description": "TVL: $48.4M | RPC: https://rpc.plume.org | Explorer: https://explorer.plume.org | Token Support: All | Pattern B (RPC-only) | Real-world asset tokenization", + "notes": "\nLogo: https://assets.relay.link/icons/98866/light.png (dark: dark.png)\nCoinGecko platform: plume-network (⚠️ NOT \"plume\"!)\nCoinGecko native ID: plume\nArch: RWA L2 (Real World Assets focus)\nNative token: PLUME (18 decimals)\nSLIP44: 60 (Ethereum)\nETH-native: NO — PLUME gas token\nViem: ✅ plumeMainnet (id: 98866) — import { plumeMainnet } from \"viem/chains\"\n ⚠️ GOTCHA: \"plume\" in viem is chainId 98865 (WRONG!). Must use \"plumeMainnet\" for 98866.\nAcross: ❌ NOT SUPPORTED\nZerion ID: \"plume\" (standard lowercase)\n\n--- PHASE 1 LEARNED CHECKLIST (MANDATORY) ---\n[ ] adapter.json: Create packages/caip/src/adapters/coingecko/generated/eip155_98866/adapter.json → {\"eip155:98866/slip44:60\":\"plume\"}\n[ ] Wire adapter.json: Import+export from packages/caip/src/adapters/coingecko/generated/index.ts\n[ ] getCoingeckoSupportedChainIds: Add plumeChainId (feature-flagged) in src/lib/coingecko/utils.ts\n[ ] Zerion: Add \"plume\" to ZERION_CHAINS + ZERION_CHAINS_MAP in packages/types/src/zerion.ts\n[ ] Across: ❌ SKIP — not supported\n[ ] ETH test ordering: ❌ SKIP — not ETH-native\n[ ] Market-service counts: ❌ SKIP — not ETH-native\n[ ] relatedAssetKey: null (NOT eip155:1/slip44:60)\n\n--- RELAY ACTIVATION ---\n[ ] Add [plumeChainId]: plumeMainnet.id to chainIdToRelayChainId (⚠️ use plumeMainnet NOT plume)\n[ ] Add native asset case in relayTokenToAssetId.ts\n--- ASSET DATA REGEN ---\n[ ] Create scripts/generateAssetData/plume/index.ts\n[ ] Add case to scripts/generateAssetData/coingecko.ts\n[ ] Add import + getAssets call to generateAssetData.ts\n--- DRAFT PR ---\n[ ] Branch: feat/integrate-plume-relay (off develop)\n[ ] gh pr create --draft\n[ ] yarn lint --fix \u0026\u0026 yarn type-check must pass\n", + "status": "open", + "priority": 2, + "issue_type": "task", + "owner": "14963751+NeOMakinG@users.noreply.github.com", + "created_at": "2026-02-17T10:56:01Z", + "created_by": "NeOMakinG", + "updated_at": "2026-02-17T22:43:14Z", + "labels": [ + "evm", + "non-eth-gas", + "relay", + "tier-2" + ], + "dependencies": [ + { + "id": "ss-dx5", + "title": "Add support for missing Relay.link EVM chains", + "description": "Master epic tracking integration of ALL chains supported by Relay.link that ShapeShift web doesn't currently support. Enables cross-chain bridging capabilities via Relay infrastructure. See https://github.com/shapeshift/web/issues/11902 for full details. All new EVM chains will use Pattern B (RPC-only + getKnownTokens) since no ShapeShift unchained indexer infrastructure exists for these chains.", + "notes": "=== FROM ISSUE COMMENTS ===\n\nLOGO PATTERN: https://assets.relay.link/icons/{chainId}/light.png (dark: dark.png)\n\nARCHITECTURE GROUPS:\n- OP Stack (standard): Ink, Unichain, BOB, Mode, Hemi, World Chain, Soneium, Zircuit, Lisk, Cyber, Blast, Zora, Redstone, Shape, Superseed, Manta Pacific\n- zkEVM (special handling): Scroll, zkSync Era, Linea, Polygon zkEVM, Taiko, Abstract\n- Arbitrum Orbit: ApeChain, Xai, Sanko\n- Non-ETH gas (10 chains): Mantle(MNT), Metis(METIS), Cronos(CRO), Ronin(RON), Sonic(S), Flow(FLOW), Berachain(BERA), Plume(PLUME), Story(IP), Stable(gUSDT)\n\nCRITICAL CHAINS:\n1. Celo (42220): Native token is BOTH native AND ERC20. Relay uses wrapped CELO. Check relayTransactionMetadata.assetRequiringApproval\n2. Blast (81457): Rebasing ETH from L1 staking yield. USDB also rebases. Handle in balance displays.\n3. Ethereal (5064014): NOT in viem. Needs custom chain definition.\n4. zkSync Era (324) + Abstract (2741): Type 113 (EIP-712) transactions. Use viem zksync chainConfig.\n5. Linea (59144): Custom linea_estimateGas RPC method.\n6. Sei (1329): Parallelized EVM + CosmWasm interop. CoinGecko uses sei-v2 NOT sei.\n\nCOINGECKO GOTCHAS: sei-\u003esei-v2, plume-\u003eplume-network, zksync-\u003ezksync, metis-\u003emetis-andromeda, morph-\u003emorph-l2, gravity-\u003egravity-alpha, boba-\u003eboba, zora-\u003ezora-network, funkichain-\u003efunki, Superposition (capital S). BOB/Zero Network have null chain_identifier. 11 chains not on CoinGecko at all.\n\nPER-CHAIN CHECKLIST: [ ] chain-adapters [ ] caip [ ] asset-service [ ] feature-flag [ ] plugin [ ] env-config [ ] icon/logo\n\n=== RELAY SWAPPER INTEGRATION (per chain) ===\n\nFILE 1: packages/swapper/src/swappers/RelaySwapper/constant.ts\n - Add to chainIdToRelayChainId map: [newChainChainId]: \u003cviem_chain\u003e.id (or numeric chain ID)\n - Import the caip chainId (e.g., scrollChainId) from @shapeshiftoss/caip\n - Import viem chain from viem/chains (or use raw numeric ID if not in viem)\n - The reverse map relayChainIdToChainId auto-generates via invert()\n\nFILE 2: packages/swapper/src/swappers/RelaySwapper/utils/relayTokenToAssetId.ts\n - Add case CHAIN_REFERENCE.NewChainMainnet: with ASSET_REFERENCE.NewChain + ASSET_NAMESPACE.slip44\n\nNO CHANGES NEEDED (for EVM chains):\n - getRelayAssetAddress.ts (uses generic isNativeEvmAsset + DEFAULT_RELAY_EVM_TOKEN_ADDRESS)\n - getRelayDefaultUserAddress.ts (falls through to DEFAULT_RELAY_EVM_USER_ADDRESS default)\n\nUPSTREAM DEPS REQUIRED (in @shapeshiftoss packages):\n - @shapeshiftoss/caip: export newChainChainId, CHAIN_REFERENCE.NewChainMainnet, ASSET_REFERENCE.NewChain\n - @shapeshiftoss/types: KnownChainIds.NewChainMainnet\n - @shapeshiftoss/chain-adapters: NewChain chain adapter class\n - viem/chains: chain config (or custom if not in viem)\n\nRELAY API: https://api.relay.link (env: VITE_RELAY_API_URL) - no per-chain config needed\n\n=== ASSET DATA REGENERATION (per chain) ===\n\nAfter integrating each chain, run a partial assets data regen to populate the token list.\n\nFILE 1 (CREATE): scripts/generateAssetData/\u003cchainname\u003e/index.ts\n Pattern (identical for all EVM chains):\n import { \u003cchainname\u003eChainId } from '@shapeshiftoss/caip'\n import type { Asset } from '@shapeshiftoss/types'\n import { \u003cchainname\u003e, unfreeze } from '@shapeshiftoss/utils'\n import * as coingecko from '../coingecko'\n export const getAssets = async (): Promise\u003cAsset[]\u003e =\u003e {\n const assets = await coingecko.getAssets(\u003cchainname\u003eChainId)\n return [...assets, unfreeze(\u003cchainname\u003e)]\n }\n\nFILE 2 (MODIFY): scripts/generateAssetData/coingecko.ts\n - Import \u003cchainname\u003eChainId from @shapeshiftoss/caip\n - Import \u003cchainname\u003e native asset from @shapeshiftoss/utils\n - Add case in the switch: case \u003cchainname\u003eChainId: return { assetNamespace: ASSET_NAMESPACE.erc20, category: adapters.chainIdToCoingeckoAssetPlatform(chainId), explorer/explorerAddressLink/explorerTxLink from \u003cchainname\u003e utils }\n - NOTE: chains not on CoinGecko will only have the native asset (no ERC20 token list)\n\nFILE 3 (MODIFY): scripts/generateAssetData/generateAssetData.ts\n - Import: import * as \u003cchainname\u003e from './\u003cchainname\u003e'\n - Call: const \u003cchainname\u003eAssets = await \u003cchainname\u003e.getAssets()\n - Spread into unfilteredAssetData: ...\u003cchainname\u003eAssets\n\nCOMMAND: yarn generate:asset-data\n This regenerates: src/generated/asset-data.json + related-asset-index + manifest + compressed assets\n\n=== DRAFT PR CREATION (final step per chain) ===\n\nAfter all code changes are complete for a chain, open a draft PR using the repo template.\n\nBRANCH NAMING: feat/integrate-\u003cchainname\u003e-relay (e.g. feat/integrate-scroll-relay)\n\nCOMMAND:\n gh pr create --draft --title 'feat: integrate \u003cChainName\u003e (chainId: \u003cid\u003e) via Relay' --body \"$(cat \u003c\u003c'PREOF'\n ## Description\n\n Add \u003cChainName\u003e (chainId: \u003cid\u003e) as a second-class EVM chain in ShapeShift Web with Relay bridge support.\n\n **Changes:**\n - Plugin registration in src/plugins/\u003cchainname\u003e/\n - Feature flag `\u003cChainName\u003e` in preferencesSlice\n - Relay swapper chain mapping in RelaySwapper/constant.ts\n - Asset data generation via CoinGecko (`\u003ccoingecko_platform_id\u003e`)\n - Environment config for RPC URL\n\n **Chain details:**\n - TVL: \u003ctvl\u003e\n - Native token: \u003ctoken\u003e (18 decimals)\n - Architecture: \u003carch_type\u003e\n - RPC: \u003crpc_url\u003e\n - Explorer: \u003cexplorer_url\u003e\n\n ## Issue (if applicable)\n\n Part of #11902\n\n ## Risk\n\n Low risk — new chain behind feature flag (`\u003cChainName\u003e`), no existing functionality affected.\n\n \u003e New chain plugin + Relay bridge mapping. No modifications to existing chain logic.\n\n ## Testing\n\n ### Engineering\n\n 1. Enable feature flag: set `VITE_FEATURE_\u003cCHAINNAME\u003e=true` in .env\n 2. Verify chain appears in supported chains list\n 3. Verify native token balance loads (connect wallet with \u003ctoken\u003e on \u003cChainName\u003e)\n 4. Verify Relay bridge quote works: bridge ETH from Ethereum → \u003cChainName\u003e\n 5. Run `yarn lint --fix \u0026\u0026 yarn type-check` — must pass\n\n ### Operations\n\n - [x] :checkered_flag: My feature is behind a flag and doesn't require operations testing (yet)\n\n ## Screenshots (if applicable)\n\n N/A — chain integration, no UI changes.\n PREOF\n )\"\n\nNOTE: Replace all \u003cplaceholders\u003e with actual chain values from the bead description/notes.\nNOTE: Use --draft flag to create as draft PR.\nNOTE: Branch off develop (main branch is develop, not main).", + "status": "open", + "priority": 0, + "issue_type": "epic", + "owner": "14963751+NeOMakinG@users.noreply.github.com", + "created_at": "2026-02-17T10:55:02Z", + "created_by": "NeOMakinG", + "updated_at": "2026-02-17T11:21:27Z", + "external_ref": "gh-11902", + "dependency_type": "parent-child" + } + ], + "parent": "ss-dx5" + } +] diff --git a/.beads/ss-dx5.17.json b/.beads/ss-dx5.17.json new file mode 100644 index 00000000000..b12b8e28c7b --- /dev/null +++ b/.beads/ss-dx5.17.json @@ -0,0 +1,40 @@ +[ + { + "id": "ss-dx5.17", + "title": "Integrate Celo (chainId: 42220, CELO, L1)", + "description": "TVL: $39.7M | RPC: https://forno.celo.org | Explorer: https://celoscan.io | Token Support: All | Pattern B (RPC-only) | Mobile-first, established chain", + "notes": "\nLogo: https://assets.relay.link/icons/42220/light.png (dark: dark.png)\nCoinGecko platform: celo\nCoinGecko native ID: celo\nArch: L1 (mobile-first blockchain)\nNative token: CELO (18 decimals)\nSLIP44: 60 (Ethereum)\nETH-native: NO — CELO gas token\nViem: ✅ celo (id: 42220) — import { celo } from \"viem/chains\"\nAcross: ❌ NOT SUPPORTED\nZerion ID: \"celo\" (standard lowercase)\n\n🔴 CRITICAL QUIRKS:\n- CELO is BOTH the native gas token AND an ERC20 token on the chain\n- Relay may use wrapped CELO — check relayTransactionMetadata.assetRequiringApproval\n- CoinGecko has \"celo\" as platform, \"celo\" as native coin ID\n- May need special handling for the native-token-as-ERC20 duality\n\n--- PHASE 1 LEARNED CHECKLIST (MANDATORY) ---\n[ ] adapter.json: Create packages/caip/src/adapters/coingecko/generated/eip155_42220/adapter.json → {\"eip155:42220/slip44:60\":\"celo\"}\n[ ] Wire adapter.json: Import+export from packages/caip/src/adapters/coingecko/generated/index.ts\n[ ] getCoingeckoSupportedChainIds: Add celoChainId (feature-flagged) in src/lib/coingecko/utils.ts\n[ ] Zerion: Add \"celo\" to ZERION_CHAINS + ZERION_CHAINS_MAP in packages/types/src/zerion.ts\n[ ] Across: ❌ SKIP — not supported\n[ ] ETH test ordering: ❌ SKIP — not ETH-native\n[ ] Market-service counts: ❌ SKIP — not ETH-native\n[ ] relatedAssetKey: null (NOT eip155:1/slip44:60)\n\n--- RELAY ACTIVATION ---\n[ ] Add [celoChainId]: celo.id to chainIdToRelayChainId\n[ ] Add native asset case in relayTokenToAssetId.ts\n--- ASSET DATA REGEN ---\n[ ] Create scripts/generateAssetData/celo/index.ts\n[ ] Add case to scripts/generateAssetData/coingecko.ts\n[ ] Add import + getAssets call to generateAssetData.ts\n--- DRAFT PR ---\n[ ] Branch: feat/integrate-celo-relay (off develop)\n[ ] gh pr create --draft\n[ ] yarn lint --fix \u0026\u0026 yarn type-check must pass\n", + "status": "open", + "priority": 2, + "issue_type": "task", + "owner": "14963751+NeOMakinG@users.noreply.github.com", + "created_at": "2026-02-17T10:56:01Z", + "created_by": "NeOMakinG", + "updated_at": "2026-02-17T22:43:34Z", + "labels": [ + "critical-quirk", + "evm", + "non-eth-gas", + "relay", + "tier-2" + ], + "dependencies": [ + { + "id": "ss-dx5", + "title": "Add support for missing Relay.link EVM chains", + "description": "Master epic tracking integration of ALL chains supported by Relay.link that ShapeShift web doesn't currently support. Enables cross-chain bridging capabilities via Relay infrastructure. See https://github.com/shapeshift/web/issues/11902 for full details. All new EVM chains will use Pattern B (RPC-only + getKnownTokens) since no ShapeShift unchained indexer infrastructure exists for these chains.", + "notes": "=== FROM ISSUE COMMENTS ===\n\nLOGO PATTERN: https://assets.relay.link/icons/{chainId}/light.png (dark: dark.png)\n\nARCHITECTURE GROUPS:\n- OP Stack (standard): Ink, Unichain, BOB, Mode, Hemi, World Chain, Soneium, Zircuit, Lisk, Cyber, Blast, Zora, Redstone, Shape, Superseed, Manta Pacific\n- zkEVM (special handling): Scroll, zkSync Era, Linea, Polygon zkEVM, Taiko, Abstract\n- Arbitrum Orbit: ApeChain, Xai, Sanko\n- Non-ETH gas (10 chains): Mantle(MNT), Metis(METIS), Cronos(CRO), Ronin(RON), Sonic(S), Flow(FLOW), Berachain(BERA), Plume(PLUME), Story(IP), Stable(gUSDT)\n\nCRITICAL CHAINS:\n1. Celo (42220): Native token is BOTH native AND ERC20. Relay uses wrapped CELO. Check relayTransactionMetadata.assetRequiringApproval\n2. Blast (81457): Rebasing ETH from L1 staking yield. USDB also rebases. Handle in balance displays.\n3. Ethereal (5064014): NOT in viem. Needs custom chain definition.\n4. zkSync Era (324) + Abstract (2741): Type 113 (EIP-712) transactions. Use viem zksync chainConfig.\n5. Linea (59144): Custom linea_estimateGas RPC method.\n6. Sei (1329): Parallelized EVM + CosmWasm interop. CoinGecko uses sei-v2 NOT sei.\n\nCOINGECKO GOTCHAS: sei-\u003esei-v2, plume-\u003eplume-network, zksync-\u003ezksync, metis-\u003emetis-andromeda, morph-\u003emorph-l2, gravity-\u003egravity-alpha, boba-\u003eboba, zora-\u003ezora-network, funkichain-\u003efunki, Superposition (capital S). BOB/Zero Network have null chain_identifier. 11 chains not on CoinGecko at all.\n\nPER-CHAIN CHECKLIST: [ ] chain-adapters [ ] caip [ ] asset-service [ ] feature-flag [ ] plugin [ ] env-config [ ] icon/logo\n\n=== RELAY SWAPPER INTEGRATION (per chain) ===\n\nFILE 1: packages/swapper/src/swappers/RelaySwapper/constant.ts\n - Add to chainIdToRelayChainId map: [newChainChainId]: \u003cviem_chain\u003e.id (or numeric chain ID)\n - Import the caip chainId (e.g., scrollChainId) from @shapeshiftoss/caip\n - Import viem chain from viem/chains (or use raw numeric ID if not in viem)\n - The reverse map relayChainIdToChainId auto-generates via invert()\n\nFILE 2: packages/swapper/src/swappers/RelaySwapper/utils/relayTokenToAssetId.ts\n - Add case CHAIN_REFERENCE.NewChainMainnet: with ASSET_REFERENCE.NewChain + ASSET_NAMESPACE.slip44\n\nNO CHANGES NEEDED (for EVM chains):\n - getRelayAssetAddress.ts (uses generic isNativeEvmAsset + DEFAULT_RELAY_EVM_TOKEN_ADDRESS)\n - getRelayDefaultUserAddress.ts (falls through to DEFAULT_RELAY_EVM_USER_ADDRESS default)\n\nUPSTREAM DEPS REQUIRED (in @shapeshiftoss packages):\n - @shapeshiftoss/caip: export newChainChainId, CHAIN_REFERENCE.NewChainMainnet, ASSET_REFERENCE.NewChain\n - @shapeshiftoss/types: KnownChainIds.NewChainMainnet\n - @shapeshiftoss/chain-adapters: NewChain chain adapter class\n - viem/chains: chain config (or custom if not in viem)\n\nRELAY API: https://api.relay.link (env: VITE_RELAY_API_URL) - no per-chain config needed\n\n=== ASSET DATA REGENERATION (per chain) ===\n\nAfter integrating each chain, run a partial assets data regen to populate the token list.\n\nFILE 1 (CREATE): scripts/generateAssetData/\u003cchainname\u003e/index.ts\n Pattern (identical for all EVM chains):\n import { \u003cchainname\u003eChainId } from '@shapeshiftoss/caip'\n import type { Asset } from '@shapeshiftoss/types'\n import { \u003cchainname\u003e, unfreeze } from '@shapeshiftoss/utils'\n import * as coingecko from '../coingecko'\n export const getAssets = async (): Promise\u003cAsset[]\u003e =\u003e {\n const assets = await coingecko.getAssets(\u003cchainname\u003eChainId)\n return [...assets, unfreeze(\u003cchainname\u003e)]\n }\n\nFILE 2 (MODIFY): scripts/generateAssetData/coingecko.ts\n - Import \u003cchainname\u003eChainId from @shapeshiftoss/caip\n - Import \u003cchainname\u003e native asset from @shapeshiftoss/utils\n - Add case in the switch: case \u003cchainname\u003eChainId: return { assetNamespace: ASSET_NAMESPACE.erc20, category: adapters.chainIdToCoingeckoAssetPlatform(chainId), explorer/explorerAddressLink/explorerTxLink from \u003cchainname\u003e utils }\n - NOTE: chains not on CoinGecko will only have the native asset (no ERC20 token list)\n\nFILE 3 (MODIFY): scripts/generateAssetData/generateAssetData.ts\n - Import: import * as \u003cchainname\u003e from './\u003cchainname\u003e'\n - Call: const \u003cchainname\u003eAssets = await \u003cchainname\u003e.getAssets()\n - Spread into unfilteredAssetData: ...\u003cchainname\u003eAssets\n\nCOMMAND: yarn generate:asset-data\n This regenerates: src/generated/asset-data.json + related-asset-index + manifest + compressed assets\n\n=== DRAFT PR CREATION (final step per chain) ===\n\nAfter all code changes are complete for a chain, open a draft PR using the repo template.\n\nBRANCH NAMING: feat/integrate-\u003cchainname\u003e-relay (e.g. feat/integrate-scroll-relay)\n\nCOMMAND:\n gh pr create --draft --title 'feat: integrate \u003cChainName\u003e (chainId: \u003cid\u003e) via Relay' --body \"$(cat \u003c\u003c'PREOF'\n ## Description\n\n Add \u003cChainName\u003e (chainId: \u003cid\u003e) as a second-class EVM chain in ShapeShift Web with Relay bridge support.\n\n **Changes:**\n - Plugin registration in src/plugins/\u003cchainname\u003e/\n - Feature flag `\u003cChainName\u003e` in preferencesSlice\n - Relay swapper chain mapping in RelaySwapper/constant.ts\n - Asset data generation via CoinGecko (`\u003ccoingecko_platform_id\u003e`)\n - Environment config for RPC URL\n\n **Chain details:**\n - TVL: \u003ctvl\u003e\n - Native token: \u003ctoken\u003e (18 decimals)\n - Architecture: \u003carch_type\u003e\n - RPC: \u003crpc_url\u003e\n - Explorer: \u003cexplorer_url\u003e\n\n ## Issue (if applicable)\n\n Part of #11902\n\n ## Risk\n\n Low risk — new chain behind feature flag (`\u003cChainName\u003e`), no existing functionality affected.\n\n \u003e New chain plugin + Relay bridge mapping. No modifications to existing chain logic.\n\n ## Testing\n\n ### Engineering\n\n 1. Enable feature flag: set `VITE_FEATURE_\u003cCHAINNAME\u003e=true` in .env\n 2. Verify chain appears in supported chains list\n 3. Verify native token balance loads (connect wallet with \u003ctoken\u003e on \u003cChainName\u003e)\n 4. Verify Relay bridge quote works: bridge ETH from Ethereum → \u003cChainName\u003e\n 5. Run `yarn lint --fix \u0026\u0026 yarn type-check` — must pass\n\n ### Operations\n\n - [x] :checkered_flag: My feature is behind a flag and doesn't require operations testing (yet)\n\n ## Screenshots (if applicable)\n\n N/A — chain integration, no UI changes.\n PREOF\n )\"\n\nNOTE: Replace all \u003cplaceholders\u003e with actual chain values from the bead description/notes.\nNOTE: Use --draft flag to create as draft PR.\nNOTE: Branch off develop (main branch is develop, not main).", + "status": "open", + "priority": 0, + "issue_type": "epic", + "owner": "14963751+NeOMakinG@users.noreply.github.com", + "created_at": "2026-02-17T10:55:02Z", + "created_by": "NeOMakinG", + "updated_at": "2026-02-17T11:21:27Z", + "external_ref": "gh-11902", + "dependency_type": "parent-child" + } + ], + "parent": "ss-dx5" + } +] diff --git a/.env b/.env index ca0648e3b6e..2f73c970f40 100644 --- a/.env +++ b/.env @@ -11,7 +11,6 @@ VITE_FEATURE_SUI=true VITE_FEATURE_MAYACHAIN=true VITE_FEATURE_BASE=true VITE_FEATURE_OPTIMISM=true -VITE_FEATURE_CELO=false VITE_FEATURE_ZCASH=true VITE_FEATURE_SAVERS_VAULTS=true VITE_FEATURE_SAVERS_VAULTS_DEPOSIT=false @@ -163,13 +162,14 @@ VITE_MEGAETH_NODE_URL=https://mainnet.megaeth.com/rpc VITE_LINEA_NODE_URL=https://rpc.linea.build VITE_SCROLL_NODE_URL=https://rpc.scroll.io/ VITE_KATANA_NODE_URL=https://rpc.katana.network +VITE_ETHEREAL_NODE_URL=https://rpc.ethereal.trade +VITE_CELO_NODE_URL=https://forno.celo.org VITE_FLOWEVM_NODE_URL=https://mainnet.evm.nodes.onflow.org -VITE_CELO_NODE_URL=https://rpc.ankr.com/celo +VITE_PLUME_NODE_URL=https://rpc.plumenetwork.xyz VITE_STORY_NODE_URL=https://mainnet.storyrpc.io -VITE_PLUME_NODE_URL=https://rpc.plume.org VITE_ZKSYNC_ERA_NODE_URL=https://mainnet.era.zksync.io VITE_BLAST_NODE_URL=https://rpc.blast.io -VITE_WORLDCHAIN_NODE_URL=https://worldchain-mainnet.g.alchemy.com/public +VITE_WORLDCHAIN_NODE_URL=https://worldchain-mainnet.gateway.tenderly.co VITE_HEMI_NODE_URL=https://rpc.hemi.network/rpc VITE_SONIC_NODE_URL=https://rpc.soniclabs.com VITE_UNICHAIN_NODE_URL=https://mainnet.unichain.org @@ -332,9 +332,11 @@ VITE_FEATURE_BERACHAIN=false VITE_FEATURE_SCROLL=false VITE_FEATURE_NEAR=true VITE_FEATURE_KATANA=true +VITE_FEATURE_ETHEREAL=false +VITE_FEATURE_CELO=false VITE_FEATURE_FLOWEVM=false -VITE_FEATURE_STORY=false VITE_FEATURE_PLUME=false +VITE_FEATURE_STORY=false VITE_FEATURE_ZK_SYNC_ERA=false VITE_FEATURE_BLAST=false VITE_FEATURE_HEMI=false diff --git a/.env.development b/.env.development index 456a61a89b6..feb3a8b9793 100644 --- a/.env.development +++ b/.env.development @@ -61,13 +61,14 @@ VITE_BASE_NODE_URL=https://dev-api.base.shapeshift.com/api/v1/jsonrpc VITE_MONAD_NODE_URL=https://rpc.monad.xyz VITE_PLASMA_NODE_URL=https://rpc.plasma.to VITE_KATANA_NODE_URL=https://rpc.katana.network +VITE_ETHEREAL_NODE_URL=https://rpc.ethereal.trade +VITE_CELO_NODE_URL=https://forno.celo.org VITE_FLOWEVM_NODE_URL=https://mainnet.evm.nodes.onflow.org -VITE_CELO_NODE_URL=https://rpc.ankr.com/celo -VITE_STORY_NODE_URL=https://mainnet.storyrpc.io VITE_PLUME_NODE_URL=https://rpc.plume.org +VITE_STORY_NODE_URL=https://mainnet.storyrpc.io VITE_ZKSYNC_ERA_NODE_URL=https://mainnet.era.zksync.io VITE_BLAST_NODE_URL=https://rpc.blast.io -VITE_WORLDCHAIN_NODE_URL=https://worldchain-mainnet.g.alchemy.com/public +VITE_WORLDCHAIN_NODE_URL=https://worldchain-mainnet.gateway.tenderly.co VITE_HEMI_NODE_URL=https://rpc.hemi.network/rpc VITE_SONIC_NODE_URL=https://rpc.soniclabs.com VITE_UNICHAIN_NODE_URL=https://mainnet.unichain.org @@ -122,10 +123,11 @@ VITE_FEATURE_LINEA=true VITE_FEATURE_BERACHAIN=true VITE_FEATURE_SCROLL=true VITE_FEATURE_KATANA=true -VITE_FEATURE_STORY=true -VITE_FEATURE_FLOWEVM=true +VITE_FEATURE_ETHEREAL=true VITE_FEATURE_CELO=true +VITE_FEATURE_FLOWEVM=true VITE_FEATURE_PLUME=true +VITE_FEATURE_STORY=true VITE_FEATURE_ZK_SYNC_ERA=true VITE_FEATURE_BLAST=true VITE_FEATURE_WORLDCHAIN=true diff --git a/e2e/screenshots/evm_chains_batch/blast.png b/e2e/screenshots/evm_chains_batch/blast.png new file mode 100644 index 00000000000..0d25a987b14 Binary files /dev/null and b/e2e/screenshots/evm_chains_batch/blast.png differ diff --git a/e2e/screenshots/evm_chains_batch/bob.png b/e2e/screenshots/evm_chains_batch/bob.png new file mode 100644 index 00000000000..176e6ccf33a Binary files /dev/null and b/e2e/screenshots/evm_chains_batch/bob.png differ diff --git a/e2e/screenshots/evm_chains_batch/celo.png b/e2e/screenshots/evm_chains_batch/celo.png new file mode 100644 index 00000000000..b12851a167f Binary files /dev/null and b/e2e/screenshots/evm_chains_batch/celo.png differ diff --git a/e2e/screenshots/evm_chains_batch/cronos.png b/e2e/screenshots/evm_chains_batch/cronos.png new file mode 100644 index 00000000000..830e09262ac Binary files /dev/null and b/e2e/screenshots/evm_chains_batch/cronos.png differ diff --git a/e2e/screenshots/evm_chains_batch/ethereal.png b/e2e/screenshots/evm_chains_batch/ethereal.png new file mode 100644 index 00000000000..354b2a02d3f Binary files /dev/null and b/e2e/screenshots/evm_chains_batch/ethereal.png differ diff --git a/e2e/screenshots/evm_chains_batch/flowevm.png b/e2e/screenshots/evm_chains_batch/flowevm.png new file mode 100644 index 00000000000..be6ac6cafc5 Binary files /dev/null and b/e2e/screenshots/evm_chains_batch/flowevm.png differ diff --git a/e2e/screenshots/evm_chains_batch/hemi.png b/e2e/screenshots/evm_chains_batch/hemi.png new file mode 100644 index 00000000000..3e59d674efa Binary files /dev/null and b/e2e/screenshots/evm_chains_batch/hemi.png differ diff --git a/e2e/screenshots/evm_chains_batch/mantle.png b/e2e/screenshots/evm_chains_batch/mantle.png new file mode 100644 index 00000000000..7581e1dd236 Binary files /dev/null and b/e2e/screenshots/evm_chains_batch/mantle.png differ diff --git a/e2e/screenshots/evm_chains_batch/mode.png b/e2e/screenshots/evm_chains_batch/mode.png new file mode 100644 index 00000000000..af17ec26685 Binary files /dev/null and b/e2e/screenshots/evm_chains_batch/mode.png differ diff --git a/e2e/screenshots/evm_chains_batch/plume.png b/e2e/screenshots/evm_chains_batch/plume.png new file mode 100644 index 00000000000..ed110a8d32f Binary files /dev/null and b/e2e/screenshots/evm_chains_batch/plume.png differ diff --git a/e2e/screenshots/evm_chains_batch/soneium.png b/e2e/screenshots/evm_chains_batch/soneium.png new file mode 100644 index 00000000000..f736fdda2e6 Binary files /dev/null and b/e2e/screenshots/evm_chains_batch/soneium.png differ diff --git a/e2e/screenshots/evm_chains_batch/sonic.png b/e2e/screenshots/evm_chains_batch/sonic.png new file mode 100644 index 00000000000..f5d581e3660 Binary files /dev/null and b/e2e/screenshots/evm_chains_batch/sonic.png differ diff --git a/e2e/screenshots/evm_chains_batch/story.png b/e2e/screenshots/evm_chains_batch/story.png new file mode 100644 index 00000000000..507e129cab6 Binary files /dev/null and b/e2e/screenshots/evm_chains_batch/story.png differ diff --git a/e2e/screenshots/evm_chains_batch/unichain.png b/e2e/screenshots/evm_chains_batch/unichain.png new file mode 100644 index 00000000000..aeb8149fd21 Binary files /dev/null and b/e2e/screenshots/evm_chains_batch/unichain.png differ diff --git a/e2e/screenshots/evm_chains_batch/worldchain.png b/e2e/screenshots/evm_chains_batch/worldchain.png new file mode 100644 index 00000000000..035e3771862 Binary files /dev/null and b/e2e/screenshots/evm_chains_batch/worldchain.png differ diff --git a/e2e/screenshots/evm_chains_batch/zksync.png b/e2e/screenshots/evm_chains_batch/zksync.png new file mode 100644 index 00000000000..4abdf95c41f Binary files /dev/null and b/e2e/screenshots/evm_chains_batch/zksync.png differ diff --git a/headers/csps/chains/ethereal.ts b/headers/csps/chains/ethereal.ts new file mode 100644 index 00000000000..65026d30759 --- /dev/null +++ b/headers/csps/chains/ethereal.ts @@ -0,0 +1,10 @@ +import { loadEnv } from 'vite' + +import type { Csp } from '../../types' + +const mode = process.env.MODE ?? process.env.NODE_ENV ?? 'development' +const env = loadEnv(mode, process.cwd(), '') + +export const csp: Csp = { + 'connect-src': [env.VITE_ETHEREAL_NODE_URL], +} diff --git a/headers/csps/index.ts b/headers/csps/index.ts index 008f4d5ee6a..93be4936c67 100644 --- a/headers/csps/index.ts +++ b/headers/csps/index.ts @@ -17,6 +17,7 @@ import { csp as celo } from './chains/celo' import { csp as cosmos } from './chains/cosmos' import { csp as cronos } from './chains/cronos' import { csp as dogecoin } from './chains/dogecoin' +import { csp as ethereal } from './chains/ethereal' import { csp as ethereum } from './chains/ethereum' import { csp as flowEvm } from './chains/flowEvm' import { csp as gnosis } from './chains/gnosis' @@ -134,9 +135,8 @@ export const csps = [ bnbsmartchain, cosmos, dogecoin, + ethereal, ethereum, - flowEvm, - celo, bob, gnosis, hemi, @@ -168,6 +168,8 @@ export const csps = [ monad, near, plasma, + celo, + flowEvm, story, worldchain, sonic, diff --git a/packages/caip/src/constants.ts b/packages/caip/src/constants.ts index e3af52eea29..4bc53c43fc8 100644 --- a/packages/caip/src/constants.ts +++ b/packages/caip/src/constants.ts @@ -25,6 +25,7 @@ export const worldChainAssetId: AssetId = 'eip155:480/slip44:60' export const berachainAssetId: AssetId = 'eip155:80094/slip44:60' export const cronosAssetId: AssetId = 'eip155:25/slip44:60' export const katanaAssetId: AssetId = 'eip155:747474/slip44:60' +export const etherealAssetId: AssetId = 'eip155:5064014/slip44:60' export const flowEvmAssetId: AssetId = 'eip155:747/slip44:60' export const celoAssetId: AssetId = 'eip155:42220/slip44:60' export const plumeAssetId: AssetId = 'eip155:98866/slip44:60' @@ -106,6 +107,7 @@ export const worldChainChainId: ChainId = 'eip155:480' export const berachainChainId: ChainId = 'eip155:80094' export const cronosChainId: ChainId = 'eip155:25' export const katanaChainId: ChainId = 'eip155:747474' +export const etherealChainId: ChainId = 'eip155:5064014' export const flowEvmChainId: ChainId = 'eip155:747' export const celoChainId: ChainId = 'eip155:42220' export const plumeChainId: ChainId = 'eip155:98866' @@ -178,6 +180,7 @@ export const CHAIN_REFERENCE = { BerachainMainnet: '80094', CronosMainnet: '25', KatanaMainnet: '747474', // https://docs.katana.network + EtherealMainnet: '5064014', // https://docs.ethereal.global FlowEvmMainnet: '747', CeloMainnet: '42220', PlumeMainnet: '98866', // https://docs.plumenetwork.xyz @@ -242,6 +245,7 @@ export const ASSET_REFERENCE = { Berachain: '60', // evm chain which uses ethereum derivation path as common practice Cronos: '60', // evm chain which uses ethereum derivation path as common practice Katana: '60', // evm chain which uses ethereum derivation path as common practice + Ethereal: '60', // evm chain which uses ethereum derivation path as common practice FlowEvm: '60', // evm chain which uses ethereum derivation path as common practice Celo: '60', // evm chain which uses ethereum derivation path as common practice Plume: '60', // evm chain which uses ethereum derivation path as common practice @@ -292,6 +296,7 @@ export const VALID_CHAIN_IDS: ValidChainMap = Object.freeze({ CHAIN_REFERENCE.BerachainMainnet, CHAIN_REFERENCE.CronosMainnet, CHAIN_REFERENCE.KatanaMainnet, + CHAIN_REFERENCE.EtherealMainnet, CHAIN_REFERENCE.FlowEvmMainnet, CHAIN_REFERENCE.PlumeMainnet, CHAIN_REFERENCE.StoryMainnet, @@ -390,5 +395,6 @@ export const FEE_ASSET_IDS = [ plasmaAssetId, worldChainAssetId, katanaAssetId, + etherealAssetId, flowEvmAssetId, ] diff --git a/packages/chain-adapters/src/evm/EvmBaseAdapter.ts b/packages/chain-adapters/src/evm/EvmBaseAdapter.ts index b67c554ba0a..a3aacf81952 100644 --- a/packages/chain-adapters/src/evm/EvmBaseAdapter.ts +++ b/packages/chain-adapters/src/evm/EvmBaseAdapter.ts @@ -18,6 +18,7 @@ import { supportsCelo, supportsCronos, supportsETH, + supportsEthereal, supportsFlowEvm, supportsGnosis, supportsHemi, @@ -113,6 +114,7 @@ export const evmChainIds = [ KnownChainIds.BerachainMainnet, KnownChainIds.CronosMainnet, KnownChainIds.KatanaMainnet, + KnownChainIds.EtherealMainnet, KnownChainIds.FlowEvmMainnet, KnownChainIds.CeloMainnet, KnownChainIds.StoryMainnet, @@ -242,6 +244,8 @@ export abstract class EvmBaseAdapter implements IChainAdap return supportsCronos(wallet) case Number(fromChainId(KnownChainIds.KatanaMainnet).chainReference): return supportsKatana(wallet) + case Number(fromChainId(KnownChainIds.EtherealMainnet).chainReference): + return supportsEthereal(wallet) case Number(fromChainId(KnownChainIds.FlowEvmMainnet).chainReference): return supportsFlowEvm(wallet) case Number(fromChainId(KnownChainIds.CeloMainnet).chainReference): @@ -394,6 +398,11 @@ export abstract class EvmBaseAdapter implements IChainAdap symbol: 'ETH', explorer: 'https://katanascan.com', }, + [KnownChainIds.EtherealMainnet]: { + name: 'USDe', + symbol: 'USDe', + explorer: 'https://explorer.ethereal.global', + }, [KnownChainIds.FlowEvmMainnet]: { name: 'Flow', symbol: 'FLOW', diff --git a/packages/chain-adapters/src/evm/SecondClassEvmAdapter.ts b/packages/chain-adapters/src/evm/SecondClassEvmAdapter.ts index a8a211d2509..48a5396c572 100644 --- a/packages/chain-adapters/src/evm/SecondClassEvmAdapter.ts +++ b/packages/chain-adapters/src/evm/SecondClassEvmAdapter.ts @@ -11,6 +11,7 @@ import { hyperEvmChainId, mantleChainId, modeChainId, + plumeChainId, seiChainId, soneiumChainId, sonicChainId, @@ -71,6 +72,7 @@ const WRAPPED_NATIVE_CONTRACT_BY_CHAIN_ID: Partial> = { [blastChainId]: '0x4300000000000000000000000000000000000004', [zkSyncEraChainId]: '0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91', [storyChainId]: '0x1514000000000000000000000000000000000000', + [plumeChainId]: '0xea237441c92cae6fc17caaf9a7acb3f953be4bd1', [seiChainId]: '0xE30feDd158A2e3b13e9badaeABaFc5516e95e8C7', } const BATCH_SIZE = 500 @@ -417,6 +419,8 @@ export abstract class SecondClassEvmAdapter extends EvmBas this.chainId === hyperEvmChainId || this.chainId === blastChainId || this.chainId === zkSyncEraChainId || + this.chainId === flowEvmChainId || + this.chainId === celoChainId || this.chainId === seiChainId ) { return [] @@ -545,6 +549,27 @@ export abstract class SecondClassEvmAdapter extends EvmBas }) } } + // Fallback: direct ERC20 transfer of native token to recipient + // On Celo, CELO is both native and ERC20 - Relay sends it as ERC20 directly (no burn/withdraw) + if (internalTxs.length === 0 && this.chainId === celoChainId) { + const directReceiveLogs = parseEventLogs({ + abi: erc20Abi, + logs: receipt.logs, + eventName: 'Transfer', + }).filter( + log => + isAddressEqual(getAddress(log.address), getAddress(wrappedNativeContract)) && + isAddressEqual(log.args.to, getAddress(pubkey)), + ) + + for (const log of directReceiveLogs) { + internalTxs.push({ + from: log.args.from, + to: getAddress(pubkey), + value: log.args.value.toString(), + }) + } + } } console.log( '[SecondClassEvmAdapter parseTx] final internalTxs', diff --git a/packages/chain-adapters/src/evm/ethereal/EtherealChainAdapter.ts b/packages/chain-adapters/src/evm/ethereal/EtherealChainAdapter.ts new file mode 100644 index 00000000000..a83bc69213c --- /dev/null +++ b/packages/chain-adapters/src/evm/ethereal/EtherealChainAdapter.ts @@ -0,0 +1,57 @@ +import type { AssetId } from '@shapeshiftoss/caip' +import { ASSET_REFERENCE, etherealAssetId } from '@shapeshiftoss/caip' +import type { RootBip44Params } from '@shapeshiftoss/types' +import { KnownChainIds } from '@shapeshiftoss/types' + +import { ChainAdapterDisplayName } from '../../types' +import type { TokenInfo } from '../SecondClassEvmAdapter' +import { SecondClassEvmAdapter } from '../SecondClassEvmAdapter' + +const SUPPORTED_CHAIN_IDS = [KnownChainIds.EtherealMainnet] +const DEFAULT_CHAIN_ID = KnownChainIds.EtherealMainnet + +export type ChainAdapterArgs = { + rpcUrl: string + getKnownTokens: () => TokenInfo[] +} + +export const isEtherealChainAdapter = (adapter: unknown): adapter is ChainAdapter => { + return (adapter as ChainAdapter).getType() === KnownChainIds.EtherealMainnet +} + +export class ChainAdapter extends SecondClassEvmAdapter { + public static readonly rootBip44Params: RootBip44Params = { + purpose: 44, + coinType: Number(ASSET_REFERENCE.Ethereal), + accountNumber: 0, + } + + constructor(args: ChainAdapterArgs) { + super({ + assetId: etherealAssetId, + chainId: DEFAULT_CHAIN_ID, + rootBip44Params: ChainAdapter.rootBip44Params, + supportedChainIds: SUPPORTED_CHAIN_IDS, + rpcUrl: args.rpcUrl, + getKnownTokens: args.getKnownTokens, + }) + } + + getDisplayName() { + return ChainAdapterDisplayName.Ethereal + } + + getName() { + return 'Ethereal' + } + + getType(): KnownChainIds.EtherealMainnet { + return KnownChainIds.EtherealMainnet + } + + getFeeAssetId(): AssetId { + return this.assetId + } +} + +export type { TokenInfo } diff --git a/packages/chain-adapters/src/evm/ethereal/index.ts b/packages/chain-adapters/src/evm/ethereal/index.ts new file mode 100644 index 00000000000..b454f329278 --- /dev/null +++ b/packages/chain-adapters/src/evm/ethereal/index.ts @@ -0,0 +1 @@ +export * from './EtherealChainAdapter' diff --git a/packages/chain-adapters/src/evm/index.ts b/packages/chain-adapters/src/evm/index.ts index e74af5ec1cf..c10248a5bc3 100644 --- a/packages/chain-adapters/src/evm/index.ts +++ b/packages/chain-adapters/src/evm/index.ts @@ -22,6 +22,7 @@ export * as megaeth from './megaeth' export * as berachain from './berachain' export * as cronos from './cronos' export * as katana from './katana' +export * as ethereal from './ethereal' export * as flowEvm from './flowEvm' export * as celo from './celo' export * as plume from './plume' diff --git a/packages/chain-adapters/src/evm/mantle/MantleChainAdapter.ts b/packages/chain-adapters/src/evm/mantle/MantleChainAdapter.ts index f19130b8161..27f5fa14c6d 100644 --- a/packages/chain-adapters/src/evm/mantle/MantleChainAdapter.ts +++ b/packages/chain-adapters/src/evm/mantle/MantleChainAdapter.ts @@ -15,10 +15,6 @@ export type ChainAdapterArgs = { getKnownTokens: () => TokenInfo[] } -export const isMantleChainAdapter = (adapter: unknown): adapter is ChainAdapter => { - return (adapter as ChainAdapter).getType() === KnownChainIds.MantleMainnet -} - export class ChainAdapter extends SecondClassEvmAdapter { public static readonly rootBip44Params: RootBip44Params = { purpose: 44, diff --git a/packages/chain-adapters/src/types.ts b/packages/chain-adapters/src/types.ts index 640efb03fe3..80c408cb575 100644 --- a/packages/chain-adapters/src/types.ts +++ b/packages/chain-adapters/src/types.ts @@ -53,6 +53,7 @@ type ChainSpecificAccount = ChainSpecific< [KnownChainIds.BerachainMainnet]: evm.Account [KnownChainIds.CronosMainnet]: evm.Account [KnownChainIds.KatanaMainnet]: evm.Account + [KnownChainIds.EtherealMainnet]: evm.Account [KnownChainIds.FlowEvmMainnet]: evm.Account [KnownChainIds.CeloMainnet]: evm.Account [KnownChainIds.PlumeMainnet]: evm.Account @@ -125,6 +126,7 @@ type ChainSpecificFeeData = ChainSpecific< [KnownChainIds.BerachainMainnet]: evm.FeeData [KnownChainIds.CronosMainnet]: evm.FeeData [KnownChainIds.KatanaMainnet]: evm.FeeData + [KnownChainIds.EtherealMainnet]: evm.FeeData [KnownChainIds.FlowEvmMainnet]: evm.FeeData [KnownChainIds.CeloMainnet]: evm.FeeData [KnownChainIds.PlumeMainnet]: evm.FeeData @@ -230,6 +232,7 @@ export type ChainSignTx = { [KnownChainIds.BerachainMainnet]: ETHSignTx [KnownChainIds.CronosMainnet]: ETHSignTx [KnownChainIds.KatanaMainnet]: ETHSignTx + [KnownChainIds.EtherealMainnet]: ETHSignTx [KnownChainIds.FlowEvmMainnet]: ETHSignTx [KnownChainIds.CeloMainnet]: ETHSignTx [KnownChainIds.PlumeMainnet]: ETHSignTx @@ -307,6 +310,7 @@ export type ChainSpecificBuildTxData = ChainSpecific< [KnownChainIds.BerachainMainnet]: evm.BuildTxInput [KnownChainIds.CronosMainnet]: evm.BuildTxInput [KnownChainIds.KatanaMainnet]: evm.BuildTxInput + [KnownChainIds.EtherealMainnet]: evm.BuildTxInput [KnownChainIds.FlowEvmMainnet]: evm.BuildTxInput [KnownChainIds.CeloMainnet]: evm.BuildTxInput [KnownChainIds.PlumeMainnet]: evm.BuildTxInput @@ -434,6 +438,7 @@ type ChainSpecificGetFeeDataInput = ChainSpecific< [KnownChainIds.BerachainMainnet]: evm.GetFeeDataInput [KnownChainIds.CronosMainnet]: evm.GetFeeDataInput [KnownChainIds.KatanaMainnet]: evm.GetFeeDataInput + [KnownChainIds.EtherealMainnet]: evm.GetFeeDataInput [KnownChainIds.FlowEvmMainnet]: evm.GetFeeDataInput [KnownChainIds.CeloMainnet]: evm.GetFeeDataInput [KnownChainIds.PlumeMainnet]: evm.GetFeeDataInput @@ -526,6 +531,7 @@ export enum ChainAdapterDisplayName { Berachain = 'Berachain', Cronos = 'Cronos', Katana = 'Katana', + Ethereal = 'Ethereal', FlowEvm = 'Flow EVM', Celo = 'Celo', Plume = 'Plume', diff --git a/packages/contracts/src/ethersProviderSingleton.ts b/packages/contracts/src/ethersProviderSingleton.ts index 86388888704..89fb8e09531 100644 --- a/packages/contracts/src/ethersProviderSingleton.ts +++ b/packages/contracts/src/ethersProviderSingleton.ts @@ -42,6 +42,8 @@ export const rpcUrlByChainId = (chainId: EvmChainId): string => { return process.env.VITE_CRONOS_NODE_URL case KnownChainIds.KatanaMainnet: return process.env.VITE_KATANA_NODE_URL + case KnownChainIds.EtherealMainnet: + return process.env.VITE_ETHEREAL_NODE_URL case KnownChainIds.FlowEvmMainnet: return process.env.VITE_FLOWEVM_NODE_URL case KnownChainIds.CeloMainnet: diff --git a/packages/contracts/src/viemClient.ts b/packages/contracts/src/viemClient.ts index 3e3f9c5a4e7..c4dfddaf18f 100644 --- a/packages/contracts/src/viemClient.ts +++ b/packages/contracts/src/viemClient.ts @@ -187,6 +187,21 @@ export const viemKatanaClient = createPublicClient({ transport: fallback([process.env.VITE_KATANA_NODE_URL].filter(Boolean).map(url => http(url))), }) as PublicClient +export const ethereal = defineChain({ + id: 5064014, + name: 'Ethereal', + nativeCurrency: { name: 'USDe', symbol: 'USDe', decimals: 18 }, + rpcUrls: { default: { http: ['https://rpc.ethereal.trade'] } }, + blockExplorers: { + default: { name: 'Ethereal Explorer', url: 'https://explorer.ethereal.global' }, + }, +}) + +export const viemEtherealClient = createPublicClient({ + chain: ethereal, + transport: fallback([process.env.VITE_ETHEREAL_NODE_URL].filter(Boolean).map(url => http(url))), +}) as PublicClient + export const viemStoryClient = createPublicClient({ chain: story, transport: fallback([process.env.VITE_STORY_NODE_URL].filter(Boolean).map(url => http(url))), @@ -266,6 +281,7 @@ export const viemClientByChainId: Record = { [KnownChainIds.BerachainMainnet]: viemBerachainClient, [KnownChainIds.CronosMainnet]: viemCronosClient, [KnownChainIds.KatanaMainnet]: viemKatanaClient, + [KnownChainIds.EtherealMainnet]: viemEtherealClient, [KnownChainIds.FlowEvmMainnet]: viemFlowEvmClient, [KnownChainIds.CeloMainnet]: viemCeloClient, [KnownChainIds.StoryMainnet]: viemStoryClient, @@ -302,6 +318,7 @@ export const viemNetworkIdByChainId: Record = { [KnownChainIds.BerachainMainnet]: berachain.id, [KnownChainIds.CronosMainnet]: cronos.id, [KnownChainIds.KatanaMainnet]: katana.id, + [KnownChainIds.EtherealMainnet]: ethereal.id, [KnownChainIds.FlowEvmMainnet]: flowMainnet.id, [KnownChainIds.CeloMainnet]: celo.id, [KnownChainIds.StoryMainnet]: story.id, @@ -338,6 +355,7 @@ export const viemClientByNetworkId: Record = { [berachain.id]: viemBerachainClient, [cronos.id]: viemCronosClient, [katana.id]: viemKatanaClient, + [ethereal.id]: viemEtherealClient, [flowMainnet.id]: viemFlowEvmClient, [celo.id]: viemCeloClient, [story.id]: viemStoryClient, diff --git a/packages/hdwallet-coinbase/src/coinbase.ts b/packages/hdwallet-coinbase/src/coinbase.ts index b6637b7e0e8..4ce9aae9be1 100644 --- a/packages/hdwallet-coinbase/src/coinbase.ts +++ b/packages/hdwallet-coinbase/src/coinbase.ts @@ -111,6 +111,7 @@ export class CoinbaseHDWallet implements core.HDWallet, core.ETHWallet { readonly _supportsPlasma = false readonly _supportsPlume = false readonly _supportsKatana = false + readonly _supportsEthereal = false readonly _supportsStory = false readonly _supportsSonic = false readonly _supportsBob = false diff --git a/packages/hdwallet-core/src/ethereum.ts b/packages/hdwallet-core/src/ethereum.ts index 6a39d8aba59..6c59e6391ae 100644 --- a/packages/hdwallet-core/src/ethereum.ts +++ b/packages/hdwallet-core/src/ethereum.ts @@ -209,6 +209,7 @@ export interface ETHWallet extends ETHWalletInfo, HDWallet { readonly _supportsPlasma: boolean readonly _supportsPlume: boolean readonly _supportsKatana: boolean + readonly _supportsEthereal: boolean readonly _supportsStory: boolean readonly _supportsSonic: boolean readonly _supportsBob: boolean diff --git a/packages/hdwallet-core/src/wallet.ts b/packages/hdwallet-core/src/wallet.ts index 2698be9452b..b47117ade2b 100644 --- a/packages/hdwallet-core/src/wallet.ts +++ b/packages/hdwallet-core/src/wallet.ts @@ -185,6 +185,10 @@ export function supportsKatana(wallet: HDWallet): wallet is ETHWallet { return isObject(wallet) && (wallet as any)._supportsKatana } +export function supportsEthereal(wallet: HDWallet): wallet is ETHWallet { + return isObject(wallet) && (wallet as any)._supportsEthereal +} + export function supportsStory(wallet: HDWallet): wallet is ETHWallet { return isObject(wallet) && (wallet as any)._supportsStory } diff --git a/packages/hdwallet-gridplus/src/gridplus.ts b/packages/hdwallet-gridplus/src/gridplus.ts index 22e5406662a..5086d729ab1 100644 --- a/packages/hdwallet-gridplus/src/gridplus.ts +++ b/packages/hdwallet-gridplus/src/gridplus.ts @@ -364,6 +364,7 @@ export class GridPlusHDWallet readonly _supportsPlasma = true readonly _supportsPlume = true readonly _supportsKatana = false + readonly _supportsEthereal = false readonly _supportsStory = false readonly _supportsSonic = false readonly _supportsBob = false diff --git a/packages/hdwallet-keepkey/src/keepkey.ts b/packages/hdwallet-keepkey/src/keepkey.ts index 5e0faf39c2c..8ec357676f0 100644 --- a/packages/hdwallet-keepkey/src/keepkey.ts +++ b/packages/hdwallet-keepkey/src/keepkey.ts @@ -553,6 +553,7 @@ export class KeepKeyHDWallet readonly _supportsPlasma = false readonly _supportsPlume = false readonly _supportsKatana = false + readonly _supportsEthereal = false readonly _supportsStory = false readonly _supportsSonic = false readonly _supportsBob = false diff --git a/packages/hdwallet-ledger/src/ledger.ts b/packages/hdwallet-ledger/src/ledger.ts index 4cbbde1926a..490f4f6b159 100644 --- a/packages/hdwallet-ledger/src/ledger.ts +++ b/packages/hdwallet-ledger/src/ledger.ts @@ -430,6 +430,7 @@ export class LedgerHDWallet readonly _supportsPlasma = true readonly _supportsPlume = true readonly _supportsKatana = true + readonly _supportsEthereal = true readonly _supportsStory = true readonly _supportsSonic = true readonly _supportsBob = true diff --git a/packages/hdwallet-metamask-multichain/src/shapeshift-multichain.ts b/packages/hdwallet-metamask-multichain/src/shapeshift-multichain.ts index d9f21ea8c05..55dda4a6c3c 100644 --- a/packages/hdwallet-metamask-multichain/src/shapeshift-multichain.ts +++ b/packages/hdwallet-metamask-multichain/src/shapeshift-multichain.ts @@ -91,11 +91,14 @@ export class MetaMaskMultiChainHDWalletInfo implements core.HDWalletInfo, core.E case 'Atom': return core.cosmosDescribePath(msg.path) + case 'Ethereum': return core.describeETHPath(msg.path) + case 'Rune': case 'Thorchain': return core.thorchainDescribePath(msg.path) + default: throw new Error('Unsupported path') } @@ -275,8 +278,10 @@ export class MetaMaskMultiChainHDWallet readonly _supportsBase = true readonly _supportsMonad = true readonly _supportsPlasma = true - readonly _supportsPlume = true readonly _supportsKatana = true + readonly _supportsEthereal = true + readonly _supportsCelo = true + readonly _supportsFlowEvm = true readonly _supportsStory = true readonly _supportsSonic = true readonly _supportsBob = true @@ -286,12 +291,11 @@ export class MetaMaskMultiChainHDWallet readonly _supportsMantle = true readonly _supportsInk = true readonly _supportsMegaEth = true + readonly _supportsPlume = true readonly _supportsZkSyncEra = true readonly _supportsBlast = true readonly _supportsWorldChain = true readonly _supportsHemi = true - readonly _supportsFlowEvm = true - readonly _supportsCelo = true readonly _supportsBerachain = true readonly _supportsLinea = true readonly _supportsScroll = true diff --git a/packages/hdwallet-native/src/ethereum.ts b/packages/hdwallet-native/src/ethereum.ts index 63791887198..15efa6a1f07 100644 --- a/packages/hdwallet-native/src/ethereum.ts +++ b/packages/hdwallet-native/src/ethereum.ts @@ -69,6 +69,7 @@ export function MixinNativeETHWallet { assetReference: ASSET_REFERENCE.Plasma, assetNamespace: ASSET_NAMESPACE.slip44, } - case CHAIN_REFERENCE.PlumeMainnet: - return { - assetReference: ASSET_REFERENCE.Plume, - assetNamespace: ASSET_NAMESPACE.slip44, - } case CHAIN_REFERENCE.MantleMainnet: return { assetReference: ASSET_REFERENCE.Mantle, @@ -166,9 +161,9 @@ export const relayTokenToAssetId = (relayToken: RelayToken): AssetId => { assetReference: ASSET_REFERENCE.Katana, assetNamespace: ASSET_NAMESPACE.slip44, } - case CHAIN_REFERENCE.FlowEvmMainnet: + case CHAIN_REFERENCE.EtherealMainnet: return { - assetReference: ASSET_REFERENCE.FlowEvm, + assetReference: ASSET_REFERENCE.Ethereal, assetNamespace: ASSET_NAMESPACE.slip44, } case CHAIN_REFERENCE.CeloMainnet: @@ -176,6 +171,16 @@ export const relayTokenToAssetId = (relayToken: RelayToken): AssetId => { assetReference: ASSET_REFERENCE.Celo, assetNamespace: ASSET_NAMESPACE.slip44, } + case CHAIN_REFERENCE.FlowEvmMainnet: + return { + assetReference: ASSET_REFERENCE.FlowEvm, + assetNamespace: ASSET_NAMESPACE.slip44, + } + case CHAIN_REFERENCE.PlumeMainnet: + return { + assetReference: ASSET_REFERENCE.Plume, + assetNamespace: ASSET_NAMESPACE.slip44, + } case CHAIN_REFERENCE.StoryMainnet: return { assetReference: ASSET_REFERENCE.Story, diff --git a/packages/types/src/base.ts b/packages/types/src/base.ts index be6700bacce..35d8c130e74 100644 --- a/packages/types/src/base.ts +++ b/packages/types/src/base.ts @@ -31,6 +31,7 @@ export enum KnownChainIds { BerachainMainnet = 'eip155:80094', CronosMainnet = 'eip155:25', KatanaMainnet = 'eip155:747474', + EtherealMainnet = 'eip155:5064014', FlowEvmMainnet = 'eip155:747', CeloMainnet = 'eip155:42220', PlumeMainnet = 'eip155:98866', @@ -81,6 +82,7 @@ export type EvmChainId = | KnownChainIds.BerachainMainnet | KnownChainIds.CronosMainnet | KnownChainIds.KatanaMainnet + | KnownChainIds.EtherealMainnet | KnownChainIds.FlowEvmMainnet | KnownChainIds.CeloMainnet | KnownChainIds.PlumeMainnet diff --git a/packages/types/src/zerion.ts b/packages/types/src/zerion.ts index 82653d1c707..333b606ce30 100644 --- a/packages/types/src/zerion.ts +++ b/packages/types/src/zerion.ts @@ -10,6 +10,7 @@ import { celoChainId, cronosChainId, ethChainId, + flowEvmChainId, gnosisChainId, hemiChainId, inkChainId, @@ -20,6 +21,7 @@ import { monadChainId, optimismChainId, plasmaChainId, + plumeChainId, polygonChainId, seiChainId, solanaChainId, @@ -48,10 +50,12 @@ export const ZERION_CHAINS = [ 'monad', 'sui', 'plasma', + 'plume', 'world-chain', 'katana', - 'story', 'celo', + 'flow-evm', + 'story', 'zksync-era', 'blast', 'hemi', @@ -87,10 +91,12 @@ export const ZERION_CHAINS_MAP: Record = { monad: monadChainId, sui: suiChainId, plasma: plasmaChainId, + plume: plumeChainId, 'world-chain': worldChainChainId, katana: katanaChainId, - story: storyChainId, celo: celoChainId, + 'flow-evm': flowEvmChainId, + story: storyChainId, 'zksync-era': zkSyncEraChainId, blast: blastChainId, hemi: hemiChainId, diff --git a/packages/utils/src/assetData/baseAssets.ts b/packages/utils/src/assetData/baseAssets.ts index 6152903be69..ddf9f3204bd 100644 --- a/packages/utils/src/assetData/baseAssets.ts +++ b/packages/utils/src/assetData/baseAssets.ts @@ -507,6 +507,23 @@ export const flowEvm: Readonly = Object.freeze({ relatedAssetKey: null, }) +export const ethereal: Readonly = Object.freeze({ + assetId: caip.etherealAssetId, + chainId: caip.etherealChainId, + name: 'USDe', + networkName: 'Ethereal', + symbol: 'USDe', + precision: 18, + color: '#4A90D9', + networkColor: '#4A90D9', + icon: 'https://assets.coingecko.com/coins/images/33613/large/USDE.png', + networkIcon: 'https://assets.relay.link/icons/5064014/light.png', + explorer: 'https://explorer.ethereal.global', + explorerAddressLink: 'https://explorer.ethereal.global/address/', + explorerTxLink: 'https://explorer.ethereal.global/tx/', + relatedAssetKey: null, +}) + export const celo: Readonly = Object.freeze({ assetId: caip.celoAssetId, chainId: caip.celoChainId, diff --git a/packages/utils/src/assetData/getBaseAsset.ts b/packages/utils/src/assetData/getBaseAsset.ts index be46d42bbc5..7694f950d5a 100644 --- a/packages/utils/src/assetData/getBaseAsset.ts +++ b/packages/utils/src/assetData/getBaseAsset.ts @@ -17,6 +17,7 @@ import { celo, cronos, dogecoin, + ethereal, ethereum, flowEvm, gnosis, @@ -114,6 +115,8 @@ export const getBaseAsset = (chainId: ChainId): Readonly => { return cronos case KnownChainIds.KatanaMainnet: return katana + case KnownChainIds.EtherealMainnet: + return ethereal case KnownChainIds.FlowEvmMainnet: return flowEvm case KnownChainIds.CeloMainnet: diff --git a/packages/utils/src/chainIdToFeeAssetId.ts b/packages/utils/src/chainIdToFeeAssetId.ts index 1042c129ad5..55d2b15df23 100644 --- a/packages/utils/src/chainIdToFeeAssetId.ts +++ b/packages/utils/src/chainIdToFeeAssetId.ts @@ -14,6 +14,7 @@ import { cronosAssetId, dogeAssetId, ethAssetId, + etherealAssetId, flowEvmAssetId, gnosisAssetId, hemiAssetId, @@ -113,6 +114,8 @@ export const chainIdToFeeAssetId = (_chainId: ChainId): AssetId => { return cronosAssetId case KnownChainIds.KatanaMainnet: return katanaAssetId + case KnownChainIds.EtherealMainnet: + return etherealAssetId case KnownChainIds.FlowEvmMainnet: return flowEvmAssetId case KnownChainIds.CeloMainnet: diff --git a/packages/utils/src/getAssetNamespaceFromChainId.ts b/packages/utils/src/getAssetNamespaceFromChainId.ts index e9c27be1bb1..41230b206bc 100644 --- a/packages/utils/src/getAssetNamespaceFromChainId.ts +++ b/packages/utils/src/getAssetNamespaceFromChainId.ts @@ -45,6 +45,7 @@ export const getAssetNamespaceFromChainId = (chainId: KnownChainIds): AssetNames case KnownChainIds.BobMainnet: case KnownChainIds.ModeMainnet: case KnownChainIds.SoneiumMainnet: + case KnownChainIds.EtherealMainnet: case KnownChainIds.FlowEvmMainnet: case KnownChainIds.CeloMainnet: return ASSET_NAMESPACE.erc20 diff --git a/packages/utils/src/getChainShortName.ts b/packages/utils/src/getChainShortName.ts index a486b7991a3..c2184387944 100644 --- a/packages/utils/src/getChainShortName.ts +++ b/packages/utils/src/getChainShortName.ts @@ -60,6 +60,8 @@ export const getChainShortName = (chainId: KnownChainIds) => { return 'CRO' case KnownChainIds.KatanaMainnet: return 'KAT' + case KnownChainIds.EtherealMainnet: + return 'ETRL' case KnownChainIds.FlowEvmMainnet: return 'FLOW' case KnownChainIds.CeloMainnet: diff --git a/packages/utils/src/getNativeFeeAssetReference.ts b/packages/utils/src/getNativeFeeAssetReference.ts index 97f2df61f78..9a39b546cdc 100644 --- a/packages/utils/src/getNativeFeeAssetReference.ts +++ b/packages/utils/src/getNativeFeeAssetReference.ts @@ -58,6 +58,8 @@ export const getNativeFeeAssetReference = ( return ASSET_REFERENCE.Cronos case CHAIN_REFERENCE.KatanaMainnet: return ASSET_REFERENCE.Katana + case CHAIN_REFERENCE.EtherealMainnet: + return ASSET_REFERENCE.Ethereal case CHAIN_REFERENCE.FlowEvmMainnet: return ASSET_REFERENCE.FlowEvm case CHAIN_REFERENCE.CeloMainnet: diff --git a/public/generated/asset-manifest.json b/public/generated/asset-manifest.json index ce9ce6f5b59..5e31e027ba6 100644 --- a/public/generated/asset-manifest.json +++ b/public/generated/asset-manifest.json @@ -1,4 +1,4 @@ { - "assetData": "848146b7", - "relatedAssetIndex": "78acda28" + "assetData": "22f7765c", + "relatedAssetIndex": "18585b8a" } \ No newline at end of file diff --git a/public/generated/asset-manifest.json.br b/public/generated/asset-manifest.json.br index a83bff5fae4..4ec6857f3a8 100644 Binary files a/public/generated/asset-manifest.json.br and b/public/generated/asset-manifest.json.br differ diff --git a/public/generated/asset-manifest.json.gz b/public/generated/asset-manifest.json.gz index 0f538061b6b..ef4e2b12c90 100644 Binary files a/public/generated/asset-manifest.json.gz and b/public/generated/asset-manifest.json.gz differ diff --git a/public/generated/generatedAssetData.json b/public/generated/generatedAssetData.json index 7ccd8932036..0024126bf45 100644 --- a/public/generated/generatedAssetData.json +++ b/public/generated/generatedAssetData.json @@ -344165,7 +344165,7 @@ "explorer": "https://nearblocks.io", "explorerAddressLink": "https://nearblocks.io/address/", "explorerTxLink": "https://nearblocks.io/txns/", - "relatedAssetKey": null + "relatedAssetKey": "eip155:42220/erc20:0x765de816845861e75a25fca122bb6898b8b1282a" }, "near:mainnet/nep141:d9c2d319cd7e6177336b0a9c93c21cb48d84fb54.factory.bridge.near": { "assetId": "near:mainnet/nep141:d9c2d319cd7e6177336b0a9c93c21cb48d84fb54.factory.bridge.near", @@ -436550,341 +436550,1062 @@ "explorerTxLink": "https://explorer.zksync.io/tx/", "relatedAssetKey": "eip155:1/slip44:60" }, - "eip155:1514/erc20:0x1514000000000000000000000000000000000000": { - "assetId": "eip155:1514/erc20:0x1514000000000000000000000000000000000000", - "chainId": "eip155:1514", - "name": "Wrapped IP", + "eip155:747/erc20:0x00f4ce400130c9383115f3858f9ca54677426583": { + "assetId": "eip155:747/erc20:0x00f4ce400130c9383115f3858f9ca54677426583", + "chainId": "eip155:747", + "name": "FVIX", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/54378/large/image.png?1739437755", - "symbol": "WIP", - "explorer": "https://storyscan.xyz", - "explorerAddressLink": "https://storyscan.xyz/address/", - "explorerTxLink": "https://storyscan.xyz/tx/", + "icon": "https://assets.coingecko.com/coins/images/67423/large/fvix.png?1752738292", + "symbol": "FVIX", + "explorer": "https://evm.flowscan.io", + "explorerAddressLink": "https://evm.flowscan.io/address/", + "explorerTxLink": "https://evm.flowscan.io/tx/", + "relatedAssetKey": "eip155:747/erc20:0x00f4ce400130c9383115f3858f9ca54677426583" + }, + "eip155:747/erc20:0x10448481630fb6d20b597e5b3d7e42dcb1247c8a": { + "assetId": "eip155:747/erc20:0x10448481630fb6d20b597e5b3d7e42dcb1247c8a", + "chainId": "eip155:747", + "name": "Pawderick", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/55705/large/COINS_1x1_Pawderick.png?1747126154", + "symbol": "PAWDERICK", + "explorer": "https://evm.flowscan.io", + "explorerAddressLink": "https://evm.flowscan.io/address/", + "explorerTxLink": "https://evm.flowscan.io/tx/", "relatedAssetKey": null }, - "eip155:1514/erc20:0x25f9c9715d1d700a50b2a9a06d80fe9f98ccb549": { - "assetId": "eip155:1514/erc20:0x25f9c9715d1d700a50b2a9a06d80fe9f98ccb549", - "chainId": "eip155:1514", - "name": "BENJAMIN", + "eip155:747/erc20:0x1b97100ea1d7126c4d60027e231ea4cb25314bdb": { + "assetId": "eip155:747/erc20:0x1b97100ea1d7126c4d60027e231ea4cb25314bdb", + "chainId": "eip155:747", + "name": "Ankr Staked FLOW", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/54990/large/benjaminn.png?1743059951", - "symbol": "BENJI", - "explorer": "https://storyscan.xyz", - "explorerAddressLink": "https://storyscan.xyz/address/", - "explorerTxLink": "https://storyscan.xyz/tx/", + "icon": "https://assets.coingecko.com/coins/images/50281/large/ankrFLOW_%281%29.png?1726807706", + "symbol": "ANKRFLOW", + "explorer": "https://evm.flowscan.io", + "explorerAddressLink": "https://evm.flowscan.io/address/", + "explorerTxLink": "https://evm.flowscan.io/tx/", "relatedAssetKey": null }, - "eip155:1514/erc20:0x543374350269cce6651358769512875faa4cccff": { - "assetId": "eip155:1514/erc20:0x543374350269cce6651358769512875faa4cccff", - "chainId": "eip155:1514", - "name": "IPPY", + "eip155:747/erc20:0x2aabea2058b5ac2d339b163c6ab6f2b6d53aabed": { + "assetId": "eip155:747/erc20:0x2aabea2058b5ac2d339b163c6ab6f2b6d53aabed", + "chainId": "eip155:747", + "name": "Flow Bridged PYUSD (Flow)", + "precision": 6, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/54418/large/USDF_Logo_200x200.png?1739556351", + "symbol": "USDF", + "explorer": "https://evm.flowscan.io", + "explorerAddressLink": "https://evm.flowscan.io/address/", + "explorerTxLink": "https://evm.flowscan.io/tx/", + "relatedAssetKey": null + }, + "eip155:747/erc20:0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590": { + "assetId": "eip155:747/erc20:0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590", + "chainId": "eip155:747", + "name": "Stargate Bridged WETH", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/68997/large/0x543374350269cce6651358769512875faa4cccff.png?1757225559", - "symbol": "IPPY", - "explorer": "https://storyscan.xyz", - "explorerAddressLink": "https://storyscan.xyz/address/", - "explorerTxLink": "https://storyscan.xyz/tx/", + "icon": "https://assets.coingecko.com/coins/images/69466/large/weth_2.jpg?1758701596", + "symbol": "WETH", + "explorer": "https://evm.flowscan.io", + "explorerAddressLink": "https://evm.flowscan.io/address/", + "explorerTxLink": "https://evm.flowscan.io/tx/", + "relatedAssetKey": "eip155:1/erc20:0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" + }, + "eip155:747/erc20:0x6a64e027e3f6a94acbdcf39cf0cbb4bead5f5ecb": { + "assetId": "eip155:747/erc20:0x6a64e027e3f6a94acbdcf39cf0cbb4bead5f5ecb", + "chainId": "eip155:747", + "name": "HotCocoa", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/55707/large/COINS_1x1_HotCocoa.png?1747126347", + "symbol": "HOTCOCOA", + "explorer": "https://evm.flowscan.io", + "explorerAddressLink": "https://evm.flowscan.io/address/", + "explorerTxLink": "https://evm.flowscan.io/tx/", "relatedAssetKey": null }, - "eip155:1514/erc20:0x5a212776066b81e449fe74396cce368dc4b14043": { - "assetId": "eip155:1514/erc20:0x5a212776066b81e449fe74396cce368dc4b14043", - "chainId": "eip155:1514", - "name": "WhatTheFreg", + "eip155:747/erc20:0x7296ebca325e835eb6c1b690484cf6fb4c396d2c": { + "assetId": "eip155:747/erc20:0x7296ebca325e835eb6c1b690484cf6fb4c396d2c", + "chainId": "eip155:747", + "name": "Bartholowmeow", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/66146/large/sidebar_head.png?1748465639", - "symbol": "WTF", - "explorer": "https://storyscan.xyz", - "explorerAddressLink": "https://storyscan.xyz/address/", - "explorerTxLink": "https://storyscan.xyz/tx/", + "icon": "https://assets.coingecko.com/coins/images/55701/large/COINS_1x1_Bart.png?1747125830", + "symbol": "BARTHOLOMEOW", + "explorer": "https://evm.flowscan.io", + "explorerAddressLink": "https://evm.flowscan.io/address/", + "explorerTxLink": "https://evm.flowscan.io/tx/", "relatedAssetKey": null }, - "eip155:1514/erc20:0x693c7acf65e52c71bafe555bc22d69cb7f8a78a2": { - "assetId": "eip155:1514/erc20:0x693c7acf65e52c71bafe555bc22d69cb7f8a78a2", - "chainId": "eip155:1514", - "name": "Evil Larry", + "eip155:747/erc20:0x7f27352d5f83db87a5a3e00f4b07cc2138d8ee52": { + "assetId": "eip155:747/erc20:0x7f27352d5f83db87a5a3e00f4b07cc2138d8ee52", + "chainId": "eip155:747", + "name": "Celer Bridged USDC (Flow EVM)", + "precision": 6, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/50488/large/usdc.png?1727927821", + "symbol": "USDC.E", + "explorer": "https://evm.flowscan.io", + "explorerAddressLink": "https://evm.flowscan.io/address/", + "explorerTxLink": "https://evm.flowscan.io/tx/", + "relatedAssetKey": "eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" + }, + "eip155:747/erc20:0x8bd75008361517df04aa3ea033f03ba33c0c0a66": { + "assetId": "eip155:747/erc20:0x8bd75008361517df04aa3ea033f03ba33c0c0a66", + "chainId": "eip155:747", + "name": "GangGang", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/68054/large/1000440957.jpg?1754637180", - "symbol": "LARRY", - "explorer": "https://storyscan.xyz", - "explorerAddressLink": "https://storyscan.xyz/address/", - "explorerTxLink": "https://storyscan.xyz/tx/", + "icon": "https://assets.coingecko.com/coins/images/55792/large/COINS_1x1_06.png?1747366747", + "symbol": "GANGGANG", + "explorer": "https://evm.flowscan.io", + "explorerAddressLink": "https://evm.flowscan.io/address/", + "explorerTxLink": "https://evm.flowscan.io/tx/", "relatedAssetKey": null }, - "eip155:1514/erc20:0xa074aca68eeb6c831a78c84606f3cb44f9e547f5": { - "assetId": "eip155:1514/erc20:0xa074aca68eeb6c831a78c84606f3cb44f9e547f5", - "chainId": "eip155:1514", - "name": "Louie", + "eip155:747/erc20:0x9b565507858812e8b5ffbfbde9b200a3bc2e8f76": { + "assetId": "eip155:747/erc20:0x9b565507858812e8b5ffbfbde9b200a3bc2e8f76", + "chainId": "eip155:747", + "name": "Catseye", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/68839/large/2025-08-31_10.56.07.jpg?1756755652", - "symbol": "LOUIE", - "explorer": "https://storyscan.xyz", - "explorerAddressLink": "https://storyscan.xyz/address/", - "explorerTxLink": "https://storyscan.xyz/tx/", + "icon": "https://assets.coingecko.com/coins/images/55706/large/COINS_1x1_Catseye.png?1747126273", + "symbol": "CATSEYE", + "explorer": "https://evm.flowscan.io", + "explorerAddressLink": "https://evm.flowscan.io/address/", + "explorerTxLink": "https://evm.flowscan.io/tx/", "relatedAssetKey": null }, - "eip155:1514/erc20:0xa4f5c615f72ddeb2220471694fff1c0c3de051e1": { - "assetId": "eip155:1514/erc20:0xa4f5c615f72ddeb2220471694fff1c0c3de051e1", - "chainId": "eip155:1514", - "name": "LYRA", + "eip155:747/erc20:0xb73bf8e6a4477a952e0338e6cc00cc0ce5ad04ba": { + "assetId": "eip155:747/erc20:0xb73bf8e6a4477a952e0338e6cc00cc0ce5ad04ba", + "chainId": "eip155:747", + "name": "Froth", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/53984/large/WhatsApp_Image_2025-01-22_at_23.29.41.jpeg?1737876448", - "symbol": "LYRA", - "explorer": "https://storyscan.xyz", - "explorerAddressLink": "https://storyscan.xyz/address/", - "explorerTxLink": "https://storyscan.xyz/tx/", + "icon": "https://assets.coingecko.com/coins/images/52318/large/froth.png?1733077044", + "symbol": "FROTH", + "explorer": "https://evm.flowscan.io", + "explorerAddressLink": "https://evm.flowscan.io/address/", + "explorerTxLink": "https://evm.flowscan.io/tx/", "relatedAssetKey": null }, - "eip155:1514/erc20:0xb5461c1fd0312cd4bf037058f8a391e6a42f9639": { - "assetId": "eip155:1514/erc20:0xb5461c1fd0312cd4bf037058f8a391e6a42f9639", - "chainId": "eip155:1514", - "name": "Staked Aria Premier Launch", + "eip155:747/erc20:0xc618a7356fcf601f694c51578cd94144deaee690": { + "assetId": "eip155:747/erc20:0xc618a7356fcf601f694c51578cd94144deaee690", + "chainId": "eip155:747", + "name": "TSHOT Token", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/67815/large/APL_logo.jpg?1753940903", - "symbol": "STAPL", - "explorer": "https://storyscan.xyz", - "explorerAddressLink": "https://storyscan.xyz/address/", - "explorerTxLink": "https://storyscan.xyz/tx/", + "icon": "https://assets.coingecko.com/coins/images/70483/large/TSHOT.png?1762182687", + "symbol": "TSHOT", + "explorer": "https://evm.flowscan.io", + "explorerAddressLink": "https://evm.flowscan.io/address/", + "explorerTxLink": "https://evm.flowscan.io/tx/", "relatedAssetKey": null }, - "eip155:1514/erc20:0xbab93b7ad7fe8692a878b95a8e689423437cc500": { - "assetId": "eip155:1514/erc20:0xbab93b7ad7fe8692a878b95a8e689423437cc500", - "chainId": "eip155:1514", - "name": "Stargate Bridged WETH", + "eip155:747/erc20:0xd3bf53dac106a0290b0483ecbc89d40fcc961f3e": { + "assetId": "eip155:747/erc20:0xd3bf53dac106a0290b0483ecbc89d40fcc961f3e", + "chainId": "eip155:747", + "name": "Wrapped Flow", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/69466/large/weth_2.jpg?1758701596", - "symbol": "WETH", - "explorer": "https://storyscan.xyz", - "explorerAddressLink": "https://storyscan.xyz/address/", - "explorerTxLink": "https://storyscan.xyz/tx/", - "relatedAssetKey": "eip155:1/erc20:0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" + "icon": "https://assets.coingecko.com/coins/images/24045/large/wrapped-flow.png?1696523236", + "symbol": "WFLOW", + "explorer": "https://evm.flowscan.io", + "explorerAddressLink": "https://evm.flowscan.io/address/", + "explorerTxLink": "https://evm.flowscan.io/tx/", + "relatedAssetKey": null }, - "eip155:1514/erc20:0xc9cbbd8f211300dd0e7a3933b7aeedac6f61dd52": { - "assetId": "eip155:1514/erc20:0xc9cbbd8f211300dd0e7a3933b7aeedac6f61dd52", - "chainId": "eip155:1514", - "name": "Aria", + "eip155:747/erc20:0xd8ad8ae8375aa31bff541e17dc4b4917014ebdaa": { + "assetId": "eip155:747/erc20:0xd8ad8ae8375aa31bff541e17dc4b4917014ebdaa", + "chainId": "eip155:747", + "name": "BETA", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/70388/large/logo-abberation-token-white.png?1762454816", - "symbol": "ARIAIP", - "explorer": "https://storyscan.xyz", - "explorerAddressLink": "https://storyscan.xyz/address/", - "explorerTxLink": "https://storyscan.xyz/tx/", + "icon": "https://assets.coingecko.com/coins/images/52483/large/Beta-1024.png?1733426828", + "symbol": "BETA", + "explorer": "https://evm.flowscan.io", + "explorerAddressLink": "https://evm.flowscan.io/address/", + "explorerTxLink": "https://evm.flowscan.io/tx/", "relatedAssetKey": null }, - "eip155:1514/erc20:0xd07faed671decf3c5a6cc038dad97c8efdb507c0": { - "assetId": "eip155:1514/erc20:0xd07faed671decf3c5a6cc038dad97c8efdb507c0", - "chainId": "eip155:1514", - "name": "Staked IP", + "eip155:747/erc20:0xe8b7423b80f9af33480d365171c7ceda3586aa35": { + "assetId": "eip155:747/erc20:0xe8b7423b80f9af33480d365171c7ceda3586aa35", + "chainId": "eip155:747", + "name": "Purrzival", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/69438/large/stip.png?1758595832", - "symbol": "STIP", - "explorer": "https://storyscan.xyz", - "explorerAddressLink": "https://storyscan.xyz/address/", - "explorerTxLink": "https://storyscan.xyz/tx/", + "icon": "https://assets.coingecko.com/coins/images/55702/large/COINS_1x1_Purrzival.png?1747125981", + "symbol": "PURRZIVAL", + "explorer": "https://evm.flowscan.io", + "explorerAddressLink": "https://evm.flowscan.io/address/", + "explorerTxLink": "https://evm.flowscan.io/tx/", "relatedAssetKey": null }, - "eip155:1514/erc20:0xf1815bd50389c46847f0bda824ec8da914045d14": { - "assetId": "eip155:1514/erc20:0xf1815bd50389c46847f0bda824ec8da914045d14", - "chainId": "eip155:1514", + "eip155:747/erc20:0xf1815bd50389c46847f0bda824ec8da914045d14": { + "assetId": "eip155:747/erc20:0xf1815bd50389c46847f0bda824ec8da914045d14", + "chainId": "eip155:747", "name": "Stargate Bridged USDC", "precision": 6, "color": "#FFFFFF", "icon": "https://assets.coingecko.com/coins/images/69316/large/usdc.jpg?1758186473", "symbol": "USDC.E", - "explorer": "https://storyscan.xyz", - "explorerAddressLink": "https://storyscan.xyz/address/", - "explorerTxLink": "https://storyscan.xyz/tx/", + "explorer": "https://evm.flowscan.io", + "explorerAddressLink": "https://evm.flowscan.io/address/", + "explorerTxLink": "https://evm.flowscan.io/tx/", "relatedAssetKey": "eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" }, - "eip155:1514/erc20:0xfe82012ecce57a188e5f9f3fc1cb2d335c58f1f5": { - "assetId": "eip155:1514/erc20:0xfe82012ecce57a188e5f9f3fc1cb2d335c58f1f5", - "chainId": "eip155:1514", - "name": "Aria Premier Launch", + "eip155:747/erc20:0xf45cbe30bd953590c9917799142edb05be3f293f": { + "assetId": "eip155:747/erc20:0xf45cbe30bd953590c9917799142edb05be3f293f", + "chainId": "eip155:747", + "name": "Gwendolion", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/66927/large/download.png?1751093687", - "symbol": "APL", - "explorer": "https://storyscan.xyz", - "explorerAddressLink": "https://storyscan.xyz/address/", - "explorerTxLink": "https://storyscan.xyz/tx/", + "icon": "https://assets.coingecko.com/coins/images/55704/large/COINS_1x1_Gwen.png?1747126117", + "symbol": "GWENDOLION", + "explorer": "https://evm.flowscan.io", + "explorerAddressLink": "https://evm.flowscan.io/address/", + "explorerTxLink": "https://evm.flowscan.io/tx/", "relatedAssetKey": null }, - "eip155:1514/slip44:60": { - "assetId": "eip155:1514/slip44:60", - "chainId": "eip155:1514", - "name": "Story", - "networkName": "Story", - "symbol": "IP", + "eip155:747/slip44:60": { + "assetId": "eip155:747/slip44:60", + "chainId": "eip155:747", + "name": "Flow", + "networkName": "Flow EVM", + "symbol": "FLOW", "precision": 18, - "color": "#EA580C", - "networkColor": "#EA580C", - "icon": "https://assets.coingecko.com/coins/images/51994/large/story-2.png", - "networkIcon": "https://assets.coingecko.com/coins/images/51994/small/story-2.png", - "explorer": "https://storyscan.xyz", - "explorerAddressLink": "https://storyscan.xyz/address/", - "explorerTxLink": "https://storyscan.xyz/tx/", + "color": "#00EF8B", + "networkColor": "#00EF8B", + "icon": "https://assets.coingecko.com/coins/images/13446/large/5f6294c0c7a8cda55cb1c936_Flow_Wordmark.png", + "networkIcon": "https://assets.coingecko.com/coins/images/13446/small/5f6294c0c7a8cda55cb1c936_Flow_Wordmark.png", + "explorer": "https://evm.flowscan.io", + "explorerAddressLink": "https://evm.flowscan.io/address/", + "explorerTxLink": "https://evm.flowscan.io/tx/", "relatedAssetKey": null }, - "eip155:98866/erc20:0x00000000efe302beaa2b3e6e1b18d08d69a9012a": { - "assetId": "eip155:98866/erc20:0x00000000efe302beaa2b3e6e1b18d08d69a9012a", - "chainId": "eip155:98866", - "name": "AUSD", - "precision": 6, + "eip155:1329/erc20:0x0555e30da8f98308edb960aa94c0db47230d2b9c": { + "assetId": "eip155:1329/erc20:0x0555e30da8f98308edb960aa94c0db47230d2b9c", + "chainId": "eip155:1329", + "name": "Wrapped Bitcoin", + "precision": 8, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/39284/large/AUSD_1024px.png?1764684132", - "symbol": "AUSD", - "explorer": "https://explorer.plume.org", - "explorerAddressLink": "https://explorer.plume.org/address/", - "explorerTxLink": "https://explorer.plume.org/tx/", - "relatedAssetKey": "eip155:42161/erc20:0x00000000efe302beaa2b3e6e1b18d08d69a9012a" + "icon": "https://assets.coingecko.com/coins/images/7598/large/WBTCLOGO.png?1764496367", + "symbol": "WBTC", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:1/erc20:0x2260fac5e5542a773aa44fbcfedf7c193bc2c599" }, - "eip155:98866/erc20:0x02cdb5ccc97d5dc7ed2747831b516669eb635706": { - "assetId": "eip155:98866/erc20:0x02cdb5ccc97d5dc7ed2747831b516669eb635706", - "chainId": "eip155:98866", - "name": "Nest BTC Vault", - "precision": 8, + "eip155:1329/erc20:0x059a6b0ba116c63191182a0956cf697d0d2213ec": { + "assetId": "eip155:1329/erc20:0x059a6b0ba116c63191182a0956cf697d0d2213ec", + "chainId": "eip155:1329", + "name": "Synnax Stablecoin", + "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/55575/large/nBTC-token.png?1746774818", - "symbol": "NBTC", - "explorer": "https://explorer.plume.org", - "explorerAddressLink": "https://explorer.plume.org/address/", - "explorerTxLink": "https://explorer.plume.org/tx/", + "icon": "https://assets.coingecko.com/coins/images/50179/large/7.png?1726164913", + "symbol": "SYUSD", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", "relatedAssetKey": null }, - "eip155:98866/erc20:0x09d4214c03d01f49544c0448dbe3a27f768f2b34": { - "assetId": "eip155:98866/erc20:0x09d4214c03d01f49544c0448dbe3a27f768f2b34", - "chainId": "eip155:98866", + "eip155:1329/erc20:0x09d4214c03d01f49544c0448dbe3a27f768f2b34": { + "assetId": "eip155:1329/erc20:0x09d4214c03d01f49544c0448dbe3a27f768f2b34", + "chainId": "eip155:1329", "name": "Reservoir rUSD", "precision": 18, "color": "#FFFFFF", "icon": "https://assets.coingecko.com/coins/images/54117/large/rusd_bera2.png?1738311629", "symbol": "RUSD", - "explorer": "https://explorer.plume.org", - "explorerAddressLink": "https://explorer.plume.org/address/", - "explorerTxLink": "https://explorer.plume.org/tx/", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", "relatedAssetKey": "eip155:1/erc20:0x09d4214c03d01f49544c0448dbe3a27f768f2b34" }, - "eip155:98866/erc20:0x0bbcc2c1991d0af8ec6a5ed922e6f5606923fe15": { - "assetId": "eip155:98866/erc20:0x0bbcc2c1991d0af8ec6a5ed922e6f5606923fe15", - "chainId": "eip155:98866", - "name": "Wrapped Savings rUSD", - "precision": 18, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/66163/large/wsrUSD.png?1748500965", - "symbol": "WSRUSD", - "explorer": "https://explorer.plume.org", - "explorerAddressLink": "https://explorer.plume.org/address/", - "explorerTxLink": "https://explorer.plume.org/tx/", - "relatedAssetKey": "eip155:42161/erc20:0x4809010926aec940b550d34a46a52739f996d75d" - }, - "eip155:98866/erc20:0x0c78ca789e826fe339de61934896f5d170b66d78": { - "assetId": "eip155:98866/erc20:0x0c78ca789e826fe339de61934896f5d170b66d78", - "chainId": "eip155:98866", - "name": "Midas mBASIS", + "eip155:1329/erc20:0x0a526e425809aea71eb279d24ae22dee6c92a4fe": { + "assetId": "eip155:1329/erc20:0x0a526e425809aea71eb279d24ae22dee6c92a4fe", + "chainId": "eip155:1329", + "name": "DragonSwap", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/50593/large/mBASIS_logo.png?1728444389", - "symbol": "MBASIS", - "explorer": "https://explorer.plume.org", - "explorerAddressLink": "https://explorer.plume.org/address/", - "explorerTxLink": "https://explorer.plume.org/tx/", - "relatedAssetKey": "eip155:8453/erc20:0x1c2757c1fef1038428b5bef062495ce94bbe92b2" + "icon": "https://assets.coingecko.com/coins/images/67207/large/_DRG_token_.png?1752088626", + "symbol": "DRG", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null }, - "eip155:98866/erc20:0x111111d2bf19e43c34263401e0cad979ed1cdb61": { - "assetId": "eip155:98866/erc20:0x111111d2bf19e43c34263401e0cad979ed1cdb61", - "chainId": "eip155:98866", - "name": "USD1", + "eip155:1329/erc20:0x160345fc359604fc6e70e3c5facbde5f7a9342d8": { + "assetId": "eip155:1329/erc20:0x160345fc359604fc6e70e3c5facbde5f7a9342d8", + "chainId": "eip155:1329", + "name": "Stargate Bridged WETH", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/54977/large/USD1_1000x1000_transparent.png?1749297002", - "symbol": "USD1", - "explorer": "https://explorer.plume.org", - "explorerAddressLink": "https://explorer.plume.org/address/", - "explorerTxLink": "https://explorer.plume.org/tx/", - "relatedAssetKey": "eip155:56/erc20:0x8d0d000ee44948fc98c9b98a4fa4921476f08b0d" + "icon": "https://assets.coingecko.com/coins/images/69466/large/weth_2.jpg?1758701596", + "symbol": "WETH", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:1/erc20:0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" }, - "eip155:98866/erc20:0x11113ff3a60c2450f4b22515cb760417259ee94b": { - "assetId": "eip155:98866/erc20:0x11113ff3a60c2450f4b22515cb760417259ee94b", - "chainId": "eip155:98866", - "name": "Nest Basis Vault", + "eip155:1329/erc20:0x3894085ef7ff0f0aedf52e2a2704928d1ec074f1": { + "assetId": "eip155:1329/erc20:0x3894085ef7ff0f0aedf52e2a2704928d1ec074f1", + "chainId": "eip155:1329", + "name": "Noble USDC", "precision": 6, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/55514/large/nBASIS-token.png?1746438043", - "symbol": "NBASIS", - "explorer": "https://explorer.plume.org", - "explorerAddressLink": "https://explorer.plume.org/address/", - "explorerTxLink": "https://explorer.plume.org/tx/", - "relatedAssetKey": "eip155:1/erc20:0x11113ff3a60c2450f4b22515cb760417259ee94b" + "icon": "https://assets.coingecko.com/coins/images/38604/large/usdc.png?1718098770", + "symbol": "USDC.N", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" }, - "eip155:98866/erc20:0x119dd7daff816f29d7ee47596ae5e4bdc4299165": { - "assetId": "eip155:98866/erc20:0x119dd7daff816f29d7ee47596ae5e4bdc4299165", - "chainId": "eip155:98866", - "name": "Nest BlackOpal LiquidStone II Vault", - "precision": 6, + "eip155:1329/erc20:0x443ac9f358226f5f48f2cd10bc0121e7a6176323": { + "assetId": "eip155:1329/erc20:0x443ac9f358226f5f48f2cd10bc0121e7a6176323", + "chainId": "eip155:1329", + "name": "BitBat Token", + "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/70787/large/BlackOpal_Vault.png?1763752532", - "symbol": "NOPAL", - "explorer": "https://explorer.plume.org", - "explorerAddressLink": "https://explorer.plume.org/address/", - "explorerTxLink": "https://explorer.plume.org/tx/", + "icon": "https://assets.coingecko.com/coins/images/69010/large/logo.png?1757254589", + "symbol": "BAT", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", "relatedAssetKey": null }, - "eip155:98866/erc20:0x1271656f45e251f588847721ba2c561dd1f0223f": { - "assetId": "eip155:98866/erc20:0x1271656f45e251f588847721ba2c561dd1f0223f", - "chainId": "eip155:98866", - "name": "Elixir deUSD", + "eip155:1329/erc20:0x4809010926aec940b550d34a46a52739f996d75d": { + "assetId": "eip155:1329/erc20:0x4809010926aec940b550d34a46a52739f996d75d", + "chainId": "eip155:1329", + "name": "Wrapped Savings rUSD", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/39494/large/deUSD_Logo_%281%29.png?1723689002", - "symbol": "DEUSD", - "explorer": "https://explorer.plume.org", - "explorerAddressLink": "https://explorer.plume.org/address/", - "explorerTxLink": "https://explorer.plume.org/tx/", - "relatedAssetKey": "eip155:43114/erc20:0xb57b25851fe2311cc3fe511c8f10e868932e0680" - }, - "eip155:98866/erc20:0x139450c2dcef827c9a2a0bb1cb5506260940c9fd": { - "assetId": "eip155:98866/erc20:0x139450c2dcef827c9a2a0bb1cb5506260940c9fd", - "chainId": "eip155:98866", - "name": "SuperReturn sSuperUSD", - "precision": 6, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/67821/large/sSuperUSD_200x200.png?1753943152", - "symbol": "SSUPERUSD", - "explorer": "https://explorer.plume.org", - "explorerAddressLink": "https://explorer.plume.org/address/", - "explorerTxLink": "https://explorer.plume.org/tx/", - "relatedAssetKey": "eip155:42161/erc20:0x139450c2dcef827c9a2a0bb1cb5506260940c9fd" + "icon": "https://assets.coingecko.com/coins/images/66163/large/wsrUSD.png?1748500965", + "symbol": "WSRUSD", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:42161/erc20:0x4809010926aec940b550d34a46a52739f996d75d" }, - "eip155:98866/erc20:0x15c09c0ffb3717325e60a564d1acfbfe999c2f88": { - "assetId": "eip155:98866/erc20:0x15c09c0ffb3717325e60a564d1acfbfe999c2f88", - "chainId": "eip155:98866", - "name": "Dinari SRLN", + "eip155:1329/erc20:0x481fe356df88169f5f38203dd7f3c67b7559fda5": { + "assetId": "eip155:1329/erc20:0x481fe356df88169f5f38203dd7f3c67b7559fda5", + "chainId": "eip155:1329", + "name": "Raiinmaker", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/66390/large/d-token-200.png?1749284651", - "symbol": "SRLN.D", - "explorer": "https://explorer.plume.org", - "explorerAddressLink": "https://explorer.plume.org/address/", - "explorerTxLink": "https://explorer.plume.org/tx/", + "icon": "https://assets.coingecko.com/coins/images/67517/large/200x200_Logo.png?1753820843", + "symbol": "RAIIN", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", "relatedAssetKey": null }, - "eip155:98866/erc20:0x222365ef19f7947e5484218551b56bb3965aa7af": { - "assetId": "eip155:98866/erc20:0x222365ef19f7947e5484218551b56bb3965aa7af", - "chainId": "eip155:98866", - "name": "USDC", - "precision": 6, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/6319/large/USDC.png?1769615602", + "eip155:1329/erc20:0x4a1ea452c598363188bccc83fb4f69dc14b54acd": { + "assetId": "eip155:1329/erc20:0x4a1ea452c598363188bccc83fb4f69dc14b54acd", + "chainId": "eip155:1329", + "name": "MetaArena", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/70582/large/metareana.png?1762670673", + "symbol": "TIMI", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0x51121bcae92e302f19d06c193c95e1f7b81a444b": { + "assetId": "eip155:1329/erc20:0x51121bcae92e302f19d06c193c95e1f7b81a444b", + "chainId": "eip155:1329", + "name": "YAKA", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/50889/large/IMG_6242.png?1741333572", + "symbol": "YAKA", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0x541fd749419ca806a8bc7da8ac23d346f2df8b77": { + "assetId": "eip155:1329/erc20:0x541fd749419ca806a8bc7da8ac23d346f2df8b77", + "chainId": "eip155:1329", + "name": "Solv Protocol BTC", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/36800/large/solvBTC.png?1719810684", + "symbol": "SOLVBTC", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:42161/erc20:0x3647c54c4c2c65bc7a2d63c0da2809b399dbbdc0" + }, + "eip155:1329/erc20:0x54cd901491aef397084453f4372b93c33260e2a6": { + "assetId": "eip155:1329/erc20:0x54cd901491aef397084453f4372b93c33260e2a6", + "chainId": "eip155:1329", + "name": "Ondo US Dollar Yield", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/31700/large/usdy_%281%29.png?1696530524", + "symbol": "USDY", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:42161/erc20:0x35e050d3c0ec2d29d269a8ecea763a183bdf9a9d" + }, + "eip155:1329/erc20:0x58e11d8ed38a2061361e90916540c5c32281a380": { + "assetId": "eip155:1329/erc20:0x58e11d8ed38a2061361e90916540c5c32281a380", + "chainId": "eip155:1329", + "name": "Grand Gangsta City", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/67656/large/200pixels.png?1753423916", + "symbol": "$GGC", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0x5b8034f6346a81a1387ea21cdd36c48f6e05eb5f": { + "assetId": "eip155:1329/erc20:0x5b8034f6346a81a1387ea21cdd36c48f6e05eb5f", + "chainId": "eip155:1329", + "name": "Vertex", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/27927/large/vrtx.png?1696526947", + "symbol": "VRTX", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:42161/erc20:0x95146881b86b3ee99e63705ec87afe29fcc044d9" + }, + "eip155:1329/erc20:0x5bff88ca1442c2496f7e475e9e7786383bc070c0": { + "assetId": "eip155:1329/erc20:0x5bff88ca1442c2496f7e475e9e7786383bc070c0", + "chainId": "eip155:1329", + "name": "Frax Staked frxUSD", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/53964/large/sfrxUSD.png?1737792232", + "symbol": "SFRXUSD", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:1/erc20:0xcf62f905562626cfcdd2261162a51fd02fc9c5b6" + }, + "eip155:1329/erc20:0x5cf6826140c1c56ff49c808a1a75407cd1df9423": { + "assetId": "eip155:1329/erc20:0x5cf6826140c1c56ff49c808a1a75407cd1df9423", + "chainId": "eip155:1329", + "name": "Silo Staked SEI", + "precision": 6, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/38591/large/iSEI_logo_200_200.png?1718091709", + "symbol": "ISEI", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0x5f0e07dfee5832faa00c63f2d33a0d79150e8598": { + "assetId": "eip155:1329/erc20:0x5f0e07dfee5832faa00c63f2d33a0d79150e8598", + "chainId": "eip155:1329", + "name": "SEIYAN", + "precision": 6, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/33830/large/seiyanlogo.png?1703069383", + "symbol": "SEIYAN", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0x60c230c38af6d86b0277a98a1caeaa345a7b061f": { + "assetId": "eip155:1329/erc20:0x60c230c38af6d86b0277a98a1caeaa345a7b061f", + "chainId": "eip155:1329", + "name": "Fiamma BTC", + "precision": 8, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/68062/large/fiabtc_200-200.png?1754642511", + "symbol": "FIABTC", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:1/erc20:0x2260fac5e5542a773aa44fbcfedf7c193bc2c599" + }, + "eip155:1329/erc20:0x64445f0aecc51e94ad52d8ac56b7190e764e561a": { + "assetId": "eip155:1329/erc20:0x64445f0aecc51e94ad52d8ac56b7190e764e561a", + "chainId": "eip155:1329", + "name": "Wrapped FRAX", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/55432/large/wfrax_64.png?1745993624", + "symbol": "WFRAX", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:98866/erc20:0x64445f0aecc51e94ad52d8ac56b7190e764e561a" + }, + "eip155:1329/erc20:0x71052bae71c25c78e37fd12e5ff1101a71d9018f": { + "assetId": "eip155:1329/erc20:0x71052bae71c25c78e37fd12e5ff1101a71d9018f", + "chainId": "eip155:1329", + "name": "Chainlink", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/877/large/Chainlink_Logo_500.png?1760023405", + "symbol": "LINK", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0x78e26e8b953c7c78a58d69d8b9a91745c2bbb258": { + "assetId": "eip155:1329/erc20:0x78e26e8b953c7c78a58d69d8b9a91745c2bbb258", + "chainId": "eip155:1329", + "name": "uBTC", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/55079/large/uBTC.png?1743613297", + "symbol": "UBTC", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0x80137510979822322193fc997d400d5a6c747bf7": { + "assetId": "eip155:1329/erc20:0x80137510979822322193fc997d400d5a6c747bf7", + "chainId": "eip155:1329", + "name": "StakeStone ETH", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/33103/large/200_200.png?1702602672", + "symbol": "STONE", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:42161/erc20:0x80137510979822322193fc997d400d5a6c747bf7" + }, + "eip155:1329/erc20:0x805679729df385815c57c24b20f4161bd34b655f": { + "assetId": "eip155:1329/erc20:0x805679729df385815c57c24b20f4161bd34b655f", + "chainId": "eip155:1329", + "name": "Fishwar", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/54843/large/logo_fishwar_no_bg200x200.png?1742019218", + "symbol": "FISHW", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0x80eede496655fb9047dd39d9f418d5483ed600df": { + "assetId": "eip155:1329/erc20:0x80eede496655fb9047dd39d9f418d5483ed600df", + "chainId": "eip155:1329", + "name": "Frax USD", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/53963/large/frxUSD.png?1737792154", + "symbol": "FRXUSD", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:1/erc20:0xcacd6fd266af91b8aed52accc382b4e165586e29" + }, + "eip155:1329/erc20:0x81d3a238b02827f62b9f390f947d36d4a5bf89d2": { + "assetId": "eip155:1329/erc20:0x81d3a238b02827f62b9f390f947d36d4a5bf89d2", + "chainId": "eip155:1329", + "name": "Yei Finance", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/69987/large/CLO.png?1760503082", + "symbol": "CLO", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:1329/erc20:0x81d3a238b02827f62b9f390f947d36d4a5bf89d2" + }, + "eip155:1329/erc20:0x83c82f0f959ad3eff528ee513b43808aa53f4b37": { + "assetId": "eip155:1329/erc20:0x83c82f0f959ad3eff528ee513b43808aa53f4b37", + "chainId": "eip155:1329", + "name": "Zenrock", + "precision": 6, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/52032/large/Zenrock_Token_%282%29.png?1732376562", + "symbol": "ROCK", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0x89aec21572f6637ccbd0d66861aaac46dd775ed1": { + "assetId": "eip155:1329/erc20:0x89aec21572f6637ccbd0d66861aaac46dd775ed1", + "chainId": "eip155:1329", + "name": "Kryptonite", + "precision": 6, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/31252/large/Kryptonite_PFP-03.png?1696530076", + "symbol": "SEILOR", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0x8ee050f6af49a6b7fd8557d0e75219d66f5f6094": { + "assetId": "eip155:1329/erc20:0x8ee050f6af49a6b7fd8557d0e75219d66f5f6094", + "chainId": "eip155:1329", + "name": "Oxium", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/102171811/large/oxi.png?1769848020", + "symbol": "OXI", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0x9151434b16b9763660705744891fa906f660ecc5": { + "assetId": "eip155:1329/erc20:0x9151434b16b9763660705744891fa906f660ecc5", + "chainId": "eip155:1329", + "name": "USDT0", + "precision": 6, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/53705/large/usdt0.jpg?1737086183", + "symbol": "USDT0", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:1/erc20:0xdac17f958d2ee523a2206206994597c13d831ec7" + }, + "eip155:1329/erc20:0x93919784c523f39cacaa98ee0a9d96c3f32b593e": { + "assetId": "eip155:1329/erc20:0x93919784c523f39cacaa98ee0a9d96c3f32b593e", + "chainId": "eip155:1329", + "name": "Bedrock BTC", + "precision": 8, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/53039/large/brBTC_200.png?1735074374", + "symbol": "BRBTC", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:8453/erc20:0x3376ebca0a85fc8d791b1001a571c41fdd61514a" + }, + "eip155:1329/erc20:0x95597eb8d227a7c4b4f5e807a815c5178ee6dbe1": { + "assetId": "eip155:1329/erc20:0x95597eb8d227a7c4b4f5e807a815c5178ee6dbe1", + "chainId": "eip155:1329", + "name": "MILLI", + "precision": 6, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/35724/large/milli_new.PNG?1731239997", + "symbol": "MILLI", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0x9bfa177621119e64cecbeabe184ab9993e2ef727": { + "assetId": "eip155:1329/erc20:0x9bfa177621119e64cecbeabe184ab9993e2ef727", + "chainId": "eip155:1329", + "name": "Merlin's Seal BTC", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/36566/large/photo_2024-03-25_22-04-42.jpg?1711936162", + "symbol": "M-BTC", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "sui:35834a8a/coin:0xd1a91b46bd6d966b62686263609074ad16cfdffc63c31a4775870a2d54d20c6b::mbtc::MBTC" + }, + "eip155:1329/erc20:0x9faaea2cdd810b21594e54309dc847842ae301ce": { + "assetId": "eip155:1329/erc20:0x9faaea2cdd810b21594e54309dc847842ae301ce", + "chainId": "eip155:1329", + "name": "seiyanETH", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/51474/large/seiyanETH_%281%29.png?1731401763", + "symbol": "SETH", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0xa193d87b0d5e23ef45379f90066891cbd6013226": { + "assetId": "eip155:1329/erc20:0xa193d87b0d5e23ef45379f90066891cbd6013226", + "chainId": "eip155:1329", + "name": "Archer Hunter", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/70339/large/Token_FrontClean_%282%29.png?1761638821", + "symbol": "FASTER", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0xa8a3a5013104e093245164ea56588dbe10a3eb48": { + "assetId": "eip155:1329/erc20:0xa8a3a5013104e093245164ea56588dbe10a3eb48", + "chainId": "eip155:1329", + "name": "Super Seyian ETH", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/50331/large/2024-09-18_19.52.53.jpg?1727164288", + "symbol": "SSETH", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0xb75d0b03c06a926e488e2659df1a861f860bd3d1": { + "assetId": "eip155:1329/erc20:0xb75d0b03c06a926e488e2659df1a861f860bd3d1", + "chainId": "eip155:1329", + "name": "IBC Bridged USDT (Sei)", + "precision": 6, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/38607/large/usdt_%281%29.png?1718099237", + "symbol": "KAVAUSDT", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:1/erc20:0xdac17f958d2ee523a2206206994597c13d831ec7" + }, + "eip155:1329/erc20:0xbd82f3bfe1df0c84faec88a22ebc34c9a86595dc": { + "assetId": "eip155:1329/erc20:0xbd82f3bfe1df0c84faec88a22ebc34c9a86595dc", + "chainId": "eip155:1329", + "name": "Chips", + "precision": 6, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/52405/large/logo.png?1733303663", + "symbol": "CHIPS", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0xc18b6a15fb0ceaf5eb18696eefcb5bc7b9107149": { + "assetId": "eip155:1329/erc20:0xc18b6a15fb0ceaf5eb18696eefcb5bc7b9107149", + "chainId": "eip155:1329", + "name": "Popo The Cat", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/39686/large/8a872ee5-dfc6-4139-a157-9cdcbbeb2f59.jpeg?1723658023", + "symbol": "POPO", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0xc257361320f4514d91c05f461006ce6a0300e2d2": { + "assetId": "eip155:1329/erc20:0xc257361320f4514d91c05f461006ce6a0300e2d2", + "chainId": "eip155:1329", + "name": "Splashing Staked SEI", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/68734/large/logo_spSEI.png?1756409469", + "symbol": "SPSEI", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0xc53ac24320e3a54c7211e4993c8095078a0cb3cf": { + "assetId": "eip155:1329/erc20:0xc53ac24320e3a54c7211e4993c8095078a0cb3cf", + "chainId": "eip155:1329", + "name": "Wild Goat Coin", + "precision": 6, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/37966/large/wgcCoin-256px.png?1768798052", + "symbol": "WGC", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0xcc0966d8418d412c599a6421b760a847eb169a8c": { + "assetId": "eip155:1329/erc20:0xcc0966d8418d412c599a6421b760a847eb169a8c", + "chainId": "eip155:1329", + "name": "Solv Protocol Staked BTC", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/39384/large/xSolvBTC.png?1744170824", + "symbol": "XSOLVBTC", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:42161/erc20:0x346c574c56e1a4aaa8dc88cda8f7eb12b39947ab" + }, + "eip155:1329/erc20:0xcc1b8207853662c5cfabfb028806ec06ea1f6ac6": { + "assetId": "eip155:1329/erc20:0xcc1b8207853662c5cfabfb028806ec06ea1f6ac6", + "chainId": "eip155:1329", + "name": "Kindred Labs", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/102171798/large/kindred-labs.jpg?1769759004", + "symbol": "KIN", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:1329/erc20:0xcc1b8207853662c5cfabfb028806ec06ea1f6ac6" + }, + "eip155:1329/erc20:0xdd7d5e4ea2125d43c16eed8f1ffefffa2f4b4af6": { + "assetId": "eip155:1329/erc20:0xdd7d5e4ea2125d43c16eed8f1ffefffa2f4b4af6", + "chainId": "eip155:1329", + "name": "Jellyverse", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/31805/large/short.png?1719199901", + "symbol": "JLY", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0xe15fc38f6d8c56af07bbcbe3baf5708a2bf42392": { + "assetId": "eip155:1329/erc20:0xe15fc38f6d8c56af07bbcbe3baf5708a2bf42392", + "chainId": "eip155:1329", + "name": "USDC", + "precision": 6, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/6319/large/USDC.png?1769615602", + "symbol": "USDC", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" + }, + "eip155:1329/erc20:0xe30fedd158a2e3b13e9badaeabafc5516e95e8c7": { + "assetId": "eip155:1329/erc20:0xe30fedd158a2e3b13e9badaeabafc5516e95e8c7", + "chainId": "eip155:1329", + "name": "Wrapped SEI", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/38470/large/sei.png?1717644025", + "symbol": "WSEI", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0xedf7732991b3de8f46fb97dcd4c5cdb28e6ad859": { + "assetId": "eip155:1329/erc20:0xedf7732991b3de8f46fb97dcd4c5cdb28e6ad859", + "chainId": "eip155:1329", + "name": "Tea-REX", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/70782/large/tREX.png?1763709291", + "symbol": "TREX", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0xf9bdbf259ece5ae17e29bf92eb7abd7b8b465db9": { + "assetId": "eip155:1329/erc20:0xf9bdbf259ece5ae17e29bf92eb7abd7b8b465db9", + "chainId": "eip155:1329", + "name": "Froggy", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/67889/large/Logo200x200.png?1754194519", + "symbol": "FROG", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:1329/erc20:0xff7f8f301f7a706e3cfd3d2275f5dc0b9ee8009b": { + "assetId": "eip155:1329/erc20:0xff7f8f301f7a706e3cfd3d2275f5dc0b9ee8009b", + "chainId": "eip155:1329", + "name": "FOLKS", + "precision": 6, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/70268/large/1000331462.png?1761335326", + "symbol": "FOLKS", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": "eip155:42161/erc20:0xff7f8f301f7a706e3cfd3d2275f5dc0b9ee8009b" + }, + "eip155:1329/slip44:60": { + "assetId": "eip155:1329/slip44:60", + "chainId": "eip155:1329", + "name": "SEI", + "networkName": "Sei", + "symbol": "SEI", + "precision": 18, + "color": "#9B1B30", + "networkColor": "#9B1B30", + "icon": "https://assets.coingecko.com/coins/images/28205/large/Sei_Logo_-_Transparent.png", + "networkIcon": "https://assets.coingecko.com/coins/images/28205/small/Sei_Logo_-_Transparent.png", + "explorer": "https://seitrace.com", + "explorerAddressLink": "https://seitrace.com/address/", + "explorerTxLink": "https://seitrace.com/tx/", + "relatedAssetKey": null + }, + "eip155:5064014/slip44:60": { + "assetId": "eip155:5064014/slip44:60", + "chainId": "eip155:5064014", + "name": "USDe", + "networkName": "Ethereal", + "symbol": "USDe", + "precision": 18, + "color": "#6E56CF", + "networkColor": "#6E56CF", + "icon": "https://assets.coingecko.com/coins/images/33613/large/USDE.png", + "networkIcon": "https://assets.coingecko.com/coins/images/33613/large/USDE.png", + "explorer": "https://explorer.ethereal.global", + "explorerAddressLink": "https://explorer.ethereal.global/address/", + "explorerTxLink": "https://explorer.ethereal.global/tx/", + "relatedAssetKey": null + }, + "eip155:98866/erc20:0x00000000efe302beaa2b3e6e1b18d08d69a9012a": { + "assetId": "eip155:98866/erc20:0x00000000efe302beaa2b3e6e1b18d08d69a9012a", + "chainId": "eip155:98866", + "name": "AUSD", + "precision": 6, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/39284/large/AUSD_1024px.png?1764684132", + "symbol": "AUSD", + "explorer": "https://explorer.plume.org", + "explorerAddressLink": "https://explorer.plume.org/address/", + "explorerTxLink": "https://explorer.plume.org/tx/", + "relatedAssetKey": "eip155:42161/erc20:0x00000000efe302beaa2b3e6e1b18d08d69a9012a" + }, + "eip155:98866/erc20:0x02cdb5ccc97d5dc7ed2747831b516669eb635706": { + "assetId": "eip155:98866/erc20:0x02cdb5ccc97d5dc7ed2747831b516669eb635706", + "chainId": "eip155:98866", + "name": "Nest BTC Vault", + "precision": 8, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/55575/large/nBTC-token.png?1746774818", + "symbol": "NBTC", + "explorer": "https://explorer.plume.org", + "explorerAddressLink": "https://explorer.plume.org/address/", + "explorerTxLink": "https://explorer.plume.org/tx/", + "relatedAssetKey": null + }, + "eip155:98866/erc20:0x09d4214c03d01f49544c0448dbe3a27f768f2b34": { + "assetId": "eip155:98866/erc20:0x09d4214c03d01f49544c0448dbe3a27f768f2b34", + "chainId": "eip155:98866", + "name": "Reservoir rUSD", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/54117/large/rusd_bera2.png?1738311629", + "symbol": "RUSD", + "explorer": "https://explorer.plume.org", + "explorerAddressLink": "https://explorer.plume.org/address/", + "explorerTxLink": "https://explorer.plume.org/tx/", + "relatedAssetKey": "eip155:1/erc20:0x09d4214c03d01f49544c0448dbe3a27f768f2b34" + }, + "eip155:98866/erc20:0x0bbcc2c1991d0af8ec6a5ed922e6f5606923fe15": { + "assetId": "eip155:98866/erc20:0x0bbcc2c1991d0af8ec6a5ed922e6f5606923fe15", + "chainId": "eip155:98866", + "name": "Wrapped Savings rUSD", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/66163/large/wsrUSD.png?1748500965", + "symbol": "WSRUSD", + "explorer": "https://explorer.plume.org", + "explorerAddressLink": "https://explorer.plume.org/address/", + "explorerTxLink": "https://explorer.plume.org/tx/", + "relatedAssetKey": "eip155:42161/erc20:0x4809010926aec940b550d34a46a52739f996d75d" + }, + "eip155:98866/erc20:0x0c78ca789e826fe339de61934896f5d170b66d78": { + "assetId": "eip155:98866/erc20:0x0c78ca789e826fe339de61934896f5d170b66d78", + "chainId": "eip155:98866", + "name": "Midas mBASIS", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/50593/large/mBASIS_logo.png?1728444389", + "symbol": "MBASIS", + "explorer": "https://explorer.plume.org", + "explorerAddressLink": "https://explorer.plume.org/address/", + "explorerTxLink": "https://explorer.plume.org/tx/", + "relatedAssetKey": "eip155:8453/erc20:0x1c2757c1fef1038428b5bef062495ce94bbe92b2" + }, + "eip155:98866/erc20:0x111111d2bf19e43c34263401e0cad979ed1cdb61": { + "assetId": "eip155:98866/erc20:0x111111d2bf19e43c34263401e0cad979ed1cdb61", + "chainId": "eip155:98866", + "name": "USD1", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/54977/large/USD1_1000x1000_transparent.png?1749297002", + "symbol": "USD1", + "explorer": "https://explorer.plume.org", + "explorerAddressLink": "https://explorer.plume.org/address/", + "explorerTxLink": "https://explorer.plume.org/tx/", + "relatedAssetKey": "eip155:56/erc20:0x8d0d000ee44948fc98c9b98a4fa4921476f08b0d" + }, + "eip155:98866/erc20:0x11113ff3a60c2450f4b22515cb760417259ee94b": { + "assetId": "eip155:98866/erc20:0x11113ff3a60c2450f4b22515cb760417259ee94b", + "chainId": "eip155:98866", + "name": "Nest Basis Vault", + "precision": 6, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/55514/large/nBASIS-token.png?1746438043", + "symbol": "NBASIS", + "explorer": "https://explorer.plume.org", + "explorerAddressLink": "https://explorer.plume.org/address/", + "explorerTxLink": "https://explorer.plume.org/tx/", + "relatedAssetKey": "eip155:1/erc20:0x11113ff3a60c2450f4b22515cb760417259ee94b" + }, + "eip155:98866/erc20:0x119dd7daff816f29d7ee47596ae5e4bdc4299165": { + "assetId": "eip155:98866/erc20:0x119dd7daff816f29d7ee47596ae5e4bdc4299165", + "chainId": "eip155:98866", + "name": "Nest BlackOpal LiquidStone II Vault", + "precision": 6, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/70787/large/BlackOpal_Vault.png?1763752532", + "symbol": "NOPAL", + "explorer": "https://explorer.plume.org", + "explorerAddressLink": "https://explorer.plume.org/address/", + "explorerTxLink": "https://explorer.plume.org/tx/", + "relatedAssetKey": null + }, + "eip155:98866/erc20:0x1271656f45e251f588847721ba2c561dd1f0223f": { + "assetId": "eip155:98866/erc20:0x1271656f45e251f588847721ba2c561dd1f0223f", + "chainId": "eip155:98866", + "name": "Elixir deUSD", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/39494/large/deUSD_Logo_%281%29.png?1723689002", + "symbol": "DEUSD", + "explorer": "https://explorer.plume.org", + "explorerAddressLink": "https://explorer.plume.org/address/", + "explorerTxLink": "https://explorer.plume.org/tx/", + "relatedAssetKey": "eip155:43114/erc20:0xb57b25851fe2311cc3fe511c8f10e868932e0680" + }, + "eip155:98866/erc20:0x139450c2dcef827c9a2a0bb1cb5506260940c9fd": { + "assetId": "eip155:98866/erc20:0x139450c2dcef827c9a2a0bb1cb5506260940c9fd", + "chainId": "eip155:98866", + "name": "SuperReturn sSuperUSD", + "precision": 6, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/67821/large/sSuperUSD_200x200.png?1753943152", + "symbol": "SSUPERUSD", + "explorer": "https://explorer.plume.org", + "explorerAddressLink": "https://explorer.plume.org/address/", + "explorerTxLink": "https://explorer.plume.org/tx/", + "relatedAssetKey": "eip155:42161/erc20:0x139450c2dcef827c9a2a0bb1cb5506260940c9fd" + }, + "eip155:98866/erc20:0x15c09c0ffb3717325e60a564d1acfbfe999c2f88": { + "assetId": "eip155:98866/erc20:0x15c09c0ffb3717325e60a564d1acfbfe999c2f88", + "chainId": "eip155:98866", + "name": "Dinari SRLN", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/66390/large/d-token-200.png?1749284651", + "symbol": "SRLN.D", + "explorer": "https://explorer.plume.org", + "explorerAddressLink": "https://explorer.plume.org/address/", + "explorerTxLink": "https://explorer.plume.org/tx/", + "relatedAssetKey": null + }, + "eip155:98866/erc20:0x222365ef19f7947e5484218551b56bb3965aa7af": { + "assetId": "eip155:98866/erc20:0x222365ef19f7947e5484218551b56bb3965aa7af", + "chainId": "eip155:98866", + "name": "USDC", + "precision": 6, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/6319/large/USDC.png?1769615602", "symbol": "USDC", "explorer": "https://explorer.plume.org", "explorerAddressLink": "https://explorer.plume.org/address/", @@ -437433,917 +438154,706 @@ "precision": 18, "color": "#6C5DD3", "networkColor": "#6C5DD3", - "icon": "https://assets.coingecko.com/coins/images/49459/large/plume.jpg", - "networkIcon": "https://assets.coingecko.com/coins/images/49459/small/plume.jpg", + "icon": "https://assets.coingecko.com/coins/images/53623/standard/plume-token.png?1736896935", + "networkIcon": "https://assets.coingecko.com/coins/images/53623/standard/plume-token.png?1736896935", "explorer": "https://explorer.plume.org", "explorerAddressLink": "https://explorer.plume.org/address/", "explorerTxLink": "https://explorer.plume.org/tx/", "relatedAssetKey": null }, - "eip155:747/erc20:0x00f4ce400130c9383115f3858f9ca54677426583": { - "assetId": "eip155:747/erc20:0x00f4ce400130c9383115f3858f9ca54677426583", - "chainId": "eip155:747", - "name": "FVIX", - "precision": 18, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/67423/large/fvix.png?1752738292", - "symbol": "FVIX", - "explorer": "https://evm.flowscan.io", - "explorerAddressLink": "https://evm.flowscan.io/address/", - "explorerTxLink": "https://evm.flowscan.io/tx/", - "relatedAssetKey": "eip155:747/erc20:0x00f4ce400130c9383115f3858f9ca54677426583" - }, - "eip155:747/erc20:0x10448481630fb6d20b597e5b3d7e42dcb1247c8a": { - "assetId": "eip155:747/erc20:0x10448481630fb6d20b597e5b3d7e42dcb1247c8a", - "chainId": "eip155:747", - "name": "Pawderick", - "precision": 18, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/55705/large/COINS_1x1_Pawderick.png?1747126154", - "symbol": "PAWDERICK", - "explorer": "https://evm.flowscan.io", - "explorerAddressLink": "https://evm.flowscan.io/address/", - "explorerTxLink": "https://evm.flowscan.io/tx/", - "relatedAssetKey": null - }, - "eip155:747/erc20:0x1b97100ea1d7126c4d60027e231ea4cb25314bdb": { - "assetId": "eip155:747/erc20:0x1b97100ea1d7126c4d60027e231ea4cb25314bdb", - "chainId": "eip155:747", - "name": "Ankr Staked FLOW", - "precision": 18, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/50281/large/ankrFLOW_%281%29.png?1726807706", - "symbol": "ANKRFLOW", - "explorer": "https://evm.flowscan.io", - "explorerAddressLink": "https://evm.flowscan.io/address/", - "explorerTxLink": "https://evm.flowscan.io/tx/", - "relatedAssetKey": null - }, - "eip155:747/erc20:0x2aabea2058b5ac2d339b163c6ab6f2b6d53aabed": { - "assetId": "eip155:747/erc20:0x2aabea2058b5ac2d339b163c6ab6f2b6d53aabed", - "chainId": "eip155:747", - "name": "Flow Bridged PYUSD (Flow)", - "precision": 6, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/54418/large/USDF_Logo_200x200.png?1739556351", - "symbol": "USDF", - "explorer": "https://evm.flowscan.io", - "explorerAddressLink": "https://evm.flowscan.io/address/", - "explorerTxLink": "https://evm.flowscan.io/tx/", - "relatedAssetKey": null - }, - "eip155:747/erc20:0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590": { - "assetId": "eip155:747/erc20:0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590", - "chainId": "eip155:747", - "name": "Stargate Bridged WETH", - "precision": 18, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/69466/large/weth_2.jpg?1758701596", - "symbol": "WETH", - "explorer": "https://evm.flowscan.io", - "explorerAddressLink": "https://evm.flowscan.io/address/", - "explorerTxLink": "https://evm.flowscan.io/tx/", - "relatedAssetKey": "eip155:1/erc20:0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" - }, - "eip155:747/erc20:0x6a64e027e3f6a94acbdcf39cf0cbb4bead5f5ecb": { - "assetId": "eip155:747/erc20:0x6a64e027e3f6a94acbdcf39cf0cbb4bead5f5ecb", - "chainId": "eip155:747", - "name": "HotCocoa", - "precision": 18, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/55707/large/COINS_1x1_HotCocoa.png?1747126347", - "symbol": "HOTCOCOA", - "explorer": "https://evm.flowscan.io", - "explorerAddressLink": "https://evm.flowscan.io/address/", - "explorerTxLink": "https://evm.flowscan.io/tx/", - "relatedAssetKey": null - }, - "eip155:747/erc20:0x7296ebca325e835eb6c1b690484cf6fb4c396d2c": { - "assetId": "eip155:747/erc20:0x7296ebca325e835eb6c1b690484cf6fb4c396d2c", - "chainId": "eip155:747", - "name": "Bartholowmeow", - "precision": 18, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/55701/large/COINS_1x1_Bart.png?1747125830", - "symbol": "BARTHOLOMEOW", - "explorer": "https://evm.flowscan.io", - "explorerAddressLink": "https://evm.flowscan.io/address/", - "explorerTxLink": "https://evm.flowscan.io/tx/", - "relatedAssetKey": null - }, - "eip155:747/erc20:0x7f27352d5f83db87a5a3e00f4b07cc2138d8ee52": { - "assetId": "eip155:747/erc20:0x7f27352d5f83db87a5a3e00f4b07cc2138d8ee52", - "chainId": "eip155:747", - "name": "Celer Bridged USDC (Flow EVM)", - "precision": 6, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/50488/large/usdc.png?1727927821", - "symbol": "USDC.E", - "explorer": "https://evm.flowscan.io", - "explorerAddressLink": "https://evm.flowscan.io/address/", - "explorerTxLink": "https://evm.flowscan.io/tx/", - "relatedAssetKey": "eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" - }, - "eip155:747/erc20:0x8bd75008361517df04aa3ea033f03ba33c0c0a66": { - "assetId": "eip155:747/erc20:0x8bd75008361517df04aa3ea033f03ba33c0c0a66", - "chainId": "eip155:747", - "name": "GangGang", - "precision": 18, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/55792/large/COINS_1x1_06.png?1747366747", - "symbol": "GANGGANG", - "explorer": "https://evm.flowscan.io", - "explorerAddressLink": "https://evm.flowscan.io/address/", - "explorerTxLink": "https://evm.flowscan.io/tx/", - "relatedAssetKey": null - }, - "eip155:747/erc20:0x9b565507858812e8b5ffbfbde9b200a3bc2e8f76": { - "assetId": "eip155:747/erc20:0x9b565507858812e8b5ffbfbde9b200a3bc2e8f76", - "chainId": "eip155:747", - "name": "Catseye", - "precision": 18, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/55706/large/COINS_1x1_Catseye.png?1747126273", - "symbol": "CATSEYE", - "explorer": "https://evm.flowscan.io", - "explorerAddressLink": "https://evm.flowscan.io/address/", - "explorerTxLink": "https://evm.flowscan.io/tx/", - "relatedAssetKey": null - }, - "eip155:747/erc20:0xb73bf8e6a4477a952e0338e6cc00cc0ce5ad04ba": { - "assetId": "eip155:747/erc20:0xb73bf8e6a4477a952e0338e6cc00cc0ce5ad04ba", - "chainId": "eip155:747", - "name": "Froth", - "precision": 18, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/52318/large/froth.png?1733077044", - "symbol": "FROTH", - "explorer": "https://evm.flowscan.io", - "explorerAddressLink": "https://evm.flowscan.io/address/", - "explorerTxLink": "https://evm.flowscan.io/tx/", - "relatedAssetKey": null - }, - "eip155:747/erc20:0xc618a7356fcf601f694c51578cd94144deaee690": { - "assetId": "eip155:747/erc20:0xc618a7356fcf601f694c51578cd94144deaee690", - "chainId": "eip155:747", - "name": "TSHOT Token", - "precision": 18, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/70483/large/TSHOT.png?1762182687", - "symbol": "TSHOT", - "explorer": "https://evm.flowscan.io", - "explorerAddressLink": "https://evm.flowscan.io/address/", - "explorerTxLink": "https://evm.flowscan.io/tx/", - "relatedAssetKey": null - }, - "eip155:747/erc20:0xd3bf53dac106a0290b0483ecbc89d40fcc961f3e": { - "assetId": "eip155:747/erc20:0xd3bf53dac106a0290b0483ecbc89d40fcc961f3e", - "chainId": "eip155:747", - "name": "Wrapped Flow", - "precision": 18, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/24045/large/wrapped-flow.png?1696523236", - "symbol": "WFLOW", - "explorer": "https://evm.flowscan.io", - "explorerAddressLink": "https://evm.flowscan.io/address/", - "explorerTxLink": "https://evm.flowscan.io/tx/", - "relatedAssetKey": null - }, - "eip155:747/erc20:0xd8ad8ae8375aa31bff541e17dc4b4917014ebdaa": { - "assetId": "eip155:747/erc20:0xd8ad8ae8375aa31bff541e17dc4b4917014ebdaa", - "chainId": "eip155:747", - "name": "BETA", - "precision": 18, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/52483/large/Beta-1024.png?1733426828", - "symbol": "BETA", - "explorer": "https://evm.flowscan.io", - "explorerAddressLink": "https://evm.flowscan.io/address/", - "explorerTxLink": "https://evm.flowscan.io/tx/", - "relatedAssetKey": null - }, - "eip155:747/erc20:0xe8b7423b80f9af33480d365171c7ceda3586aa35": { - "assetId": "eip155:747/erc20:0xe8b7423b80f9af33480d365171c7ceda3586aa35", - "chainId": "eip155:747", - "name": "Purrzival", + "eip155:1514/erc20:0x1514000000000000000000000000000000000000": { + "assetId": "eip155:1514/erc20:0x1514000000000000000000000000000000000000", + "chainId": "eip155:1514", + "name": "Wrapped IP", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/55702/large/COINS_1x1_Purrzival.png?1747125981", - "symbol": "PURRZIVAL", - "explorer": "https://evm.flowscan.io", - "explorerAddressLink": "https://evm.flowscan.io/address/", - "explorerTxLink": "https://evm.flowscan.io/tx/", + "icon": "https://assets.coingecko.com/coins/images/54378/large/image.png?1739437755", + "symbol": "WIP", + "explorer": "https://storyscan.xyz", + "explorerAddressLink": "https://storyscan.xyz/address/", + "explorerTxLink": "https://storyscan.xyz/tx/", "relatedAssetKey": null }, - "eip155:747/erc20:0xf1815bd50389c46847f0bda824ec8da914045d14": { - "assetId": "eip155:747/erc20:0xf1815bd50389c46847f0bda824ec8da914045d14", - "chainId": "eip155:747", - "name": "Stargate Bridged USDC", - "precision": 6, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/69316/large/usdc.jpg?1758186473", - "symbol": "USDC.E", - "explorer": "https://evm.flowscan.io", - "explorerAddressLink": "https://evm.flowscan.io/address/", - "explorerTxLink": "https://evm.flowscan.io/tx/", - "relatedAssetKey": "eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" - }, - "eip155:747/erc20:0xf45cbe30bd953590c9917799142edb05be3f293f": { - "assetId": "eip155:747/erc20:0xf45cbe30bd953590c9917799142edb05be3f293f", - "chainId": "eip155:747", - "name": "Gwendolion", + "eip155:1514/erc20:0x25f9c9715d1d700a50b2a9a06d80fe9f98ccb549": { + "assetId": "eip155:1514/erc20:0x25f9c9715d1d700a50b2a9a06d80fe9f98ccb549", + "chainId": "eip155:1514", + "name": "BENJAMIN", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/55704/large/COINS_1x1_Gwen.png?1747126117", - "symbol": "GWENDOLION", - "explorer": "https://evm.flowscan.io", - "explorerAddressLink": "https://evm.flowscan.io/address/", - "explorerTxLink": "https://evm.flowscan.io/tx/", - "relatedAssetKey": null - }, - "eip155:747/slip44:60": { - "assetId": "eip155:747/slip44:60", - "chainId": "eip155:747", - "name": "Flow", - "networkName": "Flow EVM", - "symbol": "FLOW", + "icon": "https://assets.coingecko.com/coins/images/54990/large/benjaminn.png?1743059951", + "symbol": "BENJI", + "explorer": "https://storyscan.xyz", + "explorerAddressLink": "https://storyscan.xyz/address/", + "explorerTxLink": "https://storyscan.xyz/tx/", + "relatedAssetKey": null + }, + "eip155:1514/erc20:0x543374350269cce6651358769512875faa4cccff": { + "assetId": "eip155:1514/erc20:0x543374350269cce6651358769512875faa4cccff", + "chainId": "eip155:1514", + "name": "IPPY", "precision": 18, - "color": "#00EF8B", - "networkColor": "#00EF8B", - "icon": "https://assets.coingecko.com/coins/images/13446/large/5f6294c0c7a8cda55cb1c936_Flow_Wordmark.png", - "networkIcon": "https://assets.coingecko.com/coins/images/13446/small/5f6294c0c7a8cda55cb1c936_Flow_Wordmark.png", - "explorer": "https://evm.flowscan.io", - "explorerAddressLink": "https://evm.flowscan.io/address/", - "explorerTxLink": "https://evm.flowscan.io/tx/", + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/68997/large/0x543374350269cce6651358769512875faa4cccff.png?1757225559", + "symbol": "IPPY", + "explorer": "https://storyscan.xyz", + "explorerAddressLink": "https://storyscan.xyz/address/", + "explorerTxLink": "https://storyscan.xyz/tx/", "relatedAssetKey": null }, - "eip155:42220/slip44:60": { - "assetId": "eip155:42220/slip44:60", - "chainId": "eip155:42220", - "name": "Celo", - "networkName": "Celo", - "symbol": "CELO", + "eip155:1514/erc20:0x5a212776066b81e449fe74396cce368dc4b14043": { + "assetId": "eip155:1514/erc20:0x5a212776066b81e449fe74396cce368dc4b14043", + "chainId": "eip155:1514", + "name": "WhatTheFreg", "precision": 18, - "color": "#35D07F", - "networkColor": "#35D07F", - "icon": "https://assets.coingecko.com/coins/images/11090/large/celo.png", - "networkIcon": "https://assets.coingecko.com/coins/images/11090/small/celo.png", - "explorer": "https://celoscan.io", - "explorerAddressLink": "https://celoscan.io/address/", - "explorerTxLink": "https://celoscan.io/tx/", + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/66146/large/sidebar_head.png?1748465639", + "symbol": "WTF", + "explorer": "https://storyscan.xyz", + "explorerAddressLink": "https://storyscan.xyz/address/", + "explorerTxLink": "https://storyscan.xyz/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0x0555e30da8f98308edb960aa94c0db47230d2b9c": { - "assetId": "eip155:1329/erc20:0x0555e30da8f98308edb960aa94c0db47230d2b9c", - "chainId": "eip155:1329", - "name": "Wrapped Bitcoin", - "precision": 8, + "eip155:1514/erc20:0x693c7acf65e52c71bafe555bc22d69cb7f8a78a2": { + "assetId": "eip155:1514/erc20:0x693c7acf65e52c71bafe555bc22d69cb7f8a78a2", + "chainId": "eip155:1514", + "name": "Evil Larry", + "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/7598/large/WBTCLOGO.png?1764496367", - "symbol": "WBTC", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:1/erc20:0x2260fac5e5542a773aa44fbcfedf7c193bc2c599" + "icon": "https://assets.coingecko.com/coins/images/68054/large/1000440957.jpg?1754637180", + "symbol": "LARRY", + "explorer": "https://storyscan.xyz", + "explorerAddressLink": "https://storyscan.xyz/address/", + "explorerTxLink": "https://storyscan.xyz/tx/", + "relatedAssetKey": null }, - "eip155:1329/erc20:0x059a6b0ba116c63191182a0956cf697d0d2213ec": { - "assetId": "eip155:1329/erc20:0x059a6b0ba116c63191182a0956cf697d0d2213ec", - "chainId": "eip155:1329", - "name": "Synnax Stablecoin", + "eip155:1514/erc20:0xa074aca68eeb6c831a78c84606f3cb44f9e547f5": { + "assetId": "eip155:1514/erc20:0xa074aca68eeb6c831a78c84606f3cb44f9e547f5", + "chainId": "eip155:1514", + "name": "Louie", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/50179/large/7.png?1726164913", - "symbol": "SYUSD", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/68839/large/2025-08-31_10.56.07.jpg?1756755652", + "symbol": "LOUIE", + "explorer": "https://storyscan.xyz", + "explorerAddressLink": "https://storyscan.xyz/address/", + "explorerTxLink": "https://storyscan.xyz/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0x09d4214c03d01f49544c0448dbe3a27f768f2b34": { - "assetId": "eip155:1329/erc20:0x09d4214c03d01f49544c0448dbe3a27f768f2b34", - "chainId": "eip155:1329", - "name": "Reservoir rUSD", + "eip155:1514/erc20:0xa4f5c615f72ddeb2220471694fff1c0c3de051e1": { + "assetId": "eip155:1514/erc20:0xa4f5c615f72ddeb2220471694fff1c0c3de051e1", + "chainId": "eip155:1514", + "name": "LYRA", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/54117/large/rusd_bera2.png?1738311629", - "symbol": "RUSD", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:1/erc20:0x09d4214c03d01f49544c0448dbe3a27f768f2b34" + "icon": "https://assets.coingecko.com/coins/images/53984/large/WhatsApp_Image_2025-01-22_at_23.29.41.jpeg?1737876448", + "symbol": "LYRA", + "explorer": "https://storyscan.xyz", + "explorerAddressLink": "https://storyscan.xyz/address/", + "explorerTxLink": "https://storyscan.xyz/tx/", + "relatedAssetKey": null }, - "eip155:1329/erc20:0x0a526e425809aea71eb279d24ae22dee6c92a4fe": { - "assetId": "eip155:1329/erc20:0x0a526e425809aea71eb279d24ae22dee6c92a4fe", - "chainId": "eip155:1329", - "name": "DragonSwap", + "eip155:1514/erc20:0xb5461c1fd0312cd4bf037058f8a391e6a42f9639": { + "assetId": "eip155:1514/erc20:0xb5461c1fd0312cd4bf037058f8a391e6a42f9639", + "chainId": "eip155:1514", + "name": "Staked Aria Premier Launch", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/67207/large/_DRG_token_.png?1752088626", - "symbol": "DRG", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/67815/large/APL_logo.jpg?1753940903", + "symbol": "STAPL", + "explorer": "https://storyscan.xyz", + "explorerAddressLink": "https://storyscan.xyz/address/", + "explorerTxLink": "https://storyscan.xyz/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0x160345fc359604fc6e70e3c5facbde5f7a9342d8": { - "assetId": "eip155:1329/erc20:0x160345fc359604fc6e70e3c5facbde5f7a9342d8", - "chainId": "eip155:1329", + "eip155:1514/erc20:0xbab93b7ad7fe8692a878b95a8e689423437cc500": { + "assetId": "eip155:1514/erc20:0xbab93b7ad7fe8692a878b95a8e689423437cc500", + "chainId": "eip155:1514", "name": "Stargate Bridged WETH", "precision": 18, "color": "#FFFFFF", "icon": "https://assets.coingecko.com/coins/images/69466/large/weth_2.jpg?1758701596", "symbol": "WETH", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "explorer": "https://storyscan.xyz", + "explorerAddressLink": "https://storyscan.xyz/address/", + "explorerTxLink": "https://storyscan.xyz/tx/", "relatedAssetKey": "eip155:1/erc20:0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" }, - "eip155:1329/erc20:0x3894085ef7ff0f0aedf52e2a2704928d1ec074f1": { - "assetId": "eip155:1329/erc20:0x3894085ef7ff0f0aedf52e2a2704928d1ec074f1", - "chainId": "eip155:1329", - "name": "Noble USDC", - "precision": 6, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/38604/large/usdc.png?1718098770", - "symbol": "USDC.N", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" - }, - "eip155:1329/erc20:0x443ac9f358226f5f48f2cd10bc0121e7a6176323": { - "assetId": "eip155:1329/erc20:0x443ac9f358226f5f48f2cd10bc0121e7a6176323", - "chainId": "eip155:1329", - "name": "BitBat Token", + "eip155:1514/erc20:0xc9cbbd8f211300dd0e7a3933b7aeedac6f61dd52": { + "assetId": "eip155:1514/erc20:0xc9cbbd8f211300dd0e7a3933b7aeedac6f61dd52", + "chainId": "eip155:1514", + "name": "Aria", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/69010/large/logo.png?1757254589", - "symbol": "BAT", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/70388/large/logo-abberation-token-white.png?1762454816", + "symbol": "ARIAIP", + "explorer": "https://storyscan.xyz", + "explorerAddressLink": "https://storyscan.xyz/address/", + "explorerTxLink": "https://storyscan.xyz/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0x4809010926aec940b550d34a46a52739f996d75d": { - "assetId": "eip155:1329/erc20:0x4809010926aec940b550d34a46a52739f996d75d", - "chainId": "eip155:1329", - "name": "Wrapped Savings rUSD", - "precision": 18, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/66163/large/wsrUSD.png?1748500965", - "symbol": "WSRUSD", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:42161/erc20:0x4809010926aec940b550d34a46a52739f996d75d" - }, - "eip155:1329/erc20:0x481fe356df88169f5f38203dd7f3c67b7559fda5": { - "assetId": "eip155:1329/erc20:0x481fe356df88169f5f38203dd7f3c67b7559fda5", - "chainId": "eip155:1329", - "name": "Raiinmaker", + "eip155:1514/erc20:0xd07faed671decf3c5a6cc038dad97c8efdb507c0": { + "assetId": "eip155:1514/erc20:0xd07faed671decf3c5a6cc038dad97c8efdb507c0", + "chainId": "eip155:1514", + "name": "Staked IP", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/67517/large/200x200_Logo.png?1753820843", - "symbol": "RAIIN", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/69438/large/stip.png?1758595832", + "symbol": "STIP", + "explorer": "https://storyscan.xyz", + "explorerAddressLink": "https://storyscan.xyz/address/", + "explorerTxLink": "https://storyscan.xyz/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0x4a1ea452c598363188bccc83fb4f69dc14b54acd": { - "assetId": "eip155:1329/erc20:0x4a1ea452c598363188bccc83fb4f69dc14b54acd", - "chainId": "eip155:1329", - "name": "MetaArena", - "precision": 18, + "eip155:1514/erc20:0xf1815bd50389c46847f0bda824ec8da914045d14": { + "assetId": "eip155:1514/erc20:0xf1815bd50389c46847f0bda824ec8da914045d14", + "chainId": "eip155:1514", + "name": "Stargate Bridged USDC", + "precision": 6, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/70582/large/metareana.png?1762670673", - "symbol": "TIMI", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": null + "icon": "https://assets.coingecko.com/coins/images/69316/large/usdc.jpg?1758186473", + "symbol": "USDC.E", + "explorer": "https://storyscan.xyz", + "explorerAddressLink": "https://storyscan.xyz/address/", + "explorerTxLink": "https://storyscan.xyz/tx/", + "relatedAssetKey": "eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" }, - "eip155:1329/erc20:0x51121bcae92e302f19d06c193c95e1f7b81a444b": { - "assetId": "eip155:1329/erc20:0x51121bcae92e302f19d06c193c95e1f7b81a444b", - "chainId": "eip155:1329", - "name": "YAKA", + "eip155:1514/erc20:0xfe82012ecce57a188e5f9f3fc1cb2d335c58f1f5": { + "assetId": "eip155:1514/erc20:0xfe82012ecce57a188e5f9f3fc1cb2d335c58f1f5", + "chainId": "eip155:1514", + "name": "Aria Premier Launch", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/50889/large/IMG_6242.png?1741333572", - "symbol": "YAKA", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/66927/large/download.png?1751093687", + "symbol": "APL", + "explorer": "https://storyscan.xyz", + "explorerAddressLink": "https://storyscan.xyz/address/", + "explorerTxLink": "https://storyscan.xyz/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0x541fd749419ca806a8bc7da8ac23d346f2df8b77": { - "assetId": "eip155:1329/erc20:0x541fd749419ca806a8bc7da8ac23d346f2df8b77", - "chainId": "eip155:1329", - "name": "Solv Protocol BTC", + "eip155:1514/slip44:60": { + "assetId": "eip155:1514/slip44:60", + "chainId": "eip155:1514", + "name": "Story", + "networkName": "Story", + "symbol": "IP", "precision": 18, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/36800/large/solvBTC.png?1719810684", - "symbol": "SOLVBTC", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:42161/erc20:0x3647c54c4c2c65bc7a2d63c0da2809b399dbbdc0" + "color": "#EA580C", + "networkColor": "#EA580C", + "icon": "https://assets.coingecko.com/coins/images/54035/standard/Transparent_bg.png?1738075331", + "networkIcon": "https://assets.coingecko.com/coins/images/54035/standard/Transparent_bg.png?1738075331", + "explorer": "https://storyscan.xyz", + "explorerAddressLink": "https://storyscan.xyz/address/", + "explorerTxLink": "https://storyscan.xyz/tx/", + "relatedAssetKey": null }, - "eip155:1329/erc20:0x54cd901491aef397084453f4372b93c33260e2a6": { - "assetId": "eip155:1329/erc20:0x54cd901491aef397084453f4372b93c33260e2a6", - "chainId": "eip155:1329", - "name": "Ondo US Dollar Yield", + "eip155:42220/erc20:0x00be915b9dcf56a3cbe739d9b9c202ca692409ec": { + "assetId": "eip155:42220/erc20:0x00be915b9dcf56a3cbe739d9b9c202ca692409ec", + "chainId": "eip155:42220", + "name": "Ubeswap OLD ", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/31700/large/usdy_%281%29.png?1696530524", - "symbol": "USDY", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:42161/erc20:0x35e050d3c0ec2d29d269a8ecea763a183bdf9a9d" + "icon": "https://assets.coingecko.com/coins/images/15317/large/ubeswap.png?1696514966", + "symbol": "UBE", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": null }, - "eip155:1329/erc20:0x58e11d8ed38a2061361e90916540c5c32281a380": { - "assetId": "eip155:1329/erc20:0x58e11d8ed38a2061361e90916540c5c32281a380", - "chainId": "eip155:1329", - "name": "Grand Gangsta City", + "eip155:42220/erc20:0x105d4a9306d2e55a71d2eb95b81553ae1dc20d7b": { + "assetId": "eip155:42220/erc20:0x105d4a9306d2e55a71d2eb95b81553ae1dc20d7b", + "chainId": "eip155:42220", + "name": "PUSO", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/67656/large/200pixels.png?1753423916", - "symbol": "$GGC", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/50608/large/PUSO_transparent.png?1728473971", + "symbol": "PUSO", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0x5b8034f6346a81a1387ea21cdd36c48f6e05eb5f": { - "assetId": "eip155:1329/erc20:0x5b8034f6346a81a1387ea21cdd36c48f6e05eb5f", - "chainId": "eip155:1329", - "name": "Vertex", + "eip155:42220/erc20:0x17700282592d6917f6a73d0bf8accf4d578c131e": { + "assetId": "eip155:42220/erc20:0x17700282592d6917f6a73d0bf8accf4d578c131e", + "chainId": "eip155:42220", + "name": "Moola Market", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/27927/large/vrtx.png?1696526947", - "symbol": "VRTX", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:42161/erc20:0x95146881b86b3ee99e63705ec87afe29fcc044d9" + "icon": "https://assets.coingecko.com/coins/images/17719/large/MOO_Logo_blue.png?1696517246", + "symbol": "MOO", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": null }, - "eip155:1329/erc20:0x5bff88ca1442c2496f7e475e9e7786383bc070c0": { - "assetId": "eip155:1329/erc20:0x5bff88ca1442c2496f7e475e9e7786383bc070c0", - "chainId": "eip155:1329", - "name": "Frax Staked frxUSD", + "eip155:42220/erc20:0x1d18d0386f51ab03e7e84e71bda1681eba865f1f": { + "assetId": "eip155:42220/erc20:0x1d18d0386f51ab03e7e84e71bda1681eba865f1f", + "chainId": "eip155:42220", + "name": "JumpToken", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/53964/large/sfrxUSD.png?1737792232", - "symbol": "SFRXUSD", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:1/erc20:0xcf62f905562626cfcdd2261162a51fd02fc9c5b6" + "icon": "https://assets.coingecko.com/coins/images/22603/large/200x200.png?1696521919", + "symbol": "JMPT", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": "eip155:56/erc20:0x88d7e9b65dc24cf54f5edef929225fc3e1580c25" }, - "eip155:1329/erc20:0x5cf6826140c1c56ff49c808a1a75407cd1df9423": { - "assetId": "eip155:1329/erc20:0x5cf6826140c1c56ff49c808a1a75407cd1df9423", - "chainId": "eip155:1329", - "name": "Silo Staked SEI", - "precision": 6, + "eip155:42220/erc20:0x27cd006548df7c8c8e9fdc4a67fa05c2e3ca5cf9": { + "assetId": "eip155:42220/erc20:0x27cd006548df7c8c8e9fdc4a67fa05c2e3ca5cf9", + "chainId": "eip155:42220", + "name": "Plastiks", + "precision": 9, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/38591/large/iSEI_logo_200_200.png?1718091709", - "symbol": "ISEI", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/21212/large/plastik.png?1696520587", + "symbol": "PLASTIK", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0x5f0e07dfee5832faa00c63f2d33a0d79150e8598": { - "assetId": "eip155:1329/erc20:0x5f0e07dfee5832faa00c63f2d33a0d79150e8598", - "chainId": "eip155:1329", - "name": "SEIYAN", - "precision": 6, + "eip155:42220/erc20:0x2b9018ceb303d540bbf08de8e7de64fddd63396c": { + "assetId": "eip155:42220/erc20:0x2b9018ceb303d540bbf08de8e7de64fddd63396c", + "chainId": "eip155:42220", + "name": "PACT", + "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/33830/large/seiyanlogo.png?1703069383", - "symbol": "SEIYAN", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/38805/large/pact.jpg?1735619390", + "symbol": "PACT", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0x60c230c38af6d86b0277a98a1caeaa345a7b061f": { - "assetId": "eip155:1329/erc20:0x60c230c38af6d86b0277a98a1caeaa345a7b061f", - "chainId": "eip155:1329", - "name": "Fiamma BTC", - "precision": 8, - "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/68062/large/fiabtc_200-200.png?1754642511", - "symbol": "FIABTC", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:1/erc20:0x2260fac5e5542a773aa44fbcfedf7c193bc2c599" - }, - "eip155:1329/erc20:0x64445f0aecc51e94ad52d8ac56b7190e764e561a": { - "assetId": "eip155:1329/erc20:0x64445f0aecc51e94ad52d8ac56b7190e764e561a", - "chainId": "eip155:1329", - "name": "Wrapped FRAX", + "eip155:42220/erc20:0x2def4285787d58a2f811af24755a8150622f4361": { + "assetId": "eip155:42220/erc20:0x2def4285787d58a2f811af24755a8150622f4361", + "chainId": "eip155:42220", + "name": "Wrapped cETH", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/55432/large/wfrax_64.png?1745993624", - "symbol": "WFRAX", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:98866/erc20:0x64445f0aecc51e94ad52d8ac56b7190e764e561a" + "icon": "https://assets.coingecko.com/coins/images/39711/large/WETH.PNG?1723731131", + "symbol": "CETH", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": null }, - "eip155:1329/erc20:0x71052bae71c25c78e37fd12e5ff1101a71d9018f": { - "assetId": "eip155:1329/erc20:0x71052bae71c25c78e37fd12e5ff1101a71d9018f", - "chainId": "eip155:1329", - "name": "Chainlink", + "eip155:42220/erc20:0x456a3d042c0dbd3db53d5489e98dfb038553b0d0": { + "assetId": "eip155:42220/erc20:0x456a3d042c0dbd3db53d5489e98dfb038553b0d0", + "chainId": "eip155:42220", + "name": "Celo Kenyan Shilling", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/877/large/Chainlink_Logo_500.png?1760023405", - "symbol": "LINK", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/38052/large/cKES_200x200.png?1716403445", + "symbol": "CKES", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0x78e26e8b953c7c78a58d69d8b9a91745c2bbb258": { - "assetId": "eip155:1329/erc20:0x78e26e8b953c7c78a58d69d8b9a91745c2bbb258", - "chainId": "eip155:1329", - "name": "uBTC", + "eip155:42220/erc20:0x46c9757c5497c5b1f2eb73ae79b6b67d119b0b58": { + "assetId": "eip155:42220/erc20:0x46c9757c5497c5b1f2eb73ae79b6b67d119b0b58", + "chainId": "eip155:42220", + "name": "impactMarket OLD ", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/55079/large/uBTC.png?1743613297", - "symbol": "UBTC", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/21907/large/PACT_Token_Ticker_Blue_2x.png?1696521258", + "symbol": "PACT", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0x80137510979822322193fc997d400d5a6c747bf7": { - "assetId": "eip155:1329/erc20:0x80137510979822322193fc997d400d5a6c747bf7", - "chainId": "eip155:1329", - "name": "StakeStone ETH", + "eip155:42220/erc20:0x471ece3750da237f93b8e339c536989b8978a438": { + "assetId": "eip155:42220/erc20:0x471ece3750da237f93b8e339c536989b8978a438", + "chainId": "eip155:42220", + "name": "Celo", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/33103/large/200_200.png?1702602672", - "symbol": "STONE", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:42161/erc20:0x80137510979822322193fc997d400d5a6c747bf7" + "icon": "https://assets.coingecko.com/coins/images/11090/large/InjXBNx9_400x400.jpg?1696511031", + "symbol": "CELO", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": null }, - "eip155:1329/erc20:0x805679729df385815c57c24b20f4161bd34b655f": { - "assetId": "eip155:1329/erc20:0x805679729df385815c57c24b20f4161bd34b655f", - "chainId": "eip155:1329", - "name": "Fishwar", - "precision": 18, + "eip155:42220/erc20:0x48065fbbe25f71c9282ddf5e1cd6d6a887483d5e": { + "assetId": "eip155:42220/erc20:0x48065fbbe25f71c9282ddf5e1cd6d6a887483d5e", + "chainId": "eip155:42220", + "name": "Tether", + "precision": 6, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/54843/large/logo_fishwar_no_bg200x200.png?1742019218", - "symbol": "FISHW", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/325/large/Tether.png?1696501661", + "symbol": "USDT", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0x80eede496655fb9047dd39d9f418d5483ed600df": { - "assetId": "eip155:1329/erc20:0x80eede496655fb9047dd39d9f418d5483ed600df", - "chainId": "eip155:1329", - "name": "Frax USD", + "eip155:42220/erc20:0x4f604735c1cf31399c6e711d5962b2b3e0225ad3": { + "assetId": "eip155:42220/erc20:0x4f604735c1cf31399c6e711d5962b2b3e0225ad3", + "chainId": "eip155:42220", + "name": "Glo Dollar", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/53963/large/frxUSD.png?1737792154", - "symbol": "FRXUSD", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:1/erc20:0xcacd6fd266af91b8aed52accc382b4e165586e29" + "icon": "https://assets.coingecko.com/coins/images/29319/large/GLO_logo_pine_on_cyan_1_3.png?1716971065", + "symbol": "USDGLO", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": "eip155:42161/erc20:0x4f604735c1cf31399c6e711d5962b2b3e0225ad3" }, - "eip155:1329/erc20:0x81d3a238b02827f62b9f390f947d36d4a5bf89d2": { - "assetId": "eip155:1329/erc20:0x81d3a238b02827f62b9f390f947d36d4a5bf89d2", - "chainId": "eip155:1329", - "name": "Yei Finance", + "eip155:42220/erc20:0x50e85c754929840b58614f48e29c64bc78c58345": { + "assetId": "eip155:42220/erc20:0x50e85c754929840b58614f48e29c64bc78c58345", + "chainId": "eip155:42220", + "name": "Biochar", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/69987/large/CLO.png?1760503082", - "symbol": "CLO", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:1329/erc20:0x81d3a238b02827f62b9f390f947d36d4a5bf89d2" + "icon": "https://assets.coingecko.com/coins/images/38094/large/char_logo_toucan.png?1716488453", + "symbol": "CHAR", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": null }, - "eip155:1329/erc20:0x83c82f0f959ad3eff528ee513b43808aa53f4b37": { - "assetId": "eip155:1329/erc20:0x83c82f0f959ad3eff528ee513b43808aa53f4b37", - "chainId": "eip155:1329", - "name": "Zenrock", - "precision": 6, + "eip155:42220/erc20:0x62b8b11039fcfe5ab0c56e502b1c372a3d2a9c7a": { + "assetId": "eip155:42220/erc20:0x62b8b11039fcfe5ab0c56e502b1c372a3d2a9c7a", + "chainId": "eip155:42220", + "name": "GoodDollar", + "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/52032/large/Zenrock_Token_%282%29.png?1732376562", - "symbol": "ROCK", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/14782/large/G__Coin_%281%29.png?1696514451", + "symbol": "G", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0x89aec21572f6637ccbd0d66861aaac46dd775ed1": { - "assetId": "eip155:1329/erc20:0x89aec21572f6637ccbd0d66861aaac46dd775ed1", - "chainId": "eip155:1329", - "name": "Kryptonite", - "precision": 6, + "eip155:42220/erc20:0x6e512bfc33be36f2666754e996ff103ad1680cc9": { + "assetId": "eip155:42220/erc20:0x6e512bfc33be36f2666754e996ff103ad1680cc9", + "chainId": "eip155:42220", + "name": "Allbridge", + "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/31252/large/Kryptonite_PFP-03.png?1696530076", - "symbol": "SEILOR", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": null + "icon": "https://assets.coingecko.com/coins/images/18690/large/logo.png?1701737985", + "symbol": "ABR", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": "eip155:1/erc20:0xd450db3188b7fbf52c670eee30372ba74b4c5857" }, - "eip155:1329/erc20:0x8ee050f6af49a6b7fd8557d0e75219d66f5f6094": { - "assetId": "eip155:1329/erc20:0x8ee050f6af49a6b7fd8557d0e75219d66f5f6094", - "chainId": "eip155:1329", - "name": "Oxium", + "eip155:42220/erc20:0x71e26d0e519d14591b9de9a0fe9513a398101490": { + "assetId": "eip155:42220/erc20:0x71e26d0e519d14591b9de9a0fe9513a398101490", + "chainId": "eip155:42220", + "name": "Ubeswap", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/102171811/large/oxi.png?1769848020", - "symbol": "OXI", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/36950/large/ubeswap.png?1712898123", + "symbol": "UBE", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0x9151434b16b9763660705744891fa906f660ecc5": { - "assetId": "eip155:1329/erc20:0x9151434b16b9763660705744891fa906f660ecc5", - "chainId": "eip155:1329", - "name": "USDT0", - "precision": 6, + "eip155:42220/erc20:0x73a210637f6f6b7005512677ba6b3c96bb4aa44b": { + "assetId": "eip155:42220/erc20:0x73a210637f6f6b7005512677ba6b3c96bb4aa44b", + "chainId": "eip155:42220", + "name": "Mobius Money", + "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/53705/large/usdt0.jpg?1737086183", - "symbol": "USDT0", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:1/erc20:0xdac17f958d2ee523a2206206994597c13d831ec7" + "icon": "https://assets.coingecko.com/coins/images/18467/large/MOBI-200.png?1696517953", + "symbol": "MOBI", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": null }, - "eip155:1329/erc20:0x93919784c523f39cacaa98ee0a9d96c3f32b593e": { - "assetId": "eip155:1329/erc20:0x93919784c523f39cacaa98ee0a9d96c3f32b593e", - "chainId": "eip155:1329", - "name": "Bedrock BTC", - "precision": 8, + "eip155:42220/erc20:0x74c0c58b99b68cf16a717279ac2d056a34ba2bfe": { + "assetId": "eip155:42220/erc20:0x74c0c58b99b68cf16a717279ac2d056a34ba2bfe", + "chainId": "eip155:42220", + "name": "ReSource Protocol", + "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/53039/large/brBTC_200.png?1735074374", - "symbol": "BRBTC", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:8453/erc20:0x3376ebca0a85fc8d791b1001a571c41fdd61514a" + "icon": "https://assets.coingecko.com/coins/images/20740/large/source.png?1696520138", + "symbol": "SOURCE", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": null }, - "eip155:1329/erc20:0x95597eb8d227a7c4b4f5e807a815c5178ee6dbe1": { - "assetId": "eip155:1329/erc20:0x95597eb8d227a7c4b4f5e807a815c5178ee6dbe1", - "chainId": "eip155:1329", - "name": "MILLI", - "precision": 6, + "eip155:42220/erc20:0x765de816845861e75a25fca122bb6898b8b1282a": { + "assetId": "eip155:42220/erc20:0x765de816845861e75a25fca122bb6898b8b1282a", + "chainId": "eip155:42220", + "name": "Celo Dollar", + "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/35724/large/milli_new.PNG?1731239997", - "symbol": "MILLI", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": null + "icon": "https://assets.coingecko.com/coins/images/13161/large/icon-celo-dollar-color-1000-circle-cropped.png?1696512945", + "symbol": "CUSD", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": "eip155:42220/erc20:0x765de816845861e75a25fca122bb6898b8b1282a" }, - "eip155:1329/erc20:0x9bfa177621119e64cecbeabe184ab9993e2ef727": { - "assetId": "eip155:1329/erc20:0x9bfa177621119e64cecbeabe184ab9993e2ef727", - "chainId": "eip155:1329", - "name": "Merlin's Seal BTC", + "eip155:42220/erc20:0x7d00cd74ff385c955ea3d79e47bf06bd7386387d": { + "assetId": "eip155:42220/erc20:0x7d00cd74ff385c955ea3d79e47bf06bd7386387d", + "chainId": "eip155:42220", + "name": "mCELO", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/36566/large/photo_2024-03-25_22-04-42.jpg?1711936162", - "symbol": "M-BTC", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "sui:35834a8a/coin:0xd1a91b46bd6d966b62686263609074ad16cfdffc63c31a4775870a2d54d20c6b::mbtc::MBTC" + "icon": "https://assets.coingecko.com/coins/images/22346/large/1OY4GRnl_400x400_%281%29.jpg?1696521689", + "symbol": "MCELO", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": null }, - "eip155:1329/erc20:0x9faaea2cdd810b21594e54309dc847842ae301ce": { - "assetId": "eip155:1329/erc20:0x9faaea2cdd810b21594e54309dc847842ae301ce", - "chainId": "eip155:1329", - "name": "seiyanETH", + "eip155:42220/erc20:0x7ff62f59e3e89ea34163ea1458eebcc81177cfb6": { + "assetId": "eip155:42220/erc20:0x7ff62f59e3e89ea34163ea1458eebcc81177cfb6", + "chainId": "eip155:42220", + "name": "MENTO", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/51474/large/seiyanETH_%281%29.png?1731401763", - "symbol": "SETH", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/38958/large/MENTO_TOKEN_icon_200.png?1719691251", + "symbol": "MENTO", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0xa193d87b0d5e23ef45379f90066891cbd6013226": { - "assetId": "eip155:1329/erc20:0xa193d87b0d5e23ef45379f90066891cbd6013226", - "chainId": "eip155:1329", - "name": "Archer Hunter", + "eip155:42220/erc20:0x918146359264c492bd6934071c6bd31c854edbc3": { + "assetId": "eip155:42220/erc20:0x918146359264c492bd6934071c6bd31c854edbc3", + "chainId": "eip155:42220", + "name": "Moola Celo Dollars", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/70339/large/Token_FrontClean_%282%29.png?1761638821", - "symbol": "FASTER", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/22380/large/McUSD_Blue_128x128_Square.jpg?1696521724", + "symbol": "MCUSD", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0xa8a3a5013104e093245164ea56588dbe10a3eb48": { - "assetId": "eip155:1329/erc20:0xa8a3a5013104e093245164ea56588dbe10a3eb48", - "chainId": "eip155:1329", - "name": "Super Seyian ETH", + "eip155:42220/erc20:0x9802d866fde4563d088a6619f7cef82c0b991a55": { + "assetId": "eip155:42220/erc20:0x9802d866fde4563d088a6619f7cef82c0b991a55", + "chainId": "eip155:42220", + "name": "Moola interest bearing CREAL", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/50331/large/2024-09-18_19.52.53.jpg?1727164288", - "symbol": "SSETH", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/26214/large/asset_mcREAL.png?1696525299", + "symbol": "MCREAL", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0xb75d0b03c06a926e488e2659df1a861f860bd3d1": { - "assetId": "eip155:1329/erc20:0xb75d0b03c06a926e488e2659df1a861f860bd3d1", - "chainId": "eip155:1329", - "name": "IBC Bridged USDT (Sei)", - "precision": 6, + "eip155:42220/erc20:0x9995cc8f20db5896943afc8ee0ba463259c931ed": { + "assetId": "eip155:42220/erc20:0x9995cc8f20db5896943afc8ee0ba463259c931ed", + "chainId": "eip155:42220", + "name": "Ethix", + "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/38607/large/usdt_%281%29.png?1718099237", - "symbol": "KAVAUSDT", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:1/erc20:0xdac17f958d2ee523a2206206994597c13d831ec7" + "icon": "https://assets.coingecko.com/coins/images/3031/large/ETHIX_icon_256x256-256.png?1696503766", + "symbol": "ETHIX", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": "eip155:1/erc20:0xfd09911130e6930bf87f2b0554c44f400bd80d3e" }, - "eip155:1329/erc20:0xbd82f3bfe1df0c84faec88a22ebc34c9a86595dc": { - "assetId": "eip155:1329/erc20:0xbd82f3bfe1df0c84faec88a22ebc34c9a86595dc", - "chainId": "eip155:1329", - "name": "Chips", - "precision": 6, + "eip155:42220/erc20:0xae978582de8ca83a53eb1d8f879ba854895f96b1": { + "assetId": "eip155:42220/erc20:0xae978582de8ca83a53eb1d8f879ba854895f96b1", + "chainId": "eip155:42220", + "name": "Tegisto", + "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/52405/large/logo.png?1733303663", - "symbol": "CHIPS", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/29576/large/tgs.png?1696528515", + "symbol": "TGS", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0xc18b6a15fb0ceaf5eb18696eefcb5bc7b9107149": { - "assetId": "eip155:1329/erc20:0xc18b6a15fb0ceaf5eb18696eefcb5bc7b9107149", - "chainId": "eip155:1329", - "name": "Popo The Cat", + "eip155:42220/erc20:0xb9c8f0d3254007ee4b98970b94544e473cd610ec": { + "assetId": "eip155:42220/erc20:0xb9c8f0d3254007ee4b98970b94544e473cd610ec", + "chainId": "eip155:42220", + "name": "MAI", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/39686/large/8a872ee5-dfc6-4139-a157-9cdcbbeb2f59.jpeg?1723658023", - "symbol": "POPO", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": null + "icon": "https://assets.coingecko.com/coins/images/15264/large/mimatic-red.png?1696514916", + "symbol": "MIMATIC", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": "eip155:8453/erc20:0xbf1aea8670d2528e08334083616dd9c5f3b087ae" }, - "eip155:1329/erc20:0xc257361320f4514d91c05f461006ce6a0300e2d2": { - "assetId": "eip155:1329/erc20:0xc257361320f4514d91c05f461006ce6a0300e2d2", - "chainId": "eip155:1329", - "name": "Splashing Staked SEI", + "eip155:42220/erc20:0xbdd31effb9e9f7509feaac5b4091b31645a47e4b": { + "assetId": "eip155:42220/erc20:0xbdd31effb9e9f7509feaac5b4091b31645a47e4b", + "chainId": "eip155:42220", + "name": "Truefeedback", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/68734/large/logo_spSEI.png?1756409469", - "symbol": "SPSEI", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/8842/large/5rd7a55q_400x400.png?1696508994", + "symbol": "TFBX", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0xc53ac24320e3a54c7211e4993c8095078a0cb3cf": { - "assetId": "eip155:1329/erc20:0xc53ac24320e3a54c7211e4993c8095078a0cb3cf", - "chainId": "eip155:1329", - "name": "Wild Goat Coin", + "eip155:42220/erc20:0xc16b81af351ba9e64c1a069e3ab18c244a1e3049": { + "assetId": "eip155:42220/erc20:0xc16b81af351ba9e64c1a069e3ab18c244a1e3049", + "chainId": "eip155:42220", + "name": "EURA", + "precision": 18, + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/19479/large/agEUR-4.png?1710726218", + "symbol": "EURA", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": "eip155:1/erc20:0x1a7e4e63778b4f12a199c062f3efdd288afcbce8" + }, + "eip155:42220/erc20:0xceba9300f2b948710d2653dd7b07f33a8b32118c": { + "assetId": "eip155:42220/erc20:0xceba9300f2b948710d2653dd7b07f33a8b32118c", + "chainId": "eip155:42220", + "name": "USDC", "precision": 6, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/37966/large/wgcCoin-256px.png?1768798052", - "symbol": "WGC", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": null + "icon": "https://assets.coingecko.com/coins/images/6319/large/usdc.png?1696506694", + "symbol": "USDC", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": "eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" }, - "eip155:1329/erc20:0xcc0966d8418d412c599a6421b760a847eb169a8c": { - "assetId": "eip155:1329/erc20:0xcc0966d8418d412c599a6421b760a847eb169a8c", - "chainId": "eip155:1329", - "name": "Solv Protocol Staked BTC", + "eip155:42220/erc20:0xd15ec721c2a896512ad29c671997dd68f9593226": { + "assetId": "eip155:42220/erc20:0xd15ec721c2a896512ad29c671997dd68f9593226", + "chainId": "eip155:42220", + "name": "Sushi", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/39384/large/xSolvBTC.png?1744170824", - "symbol": "XSOLVBTC", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:42161/erc20:0x346c574c56e1a4aaa8dc88cda8f7eb12b39947ab" + "icon": "https://assets.coingecko.com/coins/images/12271/large/512x512_Logo_no_chop.png?1696512101", + "symbol": "SUSHI", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": "eip155:42161/erc20:0xd4d42f0b6def4ce0383636770ef773390d85c61a" }, - "eip155:1329/erc20:0xcc1b8207853662c5cfabfb028806ec06ea1f6ac6": { - "assetId": "eip155:1329/erc20:0xcc1b8207853662c5cfabfb028806ec06ea1f6ac6", - "chainId": "eip155:1329", - "name": "Kindred Labs", + "eip155:42220/erc20:0xd252e98c5b6ea1e29a7e2789a9ec0493707a60b9": { + "assetId": "eip155:42220/erc20:0xd252e98c5b6ea1e29a7e2789a9ec0493707a60b9", + "chainId": "eip155:42220", + "name": "KROWN", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/102171798/large/kindred-labs.jpg?1769759004", - "symbol": "KIN", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:1329/erc20:0xcc1b8207853662c5cfabfb028806ec06ea1f6ac6" + "icon": "https://assets.coingecko.com/coins/images/16530/large/KRW_token_logo_200x200.png?1696516093", + "symbol": "KRW", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": "eip155:43114/erc20:0xa5acfeca5270bc9768633fbc86caa959b85ec8b7" }, - "eip155:1329/erc20:0xdd7d5e4ea2125d43c16eed8f1ffefffa2f4b4af6": { - "assetId": "eip155:1329/erc20:0xdd7d5e4ea2125d43c16eed8f1ffefffa2f4b4af6", - "chainId": "eip155:1329", - "name": "Jellyverse", + "eip155:42220/erc20:0xd629eb00deced2a080b7ec630ef6ac117e614f1b": { + "assetId": "eip155:42220/erc20:0xd629eb00deced2a080b7ec630ef6ac117e614f1b", + "chainId": "eip155:42220", + "name": "Bridged WBTC", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/31805/large/short.png?1719199901", - "symbol": "JLY", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": null + "icon": "https://assets.coingecko.com/coins/images/39574/large/wbtc.png?1722994041", + "symbol": "WBTC", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": "eip155:1/erc20:0x2260fac5e5542a773aa44fbcfedf7c193bc2c599" }, - "eip155:1329/erc20:0xe15fc38f6d8c56af07bbcbe3baf5708a2bf42392": { - "assetId": "eip155:1329/erc20:0xe15fc38f6d8c56af07bbcbe3baf5708a2bf42392", - "chainId": "eip155:1329", - "name": "USDC", - "precision": 6, + "eip155:42220/erc20:0xd8763cba276a3738e6de85b4b3bf5fded6d6ca73": { + "assetId": "eip155:42220/erc20:0xd8763cba276a3738e6de85b4b3bf5fded6d6ca73", + "chainId": "eip155:42220", + "name": "Celo Euro", + "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/6319/large/USDC.png?1769615602", - "symbol": "USDC", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/16756/large/CEUR.png?1696516329", + "symbol": "CEUR", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0xe30fedd158a2e3b13e9badaeabafc5516e95e8c7": { - "assetId": "eip155:1329/erc20:0xe30fedd158a2e3b13e9badaeabafc5516e95e8c7", - "chainId": "eip155:1329", - "name": "Wrapped SEI", + "eip155:42220/erc20:0xe273ad7ee11dcfaa87383ad5977ee1504ac07568": { + "assetId": "eip155:42220/erc20:0xe273ad7ee11dcfaa87383ad5977ee1504ac07568", + "chainId": "eip155:42220", + "name": "mcEUR", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/38470/large/sei.png?1717644025", - "symbol": "WSEI", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/22345/large/1OY4GRnl_400x400.jpg?1696521688", + "symbol": "MCEUR", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0xedf7732991b3de8f46fb97dcd4c5cdb28e6ad859": { - "assetId": "eip155:1329/erc20:0xedf7732991b3de8f46fb97dcd4c5cdb28e6ad859", - "chainId": "eip155:1329", - "name": "Tea-REX", - "precision": 18, + "eip155:42220/erc20:0xe685d21b7b0fc7a248a6a8e03b8db22d013aa2ee": { + "assetId": "eip155:42220/erc20:0xe685d21b7b0fc7a248a6a8e03b8db22d013aa2ee", + "chainId": "eip155:42220", + "name": "ImmortalDAO", + "precision": 9, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/70782/large/tREX.png?1763709291", - "symbol": "TREX", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/22189/large/immortal_logo.png?1696521533", + "symbol": "IMMO", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0xf9bdbf259ece5ae17e29bf92eb7abd7b8b465db9": { - "assetId": "eip155:1329/erc20:0xf9bdbf259ece5ae17e29bf92eb7abd7b8b465db9", - "chainId": "eip155:1329", - "name": "Froggy", + "eip155:42220/erc20:0xe8537a3d056da446677b9e9d6c5db704eaab4787": { + "assetId": "eip155:42220/erc20:0xe8537a3d056da446677b9e9d6c5db704eaab4787", + "chainId": "eip155:42220", + "name": "Celo Real cREAL ", "precision": 18, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/67889/large/Logo200x200.png?1754194519", - "symbol": "FROG", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "icon": "https://assets.coingecko.com/coins/images/27205/large/creal.png?1696526254", + "symbol": "CREAL", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", "relatedAssetKey": null }, - "eip155:1329/erc20:0xff7f8f301f7a706e3cfd3d2275f5dc0b9ee8009b": { - "assetId": "eip155:1329/erc20:0xff7f8f301f7a706e3cfd3d2275f5dc0b9ee8009b", - "chainId": "eip155:1329", - "name": "FOLKS", + "eip155:42220/erc20:0xeb466342c4d449bc9f53a865d5cb90586f405215": { + "assetId": "eip155:42220/erc20:0xeb466342c4d449bc9f53a865d5cb90586f405215", + "chainId": "eip155:42220", + "name": "Axelar Bridged USDC", "precision": 6, "color": "#FFFFFF", - "icon": "https://assets.coingecko.com/coins/images/70268/large/1000331462.png?1761335326", - "symbol": "FOLKS", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", - "relatedAssetKey": "eip155:42161/erc20:0xff7f8f301f7a706e3cfd3d2275f5dc0b9ee8009b" + "icon": "https://assets.coingecko.com/coins/images/26476/large/uausdc_D_3x.png?1696525548", + "symbol": "AXLUSDC", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": "eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" }, - "eip155:1329/slip44:60": { - "assetId": "eip155:1329/slip44:60", - "chainId": "eip155:1329", - "name": "SEI", - "networkName": "Sei", - "symbol": "SEI", + "eip155:42220/erc20:0xfecb3f7c54e2caae9dc6ac9060a822d47e053760": { + "assetId": "eip155:42220/erc20:0xfecb3f7c54e2caae9dc6ac9060a822d47e053760", + "chainId": "eip155:42220", + "name": "BRLA Digital BRLA", "precision": 18, - "color": "#9B1B30", - "networkColor": "#9B1B30", - "icon": "https://assets.coingecko.com/coins/images/28205/large/Sei_Logo_-_Transparent.png", - "networkIcon": "https://assets.coingecko.com/coins/images/28205/small/Sei_Logo_-_Transparent.png", - "explorer": "https://seitrace.com", - "explorerAddressLink": "https://seitrace.com/address/", - "explorerTxLink": "https://seitrace.com/tx/", + "color": "#FFFFFF", + "icon": "https://assets.coingecko.com/coins/images/40062/large/IconGreen400.png?1725459580", + "symbol": "BRLA", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", + "relatedAssetKey": "eip155:137/erc20:0xe6a537a407488807f0bbeb0038b79004f19dddfb" + }, + "eip155:42220/slip44:60": { + "assetId": "eip155:42220/slip44:60", + "chainId": "eip155:42220", + "name": "Celo", + "networkName": "Celo", + "symbol": "CELO", + "precision": 18, + "color": "#35D07F", + "networkColor": "#35D07F", + "icon": "https://coin-images.coingecko.com/coins/images/11090/large/InjXBNx9_400x400.jpg?1696511031", + "networkIcon": "https://coin-images.coingecko.com/coins/images/11090/large/InjXBNx9_400x400.jpg?1696511031", + "explorer": "https://celoscan.io", + "explorerAddressLink": "https://celoscan.io/address/", + "explorerTxLink": "https://celoscan.io/tx/", "relatedAssetKey": null } }, @@ -469464,74 +469974,6 @@ "eip155:324/erc20:0xfb4c64c144c2bd0e7f2a06da7d6aac32d8cb2514", "eip155:324/erc20:0xfeafde23fb2364896c297c3fa6628f04601a035b", "eip155:324/slip44:60", - "eip155:1514/erc20:0x1514000000000000000000000000000000000000", - "eip155:1514/erc20:0x25f9c9715d1d700a50b2a9a06d80fe9f98ccb549", - "eip155:1514/erc20:0x543374350269cce6651358769512875faa4cccff", - "eip155:1514/erc20:0x5a212776066b81e449fe74396cce368dc4b14043", - "eip155:1514/erc20:0x693c7acf65e52c71bafe555bc22d69cb7f8a78a2", - "eip155:1514/erc20:0xa074aca68eeb6c831a78c84606f3cb44f9e547f5", - "eip155:1514/erc20:0xa4f5c615f72ddeb2220471694fff1c0c3de051e1", - "eip155:1514/erc20:0xb5461c1fd0312cd4bf037058f8a391e6a42f9639", - "eip155:1514/erc20:0xbab93b7ad7fe8692a878b95a8e689423437cc500", - "eip155:1514/erc20:0xc9cbbd8f211300dd0e7a3933b7aeedac6f61dd52", - "eip155:1514/erc20:0xd07faed671decf3c5a6cc038dad97c8efdb507c0", - "eip155:1514/erc20:0xf1815bd50389c46847f0bda824ec8da914045d14", - "eip155:1514/erc20:0xfe82012ecce57a188e5f9f3fc1cb2d335c58f1f5", - "eip155:1514/slip44:60", - "eip155:98866/erc20:0x00000000efe302beaa2b3e6e1b18d08d69a9012a", - "eip155:98866/erc20:0x02cdb5ccc97d5dc7ed2747831b516669eb635706", - "eip155:98866/erc20:0x09d4214c03d01f49544c0448dbe3a27f768f2b34", - "eip155:98866/erc20:0x0bbcc2c1991d0af8ec6a5ed922e6f5606923fe15", - "eip155:98866/erc20:0x0c78ca789e826fe339de61934896f5d170b66d78", - "eip155:98866/erc20:0x111111d2bf19e43c34263401e0cad979ed1cdb61", - "eip155:98866/erc20:0x11113ff3a60c2450f4b22515cb760417259ee94b", - "eip155:98866/erc20:0x119dd7daff816f29d7ee47596ae5e4bdc4299165", - "eip155:98866/erc20:0x1271656f45e251f588847721ba2c561dd1f0223f", - "eip155:98866/erc20:0x139450c2dcef827c9a2a0bb1cb5506260940c9fd", - "eip155:98866/erc20:0x15c09c0ffb3717325e60a564d1acfbfe999c2f88", - "eip155:98866/erc20:0x222365ef19f7947e5484218551b56bb3965aa7af", - "eip155:98866/erc20:0x29bf22381a5811dec89dc7b46a5ce57ad02c0240", - "eip155:98866/erc20:0x2a3e301dbd45c143dfbb7b1ce1c55bf0bbf161cb", - "eip155:98866/erc20:0x2b89048d45e9eff64bc5ff563b8ba40a2f0aa83e", - "eip155:98866/erc20:0x2cd3cdb3bd68eea0d3be81da707bc0c8743d7335", - "eip155:98866/erc20:0x39d1f90ef89c52dda276194e9a832b484ee45574", - "eip155:98866/erc20:0x437cc33344a0b27a429f795ff6b469c72698b291", - "eip155:98866/erc20:0x4772d2e014f9fc3a820c444e3313968e9a5c8121", - "eip155:98866/erc20:0x4c21b7577c8fe8b0b0669165ee7c8f67fa1454cf", - "eip155:98866/erc20:0x593ccca4c4bf58b7526a4c164ceef4003c6388db", - "eip155:98866/erc20:0x64445f0aecc51e94ad52d8ac56b7190e764e561a", - "eip155:98866/erc20:0x64ab176c545bb85eca75d53c3ffcb361deafb855", - "eip155:98866/erc20:0x69020311836d29ba7d38c1d3578736fd3ded03ed", - "eip155:98866/erc20:0x6a64f470293630e08d24455ec0b73960ab7dbb23", - "eip155:98866/erc20:0x78add880a697070c1e765ac44d65323a0dcce913", - "eip155:98866/erc20:0x7d611dc23267f508de90724731dc88ca28ef7473", - "eip155:98866/erc20:0x80eede496655fb9047dd39d9f418d5483ed600df", - "eip155:98866/erc20:0x9477724bb54ad5417de8baff29e59df3fb4da74f", - "eip155:98866/erc20:0x9d08946ca5856f882a56c29042fbedc5142663b9", - "eip155:98866/erc20:0x9fbc367b9bb966a2a537989817a088afcaffdc4c", - "eip155:98866/erc20:0xa0c4f78a29ead4abf6b7f5b3f0d05c0f3eab8ddf", - "eip155:98866/erc20:0xa5d465251fbcc907f5dd6bb2145488dfc6a2627b", - "eip155:98866/erc20:0xa5f78b2a0ab85429d2dfbf8b60abc70f4cec066c", - "eip155:98866/erc20:0xb52b090837a035f93a84487e5a7d3719c32aa8a9", - "eip155:98866/erc20:0xb549b375da0c76f8b3877b9adfdd28378f087a64", - "eip155:98866/erc20:0xbfc5770631641719cd1cf809d8325b146aed19de", - "eip155:98866/erc20:0xc96de26018a54d51c097160568752c4e3bd6c364", - "eip155:98866/erc20:0xca59ca09e5602fae8b629dee83ffa819741f14be", - "eip155:98866/erc20:0xcf7a8813bd3bdaf70a9f46d310ce1ee8d80a4f5a", - "eip155:98866/erc20:0xd2b65e851be3d80d3c2ce795eb2e78f16cb088b2", - "eip155:98866/erc20:0xd3bfd6e6187444170a1674c494e55171587b5641", - "eip155:98866/erc20:0xda6087e69c51e7d31b6dbad276a3c44703dfdcad", - "eip155:98866/erc20:0xdd73ea766b80417c0607a3f08e34a0c415d89d56", - "eip155:98866/erc20:0xdddd73f5df1f0dc31373357beac77545dc5a6f3f", - "eip155:98866/erc20:0xdea149f84859d1ec50480c209b71bffa482b0530", - "eip155:98866/erc20:0xdea736937d464d288ec80138bcd1a2e109a200e3", - "eip155:98866/erc20:0xe4fa682f94610ccd170680cc3b045d77d9e528a8", - "eip155:98866/erc20:0xe72fe64840f4ef80e3ec73a1c749491b5c938cb9", - "eip155:98866/erc20:0xe85f2b707ec5ae8e07238f99562264f304e30109", - "eip155:98866/erc20:0xe9e8330a71912f03e54e7d93795acd9a56f070aa", - "eip155:98866/erc20:0xea237441c92cae6fc17caaf9a7acb3f953be4bd1", - "eip155:98866/erc20:0xfcbe50dbe43bf7e5c88c6f6fb9ef432d4165406e", - "eip155:98866/slip44:60", "eip155:747/erc20:0x00f4ce400130c9383115f3858f9ca54677426583", "eip155:747/erc20:0x10448481630fb6d20b597e5b3d7e42dcb1247c8a", "eip155:747/erc20:0x1b97100ea1d7126c4d60027e231ea4cb25314bdb", @@ -469550,7 +469992,6 @@ "eip155:747/erc20:0xf1815bd50389c46847f0bda824ec8da914045d14", "eip155:747/erc20:0xf45cbe30bd953590c9917799142edb05be3f293f", "eip155:747/slip44:60", - "eip155:42220/slip44:60", "eip155:1329/erc20:0x0555e30da8f98308edb960aa94c0db47230d2b9c", "eip155:1329/erc20:0x059a6b0ba116c63191182a0956cf697d0d2213ec", "eip155:1329/erc20:0x09d4214c03d01f49544c0448dbe3a27f768f2b34", @@ -469600,6 +470041,114 @@ "eip155:1329/erc20:0xedf7732991b3de8f46fb97dcd4c5cdb28e6ad859", "eip155:1329/erc20:0xf9bdbf259ece5ae17e29bf92eb7abd7b8b465db9", "eip155:1329/erc20:0xff7f8f301f7a706e3cfd3d2275f5dc0b9ee8009b", - "eip155:1329/slip44:60" + "eip155:1329/slip44:60", + "eip155:5064014/slip44:60", + "eip155:98866/erc20:0x00000000efe302beaa2b3e6e1b18d08d69a9012a", + "eip155:98866/erc20:0x02cdb5ccc97d5dc7ed2747831b516669eb635706", + "eip155:98866/erc20:0x09d4214c03d01f49544c0448dbe3a27f768f2b34", + "eip155:98866/erc20:0x0bbcc2c1991d0af8ec6a5ed922e6f5606923fe15", + "eip155:98866/erc20:0x0c78ca789e826fe339de61934896f5d170b66d78", + "eip155:98866/erc20:0x111111d2bf19e43c34263401e0cad979ed1cdb61", + "eip155:98866/erc20:0x11113ff3a60c2450f4b22515cb760417259ee94b", + "eip155:98866/erc20:0x119dd7daff816f29d7ee47596ae5e4bdc4299165", + "eip155:98866/erc20:0x1271656f45e251f588847721ba2c561dd1f0223f", + "eip155:98866/erc20:0x139450c2dcef827c9a2a0bb1cb5506260940c9fd", + "eip155:98866/erc20:0x15c09c0ffb3717325e60a564d1acfbfe999c2f88", + "eip155:98866/erc20:0x222365ef19f7947e5484218551b56bb3965aa7af", + "eip155:98866/erc20:0x29bf22381a5811dec89dc7b46a5ce57ad02c0240", + "eip155:98866/erc20:0x2a3e301dbd45c143dfbb7b1ce1c55bf0bbf161cb", + "eip155:98866/erc20:0x2b89048d45e9eff64bc5ff563b8ba40a2f0aa83e", + "eip155:98866/erc20:0x2cd3cdb3bd68eea0d3be81da707bc0c8743d7335", + "eip155:98866/erc20:0x39d1f90ef89c52dda276194e9a832b484ee45574", + "eip155:98866/erc20:0x437cc33344a0b27a429f795ff6b469c72698b291", + "eip155:98866/erc20:0x4772d2e014f9fc3a820c444e3313968e9a5c8121", + "eip155:98866/erc20:0x4c21b7577c8fe8b0b0669165ee7c8f67fa1454cf", + "eip155:98866/erc20:0x593ccca4c4bf58b7526a4c164ceef4003c6388db", + "eip155:98866/erc20:0x64445f0aecc51e94ad52d8ac56b7190e764e561a", + "eip155:98866/erc20:0x64ab176c545bb85eca75d53c3ffcb361deafb855", + "eip155:98866/erc20:0x69020311836d29ba7d38c1d3578736fd3ded03ed", + "eip155:98866/erc20:0x6a64f470293630e08d24455ec0b73960ab7dbb23", + "eip155:98866/erc20:0x78add880a697070c1e765ac44d65323a0dcce913", + "eip155:98866/erc20:0x7d611dc23267f508de90724731dc88ca28ef7473", + "eip155:98866/erc20:0x80eede496655fb9047dd39d9f418d5483ed600df", + "eip155:98866/erc20:0x9477724bb54ad5417de8baff29e59df3fb4da74f", + "eip155:98866/erc20:0x9d08946ca5856f882a56c29042fbedc5142663b9", + "eip155:98866/erc20:0x9fbc367b9bb966a2a537989817a088afcaffdc4c", + "eip155:98866/erc20:0xa0c4f78a29ead4abf6b7f5b3f0d05c0f3eab8ddf", + "eip155:98866/erc20:0xa5d465251fbcc907f5dd6bb2145488dfc6a2627b", + "eip155:98866/erc20:0xa5f78b2a0ab85429d2dfbf8b60abc70f4cec066c", + "eip155:98866/erc20:0xb52b090837a035f93a84487e5a7d3719c32aa8a9", + "eip155:98866/erc20:0xb549b375da0c76f8b3877b9adfdd28378f087a64", + "eip155:98866/erc20:0xbfc5770631641719cd1cf809d8325b146aed19de", + "eip155:98866/erc20:0xc96de26018a54d51c097160568752c4e3bd6c364", + "eip155:98866/erc20:0xca59ca09e5602fae8b629dee83ffa819741f14be", + "eip155:98866/erc20:0xcf7a8813bd3bdaf70a9f46d310ce1ee8d80a4f5a", + "eip155:98866/erc20:0xd2b65e851be3d80d3c2ce795eb2e78f16cb088b2", + "eip155:98866/erc20:0xd3bfd6e6187444170a1674c494e55171587b5641", + "eip155:98866/erc20:0xda6087e69c51e7d31b6dbad276a3c44703dfdcad", + "eip155:98866/erc20:0xdd73ea766b80417c0607a3f08e34a0c415d89d56", + "eip155:98866/erc20:0xdddd73f5df1f0dc31373357beac77545dc5a6f3f", + "eip155:98866/erc20:0xdea149f84859d1ec50480c209b71bffa482b0530", + "eip155:98866/erc20:0xdea736937d464d288ec80138bcd1a2e109a200e3", + "eip155:98866/erc20:0xe4fa682f94610ccd170680cc3b045d77d9e528a8", + "eip155:98866/erc20:0xe72fe64840f4ef80e3ec73a1c749491b5c938cb9", + "eip155:98866/erc20:0xe85f2b707ec5ae8e07238f99562264f304e30109", + "eip155:98866/erc20:0xe9e8330a71912f03e54e7d93795acd9a56f070aa", + "eip155:98866/erc20:0xea237441c92cae6fc17caaf9a7acb3f953be4bd1", + "eip155:98866/erc20:0xfcbe50dbe43bf7e5c88c6f6fb9ef432d4165406e", + "eip155:98866/slip44:60", + "eip155:1514/erc20:0x1514000000000000000000000000000000000000", + "eip155:1514/erc20:0x25f9c9715d1d700a50b2a9a06d80fe9f98ccb549", + "eip155:1514/erc20:0x543374350269cce6651358769512875faa4cccff", + "eip155:1514/erc20:0x5a212776066b81e449fe74396cce368dc4b14043", + "eip155:1514/erc20:0x693c7acf65e52c71bafe555bc22d69cb7f8a78a2", + "eip155:1514/erc20:0xa074aca68eeb6c831a78c84606f3cb44f9e547f5", + "eip155:1514/erc20:0xa4f5c615f72ddeb2220471694fff1c0c3de051e1", + "eip155:1514/erc20:0xb5461c1fd0312cd4bf037058f8a391e6a42f9639", + "eip155:1514/erc20:0xbab93b7ad7fe8692a878b95a8e689423437cc500", + "eip155:1514/erc20:0xc9cbbd8f211300dd0e7a3933b7aeedac6f61dd52", + "eip155:1514/erc20:0xd07faed671decf3c5a6cc038dad97c8efdb507c0", + "eip155:1514/erc20:0xf1815bd50389c46847f0bda824ec8da914045d14", + "eip155:1514/erc20:0xfe82012ecce57a188e5f9f3fc1cb2d335c58f1f5", + "eip155:1514/slip44:60", + "eip155:42220/erc20:0x00be915b9dcf56a3cbe739d9b9c202ca692409ec", + "eip155:42220/erc20:0x105d4a9306d2e55a71d2eb95b81553ae1dc20d7b", + "eip155:42220/erc20:0x17700282592d6917f6a73d0bf8accf4d578c131e", + "eip155:42220/erc20:0x1d18d0386f51ab03e7e84e71bda1681eba865f1f", + "eip155:42220/erc20:0x27cd006548df7c8c8e9fdc4a67fa05c2e3ca5cf9", + "eip155:42220/erc20:0x2b9018ceb303d540bbf08de8e7de64fddd63396c", + "eip155:42220/erc20:0x2def4285787d58a2f811af24755a8150622f4361", + "eip155:42220/erc20:0x456a3d042c0dbd3db53d5489e98dfb038553b0d0", + "eip155:42220/erc20:0x46c9757c5497c5b1f2eb73ae79b6b67d119b0b58", + "eip155:42220/erc20:0x471ece3750da237f93b8e339c536989b8978a438", + "eip155:42220/erc20:0x48065fbbe25f71c9282ddf5e1cd6d6a887483d5e", + "eip155:42220/erc20:0x4f604735c1cf31399c6e711d5962b2b3e0225ad3", + "eip155:42220/erc20:0x50e85c754929840b58614f48e29c64bc78c58345", + "eip155:42220/erc20:0x62b8b11039fcfe5ab0c56e502b1c372a3d2a9c7a", + "eip155:42220/erc20:0x6e512bfc33be36f2666754e996ff103ad1680cc9", + "eip155:42220/erc20:0x71e26d0e519d14591b9de9a0fe9513a398101490", + "eip155:42220/erc20:0x73a210637f6f6b7005512677ba6b3c96bb4aa44b", + "eip155:42220/erc20:0x74c0c58b99b68cf16a717279ac2d056a34ba2bfe", + "eip155:42220/erc20:0x765de816845861e75a25fca122bb6898b8b1282a", + "eip155:42220/erc20:0x7d00cd74ff385c955ea3d79e47bf06bd7386387d", + "eip155:42220/erc20:0x7ff62f59e3e89ea34163ea1458eebcc81177cfb6", + "eip155:42220/erc20:0x918146359264c492bd6934071c6bd31c854edbc3", + "eip155:42220/erc20:0x9802d866fde4563d088a6619f7cef82c0b991a55", + "eip155:42220/erc20:0x9995cc8f20db5896943afc8ee0ba463259c931ed", + "eip155:42220/erc20:0xae978582de8ca83a53eb1d8f879ba854895f96b1", + "eip155:42220/erc20:0xb9c8f0d3254007ee4b98970b94544e473cd610ec", + "eip155:42220/erc20:0xbdd31effb9e9f7509feaac5b4091b31645a47e4b", + "eip155:42220/erc20:0xc16b81af351ba9e64c1a069e3ab18c244a1e3049", + "eip155:42220/erc20:0xceba9300f2b948710d2653dd7b07f33a8b32118c", + "eip155:42220/erc20:0xd15ec721c2a896512ad29c671997dd68f9593226", + "eip155:42220/erc20:0xd252e98c5b6ea1e29a7e2789a9ec0493707a60b9", + "eip155:42220/erc20:0xd629eb00deced2a080b7ec630ef6ac117e614f1b", + "eip155:42220/erc20:0xd8763cba276a3738e6de85b4b3bf5fded6d6ca73", + "eip155:42220/erc20:0xe273ad7ee11dcfaa87383ad5977ee1504ac07568", + "eip155:42220/erc20:0xe685d21b7b0fc7a248a6a8e03b8db22d013aa2ee", + "eip155:42220/erc20:0xe8537a3d056da446677b9e9d6c5db704eaab4787", + "eip155:42220/erc20:0xeb466342c4d449bc9f53a865d5cb90586f405215", + "eip155:42220/erc20:0xfecb3f7c54e2caae9dc6ac9060a822d47e053760", + "eip155:42220/slip44:60" ] } \ No newline at end of file diff --git a/public/generated/generatedAssetData.json.br b/public/generated/generatedAssetData.json.br index a4f3b821a7d..96f9e27a119 100644 Binary files a/public/generated/generatedAssetData.json.br and b/public/generated/generatedAssetData.json.br differ diff --git a/public/generated/generatedAssetData.json.gz b/public/generated/generatedAssetData.json.gz index faa1c5f73bb..0888978ccc4 100644 Binary files a/public/generated/generatedAssetData.json.gz and b/public/generated/generatedAssetData.json.gz differ diff --git a/public/generated/relatedAssetIndex.json b/public/generated/relatedAssetIndex.json index 74a669b77cb..738907dbca2 100644 --- a/public/generated/relatedAssetIndex.json +++ b/public/generated/relatedAssetIndex.json @@ -1156,7 +1156,8 @@ "eip155:137/erc20:0xe0b52e49357fd4daf2c15e02058dce6bc0057db4", "eip155:56/erc20:0x12f31b73d812c6bb0d735a218c086d44d5fe5f89", "eip155:42161/erc20:0xfa5ed56a203466cbbc2430a43c66b9d8723528e7", - "eip155:1/erc20:0x1a7e4e63778b4f12a199c062f3efdd288afcbce8" + "eip155:1/erc20:0x1a7e4e63778b4f12a199c062f3efdd288afcbce8", + "eip155:42220/erc20:0xc16b81af351ba9e64c1a069e3ab18c244a1e3049" ], "eip155:1/erc20:0x19062190b1925b5b6689d7073fdfc8c2976ef8cb": [ "eip155:100/erc20:0xdbf3ea6f5bee45c02255b2c26a16f300502f68da", @@ -1461,7 +1462,8 @@ "eip155:480/erc20:0x03c7054bcb39f7b2e5b2c7acb37583e32d70cfa3", "eip155:324/erc20:0xbbeb516fb02a01611cbbe0453fe3c580d7281011", "eip155:1329/erc20:0x0555e30da8f98308edb960aa94c0db47230d2b9c", - "eip155:1329/erc20:0x60c230c38af6d86b0277a98a1caeaa345a7b061f" + "eip155:1329/erc20:0x60c230c38af6d86b0277a98a1caeaa345a7b061f", + "eip155:42220/erc20:0xd629eb00deced2a080b7ec630ef6ac117e614f1b" ], "eip155:8453/erc20:0xc5fed7c8ccc75d8a72b601a66dffd7a489073f0b": [ "eip155:56/erc20:0x6ef2ffb38d64afe18ce782da280b300e358cfeaf", @@ -2545,7 +2547,8 @@ "eip155:56/erc20:0x88d7e9b65dc24cf54f5edef929225fc3e1580c25": [ "eip155:1/erc20:0x420a24c9c65bd44c48bfb1cc8d6cd1ea8b1ac840", "eip155:137/erc20:0x03cf5d93ca7c70ce0a21a09f4d70779d2c66b25a", - "eip155:56/erc20:0x88d7e9b65dc24cf54f5edef929225fc3e1580c25" + "eip155:56/erc20:0x88d7e9b65dc24cf54f5edef929225fc3e1580c25", + "eip155:42220/erc20:0x1d18d0386f51ab03e7e84e71bda1681eba865f1f" ], "eip155:1/erc20:0x437cc33344a0b27a429f795ff6b469c72698b291": [ "eip155:42161/erc20:0x437cc33344a0b27a429f795ff6b469c72698b291", @@ -2850,7 +2853,8 @@ "eip155:1/erc20:0x499568c250ab2a42292261d6121525d70691894b", "eip155:137/erc20:0x6c3b2f402cd7d22ae2c319b9d2f16f57927a4a17", "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:Gw7M5dqZJ6B6a8dYkDry6z9t9FuUA2xPUokjV2cortoq", - "eip155:43114/erc20:0xa5acfeca5270bc9768633fbc86caa959b85ec8b7" + "eip155:43114/erc20:0xa5acfeca5270bc9768633fbc86caa959b85ec8b7", + "eip155:42220/erc20:0xd252e98c5b6ea1e29a7e2789a9ec0493707a60b9" ], "eip155:42161/erc20:0x319f865b287fcc10b30d8ce6144e8b6d1b476999": [ "eip155:43114/erc20:0x6b289cceaa8639e3831095d75a3e43520fabf552", @@ -3111,7 +3115,8 @@ "eip155:1/erc20:0x4f604735c1cf31399c6e711d5962b2b3e0225ad3", "eip155:10/erc20:0x4f604735c1cf31399c6e711d5962b2b3e0225ad3", "eip155:137/erc20:0x4f604735c1cf31399c6e711d5962b2b3e0225ad3", - "eip155:42161/erc20:0x4f604735c1cf31399c6e711d5962b2b3e0225ad3" + "eip155:42161/erc20:0x4f604735c1cf31399c6e711d5962b2b3e0225ad3", + "eip155:42220/erc20:0x4f604735c1cf31399c6e711d5962b2b3e0225ad3" ], "eip155:56/erc20:0xc53708664b99df348dd27c3ac0759d2da9c40462": [ "eip155:1/erc20:0x4f5fa8f2d12e5eb780f6082dd656c565c48e0f24", @@ -4206,7 +4211,8 @@ "eip155:42161/erc20:0xd4d42f0b6def4ce0383636770ef773390d85c61a", "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:ChVzxWRmrTeSgwd3Ui3UumcN8KX7VK3WaD4KGeSKpypj", "eip155:747474/erc20:0x17bff452dae47e07cea877ff0e1aba17eb62b0ab", - "near:mainnet/nep141:6b3595068778dd592e39a122f4f5a5cf09c90fe2.factory.bridge.near" + "near:mainnet/nep141:6b3595068778dd592e39a122f4f5a5cf09c90fe2.factory.bridge.near", + "eip155:42220/erc20:0xd15ec721c2a896512ad29c671997dd68f9593226" ], "eip155:42161/erc20:0x31dba3c96481fde3cd81c2aaf51f2d8bf618c742": [ "eip155:8453/erc20:0x31dba3c96481fde3cd81c2aaf51f2d8bf618c742", @@ -6253,7 +6259,10 @@ "eip155:98866/erc20:0x78add880a697070c1e765ac44d65323a0dcce913", "eip155:747/erc20:0xf1815bd50389c46847f0bda824ec8da914045d14", "eip155:747/erc20:0x7f27352d5f83db87a5a3e00f4b07cc2138d8ee52", - "eip155:1329/erc20:0x3894085ef7ff0f0aedf52e2a2704928d1ec074f1" + "eip155:1329/erc20:0x3894085ef7ff0f0aedf52e2a2704928d1ec074f1", + "eip155:1329/erc20:0xe15fc38f6d8c56af07bbcbe3baf5708a2bf42392", + "eip155:42220/erc20:0xceba9300f2b948710d2653dd7b07f33a8b32118c", + "eip155:42220/erc20:0xeb466342c4d449bc9f53a865d5cb90586f405215" ], "eip155:8453/erc20:0x9c632e6aaa3ea73f91554f8a3cb2ed2f29605e0c": [ "eip155:56/erc20:0x7324c7c0d95cebc73eea7e85cbaac0dbdf88a05b", @@ -9737,7 +9746,8 @@ ], "eip155:1/erc20:0xfd09911130e6930bf87f2b0554c44f400bd80d3e": [ "eip155:100/erc20:0xec3f3e6d7907acda3a7431abd230196cda3fbb19", - "eip155:1/erc20:0xfd09911130e6930bf87f2b0554c44f400bd80d3e" + "eip155:1/erc20:0xfd09911130e6930bf87f2b0554c44f400bd80d3e", + "eip155:42220/erc20:0x9995cc8f20db5896943afc8ee0ba463259c931ed" ], "eip155:1/erc20:0xfc4b4ec763722b71eb1d729749b447a9645f5f30": [ "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:556BVtBSN6kWVXm5q9KW3FLXoFjmwcMi8C4ztKrH4Xk4", @@ -10183,7 +10193,8 @@ ], "eip155:137/erc20:0xe6a537a407488807f0bbeb0038b79004f19dddfb": [ "eip155:100/erc20:0xfecb3f7c54e2caae9dc6ac9060a822d47e053760", - "eip155:137/erc20:0xe6a537a407488807f0bbeb0038b79004f19dddfb" + "eip155:137/erc20:0xe6a537a407488807f0bbeb0038b79004f19dddfb", + "eip155:42220/erc20:0xfecb3f7c54e2caae9dc6ac9060a822d47e053760" ], "eip155:42161/erc20:0x4883c8f0529f37e40ebea870f3c13cdfad5d01f8": [ "eip155:43114/erc20:0x7678e162f38ec9ef2bfd1d0aaf9fd93355e5fa0b", @@ -11889,7 +11900,8 @@ "eip155:56/erc20:0x3f56e0c36d275367b8c502090edf38289b3dea0d", "eip155:10/erc20:0xdfa46478f9e5ea86d57387849598dbfb2e964b02", "eip155:137/erc20:0xa3fa99a148fa48d14ed51d610c367c61876997f1", - "eip155:100/erc20:0x3f56e0c36d275367b8c502090edf38289b3dea0d" + "eip155:100/erc20:0x3f56e0c36d275367b8c502090edf38289b3dea0d", + "eip155:42220/erc20:0xb9c8f0d3254007ee4b98970b94544e473cd610ec" ], "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn": [ "eip155:747474/erc20:0x6c16e26013f2431e8b2e1ba7067ecccad0db6c52", @@ -12614,7 +12626,8 @@ ], "eip155:1/erc20:0xd450db3188b7fbf52c670eee30372ba74b4c5857": [ "near:mainnet/nep141:abr.a11bd.near", - "eip155:1/erc20:0xd450db3188b7fbf52c670eee30372ba74b4c5857" + "eip155:1/erc20:0xd450db3188b7fbf52c670eee30372ba74b4c5857", + "eip155:42220/erc20:0x6e512bfc33be36f2666754e996ff103ad1680cc9" ], "eip155:137/erc20:0x2760e46d9bb43dafcbecaad1f64b93207f9f0ed7": [ "eip155:534352/erc20:0x0018d96c579121a94307249d47f053e2d687b5e7", @@ -12847,5 +12860,9 @@ "eip155:1329/erc20:0xcc1b8207853662c5cfabfb028806ec06ea1f6ac6": [ "eip155:56/erc20:0xcc1b8207853662c5cfabfb028806ec06ea1f6ac6", "eip155:1329/erc20:0xcc1b8207853662c5cfabfb028806ec06ea1f6ac6" + ], + "eip155:42220/erc20:0x765de816845861e75a25fca122bb6898b8b1282a": [ + "near:mainnet/nep141:cusd.token.a11bd.near", + "eip155:42220/erc20:0x765de816845861e75a25fca122bb6898b8b1282a" ] } \ No newline at end of file diff --git a/public/generated/relatedAssetIndex.json.br b/public/generated/relatedAssetIndex.json.br index 68e546d8000..0bf25d66453 100644 Binary files a/public/generated/relatedAssetIndex.json.br and b/public/generated/relatedAssetIndex.json.br differ diff --git a/public/generated/relatedAssetIndex.json.gz b/public/generated/relatedAssetIndex.json.gz index bbb9af97532..012f2c9a2b0 100644 Binary files a/public/generated/relatedAssetIndex.json.gz and b/public/generated/relatedAssetIndex.json.gz differ diff --git a/scripts/generateAssetData/ethereal/index.ts b/scripts/generateAssetData/ethereal/index.ts new file mode 100644 index 00000000000..1d2b581a0f9 --- /dev/null +++ b/scripts/generateAssetData/ethereal/index.ts @@ -0,0 +1,9 @@ +import { etherealChainId } from '@shapeshiftoss/caip' +import type { Asset } from '@shapeshiftoss/types' +import { ethereal, unfreeze } from '@shapeshiftoss/utils' + +export const getAssets = (): Asset[] => { + return [unfreeze(ethereal)] +} + +export { etherealChainId } diff --git a/scripts/generateAssetData/generateAssetData.ts b/scripts/generateAssetData/generateAssetData.ts index 2223d8add92..00c4f52ef39 100644 --- a/scripts/generateAssetData/generateAssetData.ts +++ b/scripts/generateAssetData/generateAssetData.ts @@ -34,6 +34,7 @@ import * as celo from './celo' import { compressGeneratedAssets } from './compressAssets' import { ASSET_DATA_PATH, GENERATED_DIR, RELATED_ASSET_INDEX_PATH } from './constants' import * as cronos from './cronos' +import * as ethereal from './ethereal' import * as ethereum from './ethereum' import * as flowEvm from './flowEvm' import { generateRelatedAssetIndex } from './generateRelatedAssetIndex/generateRelatedAssetIndex' @@ -91,6 +92,7 @@ const generateAssetData = async () => { const monadAssets = await monad.getAssets() const hyperevmAssets = await hyperevm.getAssets() const katanaAssets = await katana.getAssets() + const etherealAssets = await ethereal.getAssets() const flowEvmAssets = await flowEvm.getAssets() const celoAssets = await celo.getAssets() const zksyncEraAssets = await zksyncera.getAssets() @@ -144,6 +146,7 @@ const generateAssetData = async () => { ...monadAssets, ...hyperevmAssets, ...katanaAssets, + ...etherealAssets, ...flowEvmAssets, ...celoAssets, ...zksyncEraAssets, diff --git a/src/components/TradeAssetSearch/hooks/useGetPopularAssetsQuery.tsx b/src/components/TradeAssetSearch/hooks/useGetPopularAssetsQuery.tsx index a5aea798f9a..e0d7333a59a 100644 --- a/src/components/TradeAssetSearch/hooks/useGetPopularAssetsQuery.tsx +++ b/src/components/TradeAssetSearch/hooks/useGetPopularAssetsQuery.tsx @@ -5,6 +5,7 @@ import { bobAssetId, celoAssetId, cronosAssetId, + etherealAssetId, flowEvmAssetId, hemiAssetId, hyperEvmAssetId, @@ -62,12 +63,15 @@ export const queryFn = async () => { if (enabledFlags.Monad) assetIds.push(monadAssetId) if (enabledFlags.Near) assetIds.push(nearAssetId) if (enabledFlags.Plasma) assetIds.push(plasmaAssetId) - if (enabledFlags.Plume) assetIds.push(plumeAssetId) if (enabledFlags.Mantle) assetIds.push(mantleAssetId) if (enabledFlags.MegaEth) assetIds.push(megaethAssetId) if (enabledFlags.Ink) assetIds.push(inkAssetId) if (enabledFlags.Scroll) assetIds.push(scrollAssetId) if (enabledFlags.Katana) assetIds.push(katanaAssetId) + if (enabledFlags.Ethereal) assetIds.push(etherealAssetId) + if (enabledFlags.Celo) assetIds.push(celoAssetId) + if (enabledFlags.FlowEvm) assetIds.push(flowEvmAssetId) + if (enabledFlags.Plume) assetIds.push(plumeAssetId) if (enabledFlags.Story) assetIds.push(storyAssetId) if (enabledFlags.ZkSyncEra) assetIds.push(zkSyncEraAssetId) if (enabledFlags.Blast) assetIds.push(blastAssetId) @@ -81,12 +85,10 @@ export const queryFn = async () => { if (enabledFlags.Bob) assetIds.push(bobAssetId) if (enabledFlags.Mode) assetIds.push(modeAssetId) if (enabledFlags.Soneium) assetIds.push(soneiumAssetId) - if (enabledFlags.Celo) assetIds.push(celoAssetId) if (enabledFlags.Starknet) assetIds.push(starknetAssetId) if (enabledFlags.Tron) assetIds.push(tronAssetId) if (enabledFlags.Berachain) assetIds.push(berachainAssetId) if (enabledFlags.Sui) assetIds.push(suiAssetId) - if (enabledFlags.FlowEvm) assetIds.push(flowEvmAssetId) for (const assetId of [...new Set(assetIds)]) { const asset = primaryAssets[assetId] diff --git a/src/config.ts b/src/config.ts index 8daae7d76f2..9c705672a1c 100644 --- a/src/config.ts +++ b/src/config.ts @@ -74,6 +74,7 @@ const validators = { VITE_STORY_NODE_URL: url(), VITE_ZKSYNC_ERA_NODE_URL: url(), VITE_BLAST_NODE_URL: url(), + VITE_ETHEREAL_NODE_URL: url(), VITE_WORLDCHAIN_NODE_URL: url(), VITE_HEMI_NODE_URL: url(), VITE_SEI_NODE_URL: url(), @@ -136,6 +137,7 @@ const validators = { VITE_FEATURE_STORY: bool({ default: false }), VITE_FEATURE_ZK_SYNC_ERA: bool({ default: false }), VITE_FEATURE_BLAST: bool({ default: false }), + VITE_FEATURE_ETHEREAL: bool({ default: false }), VITE_FEATURE_WORLDCHAIN: bool({ default: false }), VITE_FEATURE_HEMI: bool({ default: false }), VITE_FEATURE_SEI: bool({ default: false }), diff --git a/src/constants/chains.ts b/src/constants/chains.ts index bd579d22518..2e258b19d04 100644 --- a/src/constants/chains.ts +++ b/src/constants/chains.ts @@ -34,6 +34,7 @@ export const SECOND_CLASS_CHAINS: readonly KnownChainIds[] = [ KnownChainIds.SoneiumMainnet, KnownChainIds.NearMainnet, KnownChainIds.StarknetMainnet, + KnownChainIds.EtherealMainnet, KnownChainIds.FlowEvmMainnet, KnownChainIds.CeloMainnet, ] @@ -74,6 +75,7 @@ export const knownChainIds = Object.values(KnownChainIds).filter(chainId => { if (chainId === KnownChainIds.SoneiumMainnet && !enabledFlags.Soneium) return false if (chainId === KnownChainIds.NearMainnet && !enabledFlags.Near) return false if (chainId === KnownChainIds.StarknetMainnet && !enabledFlags.Starknet) return false + if (chainId === KnownChainIds.EtherealMainnet && !enabledFlags.Ethereal) return false if (chainId === KnownChainIds.FlowEvmMainnet && !enabledFlags.FlowEvm) return false if (chainId === KnownChainIds.CeloMainnet && !enabledFlags.Celo) return false if (chainId === KnownChainIds.TonMainnet && !enabledFlags.Ton) return false diff --git a/src/context/PluginProvider/PluginProvider.tsx b/src/context/PluginProvider/PluginProvider.tsx index 6cd3e8f39d6..8ae78cbb737 100644 --- a/src/context/PluginProvider/PluginProvider.tsx +++ b/src/context/PluginProvider/PluginProvider.tsx @@ -121,6 +121,7 @@ export const PluginProvider = ({ children }: PluginProviderProps): JSX.Element = if (!featureFlags.Monad && chainId === KnownChainIds.MonadMainnet) return false if (!featureFlags.HyperEvm && chainId === KnownChainIds.HyperEvmMainnet) return false if (!featureFlags.Katana && chainId === KnownChainIds.KatanaMainnet) return false + if (!featureFlags.Ethereal && chainId === KnownChainIds.EtherealMainnet) return false if (!featureFlags.FlowEvm && chainId === KnownChainIds.FlowEvmMainnet) return false if (!featureFlags.Story && chainId === KnownChainIds.StoryMainnet) return false if (!featureFlags.WorldChain && chainId === KnownChainIds.WorldChainMainnet) return false diff --git a/src/hooks/useWalletSupportsChain/useWalletSupportsChain.ts b/src/hooks/useWalletSupportsChain/useWalletSupportsChain.ts index a95f1833c9c..dc9472cf7e6 100644 --- a/src/hooks/useWalletSupportsChain/useWalletSupportsChain.ts +++ b/src/hooks/useWalletSupportsChain/useWalletSupportsChain.ts @@ -14,6 +14,7 @@ import { cronosChainId, dogeChainId, ethChainId, + etherealChainId, flowEvmChainId, gnosisChainId, hemiChainId, @@ -67,6 +68,7 @@ import { supportsCosmos, supportsCronos, supportsETH, + supportsEthereal, supportsFlowEvm, supportsGnosis, supportsHemi, @@ -187,6 +189,8 @@ export const walletSupportsChain = ({ // We have no runtime support for the current ChainId - trying and checking for feature-capabilities flags is futile if (!hasRuntimeSupport) return false + const isEtherealEnabled = selectFeatureFlag(store.getState(), 'Ethereal') + const isFlowEvmEnabled = selectFeatureFlag(store.getState(), 'FlowEvm') const isZkSyncEraEnabled = selectFeatureFlag(store.getState(), 'ZkSyncEra') const isBlastEnabled = selectFeatureFlag(store.getState(), 'Blast') const isHemiEnabled = selectFeatureFlag(store.getState(), 'Hemi') @@ -194,7 +198,7 @@ export const walletSupportsChain = ({ const isInkEnabled = selectFeatureFlag(store.getState(), 'Ink') const isBobEnabled = selectFeatureFlag(store.getState(), 'Bob') const isKatanaEnabled = selectFeatureFlag(store.getState(), 'Katana') - const isFlowEvmEnabled = selectFeatureFlag(store.getState(), 'FlowEvm') + const isCeloEnabled = selectFeatureFlag(store.getState(), 'Celo') const isStoryEnabled = selectFeatureFlag(store.getState(), 'Story') const isMantleEnabled = selectFeatureFlag(store.getState(), 'Mantle') const isLineaEnabled = selectFeatureFlag(store.getState(), 'Linea') @@ -214,7 +218,6 @@ export const walletSupportsChain = ({ const isStarknetEnabled = selectFeatureFlag(store.getState(), 'Starknet') const isWorldChainEnabled = selectFeatureFlag(store.getState(), 'WorldChain') const isTonEnabled = selectFeatureFlag(store.getState(), 'Ton') - const isCeloEnabled = selectFeatureFlag(store.getState(), 'Celo') switch (chainId) { case btcChainId: @@ -238,8 +241,6 @@ export const walletSupportsChain = ({ return supportsOptimism(wallet) case bscChainId: return supportsBSC(wallet) - case celoChainId: - return isCeloEnabled && supportsCelo(wallet) case polygonChainId: return supportsPolygon(wallet) case gnosisChainId: @@ -262,12 +263,16 @@ export const walletSupportsChain = ({ return isBerachainEnabled && supportsBerachain(wallet) case plasmaChainId: return isPlasmaEnabled && supportsPlasma(wallet) - case plumeChainId: - return isPlumeEnabled && supportsPlume(wallet) case katanaChainId: return isKatanaEnabled && supportsKatana(wallet) + case etherealChainId: + return isEtherealEnabled && supportsEthereal(wallet) + case celoChainId: + return isCeloEnabled && supportsCelo(wallet) case flowEvmChainId: return isFlowEvmEnabled && supportsFlowEvm(wallet) + case plumeChainId: + return isPlumeEnabled && supportsPlume(wallet) case storyChainId: return isStoryEnabled && supportsStory(wallet) case zkSyncEraChainId: diff --git a/src/lib/account/evm.ts b/src/lib/account/evm.ts index be93db04e02..8ea9b25291d 100644 --- a/src/lib/account/evm.ts +++ b/src/lib/account/evm.ts @@ -10,6 +10,7 @@ import { celoChainId, cronosChainId, ethChainId, + etherealChainId, flowEvmChainId, fromAccountId, gnosisChainId, @@ -49,6 +50,7 @@ import { supportsCelo, supportsCronos, supportsETH, + supportsEthereal, supportsFlowEvm, supportsGnosis, supportsHemi, @@ -174,6 +176,7 @@ export const deriveEvmAccountIdsAndMetadata: DeriveAccountIdsAndMetadata = async if (chainId === scrollChainId && !supportsScroll(wallet)) continue if (chainId === cronosChainId && !supportsCronos(wallet)) continue if (chainId === katanaChainId && !supportsKatana(wallet)) continue + if (chainId === etherealChainId && !supportsEthereal(wallet)) continue if (chainId === flowEvmChainId && !supportsFlowEvm(wallet)) continue if (chainId === storyChainId && !supportsStory(wallet)) continue if (chainId === zkSyncEraChainId && !supportsZkSyncEra(wallet)) continue diff --git a/src/lib/asset-service/service/AssetService.ts b/src/lib/asset-service/service/AssetService.ts index ebaaa43c744..49bd2b1336f 100644 --- a/src/lib/asset-service/service/AssetService.ts +++ b/src/lib/asset-service/service/AssetService.ts @@ -9,6 +9,7 @@ import { bscChainId, celoChainId, cronosChainId, + etherealChainId, flowEvmChainId, gnosisChainId, hemiChainId, @@ -151,6 +152,7 @@ class _AssetService { if (!config.VITE_FEATURE_HEMI && asset.chainId === hemiChainId) return false if (!config.VITE_FEATURE_MANTLE && asset.chainId === mantleChainId) return false if (!config.VITE_FEATURE_INK && asset.chainId === inkChainId) return false + if (!config.VITE_FEATURE_ETHEREAL && asset.chainId === etherealChainId) return false if (!config.VITE_FEATURE_FLOWEVM && asset.chainId === flowEvmChainId) return false if (!config.VITE_FEATURE_SONIC && asset.chainId === sonicChainId) return false if (!config.VITE_FEATURE_UNICHAIN && asset.chainId === unichainChainId) return false diff --git a/src/pages/Markets/components/MarketsRow.tsx b/src/pages/Markets/components/MarketsRow.tsx index 7b5ac4d72ef..60485b7510e 100644 --- a/src/pages/Markets/components/MarketsRow.tsx +++ b/src/pages/Markets/components/MarketsRow.tsx @@ -101,6 +101,7 @@ export const MarketsRow: React.FC = ({ const isBobEnabled = useAppSelector(state => selectFeatureFlag(state, 'Bob')) const isModeEnabled = useAppSelector(state => selectFeatureFlag(state, 'Mode')) const isSoneiumEnabled = useAppSelector(state => selectFeatureFlag(state, 'Soneium')) + const isEtherealEnabled = useAppSelector(state => selectFeatureFlag(state, 'Ethereal')) const isFlowEvmEnabled = useAppSelector(state => selectFeatureFlag(state, 'FlowEvm')) const isCeloEnabled = useAppSelector(state => selectFeatureFlag(state, 'Celo')) const isSeiEnabled = useAppSelector(state => selectFeatureFlag(state, 'Sei')) @@ -133,6 +134,7 @@ export const MarketsRow: React.FC = ({ if (!isBobEnabled && chainId === KnownChainIds.BobMainnet) return false if (!isModeEnabled && chainId === KnownChainIds.ModeMainnet) return false if (!isSoneiumEnabled && chainId === KnownChainIds.SoneiumMainnet) return false + if (!isEtherealEnabled && chainId === KnownChainIds.EtherealMainnet) return false if (!isFlowEvmEnabled && chainId === KnownChainIds.FlowEvmMainnet) return false if (!isCeloEnabled && chainId === KnownChainIds.CeloMainnet) return false return true @@ -161,6 +163,7 @@ export const MarketsRow: React.FC = ({ isBobEnabled, isModeEnabled, isSoneiumEnabled, + isEtherealEnabled, isFlowEvmEnabled, isCeloEnabled, isSeiEnabled, diff --git a/src/plugins/activePlugins.ts b/src/plugins/activePlugins.ts index f013af3d3fc..a99c951ca8b 100644 --- a/src/plugins/activePlugins.ts +++ b/src/plugins/activePlugins.ts @@ -11,6 +11,7 @@ import celo from '@/plugins/celo' import cosmos from '@/plugins/cosmos' import cronos from '@/plugins/cronos' import dogecoin from '@/plugins/dogecoin' +import ethereal from '@/plugins/ethereal' import ethereum from '@/plugins/ethereum' import flowEvm from '@/plugins/flowEvm' import gnosis from '@/plugins/gnosis' @@ -63,6 +64,7 @@ export const activePlugins = [ cronos, dogecoin, ethereum, + ethereal, flowEvm, gnosis, hemi, diff --git a/src/plugins/ethereal/index.tsx b/src/plugins/ethereal/index.tsx new file mode 100644 index 00000000000..94e2a58dab7 --- /dev/null +++ b/src/plugins/ethereal/index.tsx @@ -0,0 +1,49 @@ +import { etherealChainId, fromAssetId } from '@shapeshiftoss/caip' +import { ethereal } from '@shapeshiftoss/chain-adapters' +import { KnownChainIds } from '@shapeshiftoss/types' + +import { getConfig } from '@/config' +import { getAssetService } from '@/lib/asset-service' +import type { Plugins } from '@/plugins/types' + +// eslint-disable-next-line import/no-default-export +export default function register(): Plugins { + return [ + [ + 'etherealChainAdapter', + { + name: 'etherealChainAdapter', + featureFlag: ['Ethereal'], + providers: { + chainAdapters: [ + [ + KnownChainIds.EtherealMainnet, + () => { + const getKnownTokens = () => { + const assetService = getAssetService() + return assetService.assets + .filter(asset => { + const { chainId, assetNamespace } = fromAssetId(asset.assetId) + return chainId === etherealChainId && assetNamespace === 'erc20' + }) + .map(asset => ({ + assetId: asset.assetId, + contractAddress: fromAssetId(asset.assetId).assetReference, + symbol: asset.symbol, + name: asset.name, + precision: asset.precision, + })) + } + + return new ethereal.ChainAdapter({ + rpcUrl: getConfig().VITE_ETHEREAL_NODE_URL, + getKnownTokens, + }) + }, + ], + ], + }, + }, + ], + ] +} diff --git a/src/state/slices/opportunitiesSlice/mappings.ts b/src/state/slices/opportunitiesSlice/mappings.ts index 5b9b69d8849..1a80e5eb004 100644 --- a/src/state/slices/opportunitiesSlice/mappings.ts +++ b/src/state/slices/opportunitiesSlice/mappings.ts @@ -198,6 +198,7 @@ export const CHAIN_ID_TO_SUPPORTED_DEFI_OPPORTUNITIES: Record< [KnownChainIds.ScrollMainnet]: [], [KnownChainIds.CronosMainnet]: [], [KnownChainIds.KatanaMainnet]: [], + [KnownChainIds.EtherealMainnet]: [], [KnownChainIds.FlowEvmMainnet]: [], [KnownChainIds.CeloMainnet]: [], [KnownChainIds.PlumeMainnet]: [], diff --git a/src/state/slices/portfolioSlice/utils/index.ts b/src/state/slices/portfolioSlice/utils/index.ts index e27dff556a5..53e448a9754 100644 --- a/src/state/slices/portfolioSlice/utils/index.ts +++ b/src/state/slices/portfolioSlice/utils/index.ts @@ -16,6 +16,7 @@ import { cronosChainId, dogeChainId, ethChainId, + etherealChainId, flowEvmChainId, fromAccountId, fromAssetId, @@ -73,6 +74,7 @@ import { supportsCosmos, supportsCronos, supportsETH, + supportsEthereal, supportsFlowEvm, supportsGnosis, supportsHemi, @@ -146,6 +148,7 @@ export const accountIdToLabel = (accountId: AccountId): string => { case inkChainId: case megaethChainId: case berachainChainId: + case etherealChainId: case flowEvmChainId: case lineaChainId: case cronosChainId: @@ -565,6 +568,8 @@ export const isAssetSupportedByWallet = (assetId: AssetId, wallet: HDWallet): bo return supportsMonad(wallet) case hyperEvmChainId: return supportsHyperEvm(wallet) + case etherealChainId: + return supportsEthereal(wallet) case flowEvmChainId: return supportsFlowEvm(wallet) case mantleChainId: diff --git a/src/state/slices/preferencesSlice/preferencesSlice.ts b/src/state/slices/preferencesSlice/preferencesSlice.ts index 11a27bc910a..17d8ee8bb95 100644 --- a/src/state/slices/preferencesSlice/preferencesSlice.ts +++ b/src/state/slices/preferencesSlice/preferencesSlice.ts @@ -42,8 +42,9 @@ export type FeatureFlags = { Berachain: boolean Cronos: boolean Katana: boolean - FlowEvm: boolean + Ethereal: boolean Celo: boolean + FlowEvm: boolean Plume: boolean Story: boolean ZkSyncEra: boolean @@ -212,8 +213,9 @@ const initialState: Preferences = { Berachain: getConfig().VITE_FEATURE_BERACHAIN, Cronos: getConfig().VITE_FEATURE_CRONOS, Katana: getConfig().VITE_FEATURE_KATANA, - FlowEvm: getConfig().VITE_FEATURE_FLOWEVM, + Ethereal: getConfig().VITE_FEATURE_ETHEREAL, Celo: getConfig().VITE_FEATURE_CELO, + FlowEvm: getConfig().VITE_FEATURE_FLOWEVM, Plume: getConfig().VITE_FEATURE_PLUME, Story: getConfig().VITE_FEATURE_STORY, ZkSyncEra: getConfig().VITE_FEATURE_ZK_SYNC_ERA, diff --git a/src/test/mocks/store.ts b/src/test/mocks/store.ts index 8d0a559a464..6969b97226e 100644 --- a/src/test/mocks/store.ts +++ b/src/test/mocks/store.ts @@ -115,6 +115,7 @@ export const mockStore: ReduxState = { Berachain: false, Cronos: false, Katana: false, + Ethereal: false, FlowEvm: false, Celo: false, Plume: false, diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts index 89ee9eaa92b..a62102f518d 100644 --- a/src/vite-env.d.ts +++ b/src/vite-env.d.ts @@ -216,6 +216,8 @@ interface ImportMetaEnv { readonly VITE_FEATURE_WORLDCHAIN: string readonly VITE_BLAST_NODE_URL: string readonly VITE_FEATURE_BLAST: string + readonly VITE_ETHEREAL_NODE_URL: string + readonly VITE_FEATURE_ETHEREAL: string readonly VITE_SEI_NODE_URL: string readonly VITE_FEATURE_SEI: string readonly VITE_FEATURE_NOTIFICATIONS_WEBSERVICES: string