@aori/mega-swap-widget 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +404 -0
- package/dist/AssetSelectionMenu-Y3EB32BT.cjs +13 -0
- package/dist/AssetSelectionMenu-Y3EB32BT.cjs.map +1 -0
- package/dist/AssetSelectionMenu-ZRG42UCZ.js +13 -0
- package/dist/AssetSelectionMenu-ZRG42UCZ.js.map +1 -0
- package/dist/ChainSelectionMenu-FBAPPFKI.cjs +11 -0
- package/dist/ChainSelectionMenu-FBAPPFKI.cjs.map +1 -0
- package/dist/ChainSelectionMenu-QO3H4TNR.js +11 -0
- package/dist/ChainSelectionMenu-QO3H4TNR.js.map +1 -0
- package/dist/SwapFormHorizontal-JDJUDFNX.js +573 -0
- package/dist/SwapFormHorizontal-JDJUDFNX.js.map +1 -0
- package/dist/SwapFormHorizontal-WG3Z3CFT.cjs +573 -0
- package/dist/SwapFormHorizontal-WG3Z3CFT.cjs.map +1 -0
- package/dist/SwapFormSplit-7CHTPLEQ.js +441 -0
- package/dist/SwapFormSplit-7CHTPLEQ.js.map +1 -0
- package/dist/SwapFormSplit-VDDIRQUQ.cjs +441 -0
- package/dist/SwapFormSplit-VDDIRQUQ.cjs.map +1 -0
- package/dist/WalletPlaceholderPanel-7YDQ4FT6.js +57 -0
- package/dist/WalletPlaceholderPanel-7YDQ4FT6.js.map +1 -0
- package/dist/WalletPlaceholderPanel-FZ6XIAMF.cjs +57 -0
- package/dist/WalletPlaceholderPanel-FZ6XIAMF.cjs.map +1 -0
- package/dist/WidgetWalletPanel-D7I5TAU3.js +789 -0
- package/dist/WidgetWalletPanel-D7I5TAU3.js.map +1 -0
- package/dist/WidgetWalletPanel-T7H6FGVN.cjs +789 -0
- package/dist/WidgetWalletPanel-T7H6FGVN.cjs.map +1 -0
- package/dist/chunk-3E6RNP2D.cjs +389 -0
- package/dist/chunk-3E6RNP2D.cjs.map +1 -0
- package/dist/chunk-5TH6MFQD.cjs +122 -0
- package/dist/chunk-5TH6MFQD.cjs.map +1 -0
- package/dist/chunk-5XSCUUOW.js +101 -0
- package/dist/chunk-5XSCUUOW.js.map +1 -0
- package/dist/chunk-6Q7MSCKS.js +2199 -0
- package/dist/chunk-6Q7MSCKS.js.map +1 -0
- package/dist/chunk-6XB5R4GF.cjs +368 -0
- package/dist/chunk-6XB5R4GF.cjs.map +1 -0
- package/dist/chunk-6YLNOZ7P.js +389 -0
- package/dist/chunk-6YLNOZ7P.js.map +1 -0
- package/dist/chunk-7AWG6OWF.js +27 -0
- package/dist/chunk-7AWG6OWF.js.map +1 -0
- package/dist/chunk-ARMW5POL.js +3082 -0
- package/dist/chunk-ARMW5POL.js.map +1 -0
- package/dist/chunk-B3ILUJ7G.cjs +101 -0
- package/dist/chunk-B3ILUJ7G.cjs.map +1 -0
- package/dist/chunk-GGM3MDFM.js +32 -0
- package/dist/chunk-GGM3MDFM.js.map +1 -0
- package/dist/chunk-GZUTUD5O.cjs +2199 -0
- package/dist/chunk-GZUTUD5O.cjs.map +1 -0
- package/dist/chunk-HXOGJSAI.cjs +3082 -0
- package/dist/chunk-HXOGJSAI.cjs.map +1 -0
- package/dist/chunk-LTA7IG3J.js +122 -0
- package/dist/chunk-LTA7IG3J.js.map +1 -0
- package/dist/chunk-NBJPKJBC.cjs +32 -0
- package/dist/chunk-NBJPKJBC.cjs.map +1 -0
- package/dist/chunk-PGYOJ5RB.cjs +27 -0
- package/dist/chunk-PGYOJ5RB.cjs.map +1 -0
- package/dist/chunk-QHW27RMH.js +199 -0
- package/dist/chunk-QHW27RMH.js.map +1 -0
- package/dist/chunk-TMC4SUEV.js +368 -0
- package/dist/chunk-TMC4SUEV.js.map +1 -0
- package/dist/chunk-XQINW7QP.cjs +199 -0
- package/dist/chunk-XQINW7QP.cjs.map +1 -0
- package/dist/index.cjs +1780 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +1424 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.cts +555 -0
- package/dist/index.d.ts +555 -0
- package/dist/index.js +1780 -0
- package/dist/index.js.map +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/context/WidgetConfigContext.tsx","../src/internal/chainsConfig.ts","../src/internal/assets/chainIcons.ts","../src/internal/assets/tokenIcons.ts","../src/internal/helpers.ts","../src/internal/types.ts","../src/internal/hooks/useDebounce.ts","../src/internal/queries/tokens/hooks.ts","../src/internal/environment.ts","../src/internal/queries/chains/getAvailableChains.ts","../src/internal/queries/tokens/queryFunctions.ts","../src/internal/queries/tokens/queryKeys.ts","../src/internal/queries/balances/hooks.ts","../src/internal/queries/balances/queryFunctions.ts","../src/internal/queries/balances/queryKeys.ts","../src/internal/components/ChainIcon.tsx","../src/internal/components/TokenImage.tsx","../src/internal/animations/ThreeDots.tsx","../src/internal/hooks/useTextScramble.ts","../src/internal/hooks/useTokenWithLazyLoad.ts","../src/internal/queries/chains/hooks.ts","../src/internal/queries/chains/queryKeys.ts","../src/internal/client/aoriClient.ts","../src/internal/client/AoriProvider.tsx","../src/internal/components/CopyText.tsx","../src/internal/animations/Checkmark.tsx","../src/internal/icons/ClipboardIcon.tsx","../src/internal/components/Skeleton.tsx","../src/internal/icons/RedoIcon.tsx","../src/internal/icons/UserIcon.tsx","../src/internal/icons/DropdownIcon.tsx","../src/internal/animations/LoadingSpinner.tsx","../src/internal/animations/RedoAnimation.tsx","../src/internal/animations/XAnimation.tsx","../src/hooks/useEnabledChainIds.ts"],"sourcesContent":["'use client';\n\nimport { createContext, useContext, useMemo } from 'react';\n\nexport interface WidgetConfig {\n apiKey?: string;\n walletConnectProjectId?: string;\n web3ConnectionType: 'standalone' | 'custom';\n enabledChains: number[];\n supportedInputTokens: Array<{ chainId: number; address: string }>;\n supportedOutputTokens: Array<{ chainId: number; address: string }>;\n supportedInputChains: number[];\n supportedOutputChains: number[];\n inputSelectionSearch: boolean;\n outputSelectionSearch: boolean;\n showInputSelectionTokenBalances: boolean;\n showOutputSelectionTokenBalances: boolean;\n lockBase: boolean;\n lockQuote: boolean;\n disableInverting: boolean;\n defaultSlippage: number;\n widgetType: 'default' | 'compact' | 'horizontal' | 'split';\n tokenDisplay: 'default' | 'pill' | 'ghost';\n tokenBadgeOrientation: 'left' | 'right';\n assetMenuVariant: 'default' | 'split';\n amountInputVariant: 'default' | 'normal';\n hideAmountInputSymbol: boolean;\n swapButtonVariant: 'default' | 'outline' | 'ghost';\n swapHeaderVariant: 'default' | 'none';\n quoteLoaderVariant: 'default' | 'expanded' | 'none';\n walletButtonEnabled: boolean;\n hasConnectHandler: boolean;\n customWalletUI: 'builtin' | 'none' | 'provider';\n}\n\nexport const WidgetConfigContext = createContext<WidgetConfig>({\n apiKey: undefined,\n web3ConnectionType: 'custom',\n enabledChains: [],\n supportedInputTokens: [],\n supportedOutputTokens: [],\n supportedInputChains: [],\n supportedOutputChains: [],\n inputSelectionSearch: true,\n outputSelectionSearch: true,\n showInputSelectionTokenBalances: true,\n showOutputSelectionTokenBalances: true,\n lockBase: false,\n lockQuote: false,\n disableInverting: false,\n defaultSlippage: 0.01,\n widgetType: 'default',\n tokenDisplay: 'default',\n tokenBadgeOrientation: 'left',\n assetMenuVariant: 'default',\n amountInputVariant: 'default',\n hideAmountInputSymbol: false,\n swapButtonVariant: 'default',\n swapHeaderVariant: 'default',\n quoteLoaderVariant: 'default',\n walletButtonEnabled: true,\n hasConnectHandler: false,\n customWalletUI: 'builtin',\n});\n\nexport function useWidgetConfig(): WidgetConfig {\n const config = useContext(WidgetConfigContext);\n return useMemo(() => {\n if (config.widgetType === 'compact') {\n return { ...config, amountInputVariant: 'normal' as const };\n }\n return config;\n }, [config]);\n}\n","import {\n type Chain,\n arbitrum,\n base,\n bsc,\n mainnet,\n optimism,\n} from 'wagmi/chains';\nimport { getChainIcon } from './assets/chainIcons';\nimport { getTokenIcon, MISSING_TOKEN_SVG } from './assets/tokenIcons';\n\n/**\n * SIMPLIFIED CHAIN CONFIGURATION\n *\n * Philosophy: Define each chain ONCE with minimal data.\n * Everything else is derived or follows conventions.\n */\n\n// Native asset address - same across all EVM chains\nexport const NATIVE_ASSET_ADDRESS =\n '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';\n\n// Stable chain v1.2.0+: USDT0 is both the native gas token and an ERC20 token.\nconst STABLE_USDT0_ADDRESS = '0x779ded0c9e1022225f8e0630b35a9b54be713736';\n\n// ============================================================================\n// MINIMAL CHAIN DEFINITIONS\n// ============================================================================\n\n/**\n * Minimal chain data - everything else is derived\n */\ninterface MinimalChainConfig {\n id: number;\n key: string; // lowercase API key\n eid: number; // LayerZero Endpoint ID\n isActive?: boolean; // Production visibility (default: true)\n\n // Optional overrides for derived values\n name?: string; // Override default (key)\n displayName?: string; // Override default (derived from key)\n shortName?: string; // Override default (derived from nativeSymbol)\n logoUrl?: string; // Override default (derived from key)\n\n // Native token info\n nativeSymbol: string; // 'ETH', 'XPL', 'BNB', 'MON', 'gUSDT', 'rBTC'\n nativeName: string; // 'Ether', 'Plasma Token', etc.\n nativeDecimals?: number; // default: 18\n nativeAddress?: string; // default: NATIVE_ASSET_ADDRESS; override for chains with non-standard native identifiers\n nativeLogoUrl?: string; // Override default (derived from symbol)\n\n // Wrapped token\n wrappedAddress: string;\n wrappedSymbol?: string; // Override default (W + nativeSymbol)\n wrappedName?: string; // Override default (Wrapped + nativeName)\n wrappedDecimals?: number; // Override default (same as native)\n wrappedLogoUrl?: string; // Override default (derived from symbol)\n\n // Preferred stablecoins\n stablecoins: Array<{\n symbol: string;\n address: string;\n decimals: number;\n }>;\n\n // Network\n rpcUrls: string[];\n blockExplorerUrls: string[];\n blockTimeMs: number;\n\n // UI\n color: string;\n\n // Wagmi chain (if standard, just import; if custom, define inline)\n wagmiChain: Chain | (() => Chain);\n}\n\n// ============================================================================\n// CHAIN REGISTRY - Single source of truth\n// ============================================================================\n\nconst CHAIN_REGISTRY: Record<number, MinimalChainConfig> = {\n 1: {\n id: 1,\n key: 'ethereum',\n eid: 30101,\n nativeSymbol: 'ETH',\n nativeName: 'Ether',\n wrappedAddress: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',\n stablecoins: [\n {\n symbol: 'USDC',\n address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',\n decimals: 6,\n },\n {\n symbol: 'USDT',\n address: '0xdAC17F958D2ee523a2206206994597C13D831ec7',\n decimals: 6,\n },\n ],\n rpcUrls: [\n 'https://ethereum.publicnode.com',\n 'https://eth.llamarpc.com',\n 'https://eth.drpc.org',\n 'https://rpc.eth.gateway.fm',\n ],\n blockExplorerUrls: ['https://etherscan.io'],\n blockTimeMs: 5_000,\n color: '#627EEA',\n wagmiChain: mainnet,\n },\n\n 42161: {\n id: 42161,\n key: 'arbitrum',\n eid: 30110,\n nativeSymbol: 'ETH',\n nativeName: 'Ether',\n wrappedAddress: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',\n stablecoins: [\n {\n symbol: 'USDC',\n address: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',\n decimals: 6,\n },\n {\n symbol: 'USDT0',\n address: '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9',\n decimals: 6,\n },\n ],\n rpcUrls: [\n 'https://arb1.arbitrum.io/rpc',\n 'https://arbitrum.llamarpc.com',\n 'https://arbitrum.drpc.org',\n ],\n blockExplorerUrls: ['https://arbiscan.io'],\n blockTimeMs: 250,\n color: '#28A0F0',\n wagmiChain: arbitrum,\n },\n\n 10: {\n id: 10,\n key: 'optimism',\n eid: 30111,\n nativeSymbol: 'ETH',\n nativeName: 'Ether',\n wrappedAddress: '0x4200000000000000000000000000000000000006',\n stablecoins: [\n {\n symbol: 'USDC',\n address: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85',\n decimals: 6,\n },\n {\n symbol: 'USDT0',\n address: '0x01bFF41798a0BcF287b996046Ca68b395DbC1071',\n decimals: 6,\n },\n ],\n rpcUrls: [\n 'https://mainnet.optimism.io',\n 'https://optimism.llamarpc.com',\n 'https://optimism.drpc.org',\n ],\n blockExplorerUrls: ['https://optimistic.etherscan.io'],\n blockTimeMs: 2_000,\n color: '#FF0420',\n wagmiChain: optimism,\n },\n\n 8453: {\n id: 8453,\n key: 'base',\n eid: 30184,\n nativeSymbol: 'ETH',\n nativeName: 'Ether',\n wrappedAddress: '0x4200000000000000000000000000000000000006',\n stablecoins: [\n {\n symbol: 'USDC',\n address: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',\n decimals: 6,\n },\n {\n symbol: 'USDT',\n address: '0xfde4c96c8593536e31f229ea8f37b2ada2699bb2',\n decimals: 6,\n },\n ],\n rpcUrls: [\n 'https://mainnet.base.org',\n 'https://base.llamarpc.com',\n 'https://base.drpc.org',\n ],\n blockExplorerUrls: ['https://basescan.org'],\n blockTimeMs: 2_000,\n color: '#3742fa',\n wagmiChain: base,\n },\n\n 9745: {\n id: 9745,\n key: 'plasma',\n eid: 30383,\n nativeSymbol: 'XPL',\n nativeName: 'Plasma Token',\n wrappedAddress: '0x6100E367285b01F48D07953803A2d8dCA5D19873',\n stablecoins: [\n {\n symbol: 'USDT0',\n address: '0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb',\n decimals: 6,\n },\n ],\n rpcUrls: ['https://rpc.plasma.to', 'https://9745.rpc.thirdweb.com'],\n blockExplorerUrls: ['https://plasmascan.to'],\n blockTimeMs: 1_000,\n color: '#2A5A50',\n wagmiChain: () => ({\n id: 9745,\n name: 'Plasma',\n nativeCurrency: { name: 'Plasma Token', symbol: 'XPL', decimals: 18 },\n rpcUrls: { default: { http: ['https://rpc.plasma.to'] } },\n blockExplorers: {\n default: { name: 'PlasmaScan', url: 'https://plasmascan.to' },\n },\n contracts: {\n multicall3: {\n address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n blockCreated: 1,\n },\n },\n }),\n },\n\n 56: {\n id: 56,\n key: 'bsc',\n name: 'bnb', // Override: name is 'bnb' not 'bsc'\n eid: 30102,\n nativeSymbol: 'BNB',\n nativeName: 'BNB',\n wrappedAddress: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c',\n stablecoins: [\n {\n symbol: 'USDC',\n address: '0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d',\n decimals: 18,\n },\n {\n symbol: 'USDT',\n address: '0x55d398326f99059fF775485246999027B3197955',\n decimals: 18,\n },\n ],\n rpcUrls: ['https://bsc-dataseed1.binance.org', 'https://bsc.drpc.org'],\n blockExplorerUrls: ['https://bscscan.com'],\n blockTimeMs: 2_000,\n color: '#F3BA2F',\n wagmiChain: bsc,\n },\n\n 143: {\n id: 143,\n key: 'monad',\n name: 'Monad', // Override: name is 'Monad' (capitalized) not 'monad'\n eid: 30390,\n isActive: true,\n nativeSymbol: 'MON',\n nativeName: 'Monad',\n wrappedAddress: '0x3bd359C1119dA7Da1D913D1C4D2B7c461115433A',\n stablecoins: [\n {\n symbol: 'USDC',\n address: '0x754704Bc059F8C67012fEd69BC8A327a5aafb603',\n decimals: 6,\n },\n {\n symbol: 'USDT0',\n address: '0xe7cd86e13ac4309349f30b3435a9d337750fc82d',\n decimals: 6,\n },\n ],\n rpcUrls: [\n 'https://rpc.monad.xyz',\n 'https://rpc1.monad.xyz',\n 'https://rpc2.monad.xyz',\n 'https://rpc3.monad.xyz',\n ],\n blockExplorerUrls: ['https://monadvision.com'],\n blockTimeMs: 1_000,\n color: '#6D5CE6',\n logoUrl: '/images/tokens/monad.svg',\n wagmiChain: () => ({\n id: 143,\n name: 'Monad',\n nativeCurrency: { name: 'Monad', symbol: 'MON', decimals: 18 },\n rpcUrls: { default: { http: ['https://rpc.monad.xyz'] } },\n blockExplorers: {\n default: { name: 'MonadVision', url: 'https://monadvision.com' },\n },\n contracts: {\n multicall3: {\n address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n blockCreated: 1,\n },\n },\n }),\n },\n\n 988: {\n id: 988,\n key: 'stable',\n name: 'Stable',\n displayName: 'Stable',\n shortName: 'Stable',\n eid: 30396,\n isActive: true,\n // Stable v1.2.0+: USDT0 is BOTH the native gas token AND a standard ERC20.\n // eth_getBalance returns USDT0 in 18-decimal units (gas/wei scale).\n // balanceOf(0x779...) returns USDT0 in 6-decimal units (ERC20 scale).\n nativeSymbol: 'USDT0',\n nativeName: 'USDT0',\n nativeAddress: STABLE_USDT0_ADDRESS, // ERC20 contract IS the native token identifier\n nativeDecimals: 18, // eth_getBalance returns 18-decimal units (gas scale)\n // wrappedAddress = nativeAddress: USDT0 is both native and \"wrapped\".\n // isWrappingPair / isUnwrappingPair detect this and return false for Stable.\n wrappedAddress: STABLE_USDT0_ADDRESS,\n wrappedSymbol: 'USDT0',\n wrappedName: 'USDT0',\n wrappedDecimals: 6, // ERC20 balanceOf uses 6 decimals\n stablecoins: [\n {\n symbol: 'USDT0',\n address: STABLE_USDT0_ADDRESS,\n decimals: 6,\n },\n ],\n rpcUrls: ['https://rpc.stable.xyz'],\n blockExplorerUrls: ['https://stablescan.xyz'],\n blockTimeMs: 1_000,\n color: '#00B69B',\n logoUrl: '/images/tokens/stable.svg',\n wagmiChain: () => ({\n id: 988,\n name: 'Stable',\n nativeCurrency: { name: 'USDT0', symbol: 'USDT0', decimals: 18 },\n rpcUrls: { default: { http: ['https://rpc.stable.xyz'] } },\n blockExplorers: {\n default: { name: 'StableScan', url: 'https://stablescan.xyz' },\n },\n contracts: {\n multicall3: {\n address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n blockCreated: 1,\n },\n },\n }),\n },\n\n 4326: {\n id: 4326,\n key: 'megaeth',\n eid: 30398,\n isActive: true,\n nativeSymbol: 'ETH',\n nativeName: 'Ether',\n wrappedAddress: '0x4200000000000000000000000000000000000006',\n stablecoins: [\n {\n symbol: 'USDT0',\n address: '0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb',\n decimals: 6,\n },\n {\n symbol: 'USDM',\n address: '0xFAfDdbb3FC7688494971a79cc65DCa3EF82079E7',\n decimals: 18,\n },\n ],\n rpcUrls: ['https://mainnet.megaeth.com/rpc', 'https://megaeth.drpc.org'],\n blockExplorerUrls: ['https://mega.etherscan.io'],\n blockTimeMs: 1_000,\n color: '#ffffff',\n wagmiChain: () => ({\n id: 4326,\n name: 'MegaETH',\n nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n rpcUrls: { default: { http: ['https://mainnet.megaeth.com/rpc'] } },\n blockExplorers: {\n default: { name: 'MegaEtherscan', url: 'https://mega.etherscan.io' },\n },\n contracts: {\n multicall3: {\n address: '0xcA11bde05977b3631167028862bE2a173976CA11',\n blockCreated: 1,\n },\n },\n }),\n },\n\n 30: {\n id: 30,\n key: 'rootstock',\n shortName: 'Root', // Override: shortName is 'Root' not 'rBTC'\n eid: 30333,\n isActive: false,\n nativeSymbol: 'rBTC',\n nativeName: 'rBTC',\n wrappedAddress: '0x542fDA317318eBF1d3DEAf76E0b632741A7e677d',\n wrappedSymbol: 'wRBTC', // Override: lowercase 'w' not 'W'\n stablecoins: [\n {\n symbol: 'USDT0',\n address: '0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb',\n decimals: 6,\n },\n ],\n rpcUrls: ['https://public-node.rsk.co'],\n blockExplorerUrls: ['https://explorer.rootstock.io'],\n blockTimeMs: 30_000,\n color: '#ffffff',\n wagmiChain: () => ({\n id: 30,\n name: 'rootstock',\n nativeCurrency: { name: 'rBTC', symbol: 'rBTC', decimals: 18 },\n rpcUrls: { default: { http: ['https://public-node.rsk.co'] } },\n blockExplorers: {\n default: {\n name: 'rootstock explorer',\n url: 'https://explorer.rootstock.io',\n },\n },\n contracts: {\n multicall3: {\n address: '0xCa11bdE05977B3631167028862Be2a173976ca11',\n blockCreated: 1,\n },\n },\n }),\n },\n};\n\n// ============================================================================\n// DERIVED CONFIGURATION - Auto-generated from CHAIN_REGISTRY\n// ============================================================================\n\n/**\n * Auto-generate display names from native symbol\n * ETH → Ethereum, BNB → BNB, XPL → Plasma, etc.\n */\nfunction deriveDisplayName(key: string, nativeSymbol: string): string {\n const overrides: Record<string, string> = {\n ethereum: 'Ethereum',\n arbitrum: 'Arbitrum',\n optimism: 'Optimism',\n base: 'Base',\n plasma: 'Plasma',\n bsc: 'BNB',\n monad: 'Monad',\n stable: 'Stable',\n megaeth: 'MegaETH',\n rootstock: 'Rootstock',\n };\n return overrides[key] || key.charAt(0).toUpperCase() + key.slice(1);\n}\n\n/**\n * Auto-generate short names from native symbol\n */\nfunction deriveShortName(nativeSymbol: string, key: string): string {\n if (nativeSymbol === 'ETH') {\n const ethChainShortNames: Record<string, string> = {\n ethereum: 'ETH',\n arbitrum: 'ARB',\n optimism: 'OP',\n base: 'BASE',\n megaeth: 'MEGA',\n };\n return ethChainShortNames[key] || 'ETH';\n }\n return nativeSymbol;\n}\n\n/**\n * Auto-generate wrapped token symbol (W + native)\n */\nfunction deriveWrappedSymbol(nativeSymbol: string, key: string): string {\n // Stable is special - wrapped is USDT0, not WgUSDT\n if (key === 'stable') return 'USDT0';\n return `W${nativeSymbol}`;\n}\n\n/**\n * Auto-generate wrapped token name\n */\nfunction deriveWrappedName(nativeName: string, key: string): string {\n if (key === 'stable') return 'USDT0';\n return `Wrapped ${nativeName}`;\n}\n\nfunction resolveRelativeUrl(url: string): string {\n if (url.startsWith('/')) {\n const filename = url.split('/').pop()?.replace(/\\.[^.]+$/, '').toLowerCase();\n if (filename) {\n const bundled = getTokenIcon(filename);\n if (bundled) return bundled;\n }\n // TODO: Add fallback image source for unresolved relative paths\n return MISSING_TOKEN_SVG;\n }\n return url;\n}\n\nfunction deriveLogoUrl(key: string): string {\n // TODO: Add fallback chain image source\n return getChainIcon(key) ?? MISSING_TOKEN_SVG;\n}\n\nfunction deriveTokenLogoUrl(symbol: string, _key: string): string {\n const symbolOverrides: Record<string, string> = {\n gUSDT: 'stable',\n USDT0: 'stable',\n rBTC: 'eth',\n wRBTC: 'eth',\n MON: 'monad',\n WMON: 'monad',\n XPL: 'plasma',\n WXPL: 'plasma',\n };\n\n const mapped = symbolOverrides[symbol];\n if (mapped) {\n const bundled = getTokenIcon(mapped);\n if (bundled) return bundled;\n }\n\n const bundled = getTokenIcon(symbol);\n if (bundled) return bundled;\n\n // TODO: Add fallback token image source\n return MISSING_TOKEN_SVG;\n}\n\n/**\n * Full expanded chain config (backwards compatible with old StaticChainConfig)\n */\nexport interface StaticChainConfig {\n id: number;\n name: string;\n displayName: string;\n shortName: string;\n key: string;\n eid: number;\n isActive?: boolean;\n\n nativeAsset: {\n name: string;\n symbol: string;\n decimals: number;\n address: string;\n logoUrl: string;\n };\n\n wrappedAsset: {\n name: string;\n symbol: string;\n decimals: number;\n address: string;\n logoUrl: string;\n };\n\n gasToken: {\n name: string;\n symbol: string;\n decimals: number;\n address: string;\n };\n\n preferredStablecoins: Array<{\n symbol: string;\n address: string;\n decimals: number;\n }>;\n\n rpcUrls: string[];\n blockExplorerUrls: string[];\n blockTimeMs: number;\n color: string;\n logoUrl: string;\n wagmiChain: Chain;\n}\n\nexport type ChainConfig = StaticChainConfig;\n\n/**\n * Auto-expand minimal config to full config\n */\nfunction expandChainConfig(minimal: MinimalChainConfig): StaticChainConfig {\n const decimals = minimal.nativeDecimals ?? 18;\n const nativeAddress = minimal.nativeAddress ?? NATIVE_ASSET_ADDRESS;\n const wrappedSymbol =\n minimal.wrappedSymbol ??\n deriveWrappedSymbol(minimal.nativeSymbol, minimal.key);\n const wrappedName =\n minimal.wrappedName ?? deriveWrappedName(minimal.nativeName, minimal.key);\n const wrappedDecimals = minimal.wrappedDecimals ?? decimals;\n\n return {\n id: minimal.id,\n name: minimal.name ?? minimal.key,\n displayName:\n minimal.displayName ??\n deriveDisplayName(minimal.key, minimal.nativeSymbol),\n shortName:\n minimal.shortName ?? deriveShortName(minimal.nativeSymbol, minimal.key),\n key: minimal.key,\n eid: minimal.eid,\n isActive: minimal.isActive,\n\n nativeAsset: {\n name: minimal.nativeName,\n symbol: minimal.nativeSymbol,\n decimals,\n address: nativeAddress,\n logoUrl: minimal.nativeLogoUrl\n ? resolveRelativeUrl(minimal.nativeLogoUrl)\n : deriveTokenLogoUrl(minimal.nativeSymbol, minimal.key),\n },\n\n wrappedAsset: {\n name: wrappedName,\n symbol: wrappedSymbol,\n decimals: wrappedDecimals,\n address: minimal.wrappedAddress,\n logoUrl: minimal.wrappedLogoUrl\n ? resolveRelativeUrl(minimal.wrappedLogoUrl)\n : deriveTokenLogoUrl(wrappedSymbol, minimal.key),\n },\n\n gasToken: {\n name: minimal.nativeName,\n symbol: minimal.nativeSymbol,\n decimals,\n address: nativeAddress,\n },\n\n preferredStablecoins: minimal.stablecoins,\n rpcUrls: minimal.rpcUrls,\n blockExplorerUrls: minimal.blockExplorerUrls,\n blockTimeMs: minimal.blockTimeMs,\n color: minimal.color,\n logoUrl: minimal.logoUrl\n ? resolveRelativeUrl(minimal.logoUrl)\n : deriveLogoUrl(minimal.key),\n wagmiChain:\n typeof minimal.wagmiChain === 'function'\n ? minimal.wagmiChain()\n : minimal.wagmiChain,\n };\n}\n\n/**\n * Expanded chain configurations - auto-generated from CHAIN_REGISTRY\n */\nexport const staticChainsConfig: Record<number, StaticChainConfig> =\n Object.fromEntries(\n Object.entries(CHAIN_REGISTRY).map(([id, minimal]) => [\n id,\n expandChainConfig(minimal),\n ]),\n );\n\n// Backwards compatibility\nexport const chainsConfig = staticChainsConfig;\n\nconst KNOWN_NATIVE_ADDRESSES: Set<string> = new Set(\n Object.values(staticChainsConfig).map((c) =>\n c.nativeAsset.address.toLowerCase(),\n ),\n);\n\nexport const CHAIN_NAMES: Record<number, string> = Object.fromEntries(\n Object.values(staticChainsConfig).map((c) => [c.id, c.displayName]),\n);\n\nexport const CHAIN_KEY_TO_ID: Record<string, number> = Object.fromEntries(\n Object.values(staticChainsConfig).map((c) => [c.key, c.id]),\n);\n\nexport const CHAIN_ID_TO_KEY: Record<number, string> = Object.fromEntries(\n Object.values(staticChainsConfig).map((c) => [c.id, c.key]),\n);\n\nexport const WRAPPED_TOKEN_ADDRESSES: Record<number, string> =\n Object.fromEntries(\n Object.values(staticChainsConfig).map((c) => [\n c.id,\n c.wrappedAsset.address,\n ]),\n );\n\nexport const CHAIN_COLORS: Record<number, string> = Object.fromEntries(\n Object.values(staticChainsConfig).map((c) => [c.id, c.color]),\n);\n\nexport const VIEM_CHAINS_BY_ID: Record<number, Chain> = Object.fromEntries(\n Object.values(staticChainsConfig).map((c) => [c.id, c.wagmiChain]),\n);\n\n// ============================================================================\n// DERIVED CONSTANTS - Auto-generated\n// ============================================================================\n\nexport const SUPPORTED_CHAIN_IDS = Object.keys(chainsConfig).map(Number);\nexport const SUPPORTED_CHAIN_CONFIGS = Object.values(chainsConfig).map(\n (c) => c.wagmiChain,\n);\n\nexport type SupportedChainId = keyof typeof chainsConfig;\n\n// ============================================================================\n// HELPER FUNCTIONS (unchanged from original)\n// ============================================================================\n\nexport function getChainConfig(chainId: number): ChainConfig | undefined {\n return chainsConfig[chainId];\n}\n\nexport function getChainIdByKey(key: string): number | undefined {\n const config = Object.values(chainsConfig).find(\n (c) => c.key.toLowerCase() === key.toLowerCase(),\n );\n return config?.id;\n}\n\nexport function getChainIdByEid(eid: number): number | undefined {\n const config = Object.values(chainsConfig).find((c) => c.eid === eid);\n return config?.id;\n}\n\nexport function getEidByChainId(chainId: number): number | undefined {\n return getChainConfig(chainId)?.eid;\n}\n\nexport function getAllChainIds(): number[] {\n return Object.keys(chainsConfig).map(Number);\n}\n\nexport function getAllEids(): number[] {\n return Object.values(chainsConfig).map((c) => c.eid);\n}\n\nexport function getAllChainConfigs(): ChainConfig[] {\n return Object.values(chainsConfig);\n}\n\nexport function getActiveChainConfigs(): ChainConfig[] {\n return Object.values(chainsConfig).filter((c) => c.isActive !== false);\n}\n\nexport function getActiveChainIds(): number[] {\n return getActiveChainConfigs().map((c) => c.id);\n}\n\nexport function getAvailableChainConfigs(\n availableChainIds: number[],\n): ChainConfig[] {\n return Object.values(chainsConfig).filter((c) =>\n availableChainIds.includes(c.id),\n );\n}\n\nexport function getAvailableActiveChainConfigs(\n availableChainIds: number[],\n): ChainConfig[] {\n return Object.values(chainsConfig).filter(\n (c) => availableChainIds.includes(c.id) && c.isActive !== false,\n );\n}\n\n// Mapping utilities — return pre-computed constants for stable object references\nexport const getChainNames = (): Record<number, string> => CHAIN_NAMES;\nexport const getChainKeyToIdMapping = (): Record<string, number> =>\n CHAIN_KEY_TO_ID;\nexport const getChainIdToKeyMapping = (): Record<number, string> =>\n CHAIN_ID_TO_KEY;\nexport const getWrappedTokenAddresses = (): Record<number, string> =>\n WRAPPED_TOKEN_ADDRESSES;\n\nexport const getChainColors = (): Record<number, string> => CHAIN_COLORS;\n\nexport const getViemChainById = (): Record<number, Chain> => VIEM_CHAINS_BY_ID;\n\n// Utility functions\nexport function getNativeTokenSymbol(chainId: number): string {\n return getChainConfig(chainId)?.nativeAsset.symbol || 'ETH';\n}\n\nexport function isNativeAssetAddress(address: string): boolean {\n return KNOWN_NATIVE_ADDRESSES.has(address.toLowerCase());\n}\n\nexport function isWrappedAssetAddress(\n address: string,\n chainId: number,\n): boolean {\n const config = getChainConfig(chainId);\n return config\n ? address.toLowerCase() === config.wrappedAsset.address.toLowerCase()\n : false;\n}\n\nexport function getTokenLogoFallback(\n chainId: number,\n tokenAddress: string,\n): string | undefined {\n const config = getChainConfig(chainId);\n if (!config) return undefined;\n\n const normalizedAddress = tokenAddress.toLowerCase();\n\n if (normalizedAddress === NATIVE_ASSET_ADDRESS.toLowerCase()) {\n return config.nativeAsset.logoUrl;\n }\n\n if (normalizedAddress === config.wrappedAsset.address.toLowerCase()) {\n return config.wrappedAsset.logoUrl;\n }\n\n return undefined;\n}\n\nexport function isGasToken(\n asset: { address: string; chainId?: number } | null | undefined,\n): boolean {\n if (!asset) return false;\n return isNativeAssetAddress(asset.address);\n}\n\nexport function getPreferredStablecoins(): Record<\n number,\n Array<{ symbol: string; address: string; decimals: number }>\n> {\n return Object.fromEntries(\n Object.values(chainsConfig).map((c) => [c.id, c.preferredStablecoins]),\n );\n}\n\nexport function getPreferredStablecoinsForChain(\n chainId: number,\n): Array<{ symbol: string; address: string; decimals: number }> | undefined {\n return getChainConfig(chainId)?.preferredStablecoins;\n}\n\nexport interface NativeTokenInfo {\n address: string;\n symbol: string;\n name: string;\n decimals: number;\n chainId: number;\n}\n\nexport function getNativeTokenInfo(chainId: number): NativeTokenInfo {\n const config = getChainConfig(chainId);\n if (!config) {\n return {\n address: NATIVE_ASSET_ADDRESS,\n symbol: 'ETH',\n name: 'Ether',\n decimals: 18,\n chainId,\n };\n }\n return {\n address: config.gasToken.address,\n symbol: config.gasToken.symbol,\n name: config.gasToken.name,\n decimals: config.gasToken.decimals,\n chainId,\n };\n}\n\n// ============================================================================\n// TOKEN IDENTITY UTILITIES\n// ============================================================================\n\n/**\n * Canonical composite token key: \"chainId:address.toLowerCase()\"\n * Use this everywhere you need to identify a specific token on a specific chain.\n * Consistent with the URL state format (inputToken=chainId:address).\n */\nexport function tokenId(chainId: number, address: string): string {\n return `${chainId}:${address.toLowerCase()}`;\n}\n\n/**\n * Get the canonical composite token key for a chain's native token.\n * Handles chain-specific native addresses (e.g. Stable chain uses 0x0000...1000).\n */\nexport function getNativeTokenId(chainId: number): string {\n const config = getChainConfig(chainId);\n const address = config?.nativeAsset.address ?? NATIVE_ASSET_ADDRESS;\n return tokenId(chainId, address);\n}\n\n/**\n * Get the canonical composite token key for a chain's wrapped native token.\n * e.g. WETH on Ethereum, WBNB on BSC, WXPL on Plasma, wRBTC on Rootstock.\n */\nexport function getWrappedTokenId(chainId: number): string {\n const config = getChainConfig(chainId);\n const address = config?.wrappedAsset.address ?? '';\n return tokenId(chainId, address);\n}\n\n/**\n * Check if tokenA → tokenB is a wrap operation (native → wrapped).\n * Works for all chains: ETH→WETH, BNB→WBNB, XPL→WXPL, rBTC→wRBTC, etc.\n *\n * Returns false when native and wrapped are the same token (e.g. Stable chain\n * where USDT0 serves as both — wrapping/unwrapping is not applicable).\n */\nexport function isWrappingPair(\n tokenA: { address: string; chainId: number },\n tokenB: { address: string; chainId: number },\n): boolean {\n if (tokenA.chainId !== tokenB.chainId) return false;\n const config = getChainConfig(tokenA.chainId);\n // If native === wrapped (e.g. Stable/USDT0), wrapping doesn't apply\n if (\n config &&\n config.nativeAsset.address.toLowerCase() ===\n config.wrappedAsset.address.toLowerCase()\n ) {\n return false;\n }\n return (\n isGasToken(tokenA) && isWrappedAssetAddress(tokenB.address, tokenA.chainId)\n );\n}\n\n/**\n * Check if tokenA → tokenB is an unwrap operation (wrapped → native).\n * Works for all chains: WETH→ETH, WBNB→BNB, WXPL→XPL, wRBTC→rBTC, etc.\n *\n * Returns false when native and wrapped are the same token (e.g. Stable chain\n * where USDT0 serves as both — wrapping/unwrapping is not applicable).\n */\nexport function isUnwrappingPair(\n tokenA: { address: string; chainId: number },\n tokenB: { address: string; chainId: number },\n): boolean {\n if (tokenA.chainId !== tokenB.chainId) return false;\n const config = getChainConfig(tokenA.chainId);\n // If native === wrapped (e.g. Stable/USDT0), unwrapping doesn't apply\n if (\n config &&\n config.nativeAsset.address.toLowerCase() ===\n config.wrappedAsset.address.toLowerCase()\n ) {\n return false;\n }\n return (\n isWrappedAssetAddress(tokenA.address, tokenA.chainId) && isGasToken(tokenB)\n );\n}\n\n// API response types (unchanged)\nexport interface ChainApiResponse {\n address: string;\n chainId: number;\n chainKey: string;\n eid: number;\n}\n","const svgToDataUri = (svg: string): string =>\n `data:image/svg+xml,${encodeURIComponent(svg)}`;\n\nconst CHAIN_SVGS: Record<string, string> = {\n ethereum: `<svg width=\"456\" height=\"526\" viewBox=\"0 0 456 526\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M202.924 15.0275C218.394 6.09586 237.454 6.09586 252.924 15.0275L430.32 117.447C445.79 126.379 455.32 142.885 455.32 160.749V365.593C455.32 383.457 445.79 399.964 430.319 408.895L252.923 511.308C237.453 520.239 218.394 520.239 202.925 511.308L25.5285 408.895C10.0578 399.964 0.527344 383.457 0.527344 365.593V160.749C0.527344 142.885 10.0573 126.379 25.5273 117.447L202.924 15.0275Z\" fill=\"url(#paint0_radial_709_6947)\"/><path d=\"M227.894 97.0059L225.664 104.579V324.318L227.894 326.543L329.892 266.25L227.894 97.0059Z\" fill=\"#343434\"/><path d=\"M227.894 97.0059L125.893 266.25L227.894 326.543V219.887V97.0059Z\" fill=\"#8C8C8C\"/><path d=\"M227.893 345.855L226.637 347.387V425.661L227.893 429.33L329.954 285.594L227.893 345.855Z\" fill=\"#3C3C3B\"/><path d=\"M227.894 429.33V345.855L125.893 285.594L227.894 429.33Z\" fill=\"#8C8C8C\"/><path d=\"M227.894 326.542L329.892 266.25L227.894 219.887V326.542Z\" fill=\"#141414\"/><path d=\"M125.893 266.25L227.894 326.542V219.887L125.893 266.25Z\" fill=\"#393939\"/><defs><radialGradient id=\"paint0_radial_709_6947\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(265.475 151.763) rotate(113.552) scale(787.513 704.013)\"><stop stop-color=\"white\"/><stop offset=\"1\" stop-color=\"#999999\"/></radialGradient></defs></svg>`,\n\n arbitrum: `<svg width=\"456\" height=\"526\" viewBox=\"0 0 456 526\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M202.792 14.7248C218.262 5.79313 237.322 5.79313 252.792 14.7248L430.189 117.145C445.659 126.076 455.189 142.583 455.189 160.446V365.29C455.189 383.154 445.658 399.661 430.187 408.592L252.791 511.006C237.322 519.936 218.263 519.936 202.793 511.006L25.397 408.592C9.92621 399.661 0.395752 383.154 0.395752 365.29V160.446C0.395752 142.583 9.9257 126.076 25.3958 117.145L202.792 14.7248Z\" fill=\"url(#paint0_radial_706_127)\"/><path d=\"M272.22 101.508H240.055C237.654 101.508 235.471 103.036 234.67 105.292L131.191 388.878C130.536 390.77 131.919 392.735 133.883 392.735H166.048C168.449 392.735 170.632 391.207 171.433 388.951L274.912 105.365C275.567 103.473 274.185 101.508 272.22 101.508ZM215.968 101.508H183.804C181.402 101.508 179.219 103.036 178.419 105.292L74.9393 388.878C74.2844 390.77 75.667 392.735 77.6318 392.735H109.796C112.198 392.735 114.381 391.207 115.181 388.951L218.661 105.365C219.316 103.473 217.933 101.508 215.968 101.508ZM257.593 211.464C256.647 208.917 253.081 208.917 252.208 211.464L235.471 257.309C235.034 258.546 235.034 260.002 235.471 261.239L282.044 388.951C282.844 391.207 285.028 392.735 287.429 392.735H319.593C321.558 392.735 322.941 390.77 322.286 388.878L257.593 211.464ZM378.61 388.878L285.755 134.4C284.809 131.853 281.243 131.853 280.37 134.4L263.633 180.245C263.196 181.483 263.196 182.938 263.633 184.175L338.368 389.024C339.169 391.28 341.352 392.808 343.753 392.808H375.918C377.883 392.735 379.265 390.77 378.61 388.878Z\" fill=\"url(#paint1_linear_706_127)\"/><path d=\"M257.593 211.463C256.647 208.916 253.081 208.916 252.208 211.463L235.471 257.309C235.034 258.546 235.034 260.001 235.471 261.238L282.044 388.95C282.844 391.206 285.027 392.734 287.429 392.734H319.593C321.558 392.734 322.941 390.77 322.286 388.878L257.593 211.463ZM378.61 388.878L285.755 134.399C284.809 131.853 281.243 131.853 280.37 134.399L263.633 180.245C263.196 181.482 263.196 182.937 263.633 184.174L338.368 389.023C339.169 391.279 341.352 392.807 343.753 392.807H375.918C377.882 392.734 379.265 390.77 378.61 388.878Z\" fill=\"url(#paint2_linear_706_127)\"/><defs><radialGradient id=\"paint0_radial_706_127\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(287.288 130.114) rotate(112.303) scale(411.17 356.086)\"><stop stop-color=\"#556A91\"/><stop offset=\"1\" stop-color=\"#2C374B\"/></radialGradient><linearGradient id=\"paint1_linear_706_127\" x1=\"226.775\" y1=\"101.508\" x2=\"57.3827\" y2=\"448.219\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"white\"/><stop offset=\"1\" stop-color=\"white\" stop-opacity=\"0.7\"/></linearGradient><linearGradient id=\"paint2_linear_706_127\" x1=\"306.959\" y1=\"132.489\" x2=\"254.228\" y2=\"397.771\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#24A2EE\" stop-opacity=\"0.5\"/><stop offset=\"0.9999\" stop-color=\"#24A2EE\"/></linearGradient></defs></svg>`,\n\n base: `<svg width=\"456\" height=\"526\" viewBox=\"0 0 456 526\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M203.123 14.5656C218.593 5.63395 237.653 5.63395 253.123 14.5656L430.52 116.985C445.99 125.917 455.52 142.423 455.52 160.287V365.131C455.52 382.995 445.989 399.502 430.519 408.433L253.122 510.846C237.653 519.777 218.594 519.777 203.125 510.846L25.728 408.433C10.2573 399.502 0.726807 382.995 0.726807 365.131V160.287C0.726807 142.423 10.2568 125.917 25.7268 116.985L203.123 14.5656Z\" fill=\"url(#paint0_linear_705_126)\"/><path d=\"M227.843 421.694C315.815 421.694 387.123 350.513 387.123 262.694C387.123 174.875 315.815 103.694 227.843 103.694C144.388 103.694 75.9285 167.778 69.1233 249.326H279.652V276.063H69.1233C75.9285 357.611 144.388 421.694 227.843 421.694Z\" fill=\"url(#paint1_radial_705_126)\"/><path d=\"M227.843 421.694C315.815 421.694 387.123 350.513 387.123 262.694C387.123 174.875 315.815 103.694 227.843 103.694C144.388 103.694 75.9285 167.778 69.1233 249.326H279.652V276.063H69.1233C75.9285 357.611 144.388 421.694 227.843 421.694Z\" fill=\"url(#paint2_radial_705_126)\"/><defs><linearGradient id=\"paint0_linear_705_126\" x1=\"326.886\" y1=\"53.8995\" x2=\"28.0167\" y2=\"628.41\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#0052FF\"/><stop offset=\"1\" stop-color=\"#003199\"/></linearGradient><radialGradient id=\"paint1_radial_705_126\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(316.319 164.909) rotate(121.405) scale(300.86)\"><stop stop-color=\"white\"/><stop offset=\"1\" stop-color=\"white\" stop-opacity=\"0.73\"/></radialGradient><radialGradient id=\"paint2_radial_705_126\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(316.319 164.909) rotate(121.405) scale(300.86)\"><stop stop-color=\"white\"/><stop offset=\"1\" stop-color=\"white\" stop-opacity=\"0.73\"/></radialGradient></defs></svg>`,\n\n optimism: `<svg width=\"455\" height=\"526\" viewBox=\"0 0 455 526\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M202.566 15.0627C218.036 6.13102 237.095 6.13102 252.566 15.0627L429.962 117.482C445.432 126.414 454.962 142.92 454.962 160.784V365.628C454.962 383.492 445.432 399.999 429.961 408.93L252.564 511.343C237.095 520.274 218.036 520.274 202.567 511.343L25.1703 408.93C9.69952 399.999 0.169067 383.492 0.169067 365.628V160.784C0.169067 142.92 9.69902 126.414 25.1691 117.483L202.566 15.0627Z\" fill=\"url(#paint0_radial_705_121)\"/><path d=\"M127.075 350.574C107.805 350.574 92.0278 346.048 79.7419 336.995C67.5853 327.813 61.507 314.622 61.507 297.68C61.507 294.059 61.8949 289.791 62.6709 284.618C64.7401 272.979 67.7146 259.012 71.5943 242.587C82.587 198.099 111.039 175.855 156.82 175.855C169.235 175.855 180.486 177.925 190.315 182.192C200.144 186.202 207.903 192.409 213.594 200.686C219.284 208.833 222.129 218.533 222.129 229.784C222.129 233.147 221.741 237.414 220.965 242.587C218.508 256.943 215.663 271.039 212.171 284.618C206.481 306.733 196.781 323.416 182.814 334.409C168.976 345.272 150.354 350.574 127.075 350.574ZM130.567 315.656C139.62 315.656 147.25 312.941 153.587 307.638C160.053 302.336 164.709 294.188 167.425 283.066C171.175 267.806 174.02 254.615 175.96 243.234C176.607 239.872 176.995 236.38 176.995 232.759C176.995 218.016 169.364 210.644 153.975 210.644C144.922 210.644 137.162 213.36 130.696 218.662C124.359 223.965 119.833 232.112 117.117 243.234C114.142 254.097 111.297 267.289 108.323 283.066C107.676 286.299 107.288 289.662 107.288 293.283C107.159 308.285 115.048 315.656 130.567 315.656Z\" fill=\"url(#paint1_radial_705_121)\"/><path d=\"M233.384 348.25C231.573 348.25 230.28 347.733 229.245 346.569C228.469 345.276 228.211 343.853 228.469 342.172L261.964 184.395C262.223 182.584 263.128 181.162 264.68 179.998C266.103 178.834 267.655 178.316 269.336 178.316H333.869C351.846 178.316 366.201 182.067 377.064 189.438C388.057 196.939 393.618 207.673 393.618 221.77C393.618 225.779 393.101 230.047 392.195 234.444C388.186 253.067 380.039 266.775 367.623 275.699C355.467 284.622 338.784 289.019 317.574 289.019H284.855L273.733 342.172C273.345 343.982 272.569 345.405 271.017 346.569C269.595 347.733 268.043 348.25 266.362 348.25H233.384ZM319.256 255.524C326.11 255.524 331.93 253.713 336.973 249.963C342.146 246.212 345.509 240.91 347.19 233.926C347.707 231.211 347.966 228.753 347.966 226.684C347.966 222.028 346.543 218.407 343.828 215.95C341.112 213.364 336.327 212.07 329.731 212.07H300.633L291.451 255.524H319.256Z\" fill=\"url(#paint2_radial_705_121)\"/><defs><radialGradient id=\"paint0_radial_705_121\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(285.72 167.099) rotate(116.058) scale(358.719 310.662)\"><stop stop-color=\"#FF0420\"/><stop offset=\"1\" stop-color=\"#990213\"/></radialGradient><radialGradient id=\"paint1_radial_705_121\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(172.954 134.588) rotate(104.653) scale(260.167 289.305)\"><stop stop-color=\"white\"/><stop offset=\"1\" stop-color=\"white\"/></radialGradient><radialGradient id=\"paint2_radial_705_121\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(343.027 138.179) rotate(105.46) scale(254.003 296.507)\"><stop stop-color=\"white\"/><stop offset=\"1\" stop-color=\"white\"/></radialGradient></defs></svg>`,\n\n bsc: `<svg width=\"456\" height=\"526\" viewBox=\"0 0 456 526\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M321.363 317.648L287.076 337.741V297.366L321.363 277.084V317.648Z\" fill=\"url(#paint0_radial_718_93)\"/><path d=\"M203.119 14.5841C218.589 5.65251 237.649 5.6525 253.119 14.5841L430.516 117.004C445.986 125.936 455.516 142.442 455.516 160.305V365.15C455.516 383.013 445.985 399.52 430.514 408.452L253.118 510.865C237.648 519.796 218.59 519.796 203.12 510.865L25.7238 408.452C10.2531 399.52 0.722656 383.013 0.722656 365.15V160.305C0.722656 142.442 10.2526 125.936 25.7227 117.004L203.119 14.5841Z\" fill=\"url(#paint1_radial_718_93)\"/><path d=\"M110.102 262.724L110.291 332.01L169.163 366.654V407.218L75.8364 352.481V242.463L110.102 262.724ZM110.102 193.437V233.812L75.8154 213.53V173.155L110.102 152.873L144.556 173.155L110.102 193.437ZM193.75 173.155L228.036 152.873L262.49 173.155L228.036 193.437L193.75 173.155Z\" fill=\"url(#paint2_radial_718_93)\"/><path d=\"M134.876 317.649V277.085L169.163 297.367V337.742L134.876 317.649ZM193.749 381.183L228.035 401.465L262.49 381.183V421.558L228.035 441.84L193.749 421.558V381.183ZM311.662 173.155L345.949 152.873L380.403 173.155V213.53L345.949 233.812V193.437L311.662 173.155ZM345.949 332.01L346.138 262.724L380.424 242.442V352.46L287.097 407.197V366.633L345.949 332.01Z\" fill=\"url(#paint3_radial_718_93)\"/><path d=\"M321.363 317.648L287.077 337.741V297.366L321.363 277.084V317.648Z\" fill=\"url(#paint4_radial_718_93)\"/><path d=\"M321.362 207.798L321.551 248.363L262.511 283.006V352.46L228.224 372.554L193.938 352.46V283.006L134.897 248.363V207.798L169.331 187.516L228.014 222.328L287.055 187.516L321.509 207.798H321.362ZM134.876 138.533L228.035 83.6074L321.362 138.533L287.076 158.815L228.035 124.004L169.163 158.815L134.876 138.533Z\" fill=\"url(#paint5_radial_718_93)\"/><defs><radialGradient id=\"paint0_radial_718_93\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(-11.5795 38.691 -28.5058 -19.306 308.405 299.05)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"white\"/><stop offset=\"1\" stop-color=\"white\" stop-opacity=\"0.8\"/></radialGradient><radialGradient id=\"paint1_radial_718_93\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(286.888 155.66) rotate(114.773) scale(407.099 352.56)\"><stop stop-color=\"#F0B90B\"/><stop offset=\"1\" stop-color=\"#8A6A06\"/></radialGradient><radialGradient id=\"paint2_radial_718_93\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(-69.0661 203.32 -149.225 -68.0384 198.522 224.652)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#FFF9F9\"/><stop offset=\"1\" stop-color=\"#DBDBDB\"/></radialGradient><radialGradient id=\"paint3_radial_718_93\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(-90.8478 230.997 -196.287 -77.3001 296.281 234.423)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#FFF9F9\"/><stop offset=\"1\" stop-color=\"#DBDBDB\"/></radialGradient><radialGradient id=\"paint4_radial_718_93\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(-12.6853 48.4886 -27.4081 -16.2261 309.614 294.202)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#FFF9F9\"/><stop offset=\"1\" stop-color=\"#DBDBDB\"/></radialGradient><radialGradient id=\"paint5_radial_718_93\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(-69.0661 230.98 -149.225 -77.2944 257.583 165.151)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#FFF9F9\"/><stop offset=\"1\" stop-color=\"#DBDBDB\"/></radialGradient></defs></svg>`,\n\n monad: `<svg width=\"455\" height=\"526\" viewBox=\"0 0 455 526\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M202.396 14.4337C217.867 5.50211 236.926 5.50211 252.396 14.4337L429.793 116.854C445.263 125.785 454.793 142.292 454.793 160.155V364.999C454.793 382.863 445.262 399.37 429.792 408.301L252.395 510.715C236.926 519.645 217.867 519.645 202.398 510.714L25.0012 408.301C9.53046 399.37 0 382.863 0 364.999V160.155C0 142.292 9.52995 125.785 25 116.854L202.396 14.4337Z\" fill=\"url(#paint0_radial_9_12)\"/><path d=\"M226.5 98C178.996 98 62 214.978 62 262.5C62 310.022 178.996 427 226.5 427C274.004 427 391 310.004 391 262.5C391 214.996 274.004 98 226.5 98ZM200.875 356.557C180.824 351.111 126.978 256.889 132.443 236.856C137.908 216.824 232.111 162.978 252.144 168.443C272.158 173.889 326.023 268.111 320.557 288.144C315.111 308.158 220.907 362.023 200.875 356.557Z\" fill=\"white\"/><defs><radialGradient id=\"paint0_radial_9_12\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(-367.246 -258.894 224.21 -424.057 367.246 408.22)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#6451CC\"/><stop offset=\"1\" stop-color=\"#836EF9\"/></radialGradient></defs></svg>`,\n\n megaeth: `<svg width=\"455\" height=\"526\" viewBox=\"0 0 455 526\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M202.396 14.4337C217.867 5.50211 236.926 5.50211 252.396 14.4337L429.793 116.854C445.263 125.785 454.793 142.292 454.793 160.155V364.999C454.793 382.863 445.262 399.37 429.792 408.301L252.395 510.715C236.926 519.645 217.867 519.645 202.398 510.714L25.0012 408.301C9.53046 399.37 0 382.863 0 364.999V160.155C0 142.292 9.52995 125.785 25 116.854L202.396 14.4337Z\" fill=\"url(#paint0_linear_20_36)\"/><g clip-path=\"url(#clip0_20_36)\"><path d=\"M258.041 352.116C267.961 352.116 275.973 344.111 275.973 334.235C275.973 324.36 267.961 316.354 258.041 316.354C248.198 316.354 240.187 324.36 240.187 334.235C240.187 344.111 248.198 352.116 258.041 352.116Z\" fill=\"url(#paint1_linear_20_36)\"/><path d=\"M193.784 352.647C203.703 352.647 211.64 344.642 211.64 334.766C211.64 324.891 203.703 316.886 193.784 316.886C183.941 316.886 175.929 324.891 175.929 334.766C175.929 344.642 183.941 352.647 193.784 352.647Z\" fill=\"url(#paint2_linear_20_36)\"/><path d=\"M154.633 165.844H197.232C205.248 187.529 226.165 248.972 227.692 252.395C228.074 250.684 249.143 183.725 255.098 166.224H299.376V318.974C293.88 315.93 288.383 312.887 282.428 309.462C278.305 307.371 274.489 305.087 270.29 303.375C269.908 273.701 269.527 244.216 268.611 213.4C262.656 231.091 242.12 293.484 240.44 295.196H213.034C213.034 295.196 186.391 219.487 185.093 216.063C184.711 245.167 184.33 274.271 183.337 304.327C167 312.696 157.305 317.452 154.252 318.593V165.844H154.633Z\" fill=\"url(#paint3_linear_20_36)\"/><path d=\"M226.538 126.68C301.276 126.68 362.349 187.552 362.349 262.5C362.349 337.448 301.505 398.32 226.538 398.32C151.571 398.32 90.7269 337.448 90.7269 262.5C90.7269 187.552 151.571 126.68 226.538 126.68ZM226.538 101C137.295 101 65 173.285 65 262.5C65 351.714 137.295 424 226.538 424C315.705 424 388 351.714 388 262.5C388 173.285 315.705 101 226.538 101Z\" fill=\"url(#paint4_linear_20_36)\"/></g><defs><linearGradient id=\"paint0_linear_20_36\" x1=\"327\" y1=\"104.5\" x2=\"-6.89134e-06\" y2=\"787.5\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#E6E6E5\"/><stop offset=\"1\" stop-color=\"#80807F\"/></linearGradient><linearGradient id=\"paint1_linear_20_36\" x1=\"258.08\" y1=\"316.354\" x2=\"258.08\" y2=\"352.116\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#19191A\"/><stop offset=\"1\" stop-color=\"#303030\"/></linearGradient><linearGradient id=\"paint2_linear_20_36\" x1=\"193.784\" y1=\"316.886\" x2=\"193.784\" y2=\"352.647\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#19191A\"/><stop offset=\"1\" stop-color=\"#303030\"/></linearGradient><linearGradient id=\"paint3_linear_20_36\" x1=\"299\" y1=\"146\" x2=\"83\" y2=\"538\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#19191A\"/><stop offset=\"1\" stop-color=\"#303030\"/></linearGradient><linearGradient id=\"paint4_linear_20_36\" x1=\"226.5\" y1=\"101\" x2=\"226.5\" y2=\"424\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#19191A\"/><stop offset=\"1\" stop-color=\"#303030\"/></linearGradient><clipPath id=\"clip0_20_36\"><rect width=\"323\" height=\"323\" fill=\"white\" transform=\"translate(65 101)\"/></clipPath></defs></svg>`,\n\n plasma: `<svg width=\"455\" height=\"526\" viewBox=\"0 0 455 526\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M202.396 14.4337C217.867 5.50211 236.926 5.50211 252.396 14.4337L429.793 116.854C445.263 125.785 454.793 142.292 454.793 160.155V364.999C454.793 382.863 445.262 399.37 429.792 408.301L252.395 510.715C236.926 519.645 217.867 519.645 202.398 510.714L25.0012 408.301C9.53046 399.37 0 382.863 0 364.999V160.155C0 142.292 9.52995 125.785 25 116.854L202.396 14.4337Z\" fill=\"url(#paint0_radial_1412_24)\"/><path d=\"M373 263.783C373 265.263 372.979 266.743 372.937 268.223H372.767H301.925V264.988H233.577C233.577 264.311 233.598 263.634 233.598 262.979C233.598 262.323 233.598 261.626 233.577 260.97H301.925V257.756H302.031H372.873C372.958 259.764 373 261.773 373 263.783ZM232.371 249.212L299.261 240.986L299.662 244.2L370.292 235.509C369.617 232.041 368.813 228.615 367.903 225.252L298.371 233.817L298.773 237.031L231.568 245.3C231.864 246.611 232.139 247.922 232.371 249.254V249.212ZM228.882 236.27L292.81 220.304L293.593 223.434L361.432 206.495C360.036 203.217 358.535 199.981 356.929 196.831L291.075 213.283L291.858 216.413L227.402 232.527C227.93 233.775 228.417 235.022 228.882 236.291V236.27ZM223.215 224.153L282.977 201.589L284.118 204.613L347.348 180.738C345.298 177.735 343.14 174.816 340.857 171.983L280.417 194.8L281.56 197.824L221.079 220.663C221.819 221.805 222.538 222.969 223.215 224.153ZM215.369 212.945L268.153 185.432L269.632 188.308L328 157.878C325.313 155.276 322.522 152.802 319.646 150.413L264.789 179.004L266.27 181.88L212.599 209.857C213.529 210.872 214.46 211.887 215.348 212.945H215.369ZM202.638 200.849L250.431 170.46L252.165 173.188L304.905 139.649C301.585 137.534 298.202 135.567 294.714 133.727L246.561 164.349L248.295 167.076L199.128 198.332C200.333 199.136 201.496 199.981 202.66 200.849H202.638ZM191.346 193.785L231.399 160.944L233.45 163.439L278.557 126.432C274.729 124.972 270.796 123.661 266.82 122.519L226.81 155.34L228.861 157.835L187.349 191.882C188.702 192.474 190.035 193.109 191.346 193.785ZM176.395 187.97L208.031 156.482L210.294 158.766L250.494 118.819C246.138 118.1 241.719 117.571 237.235 117.233L202.956 151.343L205.218 153.627L171.806 186.87C173.35 187.188 174.872 187.547 176.395 187.97ZM158.906 185.326L184.135 154.748L186.63 156.799L219.472 117C214.481 117.233 209.554 117.719 204.711 118.438L178.552 150.138L181.047 152.189L153.725 185.305C154.486 185.284 155.269 185.263 156.03 185.263C157.003 185.263 157.955 185.263 158.906 185.305V185.326ZM143.786 186.236L163.22 156.165L165.927 157.92L189.421 121.547C184.05 122.942 178.806 124.634 173.688 126.601L157.151 152.21L159.858 153.965L138.33 187.293C140.128 186.87 141.946 186.511 143.786 186.215V186.236ZM126.995 190.909L140.973 164.708L143.807 166.231L162.311 131.57C156.368 134.468 150.659 137.745 145.203 141.383L134.566 161.303L137.421 162.826L120.968 193.659C122.914 192.665 124.923 191.755 126.974 190.93L126.995 190.909ZM114.941 197.063L120.884 180.188L123.929 181.266L135.475 148.488C129.617 153.14 124.119 158.216 119.023 163.693L114.053 177.798L117.098 178.877L109.316 200.954C111.135 199.58 112.996 198.29 114.92 197.084L114.941 197.063ZM100.117 209.138L102.739 196.873L105.89 197.55L111.177 172.85C105.615 179.913 100.688 187.505 96.4798 195.519L98.827 196.027L94.0056 216.328C95.8876 213.812 97.9388 211.401 100.117 209.138ZM89.2262 223.476V207.235C85.2929 217.618 82.5014 230.539 81 243.206C82.8398 236.185 85.6312 229.566 89.2262 223.476ZM81.1057 283.174C82.6495 293.981 85.3563 304.406 89.1205 314.324V302.334C85.6524 296.413 82.9244 289.984 81.1057 283.174ZM94.513 310.348L98.7214 329.972L96.374 330.48C100.582 338.516 105.51 346.087 111.071 353.15L105.785 328.45L102.634 329.127L99.969 316.713C98.0446 314.684 96.2049 312.57 94.513 310.327V310.348ZM109.168 324.94L116.992 347.145L113.947 348.222L118.917 362.327C124.013 367.805 129.512 372.881 135.369 377.532L123.823 344.754L120.778 345.833L114.814 328.873C112.89 327.648 111.008 326.356 109.189 324.982L109.168 324.94ZM120.841 332.278L137.336 363.196L134.481 364.718L145.118 384.639C150.574 388.276 156.284 391.554 162.226 394.451L143.723 359.79L140.868 361.313L126.847 335.048C124.796 334.223 122.787 333.292 120.82 332.299L120.841 332.278ZM138.203 338.664L159.752 372.035L157.045 373.789L173.582 399.4C178.7 401.366 183.944 403.058 189.316 404.453L165.821 368.08L163.114 369.836L143.659 339.722C141.819 339.426 139.979 339.066 138.182 338.643L138.203 338.664ZM153.598 340.695L180.92 373.81L178.425 375.862L204.584 407.563C209.427 408.281 214.354 408.767 219.345 409L186.503 369.18L184.008 371.231L158.779 340.653C157.87 340.695 156.94 340.695 156.009 340.695C155.205 340.695 154.381 340.695 153.577 340.653L153.598 340.695ZM171.721 339.13L205.113 372.352L202.85 374.635L237.13 408.746C241.613 408.408 246.033 407.879 250.389 407.161L210.209 367.193L207.925 369.497L176.31 338.031C174.809 338.433 173.265 338.812 171.721 339.13ZM187.286 334.161L228.755 368.186L226.704 370.682L266.714 403.501C270.69 402.36 274.623 401.048 278.451 399.59L233.323 362.581L231.272 365.077L191.261 332.257C189.95 332.934 188.618 333.567 187.264 334.161H187.286ZM199.043 327.689L248.147 358.924L246.413 361.652L294.566 392.273C298.055 390.433 301.46 388.444 304.757 386.351L252.017 352.813L250.283 355.539L202.554 325.194C201.391 326.061 200.228 326.906 199.022 327.71L199.043 327.689ZM212.578 316.186L266.185 344.121L264.706 346.997L319.56 375.587C322.437 373.198 325.228 370.723 327.914 368.122L269.549 337.691L268.068 340.568L215.348 313.097C214.46 314.155 213.55 315.19 212.599 316.186H212.578ZM221.058 305.358L281.454 328.175L280.313 331.199L340.751 354.017C343.013 351.184 345.171 348.266 347.243 345.262L284.012 321.387L282.871 324.411L223.194 301.868C222.517 303.053 221.798 304.216 221.058 305.358ZM227.381 293.515L291.731 309.587L290.95 312.718L356.802 329.17C358.43 326.019 359.93 322.782 361.328 319.506L293.487 302.566L292.704 305.696L228.861 289.751C228.396 291.02 227.888 292.268 227.381 293.515ZM231.568 280.742L298.667 288.99L298.265 292.204L367.797 300.769C368.707 297.385 369.511 293.959 370.188 290.512L299.556 281.821L299.154 285.035L232.371 276.809C232.139 278.141 231.864 279.452 231.568 280.764V280.742Z\" fill=\"url(#paint1_radial_1412_24)\"/><defs><radialGradient id=\"paint0_radial_1412_24\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(-141.188 442.486 -487.725 -89.3476 357.581 72.8347)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#2A5A50\"/><stop offset=\"1\" stop-color=\"#31695E\"/></radialGradient><radialGradient id=\"paint1_radial_1412_24\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(296.695 163.263) rotate(105.834) scale(255.429)\"><stop stop-color=\"white\"/><stop offset=\"1\" stop-color=\"#DEDEDE\"/></radialGradient></defs></svg>`,\n\n stable: `<svg width=\"455\" height=\"526\" viewBox=\"0 0 455 526\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M252.396 510.713C236.926 519.644 217.867 519.644 202.396 510.713L25 408.293C9.52996 399.361 -6.21976e-06 382.855 -7.00059e-06 364.992L-1.59546e-05 160.147C-1.67355e-05 142.284 9.53046 125.777 25.0012 116.845L202.398 14.4321C217.867 5.50139 236.926 5.5014 252.395 14.4321L429.792 116.845C445.262 125.777 454.793 142.284 454.793 160.147L454.793 364.992C454.793 382.855 445.263 399.361 429.793 408.293L252.396 510.713Z\" fill=\"url(#paint0_radial_9_27)\"/><path d=\"M226.822 276.578C238.624 269.448 255.458 259.582 268.693 259.582C289.876 259.582 307.588 274.526 307.588 302.918C307.588 348.21 253.555 389.967 177.205 371.778C176.952 371.718 176.705 371.909 176.705 372.166V392.531V395.01V396.65C176.705 396.816 176.806 396.961 176.962 397.022C187.488 400.944 198.604 403.664 210.14 405.012C299.595 415.492 376.885 341.134 369.512 251.677C367.398 226.026 358.689 202.437 344.651 182.484C344.545 182.333 344.358 182.238 344.096 182.373L226.892 249.882C213.571 257.455 198.251 266.928 185.041 266.928C163.858 266.928 146.146 251.984 146.146 223.592C146.146 178.295 200.184 136.543 276.535 154.737C276.787 154.797 277.029 154.611 277.029 154.349V130.243C277.029 130.077 276.928 129.926 276.772 129.87C261.266 124.138 244.503 121 226.998 121C148.024 121 84 184.797 84 263.499C84 293.353 93.219 321.06 108.968 343.956C109.089 344.127 109.321 344.182 109.502 344.076L226.822 276.578Z\" fill=\"#E8FBF7\"/><defs><radialGradient id=\"paint0_radial_9_27\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(367.246 258.894 -224.21 424.057 87.5465 116.927)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#173A2E\"/><stop offset=\"1\" stop-color=\"#121F1F\"/></radialGradient></defs></svg>`,\n};\n\nexport const chainIcons: Record<string, string> = Object.fromEntries(\n Object.entries(CHAIN_SVGS).map(([key, svg]) => [key, svgToDataUri(svg)]),\n);\n\nexport const getChainIcon = (key: string): string | undefined => chainIcons[key];\n","export const tokenIcons: Record<string, string> = {\n eth: `data:image/png;base64,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`,\n\n usdc: `data:image/png;base64,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`,\n\n usdm: `data:image/png;base64,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`,\n\n usdt: `data:image/png;base64,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`,\n\n usdt0: `data:image/png;base64,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`,\n\n weth: `data:image/svg+xml,%3Csvg%20width%3D%22501%22%20height%3D%22500%22%20viewBox%3D%220%200%20501%20500%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clipPath%3D%22url(%23clip0_801_365)%22%3E%3Cpath%20fillRule%3D%22evenodd%22%20clipRule%3D%22evenodd%22%20d%3D%22M250.734%20500C388.834%20500%20500.734%20388.1%20500.734%20250C500.734%20111.9%20388.834%200%20250.734%200C112.634%200%200.734375%20111.9%200.734375%20250C0.734375%20388.1%20112.634%20500%20250.734%20500Z%22%20fill%3D%22%23F2F4F7%22%2F%3E%3Cpath%20fillRule%3D%22evenodd%22%20clipRule%3D%22evenodd%22%20d%3D%22M386.834%2086.8C350.034%2056%20302.534%2037.5%20250.734%2037.5C198.934%2037.5%20151.434%2056%20114.634%2086.8C111.834%2089.1%20111.734%2093.3%20114.334%2095.8L118.834%20100.3C121.134%20102.6%20124.934%20102.7%20127.434%20100.6C160.934%2072.9%20203.934%2056.2%20250.834%2056.2C297.734%2056.2%20340.734%2072.9%20374.234%20100.6C376.734%20102.7%20380.534%20102.6%20382.834%20100.3L387.334%2095.8C389.734%2093.3%20389.634%2089.1%20386.834%2086.8ZM101.034%20118C103.334%20120.3%20103.434%20124.1%20101.334%20126.6C73.6344%20160.1%2056.9344%20203.1%2056.9344%20250C56.9344%20296.9%2073.6344%20339.9%20101.334%20373.4C103.434%20375.9%20103.334%20379.7%20101.034%20382L96.5344%20386.5C94.0344%20389%2089.8344%20388.9%2087.5344%20386.2C56.7344%20349.3%2038.2344%20301.8%2038.2344%20250C38.2344%20198.2%2056.7344%20150.7%2087.5344%20113.9C89.8344%20111.1%2094.0344%20111%2096.5344%20113.6L101.034%20118ZM400.134%20373.4C398.034%20375.9%20398.134%20379.7%20400.434%20382L404.934%20386.5C407.434%20389%20411.634%20388.9%20413.934%20386.2C444.734%20349.3%20463.234%20301.9%20463.234%20250.1C463.234%20198.3%20444.734%20150.8%20413.934%20114C411.634%20111.2%20407.434%20111.1%20404.934%20113.7L400.434%20118.2C398.134%20120.5%20398.034%20124.3%20400.134%20126.8C427.834%20160.3%20444.534%20203.3%20444.534%20250.2C444.534%20297.1%20427.834%20339.9%20400.134%20373.4ZM114.634%20413.2C151.534%20444%20198.934%20462.5%20250.734%20462.5C302.534%20462.5%20350.034%20444%20386.834%20413.2C389.634%20410.9%20389.734%20406.7%20387.134%20404.2L382.634%20399.7C380.334%20397.4%20376.534%20397.3%20374.034%20399.4C340.534%20427.1%20297.534%20443.8%20250.634%20443.8C203.734%20443.8%20160.734%20427.1%20127.234%20399.4C124.734%20397.3%20120.934%20397.4%20118.634%20399.7L114.134%20404.2C111.734%20406.7%20111.834%20410.9%20114.634%20413.2Z%22%20fill%3D%22%23828384%22%2F%3E%3Cpath%20d%3D%22M166.336%20261.5L250.736%20311.4L335.136%20261.5L250.736%20380.4L166.336%20261.5Z%22%20fill%3D%22url(%23paint0_linear_801_365)%22%2F%3E%3Cpath%20d%3D%22M250.617%20102.537L335.133%20242.194L250.93%20206.206L250.617%20102.537Z%22%20fill%3D%22%232F3030%22%2F%3E%3Cpath%20d%3D%22M166.336%20242.194L250.62%20102.537L250.932%20206.206L166.336%20242.194Z%22%20fill%3D%22%23828384%22%2F%3E%3Cpath%20d%3D%22M250.62%20293.687L166.336%20242.193L250.932%20206.205L250.62%20293.687Z%22%20fill%3D%22%23343535%22%2F%3E%3Cpath%20d%3D%22M335.133%20242.193L250.93%20206.205L250.617%20293.687L335.133%20242.193Z%22%20fill%3D%22%23131313%22%2F%3E%3Cpath%20d%3D%22M250.617%20311.416L335.133%20261.316L250.617%20380.401V311.416Z%22%20fill%3D%22%232F3030%22%2F%3E%3Cpath%20d%3D%22M250.62%20311.416L166.336%20261.316L250.62%20380.401V311.416Z%22%20fill%3D%22%23828384%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22paint0_linear_801_365%22%20x1%3D%22250.728%22%20y1%3D%22261.48%22%20x2%3D%22250.728%22%20y2%3D%22380.395%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22white%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22white%22%20stop-opacity%3D%220.9%22%2F%3E%3C%2FlinearGradient%3E%3CclipPath%20id%3D%22clip0_801_365%22%3E%3Crect%20width%3D%22500%22%20height%3D%22500%22%20fill%3D%22white%22%20transform%3D%22translate(0.734375)%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E`,\n\n monad: `data:image/svg+xml,%3Csvg%20width%3D%22455%22%20height%3D%22526%22%20viewBox%3D%220%200%20455%20526%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M202.396%2014.4337C217.867%205.50211%20236.926%205.50211%20252.396%2014.4337L429.793%20116.854C445.263%20125.785%20454.793%20142.292%20454.793%20160.155V364.999C454.793%20382.863%20445.262%20399.37%20429.792%20408.301L252.395%20510.715C236.926%20519.645%20217.867%20519.645%20202.398%20510.714L25.0012%20408.301C9.53046%20399.37%200%20382.863%200%20364.999V160.155C0%20142.292%209.52995%20125.785%2025%20116.854L202.396%2014.4337Z%22%20fill%3D%22url(%23paint0_radial_9_12)%22%2F%3E%3Cpath%20d%3D%22M226.5%2098C178.996%2098%2062%20214.978%2062%20262.5C62%20310.022%20178.996%20427%20226.5%20427C274.004%20427%20391%20310.004%20391%20262.5C391%20214.996%20274.004%2098%20226.5%2098ZM200.875%20356.557C180.824%20351.111%20126.978%20256.889%20132.443%20236.856C137.908%20216.824%20232.111%20162.978%20252.144%20168.443C272.158%20173.889%20326.023%20268.111%20320.557%20288.144C315.111%20308.158%20220.907%20362.023%20200.875%20356.557Z%22%20fill%3D%22white%22%2F%3E%3Cdefs%3E%3CradialGradient%20id%3D%22paint0_radial_9_12%22%20cx%3D%220%22%20cy%3D%220%22%20r%3D%221%22%20gradientTransform%3D%22matrix(-367.246%20-258.894%20224.21%20-424.057%20367.246%20408.22)%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%236451CC%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23836EF9%22%2F%3E%3C%2FradialGradient%3E%3C%2Fdefs%3E%3C%2Fsvg%3E`,\n\n plasma: `data:image/svg+xml,%3Csvg%20width%3D%22455%22%20height%3D%22526%22%20viewBox%3D%220%200%20455%20526%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M202.396%2014.4337C217.867%205.50211%20236.926%205.50211%20252.396%2014.4337L429.793%20116.854C445.263%20125.785%20454.793%20142.292%20454.793%20160.155V364.999C454.793%20382.863%20445.262%20399.37%20429.792%20408.301L252.395%20510.715C236.926%20519.645%20217.867%20519.645%20202.398%20510.714L25.0012%20408.301C9.53046%20399.37%200%20382.863%200%20364.999V160.155C0%20142.292%209.52995%20125.785%2025%20116.854L202.396%2014.4337Z%22%20fill%3D%22url(%23paint0_radial_1412_24)%22%2F%3E%3Cpath%20d%3D%22M373%20263.783C373%20265.263%20372.979%20266.743%20372.937%20268.223H372.767H301.925V264.988H233.577C233.577%20264.311%20233.598%20263.634%20233.598%20262.979C233.598%20262.323%20233.598%20261.626%20233.577%20260.97H301.925V257.756H302.031H372.873C372.958%20259.764%20373%20261.773%20373%20263.783ZM232.371%20249.212L299.261%20240.986L299.662%20244.2L370.292%20235.509C369.617%20232.041%20368.813%20228.615%20367.903%20225.252L298.371%20233.817L298.773%20237.031L231.568%20245.3C231.864%20246.611%20232.139%20247.922%20232.371%20249.254V249.212ZM228.882%20236.27L292.81%20220.304L293.593%20223.434L361.432%20206.495C360.036%20203.217%20358.535%20199.981%20356.929%20196.831L291.075%20213.283L291.858%20216.413L227.402%20232.527C227.93%20233.775%20228.417%20235.022%20228.882%20236.291V236.27ZM223.215%20224.153L282.977%20201.589L284.118%20204.613L347.348%20180.738C345.298%20177.735%20343.14%20174.816%20340.857%20171.983L280.417%20194.8L281.56%20197.824L221.079%20220.663C221.819%20221.805%20222.538%20222.969%20223.215%20224.153ZM215.369%20212.945L268.153%20185.432L269.632%20188.308L328%20157.878C325.313%20155.276%20322.522%20152.802%20319.646%20150.413L264.789%20179.004L266.27%20181.88L212.599%20209.857C213.529%20210.872%20214.46%20211.887%20215.348%20212.945H215.369ZM202.638%20200.849L250.431%20170.46L252.165%20173.188L304.905%20139.649C301.585%20137.534%20298.202%20135.567%20294.714%20133.727L246.561%20164.349L248.295%20167.076L199.128%20198.332C200.333%20199.136%20201.496%20199.981%20202.66%20200.849H202.638ZM191.346%20193.785L231.399%20160.944L233.45%20163.439L278.557%20126.432C274.729%20124.972%20270.796%20123.661%20266.82%20122.519L226.81%20155.34L228.861%20157.835L187.349%20191.882C188.702%20192.474%20190.035%20193.109%20191.346%20193.785ZM176.395%20187.97L208.031%20156.482L210.294%20158.766L250.494%20118.819C246.138%20118.1%20241.719%20117.571%20237.235%20117.233L202.956%20151.343L205.218%20153.627L171.806%20186.87C173.35%20187.188%20174.872%20187.547%20176.395%20187.97ZM158.906%20185.326L184.135%20154.748L186.63%20156.799L219.472%20117C214.481%20117.233%20209.554%20117.719%20204.711%20118.438L178.552%20150.138L181.047%20152.189L153.725%20185.305C154.486%20185.284%20155.269%20185.263%20156.03%20185.263C157.003%20185.263%20157.955%20185.263%20158.906%20185.305V185.326ZM143.786%20186.236L163.22%20156.165L165.927%20157.92L189.421%20121.547C184.05%20122.942%20178.806%20124.634%20173.688%20126.601L157.151%20152.21L159.858%20153.965L138.33%20187.293C140.128%20186.87%20141.946%20186.511%20143.786%20186.215V186.236ZM126.995%20190.909L140.973%20164.708L143.807%20166.231L162.311%20131.57C156.368%20134.468%20150.659%20137.745%20145.203%20141.383L134.566%20161.303L137.421%20162.826L120.968%20193.659C122.914%20192.665%20124.923%20191.755%20126.974%20190.93L126.995%20190.909ZM114.941%20197.063L120.884%20180.188L123.929%20181.266L135.475%20148.488C129.617%20153.14%20124.119%20158.216%20119.023%20163.693L114.053%20177.798L117.098%20178.877L109.316%20200.954C111.135%20199.58%20112.996%20198.29%20114.92%20197.084L114.941%20197.063ZM100.117%20209.138L102.739%20196.873L105.89%20197.55L111.177%20172.85C105.615%20179.913%20100.688%20187.505%2096.4798%20195.519L98.827%20196.027L94.0056%20216.328C95.8876%20213.812%2097.9388%20211.401%20100.117%20209.138ZM89.2262%20223.476V207.235C85.2929%20217.618%2082.5014%20230.539%2081%20243.206C82.8398%20236.185%2085.6312%20229.566%2089.2262%20223.476ZM81.1057%20283.174C82.6495%20293.981%2085.3563%20304.406%2089.1205%20314.324V302.334C85.6524%20296.413%2082.9244%20289.984%2081.1057%20283.174ZM94.513%20310.348L98.7214%20329.972L96.374%20330.48C100.582%20338.516%20105.51%20346.087%20111.071%20353.15L105.785%20328.45L102.634%20329.127L99.969%20316.713C98.0446%20314.684%2096.2049%20312.57%2094.513%20310.327V310.348ZM109.168%20324.94L116.992%20347.145L113.947%20348.222L118.917%20362.327C124.013%20367.805%20129.512%20372.881%20135.369%20377.532L123.823%20344.754L120.778%20345.833L114.814%20328.873C112.89%20327.648%20111.008%20326.356%20109.189%20324.982L109.168%20324.94ZM120.841%20332.278L137.336%20363.196L134.481%20364.718L145.118%20384.639C150.574%20388.276%20156.284%20391.554%20162.226%20394.451L143.723%20359.79L140.868%20361.313L126.847%20335.048C124.796%20334.223%20122.787%20333.292%20120.82%20332.299L120.841%20332.278ZM138.203%20338.664L159.752%20372.035L157.045%20373.789L173.582%20399.4C178.7%20401.366%20183.944%20403.058%20189.316%20404.453L165.821%20368.08L163.114%20369.836L143.659%20339.722C141.819%20339.426%20139.979%20339.066%20138.182%20338.643L138.203%20338.664ZM153.598%20340.695L180.92%20373.81L178.425%20375.862L204.584%20407.563C209.427%20408.281%20214.354%20408.767%20219.345%20409L186.503%20369.18L184.008%20371.231L158.779%20340.653C157.87%20340.695%20156.94%20340.695%20156.009%20340.695C155.205%20340.695%20154.381%20340.695%20153.577%20340.653L153.598%20340.695ZM171.721%20339.13L205.113%20372.352L202.85%20374.635L237.13%20408.746C241.613%20408.408%20246.033%20407.879%20250.389%20407.161L210.209%20367.193L207.925%20369.497L176.31%20338.031C174.809%20338.433%20173.265%20338.812%20171.721%20339.13ZM187.286%20334.161L228.755%20368.186L226.704%20370.682L266.714%20403.501C270.69%20402.36%20274.623%20401.048%20278.451%20399.59L233.323%20362.581L231.272%20365.077L191.261%20332.257C189.95%20332.934%20188.618%20333.567%20187.264%20334.161H187.286ZM199.043%20327.689L248.147%20358.924L246.413%20361.652L294.566%20392.273C298.055%20390.433%20301.46%20388.444%20304.757%20386.351L252.017%20352.813L250.283%20355.539L202.554%20325.194C201.391%20326.061%20200.228%20326.906%20199.022%20327.71L199.043%20327.689ZM212.578%20316.186L266.185%20344.121L264.706%20346.997L319.56%20375.587C322.437%20373.198%20325.228%20370.723%20327.914%20368.122L269.549%20337.691L268.068%20340.568L215.348%20313.097C214.46%20314.155%20213.55%20315.19%20212.599%20316.186H212.578ZM221.058%20305.358L281.454%20328.175L280.313%20331.199L340.751%20354.017C343.013%20351.184%20345.171%20348.266%20347.243%20345.262L284.012%20321.387L282.871%20324.411L223.194%20301.868C222.517%20303.053%20221.798%20304.216%20221.058%20305.358ZM227.381%20293.515L291.731%20309.587L290.95%20312.718L356.802%20329.17C358.43%20326.019%20359.93%20322.782%20361.328%20319.506L293.487%20302.566L292.704%20305.696L228.861%20289.751C228.396%20291.02%20227.888%20292.268%20227.381%20293.515ZM231.568%20280.742L298.667%20288.99L298.265%20292.204L367.797%20300.769C368.707%20297.385%20369.511%20293.959%20370.188%20290.512L299.556%20281.821L299.154%20285.035L232.371%20276.809C232.139%20278.141%20231.864%20279.452%20231.568%20280.764V280.742Z%22%20fill%3D%22url(%23paint1_radial_1412_24)%22%2F%3E%3Cdefs%3E%3CradialGradient%20id%3D%22paint0_radial_1412_24%22%20cx%3D%220%22%20cy%3D%220%22%20r%3D%221%22%20gradientTransform%3D%22matrix(-141.188%20442.486%20-487.725%20-89.3476%20357.581%2072.8347)%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%232A5A50%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2331695E%22%2F%3E%3C%2FradialGradient%3E%3CradialGradient%20id%3D%22paint1_radial_1412_24%22%20cx%3D%220%22%20cy%3D%220%22%20r%3D%221%22%20gradientUnits%3D%22userSpaceOnUse%22%20gradientTransform%3D%22translate(296.695%20163.263)%20rotate(105.834)%20scale(255.429)%22%3E%3Cstop%20stop-color%3D%22white%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23DEDEDE%22%2F%3E%3C%2FradialGradient%3E%3C%2Fdefs%3E%3C%2Fsvg%3E`,\n\n stable: `data:image/svg+xml,%3Csvg%20width%3D%22455%22%20height%3D%22526%22%20viewBox%3D%220%200%20455%20526%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M252.396%20510.713C236.926%20519.644%20217.867%20519.644%20202.396%20510.713L25%20408.293C9.52996%20399.361%20-6.21976e-06%20382.855%20-7.00059e-06%20364.992L-1.59546e-05%20160.147C-1.67355e-05%20142.284%209.53046%20125.777%2025.0012%20116.845L202.398%2014.4321C217.867%205.50139%20236.926%205.5014%20252.395%2014.4321L429.792%20116.845C445.262%20125.777%20454.793%20142.284%20454.793%20160.147L454.793%20364.992C454.793%20382.855%20445.263%20399.361%20429.793%20408.293L252.396%20510.713Z%22%20fill%3D%22url(%23paint0_radial_9_27)%22%2F%3E%3Cpath%20d%3D%22M226.822%20276.578C238.624%20269.448%20255.458%20259.582%20268.693%20259.582C289.876%20259.582%20307.588%20274.526%20307.588%20302.918C307.588%20348.21%20253.555%20389.967%20177.205%20371.778C176.952%20371.718%20176.705%20371.909%20176.705%20372.166V392.531V395.01V396.65C176.705%20396.816%20176.806%20396.961%20176.962%20397.022C187.488%20400.944%20198.604%20403.664%20210.14%20405.012C299.595%20415.492%20376.885%20341.134%20369.512%20251.677C367.398%20226.026%20358.689%20202.437%20344.651%20182.484C344.545%20182.333%20344.358%20182.238%20344.096%20182.373L226.892%20249.882C213.571%20257.455%20198.251%20266.928%20185.041%20266.928C163.858%20266.928%20146.146%20251.984%20146.146%20223.592C146.146%20178.295%20200.184%20136.543%20276.535%20154.737C276.787%20154.797%20277.029%20154.611%20277.029%20154.349V130.243C277.029%20130.077%20276.928%20129.926%20276.772%20129.87C261.266%20124.138%20244.503%20121%20226.998%20121C148.024%20121%2084%20184.797%2084%20263.499C84%20293.353%2093.219%20321.06%20108.968%20343.956C109.089%20344.127%20109.321%20344.182%20109.502%20344.076L226.822%20276.578Z%22%20fill%3D%22%23E8FBF7%22%2F%3E%3Cdefs%3E%3CradialGradient%20id%3D%22paint0_radial_9_27%22%20cx%3D%220%22%20cy%3D%220%22%20r%3D%221%22%20gradientTransform%3D%22matrix(367.246%20258.894%20-224.21%20424.057%2087.5465%20116.927)%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%23173A2E%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23121F1F%22%2F%3E%3C%2FradialGradient%3E%3C%2Fdefs%3E%3C%2Fsvg%3E`,\n\n};\n\nexport const MISSING_TOKEN_SVG = `data:image/svg+xml,%3Csvg%20width%3D%2264%22%20height%3D%2264%22%20viewBox%3D%220%200%2064%2064%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2232%22%20r%3D%2232%22%20fill%3D%22%232A2A2A%22%2F%3E%3Ctext%20x%3D%2232%22%20y%3D%2238%22%20text-anchor%3D%22middle%22%20font-family%3D%22sans-serif%22%20font-size%3D%2224%22%20fill%3D%22%23666%22%3E%3F%3C%2Ftext%3E%3C%2Fsvg%3E`;\n\nexport const getTokenIcon = (symbolOrKey: string): string | undefined =>\n tokenIcons[symbolOrKey.toLowerCase()];\n","import { getAddress } from 'viem';\nimport type { ReviewOrderStep } from './types';\nimport { ReviewOrderSteps, reviewOrderStepToIndex } from './types';\n\nexport const formatNumber = (\n num: number | string | null | undefined,\n): string => {\n const numValue = typeof num === 'number' ? num : Number(num);\n\n if (Number.isNaN(numValue)) {\n return 'N/A';\n }\n\n if (Math.abs(numValue) >= 1_000_000_000_000) {\n return `${(numValue / 1_000_000_000_000).toFixed(3)}T`;\n }\n if (Math.abs(numValue) >= 1_000_000_000) {\n return `${(numValue / 1_000_000_000).toFixed(3)}B`;\n }\n if (Math.abs(numValue) >= 999_950) {\n return `${(numValue / 1_000_000).toFixed(3)}M`;\n }\n if (Math.abs(numValue) >= 10_000) {\n return `${(numValue / 1_000).toFixed(3)}K`;\n }\n if (Math.abs(numValue) >= 1_000) {\n return numValue.toFixed(2);\n }\n if (Math.abs(numValue) >= 100) {\n return numValue.toFixed(2);\n }\n if (Math.abs(numValue) >= 10) {\n return numValue.toFixed(2);\n }\n if (Math.abs(numValue) >= 1) {\n return numValue.toFixed(2);\n }\n return numValue.toFixed(6);\n};\n\nexport const TruncateString = (str: string): string => {\n if (typeof str !== 'string' || !str) {\n return 'Invalid String';\n }\n\n const split_str = str.split('');\n const first = split_str.slice(0, 5).join('');\n const last = split_str.slice(-5).join('');\n return `${first}…${last}`;\n};\n\nexport function toBigInt(\n value: string | number | bigint,\n _decimals?: number,\n): bigint {\n if (typeof value === 'bigint') return value;\n if (\n typeof value === 'number' ||\n (typeof value === 'string' && (value.includes('e') || value.includes('E')))\n ) {\n return BigInt(Math.floor(Number(value)));\n }\n if (typeof value === 'string' && value.startsWith('0x')) {\n return BigInt(value);\n }\n return BigInt(value);\n}\n\nexport { isAddress } from 'viem';\n\nexport const isReviewStepPast = (\n componentStep: ReviewOrderStep | null,\n currentReviewState: ReviewOrderStep | null,\n): boolean => {\n if (componentStep === null) return true;\n if (currentReviewState === null) return false;\n return (\n reviewOrderStepToIndex[currentReviewState] >\n reviewOrderStepToIndex[componentStep]\n );\n};\n\nexport const getNextReviewStep = (\n current: ReviewOrderStep | null,\n): ReviewOrderStep | null => {\n if (current === null) return null;\n return ReviewOrderSteps[reviewOrderStepToIndex[current] + 1] || null;\n};\n\nexport const sleep = (ms: number): Promise<void> =>\n new Promise((resolve) => setTimeout(resolve, ms));\n\nexport const calculateDollarizedBalance = (\n asset: { price?: number },\n amount: string,\n decimals: number,\n): number => {\n const balance = Number.parseFloat(amount) / 10 ** decimals;\n const price = asset.price || 0;\n return balance * price;\n};\n\nconst memoizedAddresses = new Map<unknown, `0x${string}` | ''>();\n\nfunction checkedAddress(candidate: `0x${string}`): `0x${string}`;\nfunction checkedAddress(candidate: unknown): `0x${string}` | '';\nfunction checkedAddress(candidate: unknown): `0x${string}` | '' {\n const memoizedAddress = memoizedAddresses.get(candidate);\n if (typeof memoizedAddress !== 'string') {\n try {\n const address = getAddress(candidate as string) as `0x${string}`;\n memoizedAddresses.set(candidate, address);\n return address;\n } catch {\n memoizedAddresses.set(candidate, '');\n return '';\n }\n } else {\n return memoizedAddress;\n }\n}\n\nexport { checkedAddress };\n","export interface Asset {\n symbol: string;\n address: string;\n logoURI?: string;\n name: string;\n decimals?: number;\n chainId: SupportedChainId;\n price?: number;\n vol24h?: number;\n change24h?: number;\n marketCap?: number;\n}\n\nexport interface TokenRegistryAsset {\n symbol: string;\n address: string;\n chainId: SupportedChainId;\n chainKey: string;\n name: string;\n decimals: number;\n price: number;\n icon: string;\n marketCap?: number;\n}\n\nexport const Categories = [\n 'all',\n 'favorites',\n 'popular',\n 'stables',\n 'defi',\n] as const;\nexport type TokenSelectCategory = (typeof Categories)[number];\nexport const CategoryData = {\n all: 'All Tokens',\n favorites: 'Watching',\n popular: 'Popular',\n stables: 'Stables',\n defi: 'DeFi',\n} as const;\n\nexport const ReviewOrderSteps = [\n 'chain',\n 'signingOrder',\n 'submittingOrder',\n 'sendingTx',\n 'success',\n 'cancelled',\n 'unwrapping',\n 'wrapping',\n 'wrapSuccess',\n 'trackingTx',\n] as const;\nexport type ReviewOrderStep = (typeof ReviewOrderSteps)[number];\n\nexport const reviewOrderStepToIndex: Record<ReviewOrderStep, number> = {\n chain: 0,\n wrapping: 1,\n signingOrder: 2,\n submittingOrder: 3,\n sendingTx: 4,\n success: 5,\n cancelled: 5,\n wrapSuccess: 6,\n unwrapping: 7,\n trackingTx: 8,\n};\n\nexport interface GetNotificationsParams {\n offerer?: string | `0x${string}`;\n recipient?: string | `0x${string}`;\n tradeId?: string;\n chains?: number[];\n sourceChains?: number[];\n destChains?: number[];\n eventType?: string[];\n base?: string;\n quote?: string;\n startDate?: number;\n endDate?: number;\n minTime?: number;\n maxTime?: number;\n page?: number;\n verbose?: boolean;\n cursor?: string;\n limit?: number;\n minUsdValue?: number;\n maxUsdValue?: number;\n}\n\nexport interface WalletBalanceItem {\n chainId: number;\n token: string;\n balance: string;\n shiftedBalance: string;\n}\n\nexport interface WalletBalanceResponse {\n balances: WalletBalanceItem[];\n}\n\nexport type SupportedChainId = number;\n","'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport function useDebounce<T>(value: T, delay: number) {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n\n return debouncedValue;\n}\n","/**\n * React Query hooks for token data\n *\n * Main hooks:\n * - useTokenRegistry() - Full token list\n * - useTokenPrice() - Single token price from cached registry\n * - useTokenData() - Token registry with helper methods\n * - useTokenWithFallback() - Registry lookup only (no pricemaster fallback)\n * - useSupportedTokensWithPricing() - Filtered tokens by chain\n * - useInvalidateTokens() - Cache invalidation utilities\n */\n\nimport {\n type UseQueryOptions,\n useQuery,\n useQueryClient,\n} from '@tanstack/react-query';\nimport { useCallback, useMemo } from 'react';\nimport type { Asset } from '../../types';\nimport { fetchTokenRegistry } from './queryFunctions';\nimport { tokenKeys } from './queryKeys';\n\nconst EMPTY_TOKENS: Asset[] = [];\n\n// =======================\n// REGISTRY QUERIES\n// =======================\n\n/**\n * Fetch all tokens from registry\n * Use for: Token selection menus, full token lists\n */\nexport function useTokenRegistry(\n chainId?: number,\n options?: Omit<UseQueryOptions<Asset[], Error>, 'queryKey' | 'queryFn'>,\n) {\n return useQuery({\n queryKey: tokenKeys.registry(chainId),\n queryFn: ({ signal }) => fetchTokenRegistry(chainId, signal),\n staleTime: 55000,\n refetchInterval: 60000,\n retry: 1,\n refetchIntervalInBackground: false,\n ...options,\n });\n}\n\n// =======================\n// INDIVIDUAL TOKEN QUERIES\n// =======================\n\n/**\n * Get single token price from registry cache\n * Use for: Token displays, price lookups\n *\n * NOTE: Reads from cached registry (no additional API call)\n */\nexport function useTokenPrice(\n address: string | null | undefined,\n chainId: number | null | undefined,\n) {\n const { data: tokens = EMPTY_TOKENS } = useTokenRegistry();\n\n const token = useMemo(() => {\n if (!address || !chainId) return undefined;\n\n return tokens.find(\n (t) =>\n t &&\n t.address &&\n t.chainId === chainId &&\n t.address.toLowerCase() === address.toLowerCase(),\n );\n }, [tokens, address, chainId]);\n\n return { data: token, isLoading: false, error: undefined };\n}\n\n/**\n * IMPORTANT PATTERN:\n * Fetch single token price with granular pricemaster API call.\n * Use for: Active swap pair tokens that need frequent updates ONLY DURING during quoting.\n *\n * Behavior:\n * - On token selection: returns registry-cached price (NO pricemaster fetch)\n * - During quoting: RfqContext invalidates this key → pricemaster fetch fires\n * - After quoting stops: cached pricemaster price persists (staleTime: Infinity) - refetched lazily by RfqContext.\n *\n * How it works: The query cache is pre-seeded from the token registry. Since\n * staleTime is Infinity and refetchOnMount is false, React Query uses the\n * cached registry data without fetching. Only explicit invalidation from\n * RfqContext triggers a pricemaster fetch.\n */\nexport function useTokenPriceWithRefetch(\n address: string | null | undefined,\n chainId: number | null | undefined,\n options?: Omit<UseQueryOptions<Asset, Error>, 'queryKey' | 'queryFn'>,\n) {\n const queryClient = useQueryClient();\n\n if (address && chainId) {\n const key = tokenKeys.price(chainId, address);\n const existing = queryClient.getQueryData(key);\n if (!existing) {\n const registry = queryClient.getQueryData<Asset[]>(\n tokenKeys.registries(),\n );\n if (registry) {\n const fromRegistry = registry.find(\n (t) =>\n t.chainId === chainId &&\n t.address.toLowerCase() === address.toLowerCase(),\n );\n if (fromRegistry) {\n queryClient.setQueryData(key, fromRegistry);\n }\n }\n }\n }\n\n return useQuery({\n queryKey: tokenKeys.price(chainId ?? 0, address ?? ''),\n queryFn: async () => {\n const registry = queryClient.getQueryData<Asset[]>(\n tokenKeys.registries(),\n );\n const match = registry?.find(\n (t) =>\n t.chainId === chainId &&\n t.address.toLowerCase() === address!.toLowerCase(),\n );\n if (match) return match;\n throw new Error(`Token not found in registry: ${chainId}:${address}`);\n },\n enabled: !!address && !!chainId,\n staleTime: Infinity,\n refetchInterval: false,\n refetchOnMount: false,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n ...options,\n });\n}\n\n// =======================\n// COMPOSITE HOOKS\n// =======================\n\n/**\n * Hook that returns token from registry. Unknown tokens return undefined — no fallback for now..\n *\n * Flow:\n * 1. Wait for registry to finish loading (bulk /tokens?metadata=true)\n * 2. Check registry cache with O(1) Map lookup\n * 3. Return undefined if token not found — no fallback fetch for now\n */\nexport function useTokenWithFallback(\n address: string | null | undefined,\n chainId: number | null | undefined,\n) {\n const { getToken, isLoadingRegistry } = useTokenData();\n\n const registryToken = useMemo(() => {\n if (!address || !chainId) return undefined;\n return getToken(chainId, address);\n }, [getToken, address, chainId]);\n\n return {\n token: registryToken,\n isLoading: isLoadingRegistry,\n isError: false,\n error: undefined,\n };\n}\n\n/**\n * Hook providing full token data utilities\n * Uses Map for O(1) lookups\n */\nexport function useTokenData() {\n const { data, isLoading, error } = useTokenRegistry();\n\n const tokens = data ?? EMPTY_TOKENS;\n\n const tokenMap = useMemo(() => {\n const map = new Map<string, Asset>();\n for (const token of tokens) {\n if (token && token.address && token.chainId) {\n const key = `${token.chainId}-${token.address.toLowerCase()}`;\n map.set(key, token);\n }\n }\n return map;\n }, [tokens]);\n\n const getToken = useCallback(\n (chainId: number, address: string): Asset | undefined => {\n if (!address || !chainId) return undefined;\n const key = `${chainId}-${address.toLowerCase()}`;\n return tokenMap.get(key);\n },\n [tokenMap],\n );\n\n const searchTokens = useCallback(\n (searchTerm: string): Asset[] => {\n if (!searchTerm) return tokens;\n\n const term = searchTerm.toLowerCase();\n return tokens.filter(\n (token) =>\n token &&\n token.symbol &&\n token.name &&\n token.address &&\n (token.symbol.toLowerCase().includes(term) ||\n token.name.toLowerCase().includes(term) ||\n token.address.toLowerCase().includes(term)),\n );\n },\n [tokens],\n );\n\n const getTokensByChain = useCallback(\n (chainId: number): Asset[] => {\n return tokens.filter((token) => token && token.chainId === chainId);\n },\n [tokens],\n );\n\n return {\n tokens,\n tokenRegistry: tokens,\n\n getToken,\n searchTokens,\n getTokensByChain,\n\n isLoading,\n isLoadingRegistry: isLoading,\n isInitialLoading: isLoading,\n error,\n };\n}\n\n/**\n * Hook for getting tokens filtered by chain\n * Use for: Token selection menus with chain filtering\n */\nexport function useSupportedTokensWithPricing(chainId: number | 'all') {\n const { tokens, isLoading, error } = useTokenData();\n\n const enrichedTokens = useMemo(() => {\n if (chainId === 'all') return tokens;\n return tokens.filter((token) => token && token.chainId === chainId);\n }, [tokens, chainId]);\n\n return {\n enrichedTokens,\n isLoading,\n error,\n };\n}\n\n// =======================\n// CACHE INVALIDATION\n// =======================\n\n/**\n * Hook for invalidating token caches\n */\nexport function useInvalidateTokens() {\n const queryClient = useQueryClient();\n\n return {\n invalidateAll: () => {\n queryClient.invalidateQueries({ queryKey: tokenKeys.all });\n },\n\n invalidateRegistry: () => {\n queryClient.invalidateQueries({ queryKey: tokenKeys.registries() });\n },\n\n invalidateToken: (chainId: number, address: string) => {\n queryClient.invalidateQueries({\n queryKey: tokenKeys.price(chainId, address),\n });\n },\n };\n}\n","const DEFAULT_VT_API_URL = 'https://transfer.layerzero-api.com/v1';\n\nlet _vtApiBaseUrl: string | undefined;\n\nexport function setVtApiBaseUrl(url: string | undefined): void {\n _vtApiBaseUrl = url;\n}\n\nexport function getVtApiUrl(): string {\n return _vtApiBaseUrl || DEFAULT_VT_API_URL;\n}\n\n/** @deprecated Use getVtApiUrl() instead */\nexport const VT_API_URL = DEFAULT_VT_API_URL;\n\nlet _apiKey: string | undefined;\n\nexport function setApiKey(key: string | undefined): void {\n _apiKey = key;\n}\n\nexport function getApiKey(): string | undefined {\n return _apiKey;\n}\n\nexport function getVtHeaders(): Record<string, string> {\n const headers: Record<string, string> = { 'Content-Type': 'application/json' };\n if (!_vtApiBaseUrl) {\n const key = getApiKey();\n if (key) headers['x-api-key'] = key;\n }\n return headers;\n}\n\nlet _rpcOverrides: Partial<Record<number, string | string[]>> | undefined;\n\nexport function setRpcOverrides(overrides: Partial<Record<number, string | string[]>> | undefined): void {\n _rpcOverrides = overrides;\n}\n\nexport function getRpcOverrides(): Partial<Record<number, string | string[]>> | undefined {\n return _rpcOverrides;\n}\n\nexport function getRpcUrlsForChain(chainId: number, defaultUrls: string[]): string[] {\n const override = _rpcOverrides?.[chainId];\n if (!override) return defaultUrls;\n const overrideUrls = Array.isArray(override) ? override : [override];\n return [...overrideUrls, ...defaultUrls];\n}\n","import { getVtApiUrl } from '../../environment';\n\nexport interface AvailableChain {\n chainKey: string;\n chainId: number;\n chainType: string;\n name: string;\n shortName: string;\n nativeCurrency: {\n chainKey: string;\n address: string;\n decimals: number;\n symbol: string;\n name: string;\n };\n}\n\nlet cachedChains: number[] | null = null;\nlet cachedChainData: AvailableChain[] | null = null;\nlet cacheTimestamp = 0;\nconst CACHE_TTL = 1800000;\n\nlet pendingChainDataRequest: Promise<AvailableChain[]> | null = null;\n\nlet chainKeyToId: Record<string, number> = {};\nlet chainIdToKey: Record<number, string> = {};\n\nfunction buildMappings(chains: AvailableChain[]) {\n chainKeyToId = {};\n chainIdToKey = {};\n const evmLast = [...chains].sort((a, b) => {\n const aEvm = a.chainType === 'EVM' ? 1 : 0;\n const bEvm = b.chainType === 'EVM' ? 1 : 0;\n return aEvm - bEvm;\n });\n for (const c of evmLast) {\n chainKeyToId[c.chainKey.toLowerCase()] = c.chainId;\n chainIdToKey[c.chainId] = c.chainKey.toLowerCase();\n }\n}\n\nexport function getChainIdForKey(chainKey: string): number | undefined {\n return chainKeyToId[chainKey.toLowerCase()];\n}\n\nexport function getKeyForChainId(chainId: number): string | undefined {\n return chainIdToKey[chainId];\n}\n\nexport async function getAvailableChainData(): Promise<AvailableChain[]> {\n if (cachedChainData && Date.now() - cacheTimestamp < CACHE_TTL) {\n return cachedChainData;\n }\n if (pendingChainDataRequest) {\n return pendingChainDataRequest;\n }\n pendingChainDataRequest = (async () => {\n try {\n const response = await fetch(`${getVtApiUrl()}/chains`, { signal: AbortSignal.timeout(10000) });\n if (!response.ok) {\n throw new Error(`Failed to fetch chains: ${response.status}`);\n }\n const data = await response.json();\n const availableChains: AvailableChain[] = (data.chains ?? []).map((c: any) => ({\n chainKey: c.chainKey,\n chainId: c.chainId ?? 0,\n chainType: c.chainType ?? 'EVM',\n name: c.name ?? c.chainKey,\n shortName: c.shortName ?? c.chainKey,\n nativeCurrency: c.nativeCurrency ?? { chainKey: c.chainKey, address: '', decimals: 18, symbol: '', name: '' },\n }));\n cachedChainData = availableChains;\n cachedChains = availableChains.map((chain) => chain.chainId);\n cacheTimestamp = Date.now();\n buildMappings(availableChains);\n return cachedChainData;\n } catch {\n return [];\n } finally {\n pendingChainDataRequest = null;\n }\n })();\n return pendingChainDataRequest;\n}\n\nexport async function getAvailableChains(): Promise<number[]> {\n if (cachedChains && Date.now() - cacheTimestamp < CACHE_TTL) {\n return cachedChains;\n }\n const fallback = [1, 10, 8453, 42161, 9745, 30, 143, 988, 4326, 56];\n const chainData = await getAvailableChainData();\n if (chainData.length > 0) {\n return cachedChains ?? fallback;\n }\n return fallback;\n}\n\nexport async function isChainAvailable(chainId: number): Promise<boolean> {\n const available = await getAvailableChains();\n return available.includes(chainId);\n}\n\nexport function getCachedChainData(): AvailableChain[] | null {\n if (cachedChainData && Date.now() - cacheTimestamp < CACHE_TTL) {\n return cachedChainData;\n }\n return null;\n}\n\nexport function getCachedChainByChainId(\n chainId: number,\n): AvailableChain | undefined {\n const data = getCachedChainData();\n return data?.find((c) => c.chainId === chainId);\n}\n\nexport function clearAvailableChainsCache(): void {\n cachedChains = null;\n cachedChainData = null;\n cacheTimestamp = 0;\n pendingChainDataRequest = null;\n chainKeyToId = {};\n chainIdToKey = {};\n}\n","import { getActiveChainIds, getTokenLogoFallback } from '../../chainsConfig';\nimport { getVtApiUrl } from '../../environment';\nimport { getKeyForChainId, getChainIdForKey } from '../chains/getAvailableChains';\nimport type { Asset, TokenRegistryAsset } from '../../types';\nimport { getTokenIcon } from '../../assets/tokenIcons';\n\nexport const transformRegistryToAsset = (token: TokenRegistryAsset): Asset => {\n let logoURI = token.icon;\n const chainSpecificLogo = getTokenLogoFallback(token.chainId, token.address);\n if (chainSpecificLogo && !logoURI) {\n logoURI = chainSpecificLogo;\n }\n if (!logoURI) {\n logoURI = getTokenIcon(token.symbol);\n }\n return {\n symbol: token.symbol,\n address: token.address,\n chainId: token.chainId as any,\n name: token.name || token.symbol,\n decimals: token.decimals,\n logoURI,\n price: token.price,\n vol24h: undefined,\n change24h: undefined,\n marketCap: undefined,\n };\n};\n\ninterface VtToken {\n chainKey: string;\n address: string;\n decimals: number;\n symbol: string;\n name: string;\n isSupported?: boolean;\n price?: { usd?: number };\n}\n\nfunction vtTokenToRegistryAsset(t: VtToken): TokenRegistryAsset | null {\n const chainId = getChainIdForKey(t.chainKey);\n if (chainId == null) return null;\n return {\n symbol: t.symbol,\n address: t.address,\n chainId: chainId as any,\n chainKey: t.chainKey,\n name: t.name ?? t.symbol,\n decimals: t.decimals ?? 18,\n price: t.price?.usd ?? 0,\n icon: '',\n };\n}\n\nexport async function fetchTokenRegistry(\n chainId?: number,\n signal?: AbortSignal,\n): Promise<Asset[]> {\n const params = new URLSearchParams();\n if (chainId) {\n const key = getKeyForChainId(chainId);\n if (key) params.set('chainKey', key);\n }\n\n const url = `${getVtApiUrl()}/tokens${params.toString() ? `?${params}` : ''}`;\n const response = await fetch(url, { signal });\n if (!response.ok) {\n throw new Error(`Failed to fetch token registry: ${response.statusText}`);\n }\n const data = await response.json();\n const tokens: VtToken[] = data.tokens ?? [];\n\n const ACTIVE_CHAIN_IDS = getActiveChainIds();\n const registryAssets = tokens\n .map(vtTokenToRegistryAsset)\n .filter((t): t is TokenRegistryAsset => t !== null && ACTIVE_CHAIN_IDS.includes(t.chainId));\n\n return registryAssets.map(transformRegistryToAsset);\n}\n","export const tokenKeys = {\n all: ['tokens'] as const,\n registries: () => [...tokenKeys.all, 'registry'] as const,\n registry: (chainId?: number) =>\n chainId\n ? ([...tokenKeys.registries(), chainId] as const)\n : tokenKeys.registries(),\n prices: () => [...tokenKeys.all, 'price'] as const,\n price: (chainId: number, address: string) =>\n [...tokenKeys.prices(), chainId, address.toLowerCase()] as const,\n};\n","/**\n * React Query hooks for balance data\n *\n * Main hooks:\n * - useBulkBalances() - All wallet balances for multiple chains\n * - useTokenBalance() - Single token balance\n * - useInvalidateBalances() - Cache invalidation utilities\n */\n\nimport {\n type UseQueryOptions,\n useQuery,\n useQueryClient,\n} from '@tanstack/react-query';\nimport { useMemo } from 'react';\nimport { formatUnits } from 'viem';\nimport { getChainConfig, isGasToken } from '../../chainsConfig';\nimport type { Asset } from '../../types';\nimport { useTokenData } from '../tokens/hooks';\nimport {\n type WalletBalanceItem,\n type WalletBalanceResponse,\n fetchBulkBalances,\n fetchSwapBalances,\n fetchTokenBalance,\n} from './queryFunctions';\nimport { balanceKeys } from './queryKeys';\n\nconst EMPTY_BALANCES: EnrichedBalance[] = [];\n\nfunction formatTokenBalance(\n balances: WalletBalanceItem[] | undefined,\n token: { chainId: number; address: string; decimals?: number } | null | undefined,\n getToken: (chainId: number, address: string) => Asset | undefined,\n): { raw: string; formatted: string } {\n if (!token || !balances) return { raw: '0', formatted: '0' };\n\n const item = balances.find(\n (b) =>\n b.chainId === token.chainId &&\n b.token.toLowerCase() === token.address.toLowerCase(),\n );\n if (!item) return { raw: '0', formatted: '0' };\n\n const resolved = getToken(token.chainId, token.address);\n const tokenDecimals = resolved?.decimals ?? token.decimals;\n const isGas = isGasToken({ address: token.address, chainId: token.chainId } as Asset);\n const chainConfig = isGas ? getChainConfig(token.chainId) : null;\n if (isGas && !chainConfig) return { raw: '0', formatted: '0' };\n const decimals = isGas ? chainConfig!.gasToken.decimals : tokenDecimals;\n\n let formatted = '0';\n if (decimals !== undefined) {\n try {\n if (item.balance && item.balance !== '0') {\n formatted = formatUnits(BigInt(item.balance), decimals);\n }\n } catch {\n /* skip format errors */\n }\n }\n\n return { raw: item.balance, formatted };\n}\n\nexport interface EnrichedBalance {\n address: string;\n chainId: number;\n balance: string;\n formatted: string;\n decimals: number;\n lastUpdated: number;\n assetInfo: Asset | null;\n}\n\n// =======================\n// WALLET BALANCES\n// =======================\n\n/**\n * Fetch bulk balances for multiple chains\n * Used for: Portfolio view, swap form, account panel\n */\nexport function useBulkBalances(\n address: string | null | undefined,\n chainIds: number[],\n options?: Omit<\n UseQueryOptions<WalletBalanceResponse, Error>,\n 'queryKey' | 'queryFn'\n >,\n supportedTokens?: Array<{ chainId: number; address: string }>,\n) {\n const { getToken, tokenRegistry } = useTokenData();\n\n const tokensByChain = useMemo(() => {\n const map: Record<number, string[]> = {};\n const supportedSet = supportedTokens?.length\n ? new Set(supportedTokens.map((t) => `${t.chainId}-${t.address.toLowerCase()}`))\n : null;\n for (const chainId of chainIds) {\n map[chainId] = (tokenRegistry ?? [])\n .filter((t) => t.chainId === chainId)\n .filter((t) => !supportedSet || supportedSet.has(`${t.chainId}-${t.address.toLowerCase()}`))\n .map((t) => t.address);\n }\n return map;\n }, [tokenRegistry, chainIds, supportedTokens]);\n\n const queryResult = useQuery({\n queryKey: balanceKeys.bulk(address ?? '', chainIds),\n queryFn: () => fetchBulkBalances(address!, chainIds, tokensByChain),\n enabled: !!address && chainIds.length > 0 && (tokenRegistry ?? []).length > 0,\n refetchInterval: false,\n staleTime: 1_800_000,\n ...options,\n });\n\n const enrichedBalances = useMemo(() => {\n if (!queryResult.data?.balances) return EMPTY_BALANCES;\n\n return queryResult.data.balances\n .map((balance) => {\n const token = getToken(balance.chainId, balance.token);\n\n const isGas = isGasToken({\n address: balance.token,\n chainId: balance.chainId,\n } as Asset);\n\n const assetInfo = token || (isGas ? null : null);\n\n if (!assetInfo || assetInfo.decimals === undefined) {\n return null;\n }\n\n let formatted = '0';\n const gasChainConfig = isGas ? getChainConfig(balance.chainId) : null;\n if (isGas && !gasChainConfig) return null;\n const decimals = isGas\n ? gasChainConfig!.gasToken.decimals\n : assetInfo.decimals;\n\n try {\n if (balance.balance && balance.balance !== '0') {\n formatted = formatUnits(BigInt(balance.balance), decimals);\n }\n } catch {\n // fallback to '0' formatted value\n }\n\n return {\n address: balance.token,\n chainId: balance.chainId,\n balance: balance.balance,\n formatted,\n decimals,\n lastUpdated: Date.now(),\n assetInfo,\n } as EnrichedBalance;\n })\n .filter((b): b is EnrichedBalance => b !== null);\n }, [queryResult.data?.balances, getToken]);\n\n return {\n data: queryResult.data,\n balances: enrichedBalances,\n isLoading: queryResult.isLoading,\n isError: queryResult.isError,\n error: queryResult.error,\n refetch: queryResult.refetch,\n };\n}\n\n/**\n * Fetch single token balance\n * Used for: Individual token lookups\n */\nexport function useTokenBalance(\n address: string | null | undefined,\n chainId: number | null | undefined,\n tokenAddress: string | null | undefined,\n options?: Omit<\n UseQueryOptions<WalletBalanceItem | null, Error>,\n 'queryKey' | 'queryFn' | 'enabled'\n >,\n) {\n return useQuery({\n queryKey: balanceKeys.token(\n address ?? '',\n chainId ?? 0,\n tokenAddress ?? '',\n ),\n queryFn: () => fetchTokenBalance(address!, chainId!, tokenAddress!),\n enabled: !!address && !!chainId && !!tokenAddress,\n refetchInterval: false,\n staleTime: 1_800_000,\n ...options,\n });\n}\n\n/**\n * Fetch balances for the 2 selected swap tokens only.\n */\nexport function useSwapBalances(\n address: string | null | undefined,\n baseToken:\n | { chainId: number; address: string; decimals?: number }\n | null\n | undefined,\n quoteToken:\n | { chainId: number; address: string; decimals?: number }\n | null\n | undefined,\n options?: Omit<\n UseQueryOptions<WalletBalanceResponse, Error>,\n 'queryKey' | 'queryFn'\n >,\n) {\n const { getToken } = useTokenData();\n const queryClient = useQueryClient();\n\n const queryResult = useQuery({\n queryKey: balanceKeys.swap(\n address ?? '',\n baseToken?.chainId ?? 0,\n baseToken?.address ?? '',\n quoteToken?.chainId ?? 0,\n quoteToken?.address ?? '',\n ),\n queryFn: () => {\n const allBulkQueries = queryClient.getQueriesData<WalletBalanceResponse>({\n queryKey: [...balanceKeys.all, address?.toLowerCase() ?? '', 'bulk'],\n });\n\n for (const [, bulkData] of allBulkQueries) {\n if (!bulkData?.balances?.length) continue;\n\n const tokensNeeded = [baseToken, quoteToken].filter(Boolean);\n const found: typeof bulkData.balances = [];\n\n for (const token of tokensNeeded) {\n if (!token) continue;\n const match = bulkData.balances.find(\n (b) =>\n b.chainId === token.chainId &&\n b.token.toLowerCase() === token.address.toLowerCase(),\n );\n if (match) found.push(match);\n }\n\n if (found.length === tokensNeeded.length) {\n return { balances: found } as WalletBalanceResponse;\n }\n }\n\n const tokens: Array<{ chainId: number; tokenAddress: string }> = [];\n if (baseToken)\n tokens.push({\n chainId: baseToken.chainId,\n tokenAddress: baseToken.address,\n });\n if (quoteToken)\n tokens.push({\n chainId: quoteToken.chainId,\n tokenAddress: quoteToken.address,\n });\n return fetchSwapBalances(address!, tokens);\n },\n enabled: !!address && (!!baseToken || !!quoteToken),\n refetchInterval: false,\n staleTime: 55_000,\n ...options,\n });\n\n const baseBalance = useMemo(\n () => formatTokenBalance(queryResult.data?.balances, baseToken, getToken),\n [queryResult.data?.balances, baseToken, getToken],\n );\n\n const quoteBalance = useMemo(\n () => formatTokenBalance(queryResult.data?.balances, quoteToken, getToken),\n [queryResult.data?.balances, quoteToken, getToken],\n );\n\n return {\n baseBalance,\n quoteBalance,\n isLoading: queryResult.isLoading,\n isError: queryResult.isError,\n error: queryResult.error,\n refetch: queryResult.refetch,\n };\n}\n\n// =======================\n// CACHE INVALIDATION\n// =======================\n\n/**\n * Hook for invalidating balance caches\n */\nexport function useInvalidateBalances() {\n const queryClient = useQueryClient();\n\n return {\n invalidateUser: (address: string) => {\n queryClient.refetchQueries({\n queryKey: balanceKeys.user(address),\n });\n },\n\n invalidateToken: (\n address: string,\n chainId: number,\n tokenAddress: string,\n ) => {\n queryClient.refetchQueries({\n queryKey: balanceKeys.token(address, chainId, tokenAddress),\n });\n\n queryClient.refetchQueries({\n predicate: (query) => {\n const key = query.queryKey;\n return (\n key[0] === 'balances' &&\n key[1] === address &&\n key[2] === 'bulk' &&\n typeof key[3] === 'string' &&\n key[3].split(',').includes(chainId.toString())\n );\n },\n });\n },\n\n invalidateBulk: (address: string, chainIds: number[]) => {\n queryClient.refetchQueries({\n queryKey: balanceKeys.bulk(address, chainIds),\n });\n },\n\n invalidateContracts: () => {\n queryClient.invalidateQueries({\n queryKey: [...balanceKeys.all, 'contracts'],\n });\n },\n\n invalidateAll: () => {\n queryClient.invalidateQueries({\n queryKey: balanceKeys.all,\n });\n },\n\n removeAll: () => {\n queryClient.removeQueries({\n queryKey: balanceKeys.all,\n });\n },\n };\n}\n","import {\n createPublicClient,\n http,\n fallback,\n erc20Abi,\n encodeFunctionData,\n decodeFunctionResult,\n type Address,\n parseAbi,\n} from 'viem';\nimport { staticChainsConfig, isNativeAssetAddress, type StaticChainConfig } from '../../chainsConfig';\nimport { getRpcUrlsForChain } from '../../environment';\nimport type { WalletBalanceItem, WalletBalanceResponse } from '../../types';\n\nexport interface SwapBalanceRequest {\n address: string;\n tokens: Array<{ chainId: number; tokenAddress: string }>;\n}\n\nexport type { WalletBalanceItem, WalletBalanceResponse };\n\nconst MULTICALL3_ADDRESS = '0xcA11bde05977b3631167028862bE2a173976CA11' as const;\nconst MULTICALL3_ABI = parseAbi([\n 'struct Call3 { address target; bool allowFailure; bytes callData; }',\n 'struct Result { bool success; bytes returnData; }',\n 'function aggregate3(Call3[] calldata calls) payable returns (Result[] memory returnData)',\n]);\nconst BATCH_SIZE = 20;\n\nfunction getChainStaticConfig(chainId: number): StaticChainConfig | undefined {\n return staticChainsConfig[chainId];\n}\n\nfunction getClient(chainId: number) {\n const chainConfig = getChainStaticConfig(chainId);\n if (!chainConfig?.rpcUrls[0]) throw new Error(`No RPC for chain ${chainId}`);\n const urls = getRpcUrlsForChain(chainId, chainConfig.rpcUrls);\n const transport = urls.length > 1\n ? fallback(urls.map((url) => http(url)))\n : http(urls[0]);\n return createPublicClient({\n chain: chainConfig.wagmiChain,\n transport,\n });\n}\n\nasync function fetchNativeBalance(\n address: string,\n chainId: number,\n): Promise<WalletBalanceItem | null> {\n try {\n const client = getClient(chainId);\n const balance = await client.getBalance({ address: address as Address });\n if (balance === 0n) return null;\n const chainConfig = getChainStaticConfig(chainId);\n const nativeAddress = chainConfig?.nativeAsset.address ?? '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';\n return {\n chainId,\n token: nativeAddress,\n balance: balance.toString(),\n shiftedBalance: balance.toString(),\n };\n } catch {\n return null;\n }\n}\n\nasync function fetchErc20BalancesMulticall(\n address: string,\n chainId: number,\n tokenAddresses: string[],\n): Promise<WalletBalanceItem[]> {\n if (tokenAddresses.length === 0) return [];\n\n const client = getClient(chainId);\n const results: WalletBalanceItem[] = [];\n\n for (let i = 0; i < tokenAddresses.length; i += BATCH_SIZE) {\n const batch = tokenAddresses.slice(i, i + BATCH_SIZE);\n const calldata = encodeFunctionData({\n abi: erc20Abi,\n functionName: 'balanceOf',\n args: [address as Address],\n });\n\n const calls = batch.map((token) => ({\n target: token as Address,\n allowFailure: true as const,\n callData: calldata,\n }));\n\n try {\n const response = await client.readContract({\n address: MULTICALL3_ADDRESS,\n abi: MULTICALL3_ABI,\n functionName: 'aggregate3',\n args: [calls],\n }) as unknown as Array<{ success: boolean; returnData: `0x${string}` }>;\n\n for (let j = 0; j < response.length; j++) {\n const { success, returnData } = response[j];\n if (!success || returnData === '0x') continue;\n try {\n const balance = decodeFunctionResult({\n abi: erc20Abi,\n functionName: 'balanceOf',\n data: returnData,\n });\n if (balance === 0n) continue;\n results.push({\n chainId,\n token: batch[j],\n balance: balance.toString(),\n shiftedBalance: balance.toString(),\n });\n } catch { /* skip decode failures */ }\n }\n } catch { /* skip batch failures */ }\n }\n\n return results;\n}\n\nexport async function fetchBulkBalances(\n address: string,\n chainIds: number[],\n tokensByChain?: Record<number, string[]>,\n): Promise<WalletBalanceResponse> {\n const allBalances: WalletBalanceItem[] = [];\n\n const promises = chainIds.map(async (chainId) => {\n const erc20Tokens = tokensByChain?.[chainId]?.filter(\n (t) => !isNativeAssetAddress(t),\n ) ?? [];\n\n const [native, erc20s] = await Promise.all([\n fetchNativeBalance(address, chainId),\n fetchErc20BalancesMulticall(address, chainId, erc20Tokens),\n ]);\n\n if (native) allBalances.push(native);\n allBalances.push(...erc20s);\n });\n\n await Promise.all(promises);\n return { balances: allBalances };\n}\n\nexport async function fetchTokenBalance(\n address: string,\n chainId: number,\n tokenAddress: string,\n): Promise<WalletBalanceItem | null> {\n if (isNativeAssetAddress(tokenAddress)) {\n return fetchNativeBalance(address, chainId);\n }\n\n const results = await fetchErc20BalancesMulticall(address, chainId, [tokenAddress]);\n return results[0] || null;\n}\n\nexport async function fetchSwapBalances(\n address: string,\n tokens: Array<{ chainId: number; tokenAddress: string }>,\n): Promise<WalletBalanceResponse> {\n const balances: WalletBalanceItem[] = [];\n\n const promises = tokens.map(async ({ chainId, tokenAddress }) => {\n const item = isNativeAssetAddress(tokenAddress)\n ? await fetchNativeBalance(address, chainId)\n : await fetchSingleErc20Balance(address, chainId, tokenAddress);\n if (item) balances.push(item);\n });\n\n await Promise.all(promises);\n return { balances };\n}\n\nasync function fetchSingleErc20Balance(\n address: string,\n chainId: number,\n tokenAddress: string,\n): Promise<WalletBalanceItem | null> {\n try {\n const client = getClient(chainId);\n const balance = await client.readContract({\n address: tokenAddress as Address,\n abi: erc20Abi,\n functionName: 'balanceOf',\n args: [address as Address],\n });\n if (balance === 0n) return null;\n return {\n chainId,\n token: tokenAddress,\n balance: balance.toString(),\n shiftedBalance: balance.toString(),\n };\n } catch {\n return null;\n }\n}\n\n","/**\n * Query key factory for balance queries\n * Provides type-safe, consistent cache keys\n *\n * Pattern:\n * - ['balances'] - all balance-related queries\n * - ['balances', address] - all balances for a user\n * - ['balances', address, chainId, tokenAddress] - specific token balance\n * - ['balances', address, 'bulk', chainIds] - bulk balance for chains\n */\n\nexport const balanceKeys = {\n all: ['balances'] as const,\n\n user: (address: string) =>\n [...balanceKeys.all, address.toLowerCase()] as const,\n\n token: (address: string, chainId: number, tokenAddress: string) =>\n [\n ...balanceKeys.user(address),\n chainId,\n tokenAddress.toLowerCase(),\n ] as const,\n\n bulk: (address: string, chainIds: number[]) =>\n [\n ...balanceKeys.user(address),\n 'bulk',\n [...chainIds].sort((a, b) => a - b).join(','),\n ] as const,\n\n swap: (\n address: string,\n baseChainId: number,\n baseTokenAddress: string,\n quoteChainId: number,\n quoteTokenAddress: string,\n ) => {\n const tokenA = `${baseChainId}:${baseTokenAddress.toLowerCase()}`;\n const tokenB = `${quoteChainId}:${quoteTokenAddress.toLowerCase()}`;\n const sorted = [tokenA, tokenB].sort();\n return [...balanceKeys.user(address), 'swap', sorted[0], sorted[1]] as const;\n },\n};\n","import { getChainConfig, getChainIdByKey } from '../chainsConfig';\nimport { getChainIcon } from '../assets/chainIcons';\nimport React from 'react';\n\ninterface ChainIconProps {\n chain: string | number;\n size?: 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;\n className?: string;\n alt?: string;\n title?: string;\n}\n\nconst SIZE_PRESETS = {\n xxs: 12,\n xs: 16,\n sm: 22,\n md: 28,\n lg: 40,\n xl: 48,\n};\n\nconst ChainIcon = React.memo<ChainIconProps>(\n ({ chain, size = 'md', className = '', alt, title }) => {\n const { chainKey, logoUrl } = React.useMemo(() => {\n const fallback = getChainIcon('ethereum')!;\n if (chain === null || chain === undefined || (typeof chain === 'number' && isNaN(chain))) {\n return { chainKey: 'ethereum', logoUrl: fallback };\n }\n if (typeof chain === 'number') {\n const config = getChainConfig(chain);\n return { chainKey: config?.key || 'ethereum', logoUrl: config?.logoUrl || fallback };\n }\n const chainId = getChainIdByKey(chain);\n if (chainId) {\n const config = getChainConfig(chainId);\n return { chainKey: chain.toLowerCase(), logoUrl: config?.logoUrl || fallback };\n }\n return { chainKey: 'ethereum', logoUrl: fallback };\n }, [chain]);\n\n const pixelSize = typeof size === 'number' ? size : SIZE_PRESETS[size];\n const altText = alt || `${chainKey} chain icon`;\n const titleText = title || chainKey;\n\n return (\n <img\n src={logoUrl}\n width={pixelSize}\n height={pixelSize}\n alt={altText}\n className={`${className}`}\n title={titleText}\n aria-label={altText}\n />\n );\n },\n (prevProps, nextProps) => {\n return prevProps.chain === nextProps.chain && prevProps.size === nextProps.size && prevProps.className === nextProps.className;\n },\n);\n\nChainIcon.displayName = 'ChainIcon';\n\nexport default ChainIcon;\n","'use client';\n\nimport type { Asset } from '../types';\nimport { getTokenIcon, MISSING_TOKEN_SVG } from '../assets/tokenIcons';\nimport React, { useState } from 'react';\nimport ChainIcon from './ChainIcon';\n\nconst TokenImage = React.memo<{\n asset: Asset | null;\n size: '4xs' | '3xs' | 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\n className?: string;\n noChain?: boolean;\n}>(\n ({ asset, size, className, noChain }) => {\n const [imgError, setImgError] = useState(false);\n const [isLoading, setIsLoading] = useState(true);\n\n const fallbackImage = MISSING_TOKEN_SVG;\n\n const bundledIcon = asset?.symbol ? getTokenIcon(asset.symbol) : undefined;\n const hasSrc = !!(asset?.logoURI || bundledIcon);\n\n // TODO: Add fallback token image data source (e.g. token-list aggregator API, own CDN)\n const getImageSrc = () => {\n if (imgError || !hasSrc) return fallbackImage;\n if (asset?.logoURI) return asset.logoURI;\n if (bundledIcon) return bundledIcon;\n return fallbackImage;\n };\n\n const imgSrc = getImageSrc();\n const showSkeleton = hasSrc && isLoading && !imgError;\n\n const sizeMap = {\n '4xs': 'h-3 w-5',\n '3xs': 'h-4 w-4',\n xxs: 'h-5 w-5',\n xs: 'h-6 w-6',\n sm: 'h-8 w-8',\n md: 'h-10 w-10',\n lg: 'h-12 w-12',\n xl: 'h-14 w-14',\n xxl: 'h-16 w-16',\n };\n\n const sizeClasses = sizeMap[size];\n\n const chainConfig = {\n '4xs': { size: 'xs' as const, positioning: 'h-0 w-0', chainSize: 'xs' as const, style: {} as React.CSSProperties },\n '3xs': { size: 'xs' as const, positioning: 'h-0 w-0', chainSize: 'xs' as const, style: {} as React.CSSProperties },\n xxs: { size: 'xs' as const, positioning: 'absolute h-1 w-1', chainSize: 'xs' as const, style: { bottom: '-4px', left: '-6px' } as React.CSSProperties },\n xs: { size: 'xs' as const, positioning: 'absolute h-4 w-4', chainSize: 'xs' as const, style: { bottom: '-4px', left: '-6px' } as React.CSSProperties },\n sm: { size: 'sm' as const, positioning: 'absolute h-5 w-5', chainSize: 'xs' as const, style: { bottom: '-6px', left: '-3px' } as React.CSSProperties },\n md: { size: 'sm' as const, positioning: 'absolute h-6 w-6', chainSize: 'sm' as const, style: { bottom: '-6px', left: '-6px' } as React.CSSProperties },\n lg: { size: 'md' as const, positioning: 'absolute h-8 w-8', chainSize: 'sm' as const, style: { bottom: '-12px', left: '-4px' } as React.CSSProperties },\n xl: { size: 'md' as const, positioning: 'absolute h-9 w-9', chainSize: 'md' as const, style: { bottom: '-12px', left: '-8px' } as React.CSSProperties },\n xxl: { size: 'lg' as const, positioning: 'absolute h-10 w-10', chainSize: 'md' as const, style: { bottom: '-12px', left: '-6px' } as React.CSSProperties },\n };\n\n const chainSettings = chainConfig[size];\n\n return (\n <div className={`relative flex items-center justify-center bg-400 rounded-full aspect-square ${className} ${sizeClasses}`}>\n {showSkeleton && (\n <div className=\"absolute h-full w-full animate-pulse rounded-full bg-gray-700\" />\n )}\n <img\n src={imgSrc}\n alt={`${asset?.symbol || 'token'} icon`}\n className={`h-full w-full rounded-full object-cover ${showSkeleton ? 'invisible' : ''}`}\n onError={() => { setImgError(true); setIsLoading(false); }}\n onLoad={() => setIsLoading(false)}\n />\n {!noChain && asset && chainSettings.positioning !== 'h-0 w-0' && (\n <div className={chainSettings.positioning} style={chainSettings.style}>\n <ChainIcon chain={asset.chainId} size={chainSettings.chainSize} />\n </div>\n )}\n </div>\n );\n },\n (prevProps, nextProps) => {\n return (\n prevProps.asset?.address === nextProps.asset?.address &&\n prevProps.asset?.chainId === nextProps.asset?.chainId &&\n prevProps.size === nextProps.size &&\n prevProps.noChain === nextProps.noChain &&\n prevProps.className === nextProps.className\n );\n },\n);\n\nTokenImage.displayName = 'TokenImage';\n\nexport default TokenImage;\n","export default function ThreeDots(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" {...props}>\n <circle cx=\"18\" cy=\"12\" r=\"0\" fill=\"currentColor\">\n <animate\n attributeName=\"r\"\n begin=\".67\"\n calcMode=\"spline\"\n dur=\"1.5s\"\n keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n repeatCount=\"indefinite\"\n values=\"0;2;0;0\"\n />\n </circle>\n <circle cx=\"12\" cy=\"12\" r=\"0\" fill=\"currentColor\">\n <animate\n attributeName=\"r\"\n begin=\".33\"\n calcMode=\"spline\"\n dur=\"1.5s\"\n keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n repeatCount=\"indefinite\"\n values=\"0;2;0;0\"\n />\n </circle>\n <circle cx=\"6\" cy=\"12\" r=\"0\" fill=\"currentColor\">\n <animate\n attributeName=\"r\"\n begin=\"0\"\n calcMode=\"spline\"\n dur=\"1.5s\"\n keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n repeatCount=\"indefinite\"\n values=\"0;2;0;0\"\n />\n </circle>\n </svg>\n );\n}\n","'use client';\n\nimport { useEffect, useRef, useState } from 'react';\n\n/**\n * Simple text scramble hook for placeholder text animations\n * Designed for use in form inputs when switching between placeholder and error messages\n */\nexport const useSimpleTextScramble = (\n targetText: string,\n duration: number = 25,\n) => {\n const [displayText, setDisplayText] = useState(targetText);\n const [isScrambling, setIsScrambling] = useState(false);\n const intervalRef = useRef<NodeJS.Timeout | null>(null);\n const displayTextRef = useRef(displayText);\n displayTextRef.current = displayText;\n const charset = 'abcdefghijklmnopqrstuvwxyz';\n\n const randomChars = (length: number) => {\n let result = '';\n for (let i = 0; i < length; i++) {\n const randomIndex = Math.floor(Math.random() * charset.length);\n result += charset[randomIndex];\n }\n return result;\n };\n\n useEffect(() => {\n if (targetText === displayTextRef.current) return;\n\n if (intervalRef.current) {\n clearInterval(intervalRef.current);\n }\n\n setIsScrambling(true);\n let revealedChars = 0;\n\n const scrambleIteration = () => {\n if (revealedChars >= targetText.length) {\n setDisplayText(targetText);\n setIsScrambling(false);\n if (intervalRef.current) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n return;\n }\n\n const revealedPortion = targetText.substring(0, revealedChars);\n const remainingLength = Math.max(0, targetText.length - revealedChars);\n const scrambledSuffix =\n remainingLength > 0 ? randomChars(remainingLength) : '';\n\n setDisplayText(revealedPortion + scrambledSuffix);\n revealedChars++;\n };\n\n intervalRef.current = setInterval(scrambleIteration, duration);\n\n return () => {\n if (intervalRef.current) {\n clearInterval(intervalRef.current);\n }\n };\n }, [targetText, duration]);\n\n return {\n displayText,\n isScrambling,\n };\n};\n\n/**\n * Advanced text scramble hook with color transitions - used in SwapHeader\n * Supports error state styling and more complex animations\n */\nexport const useTextScramble = (\n targetText: string,\n isTargetError: boolean,\n duration: number = 25,\n) => {\n const [displayText, setDisplayText] = useState(targetText);\n const [suffix, setSuffix] = useState('');\n const [characterColors, setCharacterColors] = useState<boolean[]>([]);\n const intervalRef = useRef<NodeJS.Timeout | null>(null);\n\n const charset = 'abcdefghijklmnopqrstuvwxyz';\n\n const randomChars = (length: number) => {\n let result = '';\n for (let i = 0; i < length; i++) {\n const randomIndex = Math.floor(Math.random() * charset.length);\n result += charset[randomIndex];\n }\n return result;\n };\n\n useEffect(() => {\n if (intervalRef.current) {\n clearInterval(intervalRef.current);\n }\n\n let revealedChars = 0;\n\n const colorTransitionMap = new Array(targetText.length)\n .fill(false)\n .map((_, index) => {\n const baseDelay = index;\n const randomDelay = Math.floor(Math.random() * 3);\n return baseDelay + randomDelay;\n });\n\n const scrambleIteration = () => {\n if (revealedChars >= targetText.length) {\n setDisplayText(targetText);\n setSuffix('');\n setCharacterColors(new Array(targetText.length).fill(isTargetError));\n if (intervalRef.current) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n return;\n }\n\n const revealedPortion = targetText.substring(0, revealedChars);\n const remainingLength = Math.max(0, targetText.length - revealedChars);\n const scrambledSuffix =\n remainingLength > 0 ? randomChars(remainingLength) : '';\n\n const newCharacterColors = new Array(targetText.length)\n .fill(false)\n .map((_, index) => {\n if (index < revealedChars) {\n const shouldTransition = revealedChars >= colorTransitionMap[index];\n return shouldTransition ? isTargetError : false;\n }\n return false;\n });\n\n setDisplayText(revealedPortion);\n setSuffix(scrambledSuffix);\n setCharacterColors(newCharacterColors);\n\n revealedChars++;\n };\n\n intervalRef.current = setInterval(scrambleIteration, duration);\n\n return () => {\n if (intervalRef.current) {\n clearInterval(intervalRef.current);\n }\n };\n }, [targetText, isTargetError, duration]);\n\n return {\n displayText,\n suffix,\n characterColors,\n };\n};\n","'use client';\n\nimport { useMemo } from 'react';\nimport { useTokenWithFallback } from '../queries/tokens/hooks';\nimport type { Asset } from '../types';\n\nexport interface UseTokenWithLazyLoadResult {\n token: Asset | undefined;\n isLoading: boolean;\n isError: boolean;\n}\n\nexport function useTokenWithLazyLoad(\n chainId: number | undefined,\n address: string | undefined,\n): UseTokenWithLazyLoadResult {\n const isValidInput = useMemo(() => {\n return (\n chainId !== undefined &&\n typeof chainId === 'number' &&\n !Number.isNaN(chainId) &&\n address !== undefined &&\n typeof address === 'string' &&\n address.length >= 10\n );\n }, [chainId, address]);\n\n const { token, isLoading, isError } = useTokenWithFallback(\n isValidInput ? address : null,\n isValidInput ? chainId : null,\n );\n\n if (!isValidInput) {\n return { token: undefined, isLoading: false, isError: true };\n }\n\n return { token, isLoading, isError };\n}\n","import { useQuery } from '@tanstack/react-query';\nimport { useCallback, useMemo } from 'react';\nimport {\n getActiveChainConfigs,\n getAvailableActiveChainConfigs,\n} from '../../chainsConfig';\nimport {\n type AvailableChain,\n getAvailableChainData,\n} from './getAvailableChains';\nimport { chainKeys } from './queryKeys';\n\nconst EMPTY_CHAINS: AvailableChain[] = [];\n\nexport function useChainRegistry() {\n return useQuery({\n queryKey: chainKeys.list(),\n queryFn: getAvailableChainData,\n staleTime: Infinity,\n gcTime: Infinity,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n retry: 2,\n });\n}\n\nexport function useChainData() {\n const { data, isLoading, error } = useChainRegistry();\n const chains = data ?? EMPTY_CHAINS;\n\n const chainMap = useMemo(() => {\n const byId = new Map<number, AvailableChain>();\n const byKey = new Map<string, AvailableChain>();\n for (const chain of chains) {\n byId.set(chain.chainId, chain);\n byKey.set(chain.chainKey.toLowerCase(), chain);\n }\n return { byId, byKey };\n }, [chains]);\n\n const chainDataMap = useMemo(() => {\n const map: Record<number, AvailableChain> = {};\n for (const chain of chains) {\n map[chain.chainId] = chain;\n }\n return map;\n }, [chains]);\n\n const availableChainIds = useMemo(() => {\n if (chains.length === 0) {\n return getActiveChainConfigs().map((c) => c.id);\n }\n const chainIds = chains.map((c) => c.chainId);\n const activeChains = getAvailableActiveChainConfigs(chainIds);\n return activeChains.map((c) => c.id);\n }, [chains]);\n\n const getChainData = useCallback(\n (chainId: number): AvailableChain | undefined => {\n return chainMap.byId.get(chainId);\n },\n [chainMap],\n );\n\n const getChainDataByKey = useCallback(\n (chainKey: string): AvailableChain | undefined => {\n return chainMap.byKey.get(chainKey.toLowerCase());\n },\n [chainMap],\n );\n\n return {\n chains,\n chainDataMap,\n availableChainIds,\n getChainData,\n getChainDataByKey,\n isLoading,\n error,\n };\n}\n","export const chainKeys = {\n all: ['chains'] as const,\n list: () => [...chainKeys.all, 'list'] as const,\n};\n","import { getVtApiUrl, getVtHeaders } from '../environment';\n\nexport interface VtApiClient {\n baseUrl: string;\n headers: () => Record<string, string>;\n}\n\nlet _client: VtApiClient | undefined;\n\nexport function getVtClient(): VtApiClient {\n if (!_client) {\n _client = {\n get baseUrl() { return getVtApiUrl(); },\n headers: getVtHeaders,\n };\n }\n return _client;\n}\n\n/** @deprecated alias kept during migration -- use getVtClient() */\nexport const getAoriClient = getVtClient;\n","'use client';\n\nimport { createContext, useContext } from 'react';\nimport { getVtClient, type VtApiClient } from './aoriClient';\n\nconst VtClientContext = createContext<VtApiClient | undefined>(undefined);\n\nexport const useVtClient = (): VtApiClient => {\n const ctx = useContext(VtClientContext);\n if (!ctx) throw new Error('useVtClient must be used within VtClientProvider');\n return ctx;\n};\n\n/** @deprecated alias kept during migration */\nexport const useAori = (): VtApiClient => useVtClient();\n\nexport const AoriContext = VtClientContext;\n\nexport const AoriClientProvider = ({ children }: { children: React.ReactNode }) => {\n const client = getVtClient();\n return (\n <VtClientContext.Provider value={client}>{children}</VtClientContext.Provider>\n );\n};\n\nexport const VtClientProvider = AoriClientProvider;\n","'use client';\n\nimport { TruncateString } from '../helpers';\nimport React, { useState, useEffect, useRef } from 'react';\nimport Checkmark from '../animations/Checkmark';\nimport { ClipboardIcon } from '../icons/ClipboardIcon';\n\ninterface CopyTextProps {\n text: string;\n type: 'address' | 'link' | 'hash' | 'pair' | 'data' | 'default';\n color?: 'white' | 'teal' | 'black';\n size?: string;\n font?: string;\n className?: string;\n children?: React.ReactNode;\n showCopyIcon?: boolean;\n disableScramble?: boolean;\n}\n\nconst useCopyTextScramble = (targetText: string, isError: boolean) => {\n const [displayText, setDisplayText] = useState('');\n const [suffix, setSuffix] = useState('');\n const [characterColors, setCharacterColors] = useState<boolean[]>([]);\n const intervalRef = useRef<NodeJS.Timeout | null>(null);\n const charset = 'abcdefghijklmnopqrstuvwxyz';\n\n const randomChars = (length: number) => {\n let result = '';\n for (let i = 0; i < length; i++) {\n result += charset[Math.floor(Math.random() * charset.length)];\n }\n return result;\n };\n\n useEffect(() => {\n if (intervalRef.current) clearInterval(intervalRef.current);\n let revealedChars = 0;\n const scrambleIteration = () => {\n if (revealedChars >= targetText.length) {\n setDisplayText(targetText);\n setSuffix('');\n setCharacterColors(new Array(targetText.length).fill(isError));\n if (intervalRef.current) { clearInterval(intervalRef.current); intervalRef.current = null; }\n return;\n }\n const revealedPortion = targetText.substring(0, revealedChars);\n const remainingLength = Math.max(0, targetText.length - revealedChars);\n const scrambledSuffix = remainingLength > 0 ? randomChars(remainingLength) : '';\n const newCharacterColors = new Array(targetText.length).fill(false).map((_, index) => index < revealedChars ? isError : false);\n setDisplayText(revealedPortion);\n setSuffix(scrambledSuffix);\n setCharacterColors(newCharacterColors);\n revealedChars++;\n };\n intervalRef.current = setInterval(scrambleIteration, 25);\n return () => { if (intervalRef.current) clearInterval(intervalRef.current); };\n }, [targetText, isError]);\n\n return { displayText, suffix, characterColors };\n};\n\nconst TextScrambleDisplay = ({ targetText, isError, font = '' }: { targetText: string; isError: boolean; font?: string }) => {\n const { displayText, suffix, characterColors } = useCopyTextScramble(targetText, isError);\n return (\n <span className={font}>\n {displayText.split('').map((char, index) => (\n <span key={`revealed-${index}`} style={characterColors[index] ? { color: 'var(--widget-destructive)' } : undefined}>{char}</span>\n ))}\n {suffix && <span style={{ color: 'var(--widget-muted-foreground)', opacity: 0.3 }}>{suffix}</span>}\n </span>\n );\n};\n\nconst CopyText: React.FC<CopyTextProps> = ({\n text, type, color = 'white', size = 'text-base', font = 'font-medium',\n className = '', children, showCopyIcon = true, disableScramble = false,\n}) => {\n const [isCopied, setIsCopied] = useState(false);\n const [copyError, setCopyError] = useState('');\n const timeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n useEffect(() => {\n return () => { if (timeoutRef.current) { clearTimeout(timeoutRef.current); timeoutRef.current = null; } };\n }, []);\n\n const handleCopy = () => {\n if (timeoutRef.current) { clearTimeout(timeoutRef.current); timeoutRef.current = null; }\n navigator.clipboard.writeText(text).then(() => {\n setIsCopied(true);\n timeoutRef.current = setTimeout(() => { setIsCopied(false); timeoutRef.current = null; }, 2000);\n }).catch(() => {\n setCopyError('Failed to copy');\n timeoutRef.current = setTimeout(() => { setCopyError(''); timeoutRef.current = null; }, 3000);\n });\n };\n\n const colorClass = color === 'teal' ? 'text-textSuccess' : 'text-text';\n\n const getDisplayText = () => {\n if (copyError) return copyError;\n if (isCopied) {\n switch (type) {\n case 'address': return 'Address Copied!';\n case 'hash': return 'Hash Copied!';\n case 'link': return 'Link Copied!';\n case 'pair': return 'Pair Copied!';\n case 'data': return 'Data Copied!';\n default: return 'Copied!';\n }\n }\n return children ? '' : type === 'address' || type === 'hash' ? TruncateString(text) : text;\n };\n\n const displayText = getDisplayText();\n const isErrorState = !!copyError;\n const scrambleKey = `${isCopied}-${copyError}-${text}`;\n\n return (\n <div className=\"relative\">\n <button\n type=\"button\"\n className={`relative flex cursor-pointer items-center bg-transparent border-none p-0 ${className} ${color === 'black' ? 'px-4 rounded-full h-8 bg-gray-800' : ''}`}\n onClick={(e) => { e.stopPropagation(); handleCopy(); }}\n >\n <span className={`flex items-center gap-0.5 ${colorClass} ${size} ${font}`}>\n {copyError || isCopied ? (\n disableScramble ? displayText : (\n <span key={scrambleKey}>\n <TextScrambleDisplay targetText={displayText} isError={isErrorState} font={font} />\n </span>\n )\n ) : (children ?? displayText)}\n {showCopyIcon && !copyError && (\n <div className=\"relative ml-1 h-3 w-3\">\n <ClipboardIcon className={`absolute inset-0 ${!isCopied ? 'opacity-100' : 'opacity-0'} transition-opacity duration-200 ${font}`} />\n <div className={`absolute inset-0 ${isCopied ? 'opacity-100' : 'opacity-0'} transition-opacity duration-200`}>\n <Checkmark className=\"h-3 w-3\" />\n </div>\n </div>\n )}\n </span>\n </button>\n </div>\n );\n};\n\nexport default CopyText;\n","export default function Checkmark(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox=\"0 0 133 133\" {...props}>\n <style>{`\n @keyframes aori-cm-circle { from { stroke-dashoffset: 343; } to { stroke-dashoffset: 0; } }\n @keyframes aori-cm-check { from { stroke-dashoffset: 73; } to { stroke-dashoffset: 0; } }\n @keyframes aori-cm-fill { from { opacity: 1; } to { opacity: 0; } }\n .aori-cm-outline { stroke-dasharray: 343; stroke-dashoffset: 343; animation: aori-cm-circle 0.6s ease-in-out forwards; }\n .aori-cm-check { stroke-dasharray: 73; stroke-dashoffset: 73; animation: aori-cm-check 0.4s ease-in-out 0.4s forwards; }\n .aori-cm-fill-mask { animation: aori-cm-fill 0.3s ease-in-out 0.3s forwards; }\n `}</style>\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <circle fill=\"var(--widget-status-completed)\" cx=\"66.5\" cy=\"66.5\" r=\"54.5\" />\n <circle className=\"aori-cm-fill-mask\" fill=\"var(--widget-background)\" cx=\"66.5\" cy=\"66.5\" r=\"55.5\" />\n <circle className=\"aori-cm-outline\" stroke=\"var(--widget-status-completed)\" strokeWidth=\"4\" cx=\"66.5\" cy=\"66.5\" r=\"54.5\" fill=\"none\" />\n <polyline className=\"aori-cm-check\" stroke=\"var(--widget-background)\" strokeWidth=\"6\" fill=\"none\" points=\"41 70 56 85 92 49\" />\n </g>\n </svg>\n );\n}\n","import type React from 'react';\n\nexport function ClipboardIcon(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M14 8H4C2.897 8 2 8.897 2 10V20C2 21.103 2.897 22 4 22H14C15.103 22 16 21.103 16 20V10C16 8.897 15.103 8 14 8Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M20 2H10C8.896 2 8 2.896 8 4V6H9H16C17.104 6 18 6.896 18 8V15V16H20C21.104 16 22 15.104 22 14V4C22 2.896 21.104 2 20 2Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n","import type React from 'react';\n\nconst Skeleton = (props: React.HTMLAttributes<HTMLDivElement>) => {\n return (\n <div className=\"flex animate-pulse\">\n <div {...props} />\n </div>\n );\n};\n\nexport default Skeleton;\n","import type React from 'react';\n\nexport function RedoIcon(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg\n width=\"417\"\n height=\"417\"\n viewBox=\"0 0 417 417\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M215.855 0.0932617C153.901 0.0932617 95.6665 30.1873 58.0271 80.0623L0.393888 45.4993L0.273444 243.343L165.433 144.53L112.347 112.655C138.423 82.3423 175.941 64.0923 215.854 64.0923C292.366 64.0923 354.606 128.686 354.606 208.092C354.606 287.498 292.366 352.092 215.854 352.092L215.854 416.092C326.362 416.092 416.273 322.779 416.273 208.092C416.273 93.4053 326.363 0.0932617 215.855 0.0932617Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n","import type React from 'react';\n\nexport function UserIcon(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox=\"0 0 60.671 60.671\" {...props}>\n <g>\n <g>\n <ellipse\n cx=\"30.336\"\n cy=\"12.097\"\n rx=\"11.997\"\n ry=\"12.097\"\n fill=\"currentColor\"\n />\n <path\n d=\"M35.64,30.079H25.031c-7.021,0-12.714,5.739-12.714,12.821v17.771h36.037V42.9\n\t\t\tC48.354,35.818,42.661,30.079,35.64,30.079z\"\n fill=\"currentColor\"\n />\n </g>\n </g>\n </svg>\n );\n}\n","import type React from 'react';\n\nexport function DropdownIcon(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg\n viewBox=\"0 0 10 6\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path d=\"M10 0L5 6L0 0H10Z\" fill=\"currentColor\" />\n </svg>\n );\n}\n","import React from 'react';\n\nconst sizeMap: Record<string, string> = {\n '3': 'h-3 w-3',\n '4': 'h-4 w-4',\n '5': 'h-5 w-5',\n '6': 'h-6 w-6',\n '8': 'h-8 w-8',\n '10': 'h-10 w-10',\n};\n\nconst LoadingSpinner = React.memo<{ size: string; color?: string; className?: string }>(({\n size,\n color,\n className,\n}) => {\n const sizeClasses = sizeMap[size] ?? `h-${size} w-${size}`;\n\n return (\n <div\n className={`inline-flex items-center justify-center ${className ?? ''}`}\n >\n <svg\n aria-hidden=\"true\"\n className={`${sizeClasses} animate-spin`}\n style={color ? { color } : { color: 'currentColor' }}\n viewBox=\"0 0 100 101\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n id=\"track-text-muted\"\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n fill=\"currentColor\"\n opacity=\".2\"\n />\n <path\n id=\"thumb-fill-inverse\"\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n );\n});\n\nLoadingSpinner.displayName = 'LoadingSpinner';\n\nexport default LoadingSpinner;\n","export default function RedoAnimation(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox=\"0 0 133 133\" {...props}>\n <style>{`\n @keyframes aori-rd-circle { from { stroke-dashoffset: 343; } to { stroke-dashoffset: 0; } }\n @keyframes aori-rd-fill { from { opacity: 1; } to { opacity: 0; } }\n @keyframes aori-rd-arc { from { stroke-dashoffset: 140; } to { stroke-dashoffset: 0; } }\n @keyframes aori-rd-arrow { from { stroke-dashoffset: 26; } to { stroke-dashoffset: 0; } }\n .aori-rd-outline { stroke-dasharray: 343; stroke-dashoffset: 343; animation: aori-rd-circle 0.6s ease-in-out forwards; }\n .aori-rd-fill-mask { animation: aori-rd-fill 0.3s ease-in-out 0.3s forwards; }\n .aori-rd-arc { stroke-dasharray: 140; stroke-dashoffset: 140; animation: aori-rd-arc 0.5s ease-in-out 0.4s forwards; }\n .aori-rd-arrow { stroke-dasharray: 26; stroke-dashoffset: 26; animation: aori-rd-arrow 0.3s ease-in-out 0.7s forwards; }\n `}</style>\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <circle fill=\"currentColor\" cx=\"66.5\" cy=\"66.5\" r=\"54.5\" />\n <circle className=\"aori-rd-fill-mask\" fill=\"var(--widget-background)\" cx=\"66.5\" cy=\"66.5\" r=\"55.5\" />\n <circle className=\"aori-rd-outline\" stroke=\"currentColor\" strokeWidth=\"4\" cx=\"66.5\" cy=\"66.5\" r=\"54.5\" fill=\"none\" />\n <path\n className=\"aori-rd-arc\"\n d=\"M 93 66.5 C 93 80.5 81.5 92 66.5 92 C 51.5 92 40 80.5 40 66.5 C 40 52.5 51.5 41 66.5 41 C 76 41 84 46 88 53\"\n stroke=\"var(--widget-background)\"\n strokeWidth=\"6\"\n strokeLinecap=\"round\"\n fill=\"none\"\n />\n <polyline\n className=\"aori-rd-arrow\"\n points=\"93 57 93 70 80 70\"\n stroke=\"var(--widget-background)\"\n strokeWidth=\"6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n fill=\"none\"\n />\n </g>\n </svg>\n );\n}\n","export default function XAnimation(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox=\"0 0 133 133\" {...props}>\n <style>{`\n @keyframes aori-x-circle { from { stroke-dashoffset: 343; } to { stroke-dashoffset: 0; } }\n @keyframes aori-x-fill { from { opacity: 1; } to { opacity: 0; } }\n @keyframes aori-x-line { from { stroke-dashoffset: 72; } to { stroke-dashoffset: 0; } }\n .aori-x-outline { stroke-dasharray: 343; stroke-dashoffset: 343; animation: aori-x-circle 0.6s ease-in-out forwards; }\n .aori-x-fill-mask { animation: aori-x-fill 0.3s ease-in-out 0.3s forwards; }\n .aori-x-line1 { stroke-dasharray: 72; stroke-dashoffset: 72; animation: aori-x-line 0.4s ease-in-out 0.4s forwards; }\n .aori-x-line2 { stroke-dasharray: 72; stroke-dashoffset: 72; animation: aori-x-line 0.4s ease-in-out 0.55s forwards; }\n `}</style>\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <circle fill=\"var(--widget-status-failed)\" cx=\"66.5\" cy=\"66.5\" r=\"54.5\" />\n <circle className=\"aori-x-fill-mask\" fill=\"var(--widget-background)\" cx=\"66.5\" cy=\"66.5\" r=\"55.5\" />\n <circle className=\"aori-x-outline\" stroke=\"var(--widget-status-failed)\" strokeWidth=\"4\" cx=\"66.5\" cy=\"66.5\" r=\"54.5\" fill=\"none\" />\n <path className=\"aori-x-line1\" d=\"M41,41 L92,92\" stroke=\"var(--widget-background)\" strokeWidth=\"5.5\" strokeLinecap=\"round\" fill=\"none\" />\n <path className=\"aori-x-line2\" d=\"M92,41 L41,92\" stroke=\"var(--widget-background)\" strokeWidth=\"5.5\" strokeLinecap=\"round\" fill=\"none\" />\n </g>\n </svg>\n );\n}\n","'use client';\n\nimport { useChainData } from '../internal';\nimport { useMemo } from 'react';\nimport { useWidgetConfig } from '../context/WidgetConfigContext';\n\n/**\n * Returns the intersection of:\n * - The chains the widget integrator has enabled (via `enabledChains` prop)\n * - The chains the Aori backend actually supports (`useChainData().availableChainIds`)\n * - When `supportedInputTokens` or `supportedOutputTokens` is set, only chains that have whitelisted tokens\n *\n * When both `enabledChains` and supported token lists are empty, all available chain IDs are returned.\n */\nexport function useEnabledChainIds(): number[] {\n const { availableChainIds } = useChainData();\n const { enabledChains, supportedInputTokens, supportedOutputTokens } = useWidgetConfig();\n\n return useMemo(() => {\n let chains = availableChainIds;\n\n const hasSupportedTokens = supportedInputTokens.length > 0 || supportedOutputTokens.length > 0;\n if (hasSupportedTokens) {\n const tokenChainIds = new Set([\n ...supportedInputTokens.map((t) => t.chainId),\n ...supportedOutputTokens.map((t) => t.chainId),\n ]);\n chains = chains.filter((id) => tokenChainIds.has(id));\n } else if (enabledChains.length > 0) {\n chains = chains.filter((id) => enabledChains.includes(id));\n }\n\n return chains;\n }, [availableChainIds, enabledChains, supportedInputTokens, supportedOutputTokens]);\n}\n"],"mappings":"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","names":["bundled","useMemo","useMemo","useQuery","useQueryClient","useMemo","useMemo","useQuery","useQueryClient","useQuery","useMemo","fallback","React","useState","jsx","React","useState","sizeMap","jsx","jsxs","useEffect","useState","useState","useEffect","useMemo","useMemo","useQuery","useCallback","useMemo","useQuery","useMemo","useCallback","createContext","useContext","jsx","createContext","jsx","useState","useEffect","useRef","jsx","jsxs","jsx","jsxs","jsx","jsxs","useState","useRef","useEffect","jsx","jsx","jsx","jsxs","jsx","React","jsx","jsxs","jsx","jsxs","jsx","jsxs","useMemo","useMemo"]}
|