{"version":3,"file":"index.cjs","sources":["../../src/chains.ts"],"sourcesContent":["/**\n * @fileoverview Supported chains and factory addresses for EscapeHub Token Creator.\n *\n * Users can import these configs directly instead of hardcoding addresses.\n *\n * @example\n * ```typescript\n * import { SUPPORTED_CHAINS, getChainConfig } from '@escapehub/token-creator';\n *\n * const baseConfig = getChainConfig(8453); // Base\n * console.log(baseConfig.factoryAddress);\n * ```\n */\n\n/**\n * Chain configuration for token deployment.\n */\nexport interface SupportedChainConfig {\n  /** Chain ID */\n  chainId: number;\n  /** Chain name */\n  name: string;\n  /** Factory contract address */\n  factoryAddress: string;\n  /** Whether this is a testnet */\n  testnet: boolean;\n  /** Multicall3 address (false if not available) */\n  multicall3Address: string | false;\n  /** Public RPC URL (may be rate limited) */\n  rpcUrl?: string;\n}\n\n/**\n * Standard Multicall3 address deployed on most EVM chains.\n */\nexport const STANDARD_MULTICALL3 = '0xcA11bde05977b3631167028862bE2a173976CA11';\n\n/**\n * All supported chains with their factory addresses.\n *\n * Factory addresses are where the LaunchERC20Factory contract is deployed.\n * These are the official EscapeHub deployments.\n */\nexport const SUPPORTED_CHAINS: SupportedChainConfig[] = [\n  // ═══════════════════════════════════════════════════════════════════════════\n  // ETHEREUM\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 1,\n    name: 'Ethereum',\n    factoryAddress: '0x1d83c38c19bfc3b06ca00cfb23062e906ffcc4cb',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://ethereum-rpc.publicnode.com',\n  },\n  {\n    chainId: 11155111,\n    name: 'Sepolia',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: true,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://ethereum-sepolia-rpc.publicnode.com',\n  },\n  {\n    chainId: 560048,\n    name: 'Hoodi',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: true,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://rpc.hoodi.ethpandaops.io',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // BNB SMART CHAIN\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 56,\n    name: 'BNB Smart Chain',\n    factoryAddress: '0x66466a3081052d6a819a08d1813d2782bc0f8405',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://bsc-rpc.publicnode.com',\n  },\n  {\n    chainId: 97,\n    name: 'BSC Testnet',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: true,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://bsc-testnet-rpc.publicnode.com',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // POLYGON\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 137,\n    name: 'Polygon',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://polygon-bor-rpc.publicnode.com',\n  },\n  {\n    chainId: 80002,\n    name: 'Polygon Amoy',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: true,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://polygon-amoy-bor-rpc.publicnode.com',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // ARBITRUM\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 42161,\n    name: 'Arbitrum One',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://arbitrum-one-rpc.publicnode.com',\n  },\n  {\n    chainId: 421614,\n    name: 'Arbitrum Sepolia',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: true,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://arbitrum-sepolia-rpc.publicnode.com',\n  },\n  {\n    chainId: 42170,\n    name: 'Arbitrum Nova',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://nova.arbitrum.io/rpc',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // OPTIMISM\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 10,\n    name: 'Optimism',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://optimism-rpc.publicnode.com',\n  },\n  {\n    chainId: 11155420,\n    name: 'OP Sepolia',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: true,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://optimism-sepolia-rpc.publicnode.com',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // BASE\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 8453,\n    name: 'Base',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://base-rpc.publicnode.com',\n  },\n  {\n    chainId: 84532,\n    name: 'Base Sepolia',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: true,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://base-sepolia-rpc.publicnode.com',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // AVALANCHE\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 43114,\n    name: 'Avalanche',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://avalanche-c-chain-rpc.publicnode.com',\n  },\n  {\n    chainId: 43113,\n    name: 'Avalanche Fuji',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: true,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://avalanche-fuji-c-chain-rpc.publicnode.com',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // LINEA\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 59144,\n    name: 'Linea',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://rpc.linea.build',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // SCROLL\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 534352,\n    name: 'Scroll',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://rpc.scroll.io',\n  },\n  {\n    chainId: 534351,\n    name: 'Scroll Sepolia',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: true,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://sepolia-rpc.scroll.io',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // MANTLE\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 5000,\n    name: 'Mantle',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://rpc.mantle.xyz',\n  },\n  {\n    chainId: 5003,\n    name: 'Mantle Sepolia',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: true,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://rpc.sepolia.mantle.xyz',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // BLAST\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 81457,\n    name: 'Blast',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://rpc.blast.io',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // CELO\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 42220,\n    name: 'Celo',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://forno.celo.org',\n  },\n  {\n    chainId: 44787,\n    name: 'Celo Alfajores',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: true,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://alfajores-forno.celo-testnet.org',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // MOONBEAM\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 1284,\n    name: 'Moonbeam',\n    factoryAddress: '0x98642b5ac10167c2794729f196dcaa4db9cefa66',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://rpc.api.moonbeam.network',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // SONIC\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 146,\n    name: 'Sonic',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://rpc.soniclabs.com',\n  },\n  {\n    chainId: 14601,\n    name: 'Sonic Testnet',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: true,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://rpc.testnet.soniclabs.com',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // PEPE UNCHAINED\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 97741,\n    name: 'Pepe Unchained',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: false,\n    multicall3Address: false, // No standard Multicall3\n    rpcUrl: 'https://rpc.pepeunchained.com',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // SWELLCHAIN\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 1923,\n    name: 'Swell',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://swell-mainnet.alt.technology',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // MONAD\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 143,\n    name: 'Monad',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://rpc.monad.xyz',\n  },\n  {\n    chainId: 10143,\n    name: 'Monad Testnet',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: true,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://testnet-rpc.monad.xyz',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // SEI\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 1329,\n    name: 'Sei',\n    factoryAddress: '0x98642b5ac10167c2794729f196dcaa4db9cefa66',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://evm-rpc.sei-apis.com',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // GNOSIS\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 100,\n    name: 'Gnosis',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://rpc.gnosischain.com',\n  },\n  {\n    chainId: 10200,\n    name: 'Gnosis Chiado',\n    factoryAddress: '0x98642b5ac10167c2794729f196dcaa4db9cefa66',\n    testnet: true,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://rpc.chiadochain.net',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // FLARE\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 14,\n    name: 'Flare',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://flare-api.flare.network/ext/C/rpc',\n  },\n  {\n    chainId: 114,\n    name: 'Flare Coston2',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: true,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://coston2-api.flare.network/ext/C/rpc',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // X LAYER\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 196,\n    name: 'X Layer',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://rpc.xlayer.tech',\n  },\n  {\n    chainId: 1952,\n    name: 'X Layer Testnet',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: true,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://testrpc.xlayer.tech',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // KAIA\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 8217,\n    name: 'Kaia',\n    factoryAddress: '0x98642b5ac10167c2794729f196dcaa4db9cefa66',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://public-en.node.kaia.io',\n  },\n  {\n    chainId: 1001,\n    name: 'Kaia Kairos',\n    factoryAddress: '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54',\n    testnet: true,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://public-en-kairos.node.kaia.io',\n  },\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // UNICHAIN\n  // ═══════════════════════════════════════════════════════════════════════════\n  {\n    chainId: 130,\n    name: 'Unichain',\n    factoryAddress: '0x98642b5ac10167c2794729f196dcaa4db9cefa66',\n    testnet: false,\n    multicall3Address: STANDARD_MULTICALL3,\n    rpcUrl: 'https://mainnet.unichain.org',\n  },\n];\n\n/**\n * Map of chain ID to chain config for quick lookup.\n */\nexport const CHAIN_MAP: Map<number, SupportedChainConfig> = new Map(\n  SUPPORTED_CHAINS.map(chain => [chain.chainId, chain])\n);\n\n/**\n * Get chain configuration by chain ID.\n *\n * @param chainId - The chain ID to look up\n * @returns Chain config or undefined if not supported\n *\n * @example\n * ```typescript\n * import { getChainConfig } from '@escapehub/token-creator';\n *\n * const base = getChainConfig(8453);\n * if (base) {\n *   console.log(base.factoryAddress); // '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54'\n * }\n * ```\n */\nexport function getChainConfig(chainId: number): SupportedChainConfig | undefined {\n  return CHAIN_MAP.get(chainId);\n}\n\n/**\n * Get factory address for a chain.\n *\n * @param chainId - The chain ID\n * @returns Factory address or undefined if not supported\n *\n * @example\n * ```typescript\n * import { getFactoryAddress } from '@escapehub/token-creator';\n *\n * const factory = getFactoryAddress(8453); // Base\n * // '0x10ca27bc0c4f9c1ea9169a76270c0c136d160a54'\n * ```\n */\nexport function getFactoryAddress(chainId: number): string | undefined {\n  return CHAIN_MAP.get(chainId)?.factoryAddress;\n}\n\n/**\n * Check if a chain is supported.\n *\n * @param chainId - The chain ID to check\n * @returns true if the chain is supported\n */\nexport function isChainSupported(chainId: number): boolean {\n  return CHAIN_MAP.has(chainId);\n}\n\n/**\n * Get all mainnet chains.\n */\nexport function getMainnets(): SupportedChainConfig[] {\n  return SUPPORTED_CHAINS.filter(chain => !chain.testnet);\n}\n\n/**\n * Get all testnet chains.\n */\nexport function getTestnets(): SupportedChainConfig[] {\n  return SUPPORTED_CHAINS.filter(chain => chain.testnet);\n}\n"],"names":[],"mappings":"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"}