-
Notifications
You must be signed in to change notification settings - Fork 69
/
Copy pathrpc.ts
114 lines (111 loc) · 6.03 KB
/
rpc.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
import type { MapLevels } from "./../utils/index.js";
import { constMap } from "./../utils/index.js";
import type { Network } from "./networks.js";
import type { Chain } from "./chains.js";
// prettier-ignore
const rpcConfig = [[
"Mainnet", [
["Ethereum", "https://ethereum-rpc.publicnode.com"],
["Solana", "https://api.mainnet-beta.solana.com"],
["Polygon", "https://polygon-bor-rpc.publicnode.com"],
["Bsc", "https://bscrpc.com"],
["Avalanche", "https://avalanche-c-chain-rpc.publicnode.com"],
["Fantom", "https://rpcapi.fantom.network"],
["Celo", "https://celo-rpc.publicnode.com"],
["Moonbeam", "https://moonbeam-rpc.publicnode.com"],
["Sui", "https://rpc.mainnet.sui.io"],
["Aptos", "https://fullnode.mainnet.aptoslabs.com/v1"],
["Arbitrum", "https://arb1.arbitrum.io/rpc"],
["Optimism", "https://mainnet.optimism.io"],
["Base", "https://mainnet.base.org"],
["Osmosis", "https://osmosis-rpc.polkachu.com"],
["Cosmoshub", "https://cosmos-rpc.publicnode.com:443"],
["Evmos", "https://evmos-rpc.polkachu.com"],
["Injective", "https://sentry.tm.injective.network"],
["Wormchain", "https://wormchain-rpc.quickapi.com"],
["Xpla", "https://dimension-rpc.xpla.dev"],
["Sei", "https://sei-rpc.polkachu.com/"],
["Algorand", "https://mainnet-api.algonode.cloud"],
["Terra", "https://terra-classic-rpc.publicnode.com"],
["Terra2", "https://terra-rpc.polkachu.com"],
["Karura", "https://eth-rpc-karura.aca-api.network"],
["Acala", "https://eth-rpc-acala.aca-api.network"],
["Oasis", "https://emerald.oasis.dev"],
["Dymension", "https://dymension-rpc.polkachu.com/"],
["Stargaze", "https://stargaze-rpc.polkachu.com/"],
["Celestia", "https://celestia-rpc.polkachu.com/"],
["Neutron", "https://neutron-rpc.polkachu.com/"],
["Blast", "https://rpc.blast.io"],
["Provenance","https://rpc.provenance.io/"],
["Noble", "https://noble-rpc.polkachu.com/"],
["Linea", "https://rpc.linea.build"],
["Scroll", "https://scroll-rpc.publicnode.com"],
["Xlayer", "https://xlayerrpc.okx.com/"],
["Gnosis", "https://gnosis-rpc.publicnode.com"],
["Mantle", "https://rpc.mantle.xyz"],
["Klaytn", "https://public-en.node.kaia.io"],
["Snaxchain", "https://mainnet.snaxchain.io"],
["Berachain", "https://rpc.berachain.com"],
["Unichain", "https://mainnet.unichain.org"],
["Worldchain","https://worldchain-mainnet.g.alchemy.com/public"],
["Ink", "https://rpc-qnd.inkonchain.com"],
]], [
"Testnet", [
["Ethereum", "https://eth-sepolia.public.blastapi.io"],
["Polygon", "https://rpc-mumbai.polygon.technology"],
["Bsc", "https://data-seed-prebsc-1-s3.binance.org:8545"],
["Avalanche", "https://api.avax-test.network/ext/bc/C/rpc"],
["Fantom", "https://rpc.testnet.fantom.network"],
["Celo", "https://alfajores-forno.celo-testnet.org"],
["Solana", "https://api.devnet.solana.com"],
["Oasis", "https://testnet.emerald.oasis.io"],
["Moonbeam", "https://rpc.api.moonbase.moonbeam.network"],
["Sui", "https://fullnode.testnet.sui.io"],
["Aptos", "https://fullnode.testnet.aptoslabs.com/v1"],
["Sei", "https://sei-testnet-rpc.polkachu.com"],
["Arbitrum", "https://arbitrum-goerli.public.blastapi.io"],
["Optimism", "https://optimism-goerli.public.blastapi.io"],
["Base", "https://base-goerli.public.blastapi.io"],
["Injective", "https://testnet.sentry.tm.injective.network"],
["Osmosis", "https://rpc.testnet.osmosis.zone"],
["Cosmoshub", "https://rpc.sentry-02.theta-testnet.polypore.xyz"],
["Evmos", "https://evmos-testnet-rpc.polkachu.com"],
["Wormchain", "https://gateway.testnet.xlabs.xyz/"],
["Xpla", "https://cube-rpc.xpla.dev"],
["Sepolia", "https://ethereum-sepolia.publicnode.com"],
["Algorand", "https://testnet-api.algonode.cloud"],
["Terra", "https://bombay.stakesystems.io"],
["Terra2", "https://terra-testnet-rpc.polkachu.com"],
["ArbitrumSepolia", "https://sepolia-rollup.arbitrum.io/rpc"],
["OptimismSepolia", "https://sepolia.optimism.io"],
["BaseSepolia", "https://sepolia.base.org"],
["PolygonSepolia", "https://rpc-amoy.polygon.technology/"],
["Mantle", "https://mantle-sepolia.drpc.org"],
["Karura", "https://eth-rpc-karura-testnet.aca-staging.network"],
["Acala", "https://eth-rpc-acala-testnet.aca-staging.network"],
["Blast", "https://sepolia.blast.io"],
["Berachain", "https://bepolia.rpc.berachain.com/"],
["Seievm", "https://evm-rpc-testnet.sei-apis.com/"],
["Linea", "https://rpc.sepolia.linea.build"],
["Xlayer", "https://testrpc.xlayer.tech/"],
["Scroll", "https://scroll-sepolia-rpc.publicnode.com"],
["Gnosis", "https://rpc.chiadochain.net"],
["Klaytn", "https://public-en-kairos.node.kaia.io"],
["Snaxchain", "https://testnet.snaxchain.io"],
["Unichain", "https://sepolia.unichain.org"],
["Worldchain", "https://worldchain-sepolia.g.alchemy.com/public"],
["Ink", "https://rpc-qnd-sepolia.inkonchain.com"],
["HyperEVM", "https://api.hyperliquid-testnet.xyz/evm"],
["Monad", "https://testnet-rpc.monad.xyz"],
["Noble", "https://noble-testnet-rpc.polkachu.com/"],
["Mezo", "https://rpc.test.mezo.org"],
]], [
"Devnet", [
["Ethereum", "http://eth-devnet:8545"],
["Bsc", "http://eth-devnet2:8545"],
["Solana", "http://solana-devnet:8899"],
]],
] as const satisfies MapLevels<[Network, Chain, string]>;
const rpc = constMap(rpcConfig);
/** Default RPC Addresses by network and chain */
export const rpcAddress = (network: Network, chain: Chain) => rpc.get(network, chain) ?? "";