UNPKG

@intuweb3/sdk

Version:

INTU SDK - Modern blockchain interaction toolkit

132 lines 5.11 kB
import { arbitrumSepolia, arbitrum, sepolia, optimismSepolia, } from "viem/chains"; import { defineChain } from "viem"; export const ARBITRUM_SEPOLIA_GRAPHQL_ENDPOINT_WSS = "wss://indexer.hyperindex.xyz/2e6bc4f/v1/graphql"; export const ARBITRUM_SEPOLIA_GRAPHQL_ENDPOINT = "https://indexer.hyperindex.xyz/2e6bc4f/v1/graphql"; export const XFI_GRAPHQL_ENDPOINT = "https://graph.intu.xyz/subgraphs/name/xfi-test2/"; export const NOSTR_URL = "https://nostr.intu.xyz"; export const ARBITRUM_ONE_GRAPHQL_ENDPOINT = "https://indexer.hyperindex.xyz/2e6bc4f/v1/graphql"; export const ETHERLINK_GRAPHQL_ENDPOINT = "https://rpc.intu.xyz/graph/subgraphs/name/etherlink"; export const GOLD_SKY_ARBITRUM_SEPOLIA_GRAPHQL_ENDPOINT = "https://api.goldsky.com/api/public/project_cm1jkqjytq51s01yr9q6h3idj/subgraphs/intu-arb-sepolia/1.0.0/gn"; export const GOLD_SKY_ARBITRUM_MAINNET_GRAPHQL_ENDPOINT = "https://api.goldsky.com/api/public/project_cm1jkqjytq51s01yr9q6h3idj/subgraphs/intu-arb-main/0.0.1/gn"; export const getGraphEndpoint = (chainId) => { if (chainId === 4157) { return XFI_GRAPHQL_ENDPOINT; } else if (chainId === 421614) { return ARBITRUM_SEPOLIA_GRAPHQL_ENDPOINT; } else if (chainId === 42793) { return ETHERLINK_GRAPHQL_ENDPOINT; } else if (chainId === 42161) { return ARBITRUM_ONE_GRAPHQL_ENDPOINT; } else { return ARBITRUM_ONE_GRAPHQL_ENDPOINT; } }; export const getBackupGraphEndpoint = (chainId) => { if (chainId === 421614) { return GOLD_SKY_ARBITRUM_SEPOLIA_GRAPHQL_ENDPOINT; } else if (chainId === 42161) { return GOLD_SKY_ARBITRUM_MAINNET_GRAPHQL_ENDPOINT; } else { return GOLD_SKY_ARBITRUM_SEPOLIA_GRAPHQL_ENDPOINT; } }; const BNB_TESTNET = defineChain({ id: 97, name: "BNB Chain Testnet", nativeCurrency: { name: "tBNB", symbol: "tBNB", decimals: 18 }, rpcUrls: { default: { http: ["https://data-seed-prebsc-1-s1.binance.org:8545/"] }, }, }); const POLYGON_AMOY = defineChain({ id: 80002, name: "Polygon Amoy", nativeCurrency: { name: "MATIC", symbol: "MATIC", decimals: 18 }, rpcUrls: { default: { http: ["https://rpc-amoy.polygon.technology/"] } }, }); const AVALANCHE_FUJI = defineChain({ id: 43113, name: "Avalanche Fuji", nativeCurrency: { name: "AVAX", symbol: "AVAX", decimals: 18 }, rpcUrls: { default: { http: ["https://avalanche-fuji-c-chain-rpc.publicnode.com"] }, }, }); const FANTOM_TESTNET = defineChain({ id: 4002, name: "Fantom Testnet", nativeCurrency: { name: "FTM", symbol: "FTM", decimals: 18 }, rpcUrls: { default: { http: ["https://fantom.api.onfinality.io/public"] } }, }); const MOONBASE_ALPHA = defineChain({ id: 1287, name: "Moonbase Alpha", nativeCurrency: { name: "DEV", symbol: "DEV", decimals: 18 }, rpcUrls: { default: { http: ["https://moonbase-alpha.public.blastapi.io"] } }, }); const BASE_SEPOLIA = defineChain({ id: 84532, name: "Base Sepolia", nativeCurrency: { name: "ETH", symbol: "ETH", decimals: 18 }, rpcUrls: { default: { http: ["https://base-sepolia.gateway.tenderly.co"] } }, }); const DOGECHAIN = defineChain({ id: 2000, name: "Dogechain", nativeCurrency: { name: "DOGE", symbol: "DOGE", decimals: 18 }, rpcUrls: { default: { http: ["https://rpc.dogechain.dog"] } }, }); const CROSSFI_TESTNET = defineChain({ id: 4157, name: "CrossFi Testnet", nativeCurrency: { name: "XFI", symbol: "XFI", decimals: 18 }, rpcUrls: { default: { http: ["https://crossfi-testnet.public.blastapi.io/"] }, }, }); const ETHERLINK_MAINNET = defineChain({ id: 42793, name: "Etherlink Mainnet", nativeCurrency: { name: "ELINK", symbol: "ELINK", decimals: 18 }, rpcUrls: { default: { http: ["https://node.mainnet.etherlink.com"] } }, }); export function chainConfig(chainId, transport) { switch (chainId) { case 421614: return { chain: arbitrumSepolia, transport }; case 42161: return { chain: arbitrum, transport }; case 11155111: return { chain: sepolia, transport }; case 11155420: return { chain: optimismSepolia, transport }; case 97: return { chain: BNB_TESTNET, transport }; case 80002: return { chain: POLYGON_AMOY, transport }; case 43113: return { chain: AVALANCHE_FUJI, transport }; case 4002: return { chain: FANTOM_TESTNET, transport }; case 1287: return { chain: MOONBASE_ALPHA, transport }; case 84532: return { chain: BASE_SEPOLIA, transport }; case 2000: return { chain: DOGECHAIN, transport }; case 4157: return { chain: CROSSFI_TESTNET, transport }; case 42793: return { chain: ETHERLINK_MAINNET, transport }; default: console.warn(`Chain ID ${chainId} not found in predefined configurations.`); return undefined; } } //# sourceMappingURL=constants.js.map