UNPKG

interchain-token-sdk

Version:

SDK for deploying and managing interchain tokens across multiple chains using Axelar network

41 lines (40 loc) 1.56 kB
import { baseSepolia, optimismSepolia, sepolia } from 'viem/chains'; export const SUPPORTED_CHAINS = { 'base-sepolia': { name: 'Base Sepolia', chainId: BigInt(84532), rpcUrl: 'https://sepolia.base.org', contractAddress: '0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66', baseGasEstimate: BigInt(500000), gasBuffer: BigInt(100000), }, 'optimism-sepolia': { name: 'Optimism Sepolia', chainId: BigInt(11155420), rpcUrl: 'https://sepolia.optimism.io', contractAddress: '0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66', baseGasEstimate: BigInt(500000), gasBuffer: BigInt(100000), }, 'ethereum-sepolia': { name: 'Ethereum Sepolia', chainId: BigInt(11155111), rpcUrl: 'https://rpc.sepolia.org', contractAddress: '0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66', baseGasEstimate: BigInt(500000), gasBuffer: BigInt(100000), }, }; export const supportedChains = [baseSepolia, optimismSepolia, sepolia]; export function getChainConfig(chainName) { const config = SUPPORTED_CHAINS[chainName.toLowerCase()]; if (!config) { throw new Error(`Chain ${chainName} is not supported. Supported chains: ${Object.keys(SUPPORTED_CHAINS).join(', ')}`); } return config; } export function validateChain(chainName) { if (!SUPPORTED_CHAINS[chainName.toLowerCase()]) { throw new Error(`Chain ${chainName} is not supported. Supported chains: ${Object.keys(SUPPORTED_CHAINS).join(', ')}`); } }