UNPKG

@funkit/chains

Version:

Funkit Chains SDK centralizes chain information across all funkit apps and packages.

366 lines 9.02 kB
import { type Chain } from 'viem/chains'; import { ETHEREAL_CHAIN_ID, HYPERCORE_CHAIN_ID, HYPER_EVM_CHAIN_ID, LIGHTER_CHAIN_ID, MONAD_CHAIN_ID, ROBINHOOD_MAINNET_CHAIN_ID, SOLANA_MAINNET_CHAIN_ID } from './chainId'; export * from './chainId'; export declare const hyperEvmChain: { id: typeof HYPER_EVM_CHAIN_ID; name: string; nativeCurrency: { name: string; symbol: string; decimals: number; }; rpcUrls: { default: { http: string[]; wss: string[]; }; }; blockExplorers: { default: { name: string; url: string; apiUrl: string; }; }; contracts: { ensRegistry: { address: `0x${string}`; }; ensUniversalResolver: { address: `0x${string}`; blockCreated: number; }; multicall3: { address: `0x${string}`; blockCreated: number; }; }; }; export declare const etherealChain: { id: typeof ETHEREAL_CHAIN_ID; name: string; nativeCurrency: { name: string; symbol: string; decimals: number; }; rpcUrls: { default: { http: string[]; }; }; blockExplorers: { default: { name: string; url: string; }; }; contracts: { ensRegistry: { address: `0x${string}`; }; ensUniversalResolver: { address: `0x${string}`; blockCreated: number; }; multicall3: { address: `0x${string}`; blockCreated: number; }; }; }; export declare const lighterChain: { id: typeof LIGHTER_CHAIN_ID; name: string; nativeCurrency: { name: string; symbol: string; decimals: number; }; rpcUrls: { default: { http: string[]; }; }; blockExplorers: { default: { name: string; url: string; path: { tx: string; address: string; block: string; transfer: string; }; }; }; contracts: { ensRegistry: { address: `0x${string}`; }; ensUniversalResolver: { address: `0x${string}`; blockCreated: number; }; multicall3: { address: `0x${string}`; blockCreated: number; }; }; }; export declare const monadChain: { id: typeof MONAD_CHAIN_ID; name: string; nativeCurrency: { name: string; symbol: string; decimals: number; }; rpcUrls: { default: { http: string[]; }; }; blockExplorers: { default: { name: string; url: string; }; }; contracts: { ensRegistry: { address: `0x${string}`; }; ensUniversalResolver: { address: `0x${string}`; blockCreated: number; }; multicall3: { address: `0x${string}`; blockCreated: number; }; }; }; export declare const solanaChain: { id: typeof SOLANA_MAINNET_CHAIN_ID; name: string; nativeCurrency: { symbol: string; decimals: number; name: string; }; rpcUrls: { default: { http: string[]; }; }; blockExplorers: { default: { name: string; url: string; apiUrl: string; }; }; contracts: { ensRegistry: { address: `0x${string}`; }; ensUniversalResolver: { address: `0x${string}`; blockCreated: number; }; multicall3: { address: `0x${string}`; blockCreated: number; }; }; }; export declare const hyperCoreChain: { id: typeof HYPERCORE_CHAIN_ID; name: string; nativeCurrency: { symbol: string; decimals: number; name: string; }; rpcUrls: { default: { http: string[]; }; }; blockExplorers: { default: { name: string; url: string; }; }; contracts: { ensRegistry: { address: `0x${string}`; }; ensUniversalResolver: { address: `0x${string}`; blockCreated: number; }; multicall3: { address: `0x${string}`; blockCreated: number; }; }; }; export declare const bitcoinChain: { id: number; name: string; nativeCurrency: { symbol: string; decimals: number; name: string; }; rpcUrls: { default: { http: string[]; }; }; blockExplorers: { default: { name: string; url: string; }; }; contracts: {}; }; export declare const lightningChain: { id: number; name: string; nativeCurrency: { symbol: string; decimals: number; name: string; }; /** * No public JSON-RPC exists for Lightning. The URL is a * placeholder to satisfy viem's non-empty rpcUrls.default.http requirement * (same convention as bitcoinChain). Lightning is filtered out of wagmi * via isCheckoutSupported:false (see chainMetadata below), so this URL is * never actually called internally. In the rare case an external SDK * consumer imports this chain and passes it to wagmi directly, the * placeholder defers (not prevents) failure they get a clearer * HttpRequestError at the first JSON-RPC call instead of UrlRequiredError * at config-build time. */ rpcUrls: { default: { http: string[]; }; }; blockExplorers: { default: { name: string; url: string; }; }; contracts: {}; }; export declare const tronChain: { id: number; name: string; nativeCurrency: { symbol: string; decimals: number; name: string; }; rpcUrls: { default: { http: string[]; }; }; blockExplorers: { default: { name: string; url: string; path: { tx: string; transfer: string; }; }; }; contracts: {}; }; export declare const robinhoodChain: { id: typeof ROBINHOOD_MAINNET_CHAIN_ID; name: string; nativeCurrency: { name: string; symbol: string; decimals: number; }; rpcUrls: { default: { http: string[]; webSocket: string[]; }; }; blockExplorers: { default: { name: string; url: string; }; }; contracts: { ensRegistry: { address: `0x${string}`; }; ensUniversalResolver: { address: `0x${string}`; blockCreated: number; }; multicall3: { address: `0x${string}`; blockCreated: number; }; }; }; export declare const FUNKIT_CONNECT_SUPPORTED_CHAINS_ID_LIST: readonly [1, 8453, 137, 42161, 10, 56, 324, 5000, 1151111081099710, 534352, 999, 1337, 2741, number, 5064014, 143, 3586256, number, 4663, 57073, 5, 421614]; type FunKitConnectSupportedChainId = (typeof FUNKIT_CONNECT_SUPPORTED_CHAINS_ID_LIST)[number]; interface FunTokenInfo { symbol: string; decimals: number; name: string; } export type ExplorerInfoUrlPath = { path?: { tx?: string; address?: string; block?: string; transfer?: string; }; }; export interface FunChainInfo { name: string; nativeCurrency: FunTokenInfo; coreToken?: FunTokenInfo; chainInfo: Chain; explorerInfo: NonNullable<NonNullable<Chain['blockExplorers']>['default']> & ExplorerInfoUrlPath; isCheckoutSupported: boolean; isMainnet: boolean; pickPriority: number; fallbackRpcUrls: string[]; } /** this type is used to mock `noUncheckedIndexedAccess` */ type SupportedChainInfos = { [key in FunKitConnectSupportedChainId]: FunChainInfo; } & { [k: string]: FunChainInfo | undefined; }; /** * Info on the supported chains of FunkitConnect * Added into coresdk because it is used in here too. * * fallbackRpcUrl: see https://chainlist.org/ for more public RPC endpoints */ export declare const FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO: SupportedChainInfos; export declare const FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO_LIST: [Chain, ...Chain[]]; export declare const FUNKIT_CONNECT_SUPPORTED_CHECKOUT_CHAINS_INFO_LIST: [Chain, ...Chain[]]; export declare const FUNKIT_CONNECT_CHECKOUT_NATIVE_CURRENCY_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"; export * from './chainMetadata'; //# sourceMappingURL=index.d.ts.map