@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":["/Users/flooreyes/mega-swap-widget/dist/chunk-GZUTUD5O.cjs","../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"],"names":["bundled","useQuery","useQueryClient","useMemo","jsx","useCallback","useContext","useRef","jsxs"],"mappings":"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","file":"/Users/flooreyes/mega-swap-widget/dist/chunk-GZUTUD5O.cjs","sourcesContent":[null,"'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"]}
|