@funkit/chains
Version:
Funkit Chains SDK centralizes chain information across all funkit apps and packages.
1,085 lines (1,081 loc) • 29.2 kB
JavaScript
// src/const/index.ts
import {
abstract,
arbitrum,
arbitrumSepolia,
base,
bsc,
goerli,
ink,
mainnet,
mantle,
optimism,
polygon,
scroll,
zksync
} from "viem/chains";
// src/const/chainId.ts
var HYPER_EVM_CHAIN_ID = 999;
var ETHEREAL_CHAIN_ID = 5064014;
var LIGHTER_CHAIN_ID = 3586256;
var MONAD_CHAIN_ID = 143;
var SOLANA_MAINNET_CHAIN_ID = 1151111081099710;
var HYPERCORE_CHAIN_ID = 1337;
var BITCOIN_MAINNET_CHAIN_ID = 8253038;
var LIGHTNING_MAINNET_CHAIN_ID = 29780;
var TRON_MAINNET_CHAIN_ID = 728126428;
var ROBINHOOD_MAINNET_CHAIN_ID = 4663;
// src/const/chainMetadata.ts
function isNotNullish(value) {
return value != null;
}
var abstractIcon = {
iconBackground: "#96bedc",
iconUrl: "https://sdk-cdn.fun.xyz/images/abstract.svg"
};
var arbitrumIcon = {
iconBackground: "#96bedc",
iconUrl: "https://sdk-cdn.fun.xyz/images/arbitrum.svg"
};
var avalancheIcon = {
iconBackground: "#e84141",
iconUrl: "https://sdk-cdn.fun.xyz/images/avalanche.svg"
};
var baseIcon = {
iconBackground: "#0052ff",
iconUrl: "https://sdk-cdn.fun.xyz/images/base.svg"
};
var bitcoinIcon = {
iconBackground: "#000000",
iconUrl: "https://sdk-cdn.fun.xyz/images/bitcoin.svg"
};
var lightningIcon = {
iconBackground: "#000000",
iconUrl: "https://sdk-cdn.fun.xyz/images/lightning.svg"
};
var blastIcon = {
iconBackground: "#000000",
iconUrl: "https://sdk-cdn.fun.xyz/images/blast.svg"
};
var bscIcon = {
iconBackground: "#ebac0e",
iconUrl: "https://sdk-cdn.fun.xyz/images/bsc.svg"
};
var cronosIcon = {
iconBackground: "#002D74",
iconUrl: "https://sdk-cdn.fun.xyz/images/cronos.svg"
};
var solanaIcon = {
iconBackground: "#2C2C3D",
iconUrl: "https://sdk-cdn.fun.xyz/images/solana.svg"
};
var ethereumIcon = {
iconBackground: "#484c50",
iconUrl: "https://sdk-cdn.fun.xyz/images/ethereum.svg"
};
var etherealIcon = {
iconBackground: "#000000",
iconUrl: "https://sdk-cdn.fun.xyz/images/ethereal.svg"
};
var hardhatIcon = {
iconBackground: "#f9f7ec",
iconUrl: "https://sdk-cdn.fun.xyz/images/hardhat.svg"
};
var klaytnIcon = {
iconBackground: "transparent",
iconUrl: "https://sdk-cdn.fun.xyz/images/klaytn.svg"
};
var optimismIcon = {
iconBackground: "#ff5a57",
iconUrl: "https://sdk-cdn.fun.xyz/images/optimism.svg"
};
var mantaIcon = {
iconBackground: "#ffffff",
iconUrl: "https://sdk-cdn.fun.xyz/images/manta.svg"
};
var mantleIcon = {
iconBackground: "#000000",
iconUrl: "https://sdk-cdn.fun.xyz/images/mantle.svg"
};
var monadIcon = {
iconBackground: "#ffffff",
iconUrl: "https://sdk-cdn.fun.xyz/images/monad.svg"
};
var polygonIcon = {
iconBackground: "#9f71ec",
iconUrl: "https://sdk-cdn.fun.xyz/images/polygon.svg"
};
var scrollIcon = {
iconBackground: "#000000",
iconUrl: "https://sdk-cdn.fun.xyz/images/scroll.svg"
};
var xdcIcon = {
iconBackground: "#f9f7ec",
iconUrl: "https://sdk-cdn.fun.xyz/images/xdc.svg"
};
var zetachainIcon = {
iconBackground: "#000000",
iconUrl: "https://sdk-cdn.fun.xyz/images/zetachain.svg"
};
var zkSyncIcon = {
iconBackground: "#f9f7ec",
iconUrl: "https://sdk-cdn.fun.xyz/images/zkSync.svg"
};
var zoraIcon = {
iconBackground: "#000000",
iconUrl: "https://sdk-cdn.fun.xyz/images/zora.svg"
};
var roninIcon = {
iconBackground: "#1273EA",
iconUrl: "https://sdk-cdn.fun.xyz/images/ronin.svg"
};
var hyperEvmIcon = {
iconBackground: "#000000",
iconUrl: "https://sdk-cdn.fun.xyz/images/hyperevm.svg"
};
var hyperCoreIcon = {
iconBackground: "#000000",
iconUrl: "https://sdk-cdn.fun.xyz/images/hyperevm.svg"
};
var inkIcon = {
iconBackground: "#7132F5",
iconUrl: "https://sdk-cdn.fun.xyz/images/ink.svg"
};
var lighterIcon = {
iconBackground: "#000000",
iconUrl: "https://sdk-cdn.fun.xyz/images/lighter.svg"
};
var tronIcon = {
iconBackground: "#FF080B",
iconUrl: "https://sdk-cdn.fun.xyz/images/tron.svg"
};
var robinhoodIcon = {
iconBackground: "#00C805",
iconUrl: "https://sdk-cdn.fun.xyz/images/robinhood.svg"
};
var chainMetadataByName = {
abstract: { chainId: 2741, name: "Abstract", ...abstractIcon },
arbitrum: { chainId: 42161, name: "Arbitrum", ...arbitrumIcon },
arbitrumGoerli: {
chainId: 421613,
name: "Arbitrum Goerli",
...arbitrumIcon
},
arbitrumSepolia: {
chainId: 421614,
name: "Arbitrum Sepolia",
...arbitrumIcon
},
avalanche: { chainId: 43114, name: "Avalanche", ...avalancheIcon },
avalancheFuji: { chainId: 43113, name: "Avalanche Fuji", ...avalancheIcon },
base: { chainId: 8453, name: "Base", ...baseIcon },
baseGoerli: { chainId: 84531, name: "Base Goerli", ...baseIcon },
baseSepolia: { chainId: 84532, name: "Base Sepolia", ...baseIcon },
blast: { chainId: 81457, name: "Blast", ...blastIcon },
blastSepolia: { chainId: 168587773, name: "Blast Sepolia", ...blastIcon },
bsc: { chainId: 56, name: "BSC", ...bscIcon },
bscTestnet: { chainId: 97, name: "BSC Testnet", ...bscIcon },
cronos: { chainId: 25, name: "Cronos", ...cronosIcon },
cronosTestnet: { chainId: 338, name: "Cronos Testnet", ...cronosIcon },
ethereal: { chainId: ETHEREAL_CHAIN_ID, name: "Ethereal", ...etherealIcon },
goerli: { chainId: 5, name: "Goerli", ...ethereumIcon },
hardhat: { chainId: 31337, name: "Hardhat", ...hardhatIcon },
holesky: { chainId: 17e3, name: "Holesky", ...ethereumIcon },
hyperEvm: { chainId: HYPER_EVM_CHAIN_ID, name: "HyperEVM", ...hyperEvmIcon },
ink: { chainId: 57073, name: "Ink", ...inkIcon },
kovan: { chainId: 42, name: "Kovan", ...ethereumIcon },
klaytn: { chainId: 8217, name: "Klaytn", ...klaytnIcon },
klaytnBaobab: { chainId: 1001, name: "Klaytn Baobab", ...klaytnIcon },
lighter: { chainId: LIGHTER_CHAIN_ID, name: "Lighter", ...lighterIcon },
mainnet: { chainId: 1, name: "Ethereum", ...ethereumIcon },
manta: { chainId: 169, name: "Manta", ...mantaIcon },
mantaSepolia: { chainId: 3441006, name: "Manta Sepolia", ...mantaIcon },
mantaTestnet: { chainId: 3441005, name: "Manta Testnet", ...mantaIcon },
mantle: { chainId: 5e3, name: "Mantle", ...mantleIcon },
mantleTestnet: { chainId: 5001, name: "Mantle Testnet", ...mantleIcon },
monad: { chainId: MONAD_CHAIN_ID, name: "Monad", ...monadIcon },
optimism: { chainId: 10, name: "Optimism", ...optimismIcon },
optimismGoerli: { chainId: 420, name: "Optimism Goerli", ...optimismIcon },
optimismKovan: { chainId: 69, name: "Optimism Kovan", ...optimismIcon },
optimismSepolia: {
chainId: 11155420,
name: "Optimism Sepolia",
...optimismIcon
},
polygon: { chainId: 137, name: "Polygon", ...polygonIcon },
polygonMumbai: { chainId: 80001, name: "Polygon Mumbai", ...polygonIcon },
rinkeby: { chainId: 4, name: "Rinkeby", ...ethereumIcon },
robinhood: {
chainId: ROBINHOOD_MAINNET_CHAIN_ID,
name: "Robinhood",
...robinhoodIcon
},
ropsten: { chainId: 3, name: "Ropsten", ...ethereumIcon },
ronin: { chainId: 2020, name: "Ronin", ...roninIcon },
scroll: { chainId: 534352, name: "Scroll", ...scrollIcon },
sepolia: { chainId: 11155111, name: "Sepolia", ...ethereumIcon },
// Non-evm -- Funkit solana support
solanaMainnet: {
chainId: SOLANA_MAINNET_CHAIN_ID,
name: "Solana",
...solanaIcon
},
// Non-evm -- Funkit Tron support
tron: {
chainId: Number(TRON_MAINNET_CHAIN_ID),
name: "Tron",
...tronIcon
},
// Non-evm -- Funkit HyperCore support
hyperCore: {
chainId: HYPERCORE_CHAIN_ID,
name: "HyperCore",
...hyperCoreIcon
},
// Non-evm -- Funkit Bitcoin support
bitcoin: {
chainId: BITCOIN_MAINNET_CHAIN_ID,
name: "Bitcoin",
...bitcoinIcon
},
// Non-evm -- Funkit Bitcoin Lightning support
lightning: {
chainId: LIGHTNING_MAINNET_CHAIN_ID,
name: "Lightning",
...lightningIcon
},
xdc: { chainId: 50, name: "XinFin", ...xdcIcon },
xdcTestnet: { chainId: 51, name: "XinFin Testnet", ...xdcIcon },
zetachain: { chainId: 7e3, name: "ZetaChain", ...zetachainIcon },
zetachainAthensTestnet: {
chainId: 7001,
name: "Zeta Athens",
...zetachainIcon
},
zkSync: { chainId: 324, name: "zkSync", ...zkSyncIcon },
zkSyncTestnet: { chainId: 280, name: "zkSync Testnet", ...zkSyncIcon },
zora: { chainId: 7777777, name: "Zora", ...zoraIcon },
zoraSepolia: { chainId: 999999999, name: "Zora Sepolia", ...zoraIcon }
};
var chainMetadataById = Object.fromEntries(
Object.values(chainMetadataByName).filter(isNotNullish).map(({ chainId, ...metadata }) => [chainId, metadata])
);
// src/const/index.ts
var hyperEvmChain = {
id: HYPER_EVM_CHAIN_ID,
name: "HyperEVM",
nativeCurrency: {
name: "HYPE",
symbol: "HYPE",
decimals: 18
},
rpcUrls: {
default: {
http: [
"https://rpc.hyperliquid.xyz/evm",
"https://rpc.hypurrscan.io",
"https://hyperliquid-json-rpc.stakely.io",
"https://hyperliquid.drpc.org",
"https://rpc.hyperlend.finance"
],
wss: ["wss://hyperliquid.drpc.org"]
}
},
blockExplorers: {
default: {
name: "HyperEVMScan",
url: "https://hyperevmscan.io",
apiUrl: ""
}
},
contracts: {
ensRegistry: {
address: "0x"
},
ensUniversalResolver: {
address: "0x",
blockCreated: -1
},
multicall3: {
address: "0xcA11bde05977b3631167028862bE2a173976CA11",
blockCreated: -1
}
}
};
var etherealChain = {
id: ETHEREAL_CHAIN_ID,
name: "Ethereal",
nativeCurrency: {
name: "USDe",
symbol: "USDe",
decimals: 18
},
rpcUrls: {
default: {
http: ["https://rpc.ethereal.trade"]
}
},
blockExplorers: {
default: {
name: "Ethereal Explorer",
url: "https://explorer.ethereal.trade"
}
},
contracts: {
ensRegistry: {
address: "0x"
},
ensUniversalResolver: {
address: "0x",
blockCreated: -1
},
multicall3: {
address: "0xcA11bde05977b3631167028862bE2a173976CA11",
blockCreated: 36197
}
}
};
var lighterChain = {
id: LIGHTER_CHAIN_ID,
name: "Lighter",
nativeCurrency: {
name: "USDC",
symbol: "USDC",
decimals: 6
},
rpcUrls: {
default: {
http: ["https://mainnet.zklighter.elliot.ai"]
}
},
blockExplorers: {
default: {
name: "Lighter Explorer",
url: "https://app.lighter.xyz/explorer",
path: {
tx: "logs",
address: "accounts",
block: "blocks",
transfer: ""
}
}
},
contracts: {
ensRegistry: {
address: "0x"
},
ensUniversalResolver: {
address: "0x",
blockCreated: -1
},
multicall3: {
address: "0x",
blockCreated: -1
}
}
};
var monadChain = {
id: MONAD_CHAIN_ID,
name: "Monad",
nativeCurrency: {
name: "MON",
symbol: "MON",
decimals: 18
},
rpcUrls: {
default: {
http: [
"https://rpc.monad.xyz",
"https://rpc1.monad.xyz",
"https://rpc2.monad.xyz",
"https://rpc3.monad.xyz"
]
}
},
blockExplorers: {
default: {
name: "Monad Explorer",
url: "https://monadscan.com"
}
},
contracts: {
ensRegistry: {
address: "0x"
},
ensUniversalResolver: {
address: "0x",
blockCreated: -1
},
multicall3: {
address: "0xcA11bde05977b3631167028862bE2a173976CA11",
blockCreated: -1
}
}
};
var solanaChain = {
id: SOLANA_MAINNET_CHAIN_ID,
name: "Solana",
nativeCurrency: {
symbol: "SOL",
decimals: 9,
name: "Solana"
},
rpcUrls: {
default: {
http: ["https://api.mainnet-beta.solana.com"]
}
},
blockExplorers: {
default: {
name: "Orb",
url: "https://orbmarkets.io",
apiUrl: ""
}
},
contracts: {
ensRegistry: {
address: "0x"
},
ensUniversalResolver: {
address: "0x",
blockCreated: -1
},
multicall3: {
address: "0x",
blockCreated: -1
}
}
};
var hyperCoreChain = {
id: HYPERCORE_CHAIN_ID,
name: "Hyperliquid",
nativeCurrency: {
symbol: "USDC",
// USDC Spot is the native asset of HyperCore, not HYPE
decimals: 8,
// USDC Spot has 8 decimals on HyperCore, not 6!
name: "USDC"
},
rpcUrls: {
default: {
http: ["https://rpc.hyperliquid.xyz"]
}
},
blockExplorers: {
default: {
name: "HypurrScan",
url: "https://hypurrscan.io"
}
},
contracts: {
ensRegistry: {
address: "0x"
},
ensUniversalResolver: {
address: "0x",
blockCreated: -1
},
multicall3: {
address: "0x",
blockCreated: -1
}
}
};
var bitcoinChain = {
id: Number(BITCOIN_MAINNET_CHAIN_ID),
name: "Bitcoin",
nativeCurrency: {
symbol: "BTC",
decimals: 8,
name: "Bitcoin"
},
rpcUrls: {
default: {
http: ["https://blockstream.info/api"]
}
},
blockExplorers: {
default: {
name: "Mempool",
url: "https://mempool.space"
}
},
contracts: {}
};
var lightningChain = {
id: Number(LIGHTNING_MAINNET_CHAIN_ID),
name: "Lightning",
nativeCurrency: {
symbol: "BTC",
decimals: 8,
name: "Bitcoin"
},
/**
* 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: ["https://api.sparkscan.io"]
}
},
blockExplorers: {
default: {
name: "Sparkscan",
url: "https://sparkscan.io"
}
},
contracts: {}
};
var tronChain = {
id: Number(TRON_MAINNET_CHAIN_ID),
name: "Tron",
nativeCurrency: {
symbol: "TRX",
decimals: 6,
name: "Tron"
},
rpcUrls: {
default: {
http: ["https://api.trongrid.io/jsonrpc"]
}
},
blockExplorers: {
default: {
name: "TronScan",
url: "https://tronscan.org",
path: {
tx: "transaction",
transfer: "/transfers"
}
}
},
contracts: {}
};
var robinhoodChain = {
id: ROBINHOOD_MAINNET_CHAIN_ID,
name: "Robinhood Chain",
nativeCurrency: {
name: "Ethereum",
symbol: "ETH",
decimals: 18
},
rpcUrls: {
default: {
http: ["https://rpc.mainnet.chain.robinhood.com"],
webSocket: ["wss://feed.mainnet.chain.robinhood.com"]
}
},
blockExplorers: {
default: {
name: "Robinhood Chain Explorer",
url: "https://robinhoodchain.blockscout.com"
}
},
// TODO: get deployment address and block created once chain details are public
contracts: {
ensRegistry: {
address: "0x"
},
ensUniversalResolver: {
address: "0x",
blockCreated: -1
},
multicall3: {
address: "0xcA11bde05977b3631167028862bE2a173976CA11",
blockCreated: -1
}
}
};
var FUNKIT_CONNECT_SUPPORTED_CHAINS_ID_LIST = [
/** MAINNETS **/
mainnet.id,
base.id,
polygon.id,
arbitrum.id,
optimism.id,
bsc.id,
zksync.id,
mantle.id,
solanaChain.id,
scroll.id,
hyperEvmChain.id,
hyperCoreChain.id,
abstract.id,
bitcoinChain.id,
etherealChain.id,
monadChain.id,
lighterChain.id,
tronChain.id,
robinhoodChain.id,
ink.id,
/** TESTNETS **/
goerli.id,
arbitrumSepolia.id
];
var FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO = {
/** MAINNETS **/
[mainnet.id]: {
name: mainnet.name,
nativeCurrency: {
symbol: mainnet.nativeCurrency.symbol,
decimals: mainnet.nativeCurrency.decimals,
name: mainnet.nativeCurrency.name
},
chainInfo: mainnet,
explorerInfo: mainnet.blockExplorers.default,
isCheckoutSupported: true,
isMainnet: true,
pickPriority: 4,
fallbackRpcUrls: [
"https://eth.llamarpc.com",
"https://eth.drpc.org",
"https://1rpc.io/eth",
"https://mainnet.gateway.tenderly.co",
"https://ethereum-rpc.publicnode.com",
"https://eth.merkle.io"
]
},
[base.id]: {
name: base.name,
nativeCurrency: {
symbol: base.nativeCurrency.symbol,
decimals: base.nativeCurrency.decimals,
name: base.nativeCurrency.name
},
chainInfo: base,
explorerInfo: base.blockExplorers.default,
isCheckoutSupported: true,
isMainnet: true,
pickPriority: 2,
fallbackRpcUrls: [
"https://base.llamarpc.com",
"https://1rpc.io/base",
"https://base.gateway.tenderly.co",
"https://base-rpc.publicnode.com",
"https://base.meowrpc.com"
]
},
[polygon.id]: {
name: polygon.name,
nativeCurrency: {
symbol: polygon.nativeCurrency.symbol,
decimals: polygon.nativeCurrency.decimals,
name: polygon.nativeCurrency.name
},
coreToken: {
symbol: "MATIC",
decimals: 18,
name: "MATIC"
},
chainInfo: polygon,
explorerInfo: polygon.blockExplorers.default,
isCheckoutSupported: true,
isMainnet: true,
pickPriority: 1,
fallbackRpcUrls: [
"https://polygon.drpc.org",
"https://1rpc.io/matic",
"https://polygon.gateway.tenderly.co",
"https://polygon-bor-rpc.publicnode.com",
"https://api.zan.top/polygon-mainnet"
]
},
[arbitrum.id]: {
name: "Arbitrum",
// arbitrum.name returns 'Arbitrum One' which is too wordy for us.
nativeCurrency: {
symbol: arbitrum.nativeCurrency.symbol,
decimals: arbitrum.nativeCurrency.decimals,
name: arbitrum.nativeCurrency.name
},
coreToken: {
symbol: "ARB",
decimals: 18,
name: "Arbitrium"
},
chainInfo: arbitrum,
explorerInfo: arbitrum.blockExplorers.default,
isCheckoutSupported: true,
isMainnet: true,
pickPriority: 3,
fallbackRpcUrls: [
"https://arbitrum.drpc.org",
"https://arbitrum.gateway.tenderly.co",
"https://1rpc.io/arb",
"https://arbitrum-one-rpc.publicnode.com",
"https://arbitrum.meowrpc.com"
]
},
[optimism.id]: {
name: optimism.name,
nativeCurrency: {
symbol: optimism.nativeCurrency.symbol,
decimals: optimism.nativeCurrency.decimals,
name: optimism.nativeCurrency.name
},
coreToken: {
symbol: "OP",
decimals: 18,
name: "Optimism"
},
chainInfo: optimism,
explorerInfo: optimism.blockExplorers.default,
isCheckoutSupported: true,
isMainnet: true,
pickPriority: Number.MAX_SAFE_INTEGER,
fallbackRpcUrls: [
"https://0xrpc.io/op",
"https://optimism.drpc.org",
"https://optimism.gateway.tenderly.co",
"https://1rpc.io/op",
"https://optimism-rpc.publicnode.com"
]
},
[bsc.id]: {
name: bsc.name,
nativeCurrency: {
symbol: bsc.nativeCurrency.symbol,
decimals: bsc.nativeCurrency.decimals,
name: bsc.nativeCurrency.name
},
chainInfo: bsc,
explorerInfo: bsc.blockExplorers.default,
isCheckoutSupported: true,
isMainnet: true,
pickPriority: Number.MAX_SAFE_INTEGER,
fallbackRpcUrls: [
"https://binance.llamarpc.com",
"https://1rpc.io/bnb",
"https://bsc.drpc.org",
"https://bsc-rpc.publicnode.com",
"https://bsc.blockrazor.xyz",
"https://bsc.meowrpc.com"
]
},
[zksync.id]: {
name: "zkSync",
nativeCurrency: {
symbol: zksync.nativeCurrency.symbol,
decimals: zksync.nativeCurrency.decimals,
name: zksync.nativeCurrency.name
},
coreToken: {
symbol: "ZK",
decimals: 18,
name: "zkSync"
},
chainInfo: zksync,
explorerInfo: zksync.blockExplorers.default,
isCheckoutSupported: false,
isMainnet: true,
pickPriority: 5,
fallbackRpcUrls: [
"https://1rpc.io/zksync2-era",
"https://zksync.meowrpc.com"
]
},
[mantle.id]: {
name: mantle.name,
nativeCurrency: {
symbol: mantle.nativeCurrency.symbol,
decimals: mantle.nativeCurrency.decimals,
name: mantle.nativeCurrency.name
},
coreToken: {
symbol: "MNT",
decimals: 18,
name: "Mantle"
},
chainInfo: mantle,
explorerInfo: mantle.blockExplorers.default,
isCheckoutSupported: false,
isMainnet: true,
pickPriority: 6,
fallbackRpcUrls: [
"https://mantle.drpc.org",
"https://mantle-rpc.publicnode.com"
]
},
[solanaChain.id]: {
name: solanaChain.name,
nativeCurrency: {
symbol: solanaChain.nativeCurrency.symbol,
decimals: solanaChain.nativeCurrency.decimals,
name: solanaChain.nativeCurrency.name
},
chainInfo: solanaChain,
explorerInfo: solanaChain.blockExplorers.default,
// Solana payment not enabled for regular checkout
isCheckoutSupported: false,
isMainnet: true,
pickPriority: Number.MAX_SAFE_INTEGER,
fallbackRpcUrls: []
},
[scroll.id]: {
name: scroll.name,
nativeCurrency: {
symbol: scroll.nativeCurrency.symbol,
decimals: scroll.nativeCurrency.decimals,
name: scroll.nativeCurrency.name
},
chainInfo: scroll,
explorerInfo: scroll.blockExplorers.default,
isCheckoutSupported: false,
isMainnet: true,
pickPriority: 7,
fallbackRpcUrls: [
"https://scroll-rpc.publicnode.com",
"https://scroll-mainnet.public.blastapi.io"
]
},
[abstract.id]: {
name: abstract.name,
nativeCurrency: {
symbol: abstract.nativeCurrency.symbol,
decimals: abstract.nativeCurrency.decimals,
name: abstract.nativeCurrency.name
},
chainInfo: abstract,
explorerInfo: abstract.blockExplorers.default,
isCheckoutSupported: true,
isMainnet: true,
pickPriority: Number.MAX_SAFE_INTEGER,
fallbackRpcUrls: []
},
[hyperEvmChain.id]: {
name: hyperEvmChain.name,
nativeCurrency: {
symbol: hyperEvmChain.nativeCurrency.symbol,
decimals: hyperEvmChain.nativeCurrency.decimals,
name: hyperEvmChain.nativeCurrency.name
},
chainInfo: hyperEvmChain,
explorerInfo: hyperEvmChain.blockExplorers.default,
isCheckoutSupported: true,
isMainnet: true,
pickPriority: Number.MAX_SAFE_INTEGER,
fallbackRpcUrls: [
"https://hyperliquid.drpc.org",
"https://rpc.hypurrscan.io",
"https://hyperliquid-json-rpc.stakely.io",
"https://hyperliquid.rpc.blxrbdn.com"
]
},
[etherealChain.id]: {
name: etherealChain.name,
nativeCurrency: {
symbol: etherealChain.nativeCurrency.symbol,
decimals: etherealChain.nativeCurrency.decimals,
name: etherealChain.nativeCurrency.name
},
chainInfo: etherealChain,
explorerInfo: etherealChain.blockExplorers.default,
isCheckoutSupported: true,
isMainnet: true,
pickPriority: Number.MAX_SAFE_INTEGER,
fallbackRpcUrls: []
},
[monadChain.id]: {
name: monadChain.name,
nativeCurrency: {
symbol: monadChain.nativeCurrency.symbol,
decimals: monadChain.nativeCurrency.decimals,
name: monadChain.nativeCurrency.name
},
chainInfo: monadChain,
explorerInfo: monadChain.blockExplorers.default,
isCheckoutSupported: true,
isMainnet: true,
pickPriority: Number.MAX_SAFE_INTEGER,
fallbackRpcUrls: []
},
[hyperCoreChain.id]: {
name: hyperCoreChain.name,
nativeCurrency: {
symbol: hyperCoreChain.nativeCurrency.symbol,
decimals: hyperCoreChain.nativeCurrency.decimals,
name: hyperCoreChain.nativeCurrency.name
},
chainInfo: hyperCoreChain,
explorerInfo: hyperCoreChain.blockExplorers.default,
// Hypercore payment not enabled for regular checkout
isCheckoutSupported: false,
isMainnet: true,
pickPriority: Number.MAX_SAFE_INTEGER,
fallbackRpcUrls: ["https://rpc.hypurrscan.io"]
},
[lighterChain.id]: {
name: lighterChain.name,
nativeCurrency: {
symbol: lighterChain.nativeCurrency.symbol,
decimals: lighterChain.nativeCurrency.decimals,
name: lighterChain.nativeCurrency.name
},
chainInfo: lighterChain,
explorerInfo: lighterChain.blockExplorers.default,
// Lighter payment not enabled for regular checkout
isCheckoutSupported: false,
isMainnet: true,
pickPriority: Number.MAX_SAFE_INTEGER,
fallbackRpcUrls: []
},
[bitcoinChain.id]: {
name: bitcoinChain.name,
nativeCurrency: {
symbol: bitcoinChain.nativeCurrency.symbol,
decimals: bitcoinChain.nativeCurrency.decimals,
name: bitcoinChain.nativeCurrency.name
},
chainInfo: bitcoinChain,
explorerInfo: bitcoinChain.blockExplorers.default,
// Bitcoin payment not enabled for regular wallet checkout
isCheckoutSupported: false,
isMainnet: true,
pickPriority: Number.MAX_SAFE_INTEGER,
fallbackRpcUrls: []
},
[lightningChain.id]: {
name: lightningChain.name,
nativeCurrency: {
symbol: lightningChain.nativeCurrency.symbol,
decimals: lightningChain.nativeCurrency.decimals,
name: lightningChain.nativeCurrency.name
},
chainInfo: lightningChain,
explorerInfo: lightningChain.blockExplorers.default,
// Lightning payment not enabled for regular wallet checkout
isCheckoutSupported: false,
isMainnet: true,
pickPriority: Number.MAX_SAFE_INTEGER,
fallbackRpcUrls: []
},
[tronChain.id]: {
name: tronChain.name,
nativeCurrency: {
symbol: tronChain.nativeCurrency.symbol,
decimals: tronChain.nativeCurrency.decimals,
name: tronChain.nativeCurrency.name
},
chainInfo: tronChain,
explorerInfo: tronChain.blockExplorers.default,
// Tron payment not enabled for regular wallet checkout
isCheckoutSupported: false,
isMainnet: true,
pickPriority: Number.MAX_SAFE_INTEGER,
fallbackRpcUrls: []
},
/** TESTNETS **/
[goerli.id]: {
name: goerli.name,
nativeCurrency: {
symbol: goerli.nativeCurrency.symbol,
decimals: goerli.nativeCurrency.decimals,
name: goerli.nativeCurrency.name
},
chainInfo: goerli,
explorerInfo: goerli.blockExplorers.default,
isCheckoutSupported: true,
// testnet has no fiat checkouts supported
isMainnet: false,
pickPriority: Number.MAX_SAFE_INTEGER,
fallbackRpcUrls: []
},
[arbitrumSepolia.id]: {
name: arbitrumSepolia.name,
nativeCurrency: {
symbol: arbitrumSepolia.nativeCurrency.symbol,
decimals: arbitrumSepolia.nativeCurrency.decimals,
name: arbitrumSepolia.nativeCurrency.name
},
chainInfo: arbitrumSepolia,
explorerInfo: {
name: "Arbiscan",
url: "https://sepolia.arbiscan.io"
},
isCheckoutSupported: true,
// testnet has no fiat checkouts supported
isMainnet: false,
pickPriority: Number.MAX_SAFE_INTEGER,
fallbackRpcUrls: []
},
[robinhoodChain.id]: {
name: robinhoodChain.name,
nativeCurrency: {
symbol: robinhoodChain.nativeCurrency.symbol,
decimals: robinhoodChain.nativeCurrency.decimals,
name: robinhoodChain.nativeCurrency.name
},
chainInfo: robinhoodChain,
explorerInfo: robinhoodChain.blockExplorers.default,
isCheckoutSupported: true,
isMainnet: true,
pickPriority: Number.MAX_SAFE_INTEGER,
fallbackRpcUrls: []
},
[ink.id]: {
name: ink.name,
nativeCurrency: {
symbol: ink.nativeCurrency.symbol,
decimals: ink.nativeCurrency.decimals,
name: ink.nativeCurrency.name
},
chainInfo: ink,
explorerInfo: ink.blockExplorers.default,
isCheckoutSupported: true,
isMainnet: true,
pickPriority: Number.MAX_SAFE_INTEGER,
fallbackRpcUrls: ["https://ink.drpc.org", "https://rpc-qnd.inkonchain.com"]
}
};
var FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO_LIST = Object.values(
FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO
).flatMap((item) => {
if (!item) {
return [];
}
return [item.chainInfo];
});
var FUNKIT_CONNECT_SUPPORTED_CHECKOUT_CHAINS_INFO_LIST = FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO_LIST.filter(
(chainInfo) => {
const chainId = chainInfo.id;
return !!(chainId && FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO[chainId]?.isCheckoutSupported && FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO[chainId]?.isMainnet);
}
);
var FUNKIT_CONNECT_CHECKOUT_NATIVE_CURRENCY_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
export {
BITCOIN_MAINNET_CHAIN_ID,
ETHEREAL_CHAIN_ID,
FUNKIT_CONNECT_CHECKOUT_NATIVE_CURRENCY_ADDRESS,
FUNKIT_CONNECT_SUPPORTED_CHAINS_ID_LIST,
FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO,
FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO_LIST,
FUNKIT_CONNECT_SUPPORTED_CHECKOUT_CHAINS_INFO_LIST,
HYPERCORE_CHAIN_ID,
HYPER_EVM_CHAIN_ID,
LIGHTER_CHAIN_ID,
LIGHTNING_MAINNET_CHAIN_ID,
MONAD_CHAIN_ID,
ROBINHOOD_MAINNET_CHAIN_ID,
SOLANA_MAINNET_CHAIN_ID,
TRON_MAINNET_CHAIN_ID,
bitcoinChain,
chainMetadataById,
etherealChain,
hyperCoreChain,
hyperEvmChain,
lighterChain,
lightningChain,
monadChain,
robinhoodChain,
solanaChain,
tronChain
};
//# sourceMappingURL=index.js.map