@arcana/ca-sdk
Version:
Arcana Network's chain abstraction SDK for unified balance in Web3 apps
928 lines (927 loc) • 31.6 kB
JavaScript
import { Environment, getVaultContractMap, OmniversalChainID, Universe, } from "@arcana/ca-common";
import { CHAIN_IDS } from "fuels";
import { FUEL_BASE_ASSET_ID, FUEL_NETWORK_URL, getLogoFromSymbol, KAIA_CHAIN_ID, SOPHON_CHAIN_ID, ZERO_ADDRESS, } from "./constants";
import { convertToHexAddressByUniverse, equalFold } from "./utils";
class ChainList {
constructor(env) {
switch (env) {
case Environment.CERISE:
case Environment.CORAL:
this.chains = MAINNET_CHAINS;
break;
case Environment.FOLLY:
this.chains = TESTNET_CHAINS;
break;
case Environment.JADE:
throw new Error("Jade environment not supported yet");
default:
throw new Error("Unknown environment");
}
this.vcm = getVaultContractMap(env);
}
getChainByID(id) {
return this.chains.find((c) => c.id === id);
}
getNativeToken(chainID) {
const chain = this.getChainByID(chainID);
if (!chain) {
throw new Error("chain not found");
}
return {
contractAddress: ZERO_ADDRESS,
decimals: chain.nativeCurrency.decimals,
logo: chain.custom.icon,
name: chain.nativeCurrency.name,
symbol: chain.nativeCurrency.symbol,
};
}
getTokenByAddress(chainID, address) {
const chain = this.getChainByID(chainID);
if (!chain) {
return undefined;
}
const token = chain.custom.knownTokens.find((t) => equalFold(t.contractAddress, address));
if (!token) {
if (equalFold(address, ZERO_ADDRESS)) {
return this.getNativeToken(chainID);
}
}
return token;
}
getTokenInfoBySymbol(chainID, symbol) {
const chain = this.getChainByID(chainID);
if (!chain) {
return undefined;
}
const token = chain.custom.knownTokens.find((t) => equalFold(t.symbol, symbol));
if (!token) {
if (equalFold(chain.nativeCurrency.symbol, symbol)) {
return {
contractAddress: ZERO_ADDRESS,
decimals: chain.nativeCurrency.decimals,
logo: chain.custom.icon,
name: chain.nativeCurrency.name,
symbol: chain.nativeCurrency.symbol,
};
}
}
return token;
}
getVaultContractAddress(chainID) {
const chain = this.getChainByID(chainID);
if (!chain) {
throw new Error("chain not supported");
}
const omniversalChainID = new OmniversalChainID(chain.universe, chainID);
const vc = this.vcm.get(omniversalChainID);
if (!vc) {
throw new Error("vault contract not found");
}
return convertToHexAddressByUniverse(vc, chain.universe);
}
}
const TESTNET_CHAINS = [
{
blockExplorers: {
default: {
name: "Arbitrum Sepolia Explorer",
url: "https://sepolia.arbiscan.io/",
},
},
custom: {
icon: "/images/logos/arbitrum.svg",
knownTokens: [
{
contractAddress: "0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d",
decimals: 6,
logo: getLogoFromSymbol("USDC"),
name: "USD Coin",
symbol: "USDC",
},
{
contractAddress: "0xF954d4A5859b37De88a91bdbb8Ad309056FB04B1",
decimals: 18,
logo: getLogoFromSymbol("USDT"),
name: "Testing USD",
symbol: "USDT",
},
],
},
id: 421614,
name: "Arbitrum Sepolia",
nativeCurrency: {
decimals: 18,
name: "Ether",
symbol: "ETH",
},
rpcUrls: {
default: {
http: [
"https://arb-sepolia.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
publicHttp: [
"https://public.stackup.sh/api/v1/node/arbitrum-sepolia",
"https://endpoints.omniatech.io/v1/arbitrum/sepolia/public",
"https://arbitrum-sepolia.gateway.tenderly.co",
"https://api.zan.top/arb-sepolia",
],
webSocket: [
"wss://arb-sepolia.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
},
},
universe: Universe.ETHEREUM,
},
{
blockExplorers: {
default: {
name: "OP Sepolia Explorer",
url: "https://sepolia-optimism.etherscan.io/",
},
},
custom: {
icon: "/images/logos/optimism.svg",
knownTokens: [
{
contractAddress: "0x5fd84259d66Cd46123540766Be93DFE6D43130D7",
decimals: 6,
logo: getLogoFromSymbol("USDC"),
name: "USD Coin",
symbol: "USDC",
},
{
contractAddress: "0x6462693c2F21AC0E517f12641D404895030F7426",
decimals: 18,
logo: getLogoFromSymbol("USDT"),
name: "Testing USD",
symbol: "USDT",
},
],
},
id: 11155420,
name: "OP Sepolia",
nativeCurrency: {
decimals: 18,
name: "Ether",
symbol: "ETH",
},
rpcUrls: {
default: {
http: [
"https://opt-sepolia.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
publicHttp: [
"https://api.zan.top/opt-sepolia",
"https://endpoints.omniatech.io/v1/op/sepolia/public",
"https://optimism-sepolia.gateway.tenderly.co",
"https://optimism-sepolia.api.onfinality.io/public",
],
webSocket: [
"wss://opt-sepolia.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
},
},
universe: Universe.ETHEREUM,
},
{
blockExplorers: {
default: {
name: "Amoy Polygon Explorer",
url: "https://amoy.polygonscan.com/",
},
},
custom: {
icon: "/images/logos/polygon.svg",
knownTokens: [
{
contractAddress: "0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582",
decimals: 6,
logo: getLogoFromSymbol("USDC"),
name: "USD Coin",
symbol: "USDC",
},
],
},
id: 80002,
name: "Amoy",
nativeCurrency: {
decimals: 18,
name: "POL",
symbol: "POL",
},
rpcUrls: {
default: {
http: [
"https://polygon-amoy.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
publicHttp: [
"https://polygon-amoy-bor-rpc.publicnode.com",
"https://rpc-amoy.polygon.technology",
"https://polygon-amoy.gateway.tenderly.co",
"https://polygon-amoy.drpc.org",
],
webSocket: [
"wss://polygon-amoy.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
},
},
universe: Universe.ETHEREUM,
},
{
blockExplorers: {
default: {
name: "Basescan",
url: "https://sepolia.basescan.org/",
},
},
custom: {
icon: "/images/logos/base.svg",
knownTokens: [
{
contractAddress: "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
decimals: 6,
logo: getLogoFromSymbol("USDC"),
name: "USD Coin",
symbol: "USDC",
},
],
},
id: 84532,
name: "Base Sepolia",
nativeCurrency: {
decimals: 18,
name: "Ether",
symbol: "ETH",
},
rpcUrls: {
default: {
http: [
"https://base-sepolia.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
publicHttp: [
"https://rpc.notadegen.com/base/sepolia",
"https://public.stackup.sh/api/v1/node/base-sepolia",
"https://base-sepolia.gateway.tenderly.co",
"https://base-sepolia.drpc.org",
],
webSocket: [
"wss://base-sepolia.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
},
},
universe: Universe.ETHEREUM,
},
];
const MAINNET_CHAINS = [
{
blockExplorers: {
default: {
name: "Fuel Network Explorer",
url: "https://app.fuel.network/",
},
},
custom: {
icon: "/images/logos/fuel.webp",
knownTokens: [
{
contractAddress: FUEL_BASE_ASSET_ID,
decimals: 9,
logo: getLogoFromSymbol("ETH"),
name: "Ether",
symbol: "ETH",
},
{
contractAddress: "0x286c479da40dc953bddc3bb4c453b608bba2e0ac483b077bd475174115395e6b",
decimals: 6,
logo: getLogoFromSymbol("USDC"),
name: "USD Coin",
symbol: "USDC",
},
{
contractAddress: "0xa0265fb5c32f6e8db3197af3c7eb05c48ae373605b8165b6f4a51c5b0ba4812e",
decimals: 6,
logo: getLogoFromSymbol("USDT"),
name: "Tether USD",
symbol: "USDT",
},
],
},
id: CHAIN_IDS.fuel.mainnet,
name: "Fuel Network",
nativeCurrency: {
decimals: 9,
name: "Ether",
symbol: "ETH",
},
rpcUrls: {
default: {
http: [FUEL_NETWORK_URL],
webSocket: [],
},
},
universe: Universe.FUEL,
},
{
blockExplorers: {
default: {
name: "Sophscan",
url: "https://sophscan.xyz",
},
},
custom: {
icon: "https://assets.coingecko.com/coins/images/38680/large/sophon_logo_200.png",
knownTokens: [
{
contractAddress: "0x6386da73545ae4e2b2e0393688fa8b65bb9a7169",
decimals: 6,
logo: getLogoFromSymbol("USDT"),
name: "Tether USD",
symbol: "USDT",
},
{
contractAddress: "0x9aa0f72392b5784ad86c6f3e899bcc053d00db4f",
decimals: 6,
logo: getLogoFromSymbol("USDC"),
name: "USD Coin",
symbol: "USDC",
},
// {
// contractAddress: "0x72af9f169b619d85a47dfa8fefbcd39de55c567d",
// decimals: 18,
// logo: getLogoFromSymbol("ETH"),
// name: "Ether",
// symbol: "ETH",
// },
],
},
id: SOPHON_CHAIN_ID,
name: "Sophon",
nativeCurrency: {
decimals: 18,
name: "Sophon",
symbol: "SOPH",
},
rpcUrls: {
default: {
http: ["https://sophon.gateway.tenderly.co/1d4STFT7zmG0vM5QowibCw"],
publicHttp: ["https://rpc-quicknode.sophon.xyz"],
webSocket: ["wss://sophon.gateway.tenderly.co/1d4STFT7zmG0vM5QowibCw"],
},
},
universe: Universe.ETHEREUM,
},
{
blockExplorers: {
default: {
name: "KaiaScan",
url: "https://kaiascan.io",
},
},
custom: {
icon: "https://assets.coingecko.com/asset_platforms/images/9672/large/kaia.png",
knownTokens: [
{
contractAddress: "0xd077a400968890eacc75cdc901f0356c943e4fdb",
decimals: 6,
logo: "/images/logos/usdt.svg",
name: "Tether USD",
symbol: "USDT",
},
],
},
id: KAIA_CHAIN_ID,
name: "Kaia Mainnet",
nativeCurrency: {
decimals: 18,
name: "Kaia",
symbol: "KAIA",
},
rpcUrls: {
default: {
http: ["https://go.getblock.io/d7094dbd80ab474ba7042603fe912332"],
publicHttp: ["https://go.getblock.io/d7094dbd80ab474ba7042603fe912332"],
webSocket: ["wss://go.getblock.io/92d6e31d6a47427d9337753b3d48b93e"],
},
},
universe: Universe.ETHEREUM,
},
{
blockExplorers: {
default: {
name: "Etherscan",
url: "https://etherscan.io",
},
},
custom: {
icon: "https://assets.coingecko.com/asset_platforms/images/279/large/ethereum.png?1706606803",
knownTokens: [
{
contractAddress: "0xdac17f958d2ee523a2206206994597c13d831ec7",
decimals: 6,
logo: getLogoFromSymbol("USDT"),
name: "Tether USD",
symbol: "USDT",
},
{
contractAddress: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
decimals: 6,
logo: getLogoFromSymbol("USDC"),
name: "USD Coin",
symbol: "USDC",
},
],
},
id: 1,
name: "Ethereum Mainnet",
nativeCurrency: {
decimals: 18,
name: "Ether",
symbol: "ETH",
},
rpcUrls: {
default: {
http: [
"https://ethereum.blockpi.network/v1/rpc/743f126e1720d79033ba70a92c9ea3724380d6bd",
],
publicHttp: [
"https://cloudflare-eth.com",
"https://1rpc.io/eth",
"https://ethereum-rpc.publicnode.com",
"https://rpc.ankr.com/eth",
"https://ethereum.blockpi.network/v1/rpc/public",
"https://rpc.mevblocker.io",
"https://rpc.mevblocker.io/fast",
],
webSocket: ["wss://eth.llamarpc.com"],
},
},
universe: Universe.ETHEREUM,
},
{
blockExplorers: {
default: {
name: "Optimism Etherscan",
url: "https://optimistic.etherscan.io",
},
},
custom: {
icon: "https://assets.coingecko.com/coins/images/25244/large/Optimism.png?1696524385",
knownTokens: [
{
contractAddress: "0x94b008aa00579c1307b0ef2c499ad98a8ce58e58",
decimals: 6,
logo: getLogoFromSymbol("USDT"),
name: "Tether USD",
symbol: "USDT",
},
{
contractAddress: "0x0b2c639c533813f4aa9d7837caf62653d097ff85",
decimals: 6,
logo: getLogoFromSymbol("USDC"),
name: "USD Coin",
symbol: "USDC",
},
],
},
id: 10,
name: "OP Mainnet",
nativeCurrency: {
decimals: 18,
name: "Ether",
symbol: "ETH",
},
rpcUrls: {
default: {
http: [
"https://optimism.blockpi.network/v1/rpc/209918c9b2ca4d0a073cf2acc9e1ad2925af3b6c",
"https://opt-mainnet.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
publicHttp: [
"https://mainnet.optimism.io",
"https://1rpc.io/op",
"https://optimism-rpc.publicnode.com",
"https://rpc.ankr.com/optimism",
"https://optimism.blockpi.network/v1/rpc/public",
"https://optimism.llamarpc.com",
],
webSocket: [
"wss://opt-mainnet.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
},
},
universe: Universe.ETHEREUM,
},
{
blockExplorers: {
default: {
name: "Polygonscan",
url: "https://polygonscan.com",
},
},
custom: {
icon: "https://assets.coingecko.com/asset_platforms/images/15/large/polygon_pos.png?1706606645",
knownTokens: [
{
contractAddress: "0xc2132d05d31c914a87c6611c10748aeb04b58e8f",
decimals: 6,
logo: getLogoFromSymbol("USDT"),
name: "Tether USD",
symbol: "USDT",
},
{
contractAddress: "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",
decimals: 6,
logo: getLogoFromSymbol("USDC"),
name: "USD Coin",
symbol: "USDC",
},
],
},
id: 137,
name: "Polygon PoS",
nativeCurrency: {
decimals: 18,
name: "POL",
symbol: "POL",
},
rpcUrls: {
default: {
http: [
"https://polygon-mainnet.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
"https://polygon.blockpi.network/v1/rpc/07fef5146d885cc0fe07ae6760d486b31e45dcc7",
],
publicHttp: [
"https://polygon-rpc.com",
"https://1rpc.io/matic",
"https://polygon-bor-rpc.publicnode.com",
"https://rpc.ankr.com/polygon",
"https://polygon.blockpi.network/v1/rpc/public",
"https://polygon.llamarpc.com",
],
webSocket: [
"wss://polygon-mainnet.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
},
},
universe: Universe.ETHEREUM,
},
{
blockExplorers: {
default: {
name: "Basescan",
url: "https://basescan.org",
},
},
custom: {
icon: "https://assets.coingecko.com/asset_platforms/images/131/large/base-network.png?1720533039",
knownTokens: [
{
contractAddress: "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
decimals: 6,
logo: getLogoFromSymbol("USDC"),
name: "USD Coin",
symbol: "USDC",
},
],
},
id: 8453,
name: "Base",
nativeCurrency: {
decimals: 18,
name: "Ether",
symbol: "ETH",
},
rpcUrls: {
default: {
http: [
"https://base-mainnet.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
"https://base.blockpi.network/v1/rpc/dec2a84b57c7779c8b092a7ca9817e6855aa08c6",
],
publicHttp: [
"https://mainnet.base.org",
"https://1rpc.io/base",
"https://base-rpc.publicnode.com",
"https://rpc.ankr.com/base",
"https://base.blockpi.network/v1/rpc/public",
"https://base.llamarpc.com",
],
webSocket: [
"wss://base-mainnet.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
},
},
universe: Universe.ETHEREUM,
},
{
blockExplorers: {
default: {
name: "Arbiscan",
url: "https://arbiscan.io",
},
},
custom: {
icon: "https://assets.coingecko.com/coins/images/16547/large/arb.jpg?1721358242",
knownTokens: [
{
contractAddress: "0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9",
decimals: 6,
logo: getLogoFromSymbol("USDT"),
name: "Tether USD",
symbol: "USDT",
},
{
contractAddress: "0xaf88d065e77c8cc2239327c5edb3a432268e5831",
decimals: 6,
logo: getLogoFromSymbol("USDC"),
name: "USD Coin",
symbol: "USDC",
},
],
},
id: 42161,
name: "Arbitrum One",
nativeCurrency: {
decimals: 18,
name: "ETH",
symbol: "ETH",
},
rpcUrls: {
default: {
http: [
"https://arb-mainnet.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
"https://arbitrum.blockpi.network/v1/rpc/a8ccd43cdc840c2b2d20c24a058514a21302376d",
],
publicHttp: [
"https://arb1.arbitrum.io/rpc",
"https://1rpc.io/arb",
"https://arbitrum-one-rpc.publicnode.com",
"https://rpc.ankr.com/arbitrum",
"https://arbitrum.blockpi.network/v1/rpc/public",
],
webSocket: [
"wss://arb-mainnet.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
},
},
universe: Universe.ETHEREUM,
},
// {
// blockExplorers: {
// default: {
// name: "Lineascan",
// url: "https://lineascan.build",
// },
// },
// custom: {
// icon: "https://assets.coingecko.com/asset_platforms/images/135/large/linea.jpeg?1706606705",
// knownTokens: [
// {
// contractAddress: "0xa219439258ca9da29e9cc4ce5596924745e12b93",
// decimals: 6,
// logo: getLogoFromSymbol("USDT"),
// name: "Tether USD",
// symbol: "USDT",
// },
// {
// contractAddress: "0x176211869ca2b568f2a7d4ee941e073a821ee1ff",
// decimals: 6,
// logo: getLogoFromSymbol("USDC"),
// name: "USD Coin",
// symbol: "USDC",
// },
// ],
// },
// id: 59144,
// name: "Linea",
// nativeCurrency: {
// decimals: 18,
// name: "Ether",
// symbol: "ETH",
// },
// rpcUrls: {
// default: {
// http: [
// "https://linea-mainnet.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
// ],
// publicHttp: [
// "https://rpc.linea.build",
// "https://1rpc.io/linea",
// "https://linea-mainnet.public.blastapi.io",
// // "https://linea.blockpi.network/v1/rpc/public",
// "https://linea-rpc.publicnode.com",
// ],
// webSocket: [
// "wss://linea-mainnet.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
// ],
// },
// },
// universe: Universe.ETHEREUM,
// },
{
blockExplorers: {
default: {
name: "Scrollscan",
url: "https://scrollscan.com",
},
},
custom: {
icon: "https://assets.coingecko.com/asset_platforms/images/153/large/scroll.jpeg?1706606782",
knownTokens: [
{
contractAddress: "0xf55bec9cafdbe8730f096aa55dad6d22d44099df",
decimals: 6,
logo: getLogoFromSymbol("USDT"),
name: "Tether USD",
symbol: "USDT",
},
{
contractAddress: "0x06efdbff2a14a7c8e15944d1f4a48f9f95f663a4",
decimals: 6,
logo: getLogoFromSymbol("USDC"),
name: "USD Coin",
symbol: "USDC",
},
],
},
id: 534352,
name: "Scroll",
nativeCurrency: {
decimals: 18,
name: "Ether",
symbol: "ETH",
},
rpcUrls: {
default: {
http: [
"https://scroll-mainnet.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
publicHttp: [
"https://rpc.scroll.io",
"https://1rpc.io/scroll",
"https://rpc.ankr.com/scroll",
"https://scroll-mainnet.public.blastapi.io",
// "https://scroll.blockpi.network/v1/rpc/public",
"https://scroll-rpc.publicnode.com",
],
webSocket: [
"wss://scroll-mainnet.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
},
},
universe: Universe.ETHEREUM,
},
{
blockExplorers: {
default: {
name: "Snowscan",
url: "https://snowscan.xyz",
},
},
custom: {
icon: "https://assets.coingecko.com/asset_platforms/images/12/large/avalanche.png",
knownTokens: [
{
contractAddress: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
decimals: 6,
logo: getLogoFromSymbol("USDC"),
name: "USD Coin",
symbol: "USDC",
},
{
contractAddress: "0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7",
decimals: 6,
logo: getLogoFromSymbol("USDT"),
name: "Tether USD",
symbol: "USDT",
},
],
},
id: 43114,
name: "Avalanche C-Chain",
nativeCurrency: {
decimals: 18,
name: "AVAX",
symbol: "AVAX",
},
rpcUrls: {
default: {
http: [
"https://avax-mainnet.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
publicHttp: [
"https://1rpc.io/avax/c",
"https://avalanche-c-chain-rpc.publicnode.com",
"https://ava-mainnet.public.blastapi.io/ext/bc/C/rpc",
"https://rpc.ankr.com/avalanche",
"https://avalanche-mainnet.gateway.tenderly.co",
],
webSocket: [
"wss://avax-mainnet.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
},
},
universe: Universe.ETHEREUM,
},
{
blockExplorers: {
default: {
name: "BscScan",
url: "https://bscscan.com",
},
},
custom: {
icon: "https://assets.coingecko.com/asset_platforms/images/1/large/bnb_smart_chain.png",
knownTokens: [
{
contractAddress: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
decimals: 18,
logo: getLogoFromSymbol("USDC"),
name: "USD Coin",
symbol: "USDC",
},
{
contractAddress: "0x55d398326f99059fF775485246999027B3197955",
decimals: 18,
logo: getLogoFromSymbol("USDT"),
name: "Tether USD",
symbol: "USDT",
},
// {
// contractAddress: "0x2170Ed0880ac9A755fd29B2688956BD959F933F8",
// decimals: 18,
// logo: getLogoFromSymbol("ETH"),
// name: "Ether",
// symbol: "ETH",
// },
],
},
id: 0x38,
name: "BNB Smart Chain",
nativeCurrency: {
decimals: 18,
name: "BNB",
symbol: "BNB",
},
rpcUrls: {
default: {
http: [
"https://bnb-mainnet.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
publicHttp: [
"https://1rpc.io/bnb",
"https://bsc-rpc.publicnode.com",
"https://bsc-mainnet.public.blastapi.io",
"https://bsc.drpc.org",
"https://bsc.blockrazor.xyz",
],
webSocket: [
"wss://bnb-mainnet.g.alchemy.com/v2/PfaswrKq0rjOrfYWHfE9uLQKhiD4JCdq",
],
},
},
universe: Universe.ETHEREUM,
},
// {
// blockExplorers: {
// default: {
// name: "Hyperscan",
// url: "https://hyperscan.com",
// },
// },
// custom: {
// icon: "https://assets.coingecko.com/asset_platforms/images/243/large/hyperliquid.png",
// knownTokens: [
// {
// contractAddress: "0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb",
// decimals: 6,
// logo: getLogoFromSymbol("USDT"),
// name: "Tether USD",
// symbol: "USDT",
// },
// ],
// },
// id: 0x3e7,
// name: "HyperEVM",
// nativeCurrency: {
// decimals: 18,
// name: "HYPE",
// symbol: "HYPE",
// },
// rpcUrls: {
// default: {
// http: [
// // Not supported by Alchemy
// "https://hyperliquid.drpc.org",
// ],
// publicHttp: [
// "https://hyperliquid-json-rpc.stakely.io",
// "https://rpc.hyperlend.finance",
// "https://rpc.hypurrscan.io",
// ],
// webSocket: ["wss://hyperliquid.drpc.org"],
// },
// },
// universe: Universe.ETHEREUM,
// },
];
export { ChainList, KAIA_CHAIN_ID, SOPHON_CHAIN_ID };