UNPKG

@keplr-ewallet/ewallet-sdk-eth

Version:
140 lines 4.46 kB
import { defineChain } from "viem"; import { arbitrum, arbitrumSepolia, avalanche, avalancheFuji, base, baseSepolia, berachain, blast, blastSepolia, forma, mainnet, optimism, optimismSepolia, polygon, polygonAmoy, sepolia, unichain, unichainSepolia, story, } from "viem/chains"; const bnbSmartChain = defineChain({ id: 56, name: "BNB Smart Chain", nativeCurrency: { name: "BNB", symbol: "BNB", decimals: 18, }, rpcUrls: { default: { http: ["https://evm-56.keplr.app"] }, }, blockExplorers: { default: { name: "BSCScan", url: "https://bscscan.com", apiUrl: "https://api.bscscan.com/api", }, }, }); export const DEFAULT_CHAIN_ID = 1; export const SUPPORTED_CHAINS = [ Object.assign(Object.assign({}, mainnet), { rpcUrls: { default: { http: ["https://evm-1.keplr.app"], }, } }), Object.assign(Object.assign({}, base), { rpcUrls: { default: { http: ["https://evm-8453.keplr.app"], }, } }), Object.assign(Object.assign({}, optimism), { name: "Optimism", rpcUrls: { default: { http: ["https://evm-10.keplr.app"], }, } }), Object.assign(Object.assign({}, arbitrum), { name: "Arbitrum", rpcUrls: { default: { http: ["https://evm-42161.keplr.app"], }, } }), bnbSmartChain, Object.assign(Object.assign({}, blast), { rpcUrls: { default: { http: ["https://evm-81457.keplr.app"], }, } }), Object.assign(Object.assign({}, avalanche), { rpcUrls: { default: { http: ["https://evm-43114.keplr.app"], }, } }), Object.assign(Object.assign({}, unichain), { rpcUrls: { default: { http: ["https://evm-130.keplr.app"], }, } }), Object.assign(Object.assign({}, polygon), { rpcUrls: { default: { http: ["https://evm-137.keplr.app"], }, } }), Object.assign(Object.assign({}, forma), { rpcUrls: { default: { http: ["https://evm-984122.keplr.app"], }, } }), Object.assign(Object.assign({}, berachain), { rpcUrls: { default: { http: ["https://evm-80094.keplr.app"], }, } }), Object.assign(Object.assign({}, story), { rpcUrls: { default: { http: ["https://evm-1514.keplr.app"], }, } }), ]; export const TESTNET_CHAINS = [ sepolia, baseSepolia, optimismSepolia, avalancheFuji, unichainSepolia, polygonAmoy, blastSepolia, arbitrumSepolia, ]; export const OP_STACK_CHAIN_IDS = [ base.id, optimism.id, unichain.id, blast.id, baseSepolia.id, optimismSepolia.id, unichainSepolia.id, blastSepolia.id, ]; export function parseChainId(chainId) { if (typeof chainId === "string") { const [chainNamespace, chainIdStr] = chainId.split(":"); if (chainNamespace === "eip155") { return parseInt(chainIdStr, 10); } else { return parseInt(chainId, 10); } } else { return chainId; } } export function getChainIconUrl(chainId) { const chainIdNumber = parseChainId(chainId); return `https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/eip155:${chainIdNumber}/chain.png`; } export function getTokenLogoURI(chainId, tokenAddress) { const chainIdNumber = parseChainId(chainId); const baseUrl = `https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/eip155:${chainIdNumber}`; if (tokenAddress) { return `${baseUrl}/erc20/${tokenAddress.toLowerCase()}.png`; } switch (chainIdNumber) { case 56: return `${baseUrl}/binance-native.png`; case 984122: return `${baseUrl}/utia.png`; case 11155111: return `${baseUrl}/ethereum-sepolia-native.png`; default: const chain = SUPPORTED_CHAINS.find((chain) => chain.id === chainIdNumber); if (chain) { return `${baseUrl}/${chain.name.toLowerCase()}-native.png`; } return ""; } } //# sourceMappingURL=chains.js.map