{"version":3,"sources":["../../src/shared/defaultAssets.ts"],"sourcesContent":["import type { Network } from \"@x402/core/types\";\n\n/**\n * Base stablecoin asset configuration shared across all EVM payment schemes.\n * Contains the core fields needed to identify and convert tokens.\n */\nexport type DefaultAssetInfo = {\n  /** Token contract address */\n  address: string;\n  /** EIP-712 domain name (must match the token's domain separator) */\n  name: string;\n  /** EIP-712 domain version (must match the token's domain separator) */\n  version: string;\n  /** Token decimal places (typically 6 for USDC) */\n  decimals: number;\n};\n\n/**\n * Extended asset configuration for the exact scheme.\n * Includes transfer method hints that control client-side behaviour.\n */\nexport type ExactDefaultAssetInfo = DefaultAssetInfo & {\n  /**\n   * Transfer method override: `\"permit2\"` for tokens that don't support EIP-3009.\n   * Omit for EIP-3009 tokens (default behaviour).\n   */\n  assetTransferMethod?: string;\n  /**\n   * Set to `true` for permit2 tokens that implement EIP-2612 `permit()`.\n   * Controls whether name/version are included in `extra` so the client can\n   * sign a gasless EIP-2612 permit for Permit2 approval.\n   */\n  supportsEip2612?: boolean;\n};\n\n/**\n * Default stablecoins indexed by CAIP-2 network identifier.\n *\n * Each network has the right to determine its own default stablecoin that can\n * be expressed as a USD string by calling servers. See DEFAULT_ASSET.md in\n * exact/server/ for how to add new chains.\n */\nexport const DEFAULT_STABLECOINS: Record<string, ExactDefaultAssetInfo> = {\n  \"eip155:8453\": {\n    address: \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n    name: \"USD Coin\",\n    version: \"2\",\n    decimals: 6,\n  }, // Base mainnet USDC\n  \"eip155:84532\": {\n    address: \"0x036CbD53842c5426634e7929541eC2318f3dCF7e\",\n    name: \"USDC\",\n    version: \"2\",\n    decimals: 6,\n  }, // Base Sepolia USDC\n  \"eip155:4326\": {\n    address: \"0xFAfDdbb3FC7688494971a79cc65DCa3EF82079E7\",\n    name: \"MegaUSD\",\n    version: \"1\",\n    decimals: 18,\n    assetTransferMethod: \"permit2\",\n    supportsEip2612: true,\n  }, // MegaETH mainnet MegaUSD (no EIP-3009, supports EIP-2612)\n  \"eip155:143\": {\n    address: \"0x754704Bc059F8C67012fEd69BC8A327a5aafb603\",\n    name: \"USD Coin\",\n    version: \"2\",\n    decimals: 6,\n  }, // Monad mainnet USDC\n  \"eip155:988\": {\n    address: \"0x779Ded0c9e1022225f8E0630b35a9b54bE713736\",\n    name: \"USDT0\",\n    version: \"1\",\n    decimals: 6,\n  }, // Stable mainnet USDT0\n  \"eip155:2201\": {\n    address: \"0x78Cf24370174180738C5B8E352B6D14c83a6c9A9\",\n    name: \"USDT0\",\n    version: \"1\",\n    decimals: 6,\n  }, // Stable testnet USDT0\n  \"eip155:137\": {\n    address: \"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359\",\n    name: \"USD Coin\",\n    version: \"2\",\n    decimals: 6,\n  }, // Polygon mainnet USDC\n  \"eip155:42161\": {\n    address: \"0xaf88d065e77c8cC2239327C5EDb3A432268e5831\",\n    name: \"USD Coin\",\n    version: \"2\",\n    decimals: 6,\n  }, // Arbitrum One USDC\n  \"eip155:421614\": {\n    address: \"0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d\",\n    name: \"USD Coin\",\n    version: \"2\",\n    decimals: 6,\n  }, // Arbitrum Sepolia USDC\n  \"eip155:31612\": {\n    address: \"0xdD468A1DDc392dcdbEf6db6e34E89AA338F9F186\",\n    name: \"Mezo USD\",\n    version: \"1\",\n    decimals: 18,\n    assetTransferMethod: \"permit2\",\n    supportsEip2612: true,\n  }, // Mezo mainnet mUSD (no EIP-3009, supports EIP-2612)\n  \"eip155:31611\": {\n    address: \"0x118917a40FAF1CD7a13dB0Ef56C86De7973Ac503\",\n    name: \"Mezo USD\",\n    version: \"1\",\n    decimals: 18,\n    assetTransferMethod: \"permit2\",\n    supportsEip2612: true,\n  }, // Mezo Testnet mUSD (no EIP-3009, supports EIP-2612)\n  \"eip155:723487\": {\n    address: \"0x33ad9e4BD16B69B5BFdED37D8B5D9fF9aba014Fb\",\n    name: \"Stable Coin\",\n    version: \"1\",\n    decimals: 6,\n    assetTransferMethod: \"permit2\",\n    supportsEip2612: true,\n  }, // Radius Network SBC (no EIP-3009, supports EIP-2612)\n  \"eip155:72344\": {\n    address: \"0x33ad9e4BD16B69B5BFdED37D8B5D9fF9aba014Fb\",\n    name: \"Stable Coin\",\n    version: \"1\",\n    decimals: 6,\n    assetTransferMethod: \"permit2\",\n    supportsEip2612: true,\n  }, // Radius Testnet SBC (no EIP-3009, supports EIP-2612)\n  \"eip155:36900\": {\n    address: \"0x9cb8142aEBBcdc60AF7c97Af897A67A8f3CA71C2\",\n    name: \"USDC.e\",\n    version: \"2\",\n    decimals: 6,\n  }, // ADI Chain USDC.e (EIP-3009 supported)\n  \"eip155:190415\": {\n    address: \"0x401eCb1D350407f13ba348573E5630B83638E30D\",\n    name: \"Bridged USDC\",\n    version: \"2\",\n    decimals: 6,\n  }, // HPP mainnet USDC.e\n  \"eip155:181228\": {\n    address: \"0x401eCb1D350407f13ba348573E5630B83638E30D\",\n    name: \"Bridged USDC\",\n    version: \"2\",\n    decimals: 6,\n  }, // HPP Sepolia USDC.e\n  \"eip155:50\": {\n    address: \"0xfA2958CB79b0491CC627c1557F441eF849Ca8eb1\",\n    name: \"USDC\",\n    version: \"2\",\n    decimals: 6,\n  }, // XDC Network mainnet USDC (Bridged USDC Standard, EIP-3009 supported)\n  \"eip155:51\": {\n    address: \"0xb5AB69F7bBada22B28e79C8FFAECe55eF1c771D4\",\n    name: \"USDC\",\n    version: \"2\",\n    decimals: 6,\n  }, // XDC Apothem testnet USDC (Bridged USDC Standard, EIP-3009 supported)\n};\n\n/**\n * Look up the default stablecoin for a network.\n *\n * @param network - CAIP-2 network identifier (e.g. \"eip155:8453\")\n * @returns The default asset info\n * @throws If no default asset is configured for the network\n */\nexport function getDefaultAsset(network: Network): ExactDefaultAssetInfo {\n  const info = DEFAULT_STABLECOINS[network];\n  if (!info) {\n    throw new Error(`No default asset configured for network ${network}`);\n  }\n  return info;\n}\n"],"mappings":";AA0CO,IAAM,sBAA6D;AAAA,EACxE,eAAe;AAAA,IACb,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA;AAAA,EACA,gBAAgB;AAAA,IACd,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA;AAAA,EACA,eAAe;AAAA,IACb,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,IACV,qBAAqB;AAAA,IACrB,iBAAiB;AAAA,EACnB;AAAA;AAAA,EACA,cAAc;AAAA,IACZ,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA;AAAA,EACA,cAAc;AAAA,IACZ,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA;AAAA,EACA,eAAe;AAAA,IACb,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA;AAAA,EACA,cAAc;AAAA,IACZ,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA;AAAA,EACA,gBAAgB;AAAA,IACd,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA;AAAA,EACA,gBAAgB;AAAA,IACd,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,IACV,qBAAqB;AAAA,IACrB,iBAAiB;AAAA,EACnB;AAAA;AAAA,EACA,gBAAgB;AAAA,IACd,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,IACV,qBAAqB;AAAA,IACrB,iBAAiB;AAAA,EACnB;AAAA;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,IACV,qBAAqB;AAAA,IACrB,iBAAiB;AAAA,EACnB;AAAA;AAAA,EACA,gBAAgB;AAAA,IACd,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,IACV,qBAAqB;AAAA,IACrB,iBAAiB;AAAA,EACnB;AAAA;AAAA,EACA,gBAAgB;AAAA,IACd,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA;AAAA,EACA,aAAa;AAAA,IACX,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA;AAAA,EACA,aAAa;AAAA,IACX,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA;AACF;AASO,SAAS,gBAAgB,SAAyC;AACvE,QAAM,OAAO,oBAAoB,OAAO;AACxC,MAAI,CAAC,MAAM;AACT,UAAM,IAAI,MAAM,2CAA2C,OAAO,EAAE;AAAA,EACtE;AACA,SAAO;AACT;","names":[]}