@funkit/chains
Version:
Funkit Chains SDK centralizes chain information across all funkit apps and packages.
366 lines • 9.02 kB
TypeScript
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