@b3dotfun/sdk 0.0.89-alpha.3 → 0.0.89

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -107,10 +107,7 @@ function AnySpendInner({ sourceChainId, destinationTokenAddress, destinationToke
107
107
  defaultToken: defaultSrcToken,
108
108
  prefix: "from",
109
109
  });
110
- // When sourceChainId prop is explicitly provided and differs from URL token's chain,
111
- // use the default token for the new chain (handles chain selection in AnySpendDeposit)
112
- const effectiveSrcToken = sourceChainId && srcTokenFromUrl.chainId !== sourceChainId ? defaultSrcToken : srcTokenFromUrl;
113
- const [selectedSrcToken, setSelectedSrcToken] = (0, react_4.useState)(effectiveSrcToken);
110
+ const [selectedSrcToken, setSelectedSrcToken] = (0, react_4.useState)(srcTokenFromUrl);
114
111
  const { data: srcTokenMetadata } = (0, react_2.useTokenData)(selectedSrcToken?.chainId, selectedSrcToken?.address);
115
112
  const [srcAmount, setSrcAmount] = (0, react_4.useState)(searchParams.get("fromAmount") || "0");
116
113
  // State for onramp amount
@@ -151,7 +151,7 @@ function AnySpendCustomInner({ loadOrder, mode = "modal", activeTab: activeTabPr
151
151
  const searchParams = (0, react_2.useSearchParamsSSR)();
152
152
  const router = (0, react_2.useRouter)();
153
153
  const [activePanel, setActivePanel] = (0, react_5.useState)(loadOrder ? PanelView.ORDER_DETAILS : PanelView.CONFIRM_ORDER);
154
- const [activeTab, setActiveTab] = (0, react_5.useState)(forceFiatPayment ? "fiat" : activeTabProps);
154
+ const [activeTab, setActiveTab] = (0, react_5.useState)(activeTabProps);
155
155
  // Payment method state with dual-state system (auto + explicit user selection)
156
156
  // Note: AnySpendCustom doesn't use auto-selection, only explicit user selection
157
157
  const { setSelectedCryptoPaymentMethod, effectiveCryptoPaymentMethod, resetPaymentMethods } = (0, useCryptoPaymentMethodState_1.useCryptoPaymentMethodState)();
@@ -1,29 +1,6 @@
1
1
  import { components } from "../../anyspend/types/api";
2
2
  import { Account, Chain, PublicClient, Transport, WalletClient } from "viem";
3
3
  import { ChainType, IBaseChain, IEVMChain, IHyperliquidChain, ISolanaChain } from "../types/chain";
4
- /**
5
- * Set custom RPC URL overrides for specific chains.
6
- * These overrides are used by chainIdToPublicClient and chainIdToWalletClient.
7
- *
8
- * @param overrides - A record mapping chain IDs to custom RPC URLs
9
- *
10
- * @example
11
- * // Set once at app initialization using environment variables
12
- * setChainRpcOverrides({
13
- * 1: process.env.ETHEREUM_RPC_URL,
14
- * 8453: process.env.BASE_RPC_URL,
15
- * 42161: process.env.ARBITRUM_RPC_URL,
16
- * });
17
- */
18
- export declare function setChainRpcOverrides(overrides: Record<number, string>): void;
19
- /**
20
- * Get the current RPC URL overrides.
21
- */
22
- export declare function getChainRpcOverrides(): Record<number, string>;
23
- /**
24
- * Clear all RPC URL overrides.
25
- */
26
- export declare function clearChainRpcOverrides(): void;
27
4
  export declare const hyperEVM: {
28
5
  blockExplorers: {
29
6
  readonly default: {
@@ -4,9 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ALL_CHAINS = exports.HYPERLIQUID_CHAINS = exports.SOLANA_CHAINS = exports.EVM_CHAINS = exports.HYPERLIQUID_MAINNET = exports.SOLANA_MAINNET = exports.EVM_TESTNET = exports.EVM_MAINNET = exports.hyperEVM = void 0;
7
- exports.setChainRpcOverrides = setChainRpcOverrides;
8
- exports.getChainRpcOverrides = getChainRpcOverrides;
9
- exports.clearChainRpcOverrides = clearChainRpcOverrides;
10
7
  exports.getSolanaChains = getSolanaChains;
11
8
  exports.getAllEvmChains = getAllEvmChains;
12
9
  exports.getChainType = getChainType;
@@ -29,7 +26,6 @@ exports.isHyperliquidChain = isHyperliquidChain;
29
26
  exports.getHyperliquidChain = getHyperliquidChain;
30
27
  exports.getAvailableChainIds = getAvailableChainIds;
31
28
  const constants_1 = require("../../anyspend/constants");
32
- const rpc_1 = require("../../anyspend/constants/rpc");
33
29
  const invariant_1 = __importDefault(require("invariant"));
34
30
  const viem_1 = require("viem");
35
31
  const chains_1 = require("viem/chains");
@@ -38,45 +34,11 @@ const token_1 = require("./token");
38
34
  function getCustomEvmChain(chain, rpcUrl) {
39
35
  return (0, viem_1.defineChain)({ ...chain, rpcUrls: { default: { http: [rpcUrl] } } });
40
36
  }
41
- /**
42
- * Global RPC URL overrides for EVM chains.
43
- * Use setChainRpcOverrides() to configure custom RPC endpoints.
44
- */
45
- let chainRpcOverrides = {};
46
- /**
47
- * Set custom RPC URL overrides for specific chains.
48
- * These overrides are used by chainIdToPublicClient and chainIdToWalletClient.
49
- *
50
- * @param overrides - A record mapping chain IDs to custom RPC URLs
51
- *
52
- * @example
53
- * // Set once at app initialization using environment variables
54
- * setChainRpcOverrides({
55
- * 1: process.env.ETHEREUM_RPC_URL,
56
- * 8453: process.env.BASE_RPC_URL,
57
- * 42161: process.env.ARBITRUM_RPC_URL,
58
- * });
59
- */
60
- function setChainRpcOverrides(overrides) {
61
- chainRpcOverrides = { ...overrides };
62
- }
63
- /**
64
- * Get the current RPC URL overrides.
65
- */
66
- function getChainRpcOverrides() {
67
- return { ...chainRpcOverrides };
68
- }
69
- /**
70
- * Clear all RPC URL overrides.
71
- */
72
- function clearChainRpcOverrides() {
73
- chainRpcOverrides = {};
74
- }
75
37
  exports.hyperEVM = (0, viem_1.defineChain)({
76
38
  id: token_1.HYPEREVM_CHAIN_ID,
77
39
  name: "HyperEVM",
78
40
  nativeCurrency: { name: "HyperEVM", symbol: "HYPE", decimals: 18 },
79
- rpcUrls: { default: { http: [rpc_1.HYPEREVM_PUBLIC_RPC] } },
41
+ rpcUrls: { default: { http: ["https://rpc.hyperliquid.xyz/evm"] } },
80
42
  blockExplorers: { default: { name: "HyperEVM Explorer", url: "https://hyperevmscan.io/" } },
81
43
  });
82
44
  // export const b4testnet = defineChain({
@@ -96,7 +58,7 @@ exports.EVM_MAINNET = {
96
58
  canDepositNative: true,
97
59
  defaultToken: (0, token_1.getEthToken)(chains_1.mainnet.id),
98
60
  nativeToken: (0, token_1.getEthToken)(chains_1.mainnet.id),
99
- viem: getCustomEvmChain(chains_1.mainnet, rpc_1.ETHEREUM_PUBLIC_RPC),
61
+ viem: getCustomEvmChain(chains_1.mainnet, "https://quick-chaotic-film.quiknode.pro/39a7aae6a7078f9f36c435e6f34c071c641cf863/"),
100
62
  pollingInterval: 4000, // 4 seconds for Ethereum mainnet
101
63
  zapperEnum: "ETHEREUM_MAINNET",
102
64
  coingeckoName: "eth",
@@ -111,7 +73,7 @@ exports.EVM_MAINNET = {
111
73
  canDepositNative: true,
112
74
  defaultToken: (0, token_1.getEthToken)(chains_1.arbitrum.id),
113
75
  nativeToken: (0, token_1.getEthToken)(chains_1.arbitrum.id),
114
- viem: getCustomEvmChain(chains_1.arbitrum, rpc_1.ARBITRUM_PUBLIC_RPC),
76
+ viem: getCustomEvmChain(chains_1.arbitrum, "https://proportionate-twilight-patina.arbitrum-mainnet.quiknode.pro/60e4825626515233a0f566f5915601af6043127b/"),
115
77
  pollingInterval: 500, // 500ms for Arbitrum's fast blocks
116
78
  zapperEnum: "ARBITRUM_MAINNET",
117
79
  coingeckoName: "arbitrum",
@@ -126,7 +88,7 @@ exports.EVM_MAINNET = {
126
88
  canDepositNative: true,
127
89
  defaultToken: (0, token_1.getEthToken)(chains_1.base.id),
128
90
  nativeToken: (0, token_1.getEthToken)(chains_1.base.id),
129
- viem: getCustomEvmChain(chains_1.base, rpc_1.BASE_PUBLIC_RPC),
91
+ viem: getCustomEvmChain(chains_1.base, "https://sly-indulgent-bird.base-mainnet.quiknode.pro/4e31fab6845eb29a2764723a43896999fe962e48/"),
130
92
  pollingInterval: 1000, // 1 second for Base
131
93
  zapperEnum: "BASE_MAINNET",
132
94
  coingeckoName: "base",
@@ -141,7 +103,7 @@ exports.EVM_MAINNET = {
141
103
  canDepositNative: true,
142
104
  defaultToken: (0, token_1.getEthToken)(chains_1.optimism.id),
143
105
  nativeToken: (0, token_1.getEthToken)(chains_1.optimism.id),
144
- viem: getCustomEvmChain(chains_1.optimism, rpc_1.OPTIMISM_PUBLIC_RPC),
106
+ viem: getCustomEvmChain(chains_1.optimism, "https://black-cosmopolitan-hexagon.optimism.quiknode.pro/18382925841f9d09f9e76eef954bf189aa234523/"),
145
107
  pollingInterval: 1000, // 1 second for Optimism
146
108
  zapperEnum: "OPTIMISM_MAINNET",
147
109
  coingeckoName: "optimism",
@@ -156,7 +118,7 @@ exports.EVM_MAINNET = {
156
118
  canDepositNative: true,
157
119
  defaultToken: (0, token_1.getPolToken)(),
158
120
  nativeToken: (0, token_1.getPolToken)(),
159
- viem: getCustomEvmChain(chains_1.polygon, rpc_1.POLYGON_PUBLIC_RPC),
121
+ viem: getCustomEvmChain(chains_1.polygon, "https://purple-young-field.matic.quiknode.pro/ca54f365c1a4c7f970223eb8087e0fc579feba12/"),
160
122
  pollingInterval: 1000, // 1 second for Polygon
161
123
  zapperEnum: "POLYGON_MAINNET",
162
124
  coingeckoName: "polygon_pos",
@@ -171,7 +133,7 @@ exports.EVM_MAINNET = {
171
133
  canDepositNative: true,
172
134
  defaultToken: (0, token_1.getAvaxToken)(),
173
135
  nativeToken: (0, token_1.getAvaxToken)(),
174
- viem: getCustomEvmChain(chains_1.avalanche, rpc_1.AVALANCHE_PUBLIC_RPC),
136
+ viem: getCustomEvmChain(chains_1.avalanche, "https://avalanche-c-chain-rpc.publicnode.com"),
175
137
  pollingInterval: 1000, // 1 second for Avalanche
176
138
  zapperEnum: "AVALANCHE_MAINNET",
177
139
  coingeckoName: "avax",
@@ -186,7 +148,7 @@ exports.EVM_MAINNET = {
186
148
  canDepositNative: true,
187
149
  defaultToken: (0, token_1.getBnbToken)(),
188
150
  nativeToken: (0, token_1.getBnbToken)(),
189
- viem: getCustomEvmChain(chains_1.bsc, rpc_1.BSC_PUBLIC_RPC),
151
+ viem: getCustomEvmChain(chains_1.bsc, "https://methodical-divine-flower.bsc.quiknode.pro/9fc7efd3c34cc016cceacc27ee95850629b7cd21/"),
190
152
  pollingInterval: 1000, // 1 second for BSC
191
153
  zapperEnum: "BSC_MAINNET",
192
154
  coingeckoName: "bsc",
@@ -201,7 +163,7 @@ exports.EVM_MAINNET = {
201
163
  canDepositNative: true,
202
164
  defaultToken: (0, token_1.getEthToken)(chains_1.b3.id),
203
165
  nativeToken: (0, token_1.getEthToken)(chains_1.b3.id),
204
- viem: getCustomEvmChain(chains_1.b3, rpc_1.B3_PUBLIC_RPC),
166
+ viem: getCustomEvmChain(chains_1.b3, "https://late-dimensional-yard.b3-mainnet.quiknode.pro/461dbdbd44158cd7a7a764a58ffb01a67eef77f2/"),
205
167
  pollingInterval: 1000, // 1 second for B3
206
168
  zapperEnum: "B3_MAINNET",
207
169
  coingeckoName: "b3",
@@ -216,7 +178,7 @@ exports.EVM_MAINNET = {
216
178
  canDepositNative: true,
217
179
  defaultToken: (0, token_1.getEthToken)(chains_1.abstract.id),
218
180
  nativeToken: (0, token_1.getEthToken)(chains_1.abstract.id),
219
- viem: getCustomEvmChain(chains_1.abstract, rpc_1.ABSTRACT_PUBLIC_RPC),
181
+ viem: getCustomEvmChain(chains_1.abstract, "https://cosmopolitan-nameless-mountain.abstract-mainnet.quiknode.pro/863853304b986b582bdacf625ce3350397c560f8/"),
220
182
  pollingInterval: 3000, // 3 seconds for Abstract
221
183
  zapperEnum: "ABSTRACT_MAINNET",
222
184
  coingeckoName: "abstract",
@@ -331,22 +293,16 @@ function getChainType(chainId) {
331
293
  }
332
294
  function chainIdToPublicClient(chainId) {
333
295
  (0, invariant_1.default)(exports.EVM_CHAINS[chainId], `Chain ${chainId} is not an EVM chain`);
334
- // Use override RPC if configured, otherwise use the default chain RPC
335
- const rpcOverride = chainRpcOverrides[chainId];
336
- const chain = rpcOverride ? getCustomEvmChain(exports.EVM_CHAINS[chainId].viem, rpcOverride) : exports.EVM_CHAINS[chainId].viem;
337
296
  return (0, viem_1.createPublicClient)({
338
- chain,
297
+ chain: exports.EVM_CHAINS[chainId].viem,
339
298
  transport: (0, viem_1.http)(),
340
299
  pollingInterval: exports.EVM_CHAINS[chainId].pollingInterval,
341
300
  });
342
301
  }
343
302
  function chainIdToWalletClient(chainId, account) {
344
303
  (0, invariant_1.default)(exports.EVM_CHAINS[chainId], `Chain ${chainId} is not an EVM chain`);
345
- // Use override RPC if configured, otherwise use the default chain RPC
346
- const rpcOverride = chainRpcOverrides[chainId];
347
- const chain = rpcOverride ? getCustomEvmChain(exports.EVM_CHAINS[chainId].viem, rpcOverride) : exports.EVM_CHAINS[chainId].viem;
348
304
  return (0, viem_1.createWalletClient)({
349
- chain,
305
+ chain: exports.EVM_CHAINS[chainId].viem,
350
306
  transport: (0, viem_1.http)(),
351
307
  account,
352
308
  pollingInterval: exports.EVM_CHAINS[chainId].pollingInterval,
@@ -7455,12 +7455,12 @@ export declare function useFirstEOA(chain?: {
7455
7455
  [x: `bytes6[${string}]`]: undefined;
7456
7456
  [x: `bytes9[${string}]`]: undefined;
7457
7457
  [x: `bytes8[${string}]`]: undefined;
7458
- [x: `bytes10[${string}]`]: undefined;
7459
7458
  [x: `bytes2[${string}]`]: undefined;
7460
7459
  [x: `bytes3[${string}]`]: undefined;
7461
7460
  [x: `bytes4[${string}]`]: undefined;
7462
7461
  [x: `bytes5[${string}]`]: undefined;
7463
7462
  [x: `bytes7[${string}]`]: undefined;
7463
+ [x: `bytes10[${string}]`]: undefined;
7464
7464
  [x: `bytes11[${string}]`]: undefined;
7465
7465
  [x: `bytes12[${string}]`]: undefined;
7466
7466
  [x: `bytes13[${string}]`]: undefined;
@@ -7557,12 +7557,12 @@ export declare function useFirstEOA(chain?: {
7557
7557
  bytes6?: undefined;
7558
7558
  bytes9?: undefined;
7559
7559
  bytes8?: undefined;
7560
- bytes10?: undefined;
7561
7560
  bytes2?: undefined;
7562
7561
  bytes3?: undefined;
7563
7562
  bytes4?: undefined;
7564
7563
  bytes5?: undefined;
7565
7564
  bytes7?: undefined;
7565
+ bytes10?: undefined;
7566
7566
  bytes11?: undefined;
7567
7567
  bytes12?: undefined;
7568
7568
  bytes13?: undefined;
@@ -100,10 +100,7 @@ function AnySpendInner({ sourceChainId, destinationTokenAddress, destinationToke
100
100
  defaultToken: defaultSrcToken,
101
101
  prefix: "from",
102
102
  });
103
- // When sourceChainId prop is explicitly provided and differs from URL token's chain,
104
- // use the default token for the new chain (handles chain selection in AnySpendDeposit)
105
- const effectiveSrcToken = sourceChainId && srcTokenFromUrl.chainId !== sourceChainId ? defaultSrcToken : srcTokenFromUrl;
106
- const [selectedSrcToken, setSelectedSrcToken] = useState(effectiveSrcToken);
103
+ const [selectedSrcToken, setSelectedSrcToken] = useState(srcTokenFromUrl);
107
104
  const { data: srcTokenMetadata } = useTokenData(selectedSrcToken?.chainId, selectedSrcToken?.address);
108
105
  const [srcAmount, setSrcAmount] = useState(searchParams.get("fromAmount") || "0");
109
106
  // State for onramp amount
@@ -112,7 +112,7 @@ function AnySpendCustomInner({ loadOrder, mode = "modal", activeTab: activeTabPr
112
112
  const searchParams = useSearchParamsSSR();
113
113
  const router = useRouter();
114
114
  const [activePanel, setActivePanel] = useState(loadOrder ? PanelView.ORDER_DETAILS : PanelView.CONFIRM_ORDER);
115
- const [activeTab, setActiveTab] = useState(forceFiatPayment ? "fiat" : activeTabProps);
115
+ const [activeTab, setActiveTab] = useState(activeTabProps);
116
116
  // Payment method state with dual-state system (auto + explicit user selection)
117
117
  // Note: AnySpendCustom doesn't use auto-selection, only explicit user selection
118
118
  const { setSelectedCryptoPaymentMethod, effectiveCryptoPaymentMethod, resetPaymentMethods } = useCryptoPaymentMethodState();
@@ -1,29 +1,6 @@
1
1
  import { components } from "../../anyspend/types/api";
2
2
  import { Account, Chain, PublicClient, Transport, WalletClient } from "viem";
3
3
  import { ChainType, IBaseChain, IEVMChain, IHyperliquidChain, ISolanaChain } from "../types/chain";
4
- /**
5
- * Set custom RPC URL overrides for specific chains.
6
- * These overrides are used by chainIdToPublicClient and chainIdToWalletClient.
7
- *
8
- * @param overrides - A record mapping chain IDs to custom RPC URLs
9
- *
10
- * @example
11
- * // Set once at app initialization using environment variables
12
- * setChainRpcOverrides({
13
- * 1: process.env.ETHEREUM_RPC_URL,
14
- * 8453: process.env.BASE_RPC_URL,
15
- * 42161: process.env.ARBITRUM_RPC_URL,
16
- * });
17
- */
18
- export declare function setChainRpcOverrides(overrides: Record<number, string>): void;
19
- /**
20
- * Get the current RPC URL overrides.
21
- */
22
- export declare function getChainRpcOverrides(): Record<number, string>;
23
- /**
24
- * Clear all RPC URL overrides.
25
- */
26
- export declare function clearChainRpcOverrides(): void;
27
4
  export declare const hyperEVM: {
28
5
  blockExplorers: {
29
6
  readonly default: {
@@ -1,5 +1,4 @@
1
1
  import { RELAY_SOLANA_MAINNET_CHAIN_ID } from "../../anyspend/constants/index.js";
2
- import { ABSTRACT_PUBLIC_RPC, ARBITRUM_PUBLIC_RPC, AVALANCHE_PUBLIC_RPC, B3_PUBLIC_RPC, BASE_PUBLIC_RPC, BSC_PUBLIC_RPC, ETHEREUM_PUBLIC_RPC, HYPEREVM_PUBLIC_RPC, OPTIMISM_PUBLIC_RPC, POLYGON_PUBLIC_RPC, } from "../../anyspend/constants/rpc.js";
3
2
  import invariant from "invariant";
4
3
  import { createPublicClient, createWalletClient, defineChain, http, parseEther, } from "viem";
5
4
  import { abstract, arbitrum, avalanche, b3, base, bsc, mainnet, optimism, polygon } from "viem/chains";
@@ -8,45 +7,11 @@ import { getAvaxToken, getBnbToken, getEthToken, getHyperEVMNativeToken, getHype
8
7
  function getCustomEvmChain(chain, rpcUrl) {
9
8
  return defineChain({ ...chain, rpcUrls: { default: { http: [rpcUrl] } } });
10
9
  }
11
- /**
12
- * Global RPC URL overrides for EVM chains.
13
- * Use setChainRpcOverrides() to configure custom RPC endpoints.
14
- */
15
- let chainRpcOverrides = {};
16
- /**
17
- * Set custom RPC URL overrides for specific chains.
18
- * These overrides are used by chainIdToPublicClient and chainIdToWalletClient.
19
- *
20
- * @param overrides - A record mapping chain IDs to custom RPC URLs
21
- *
22
- * @example
23
- * // Set once at app initialization using environment variables
24
- * setChainRpcOverrides({
25
- * 1: process.env.ETHEREUM_RPC_URL,
26
- * 8453: process.env.BASE_RPC_URL,
27
- * 42161: process.env.ARBITRUM_RPC_URL,
28
- * });
29
- */
30
- export function setChainRpcOverrides(overrides) {
31
- chainRpcOverrides = { ...overrides };
32
- }
33
- /**
34
- * Get the current RPC URL overrides.
35
- */
36
- export function getChainRpcOverrides() {
37
- return { ...chainRpcOverrides };
38
- }
39
- /**
40
- * Clear all RPC URL overrides.
41
- */
42
- export function clearChainRpcOverrides() {
43
- chainRpcOverrides = {};
44
- }
45
10
  export const hyperEVM = defineChain({
46
11
  id: HYPEREVM_CHAIN_ID,
47
12
  name: "HyperEVM",
48
13
  nativeCurrency: { name: "HyperEVM", symbol: "HYPE", decimals: 18 },
49
- rpcUrls: { default: { http: [HYPEREVM_PUBLIC_RPC] } },
14
+ rpcUrls: { default: { http: ["https://rpc.hyperliquid.xyz/evm"] } },
50
15
  blockExplorers: { default: { name: "HyperEVM Explorer", url: "https://hyperevmscan.io/" } },
51
16
  });
52
17
  // export const b4testnet = defineChain({
@@ -66,7 +31,7 @@ export const EVM_MAINNET = {
66
31
  canDepositNative: true,
67
32
  defaultToken: getEthToken(mainnet.id),
68
33
  nativeToken: getEthToken(mainnet.id),
69
- viem: getCustomEvmChain(mainnet, ETHEREUM_PUBLIC_RPC),
34
+ viem: getCustomEvmChain(mainnet, "https://quick-chaotic-film.quiknode.pro/39a7aae6a7078f9f36c435e6f34c071c641cf863/"),
70
35
  pollingInterval: 4000, // 4 seconds for Ethereum mainnet
71
36
  zapperEnum: "ETHEREUM_MAINNET",
72
37
  coingeckoName: "eth",
@@ -81,7 +46,7 @@ export const EVM_MAINNET = {
81
46
  canDepositNative: true,
82
47
  defaultToken: getEthToken(arbitrum.id),
83
48
  nativeToken: getEthToken(arbitrum.id),
84
- viem: getCustomEvmChain(arbitrum, ARBITRUM_PUBLIC_RPC),
49
+ viem: getCustomEvmChain(arbitrum, "https://proportionate-twilight-patina.arbitrum-mainnet.quiknode.pro/60e4825626515233a0f566f5915601af6043127b/"),
85
50
  pollingInterval: 500, // 500ms for Arbitrum's fast blocks
86
51
  zapperEnum: "ARBITRUM_MAINNET",
87
52
  coingeckoName: "arbitrum",
@@ -96,7 +61,7 @@ export const EVM_MAINNET = {
96
61
  canDepositNative: true,
97
62
  defaultToken: getEthToken(base.id),
98
63
  nativeToken: getEthToken(base.id),
99
- viem: getCustomEvmChain(base, BASE_PUBLIC_RPC),
64
+ viem: getCustomEvmChain(base, "https://sly-indulgent-bird.base-mainnet.quiknode.pro/4e31fab6845eb29a2764723a43896999fe962e48/"),
100
65
  pollingInterval: 1000, // 1 second for Base
101
66
  zapperEnum: "BASE_MAINNET",
102
67
  coingeckoName: "base",
@@ -111,7 +76,7 @@ export const EVM_MAINNET = {
111
76
  canDepositNative: true,
112
77
  defaultToken: getEthToken(optimism.id),
113
78
  nativeToken: getEthToken(optimism.id),
114
- viem: getCustomEvmChain(optimism, OPTIMISM_PUBLIC_RPC),
79
+ viem: getCustomEvmChain(optimism, "https://black-cosmopolitan-hexagon.optimism.quiknode.pro/18382925841f9d09f9e76eef954bf189aa234523/"),
115
80
  pollingInterval: 1000, // 1 second for Optimism
116
81
  zapperEnum: "OPTIMISM_MAINNET",
117
82
  coingeckoName: "optimism",
@@ -126,7 +91,7 @@ export const EVM_MAINNET = {
126
91
  canDepositNative: true,
127
92
  defaultToken: getPolToken(),
128
93
  nativeToken: getPolToken(),
129
- viem: getCustomEvmChain(polygon, POLYGON_PUBLIC_RPC),
94
+ viem: getCustomEvmChain(polygon, "https://purple-young-field.matic.quiknode.pro/ca54f365c1a4c7f970223eb8087e0fc579feba12/"),
130
95
  pollingInterval: 1000, // 1 second for Polygon
131
96
  zapperEnum: "POLYGON_MAINNET",
132
97
  coingeckoName: "polygon_pos",
@@ -141,7 +106,7 @@ export const EVM_MAINNET = {
141
106
  canDepositNative: true,
142
107
  defaultToken: getAvaxToken(),
143
108
  nativeToken: getAvaxToken(),
144
- viem: getCustomEvmChain(avalanche, AVALANCHE_PUBLIC_RPC),
109
+ viem: getCustomEvmChain(avalanche, "https://avalanche-c-chain-rpc.publicnode.com"),
145
110
  pollingInterval: 1000, // 1 second for Avalanche
146
111
  zapperEnum: "AVALANCHE_MAINNET",
147
112
  coingeckoName: "avax",
@@ -156,7 +121,7 @@ export const EVM_MAINNET = {
156
121
  canDepositNative: true,
157
122
  defaultToken: getBnbToken(),
158
123
  nativeToken: getBnbToken(),
159
- viem: getCustomEvmChain(bsc, BSC_PUBLIC_RPC),
124
+ viem: getCustomEvmChain(bsc, "https://methodical-divine-flower.bsc.quiknode.pro/9fc7efd3c34cc016cceacc27ee95850629b7cd21/"),
160
125
  pollingInterval: 1000, // 1 second for BSC
161
126
  zapperEnum: "BSC_MAINNET",
162
127
  coingeckoName: "bsc",
@@ -171,7 +136,7 @@ export const EVM_MAINNET = {
171
136
  canDepositNative: true,
172
137
  defaultToken: getEthToken(b3.id),
173
138
  nativeToken: getEthToken(b3.id),
174
- viem: getCustomEvmChain(b3, B3_PUBLIC_RPC),
139
+ viem: getCustomEvmChain(b3, "https://late-dimensional-yard.b3-mainnet.quiknode.pro/461dbdbd44158cd7a7a764a58ffb01a67eef77f2/"),
175
140
  pollingInterval: 1000, // 1 second for B3
176
141
  zapperEnum: "B3_MAINNET",
177
142
  coingeckoName: "b3",
@@ -186,7 +151,7 @@ export const EVM_MAINNET = {
186
151
  canDepositNative: true,
187
152
  defaultToken: getEthToken(abstract.id),
188
153
  nativeToken: getEthToken(abstract.id),
189
- viem: getCustomEvmChain(abstract, ABSTRACT_PUBLIC_RPC),
154
+ viem: getCustomEvmChain(abstract, "https://cosmopolitan-nameless-mountain.abstract-mainnet.quiknode.pro/863853304b986b582bdacf625ce3350397c560f8/"),
190
155
  pollingInterval: 3000, // 3 seconds for Abstract
191
156
  zapperEnum: "ABSTRACT_MAINNET",
192
157
  coingeckoName: "abstract",
@@ -301,22 +266,16 @@ export function getChainType(chainId) {
301
266
  }
302
267
  export function chainIdToPublicClient(chainId) {
303
268
  invariant(EVM_CHAINS[chainId], `Chain ${chainId} is not an EVM chain`);
304
- // Use override RPC if configured, otherwise use the default chain RPC
305
- const rpcOverride = chainRpcOverrides[chainId];
306
- const chain = rpcOverride ? getCustomEvmChain(EVM_CHAINS[chainId].viem, rpcOverride) : EVM_CHAINS[chainId].viem;
307
269
  return createPublicClient({
308
- chain,
270
+ chain: EVM_CHAINS[chainId].viem,
309
271
  transport: http(),
310
272
  pollingInterval: EVM_CHAINS[chainId].pollingInterval,
311
273
  });
312
274
  }
313
275
  export function chainIdToWalletClient(chainId, account) {
314
276
  invariant(EVM_CHAINS[chainId], `Chain ${chainId} is not an EVM chain`);
315
- // Use override RPC if configured, otherwise use the default chain RPC
316
- const rpcOverride = chainRpcOverrides[chainId];
317
- const chain = rpcOverride ? getCustomEvmChain(EVM_CHAINS[chainId].viem, rpcOverride) : EVM_CHAINS[chainId].viem;
318
277
  return createWalletClient({
319
- chain,
278
+ chain: EVM_CHAINS[chainId].viem,
320
279
  transport: http(),
321
280
  account,
322
281
  pollingInterval: EVM_CHAINS[chainId].pollingInterval,
@@ -7455,12 +7455,12 @@ export declare function useFirstEOA(chain?: {
7455
7455
  [x: `bytes6[${string}]`]: undefined;
7456
7456
  [x: `bytes9[${string}]`]: undefined;
7457
7457
  [x: `bytes8[${string}]`]: undefined;
7458
- [x: `bytes10[${string}]`]: undefined;
7459
7458
  [x: `bytes2[${string}]`]: undefined;
7460
7459
  [x: `bytes3[${string}]`]: undefined;
7461
7460
  [x: `bytes4[${string}]`]: undefined;
7462
7461
  [x: `bytes5[${string}]`]: undefined;
7463
7462
  [x: `bytes7[${string}]`]: undefined;
7463
+ [x: `bytes10[${string}]`]: undefined;
7464
7464
  [x: `bytes11[${string}]`]: undefined;
7465
7465
  [x: `bytes12[${string}]`]: undefined;
7466
7466
  [x: `bytes13[${string}]`]: undefined;
@@ -7557,12 +7557,12 @@ export declare function useFirstEOA(chain?: {
7557
7557
  bytes6?: undefined;
7558
7558
  bytes9?: undefined;
7559
7559
  bytes8?: undefined;
7560
- bytes10?: undefined;
7561
7560
  bytes2?: undefined;
7562
7561
  bytes3?: undefined;
7563
7562
  bytes4?: undefined;
7564
7563
  bytes5?: undefined;
7565
7564
  bytes7?: undefined;
7565
+ bytes10?: undefined;
7566
7566
  bytes11?: undefined;
7567
7567
  bytes12?: undefined;
7568
7568
  bytes13?: undefined;
@@ -1,29 +1,6 @@
1
1
  import { components } from "@b3dotfun/sdk/anyspend/types/api";
2
2
  import { Account, Chain, PublicClient, Transport, WalletClient } from "viem";
3
3
  import { ChainType, IBaseChain, IEVMChain, IHyperliquidChain, ISolanaChain } from "../types/chain";
4
- /**
5
- * Set custom RPC URL overrides for specific chains.
6
- * These overrides are used by chainIdToPublicClient and chainIdToWalletClient.
7
- *
8
- * @param overrides - A record mapping chain IDs to custom RPC URLs
9
- *
10
- * @example
11
- * // Set once at app initialization using environment variables
12
- * setChainRpcOverrides({
13
- * 1: process.env.ETHEREUM_RPC_URL,
14
- * 8453: process.env.BASE_RPC_URL,
15
- * 42161: process.env.ARBITRUM_RPC_URL,
16
- * });
17
- */
18
- export declare function setChainRpcOverrides(overrides: Record<number, string>): void;
19
- /**
20
- * Get the current RPC URL overrides.
21
- */
22
- export declare function getChainRpcOverrides(): Record<number, string>;
23
- /**
24
- * Clear all RPC URL overrides.
25
- */
26
- export declare function clearChainRpcOverrides(): void;
27
4
  export declare const hyperEVM: {
28
5
  blockExplorers: {
29
6
  readonly default: {
@@ -7455,12 +7455,12 @@ export declare function useFirstEOA(chain?: {
7455
7455
  [x: `bytes6[${string}]`]: undefined;
7456
7456
  [x: `bytes9[${string}]`]: undefined;
7457
7457
  [x: `bytes8[${string}]`]: undefined;
7458
- [x: `bytes10[${string}]`]: undefined;
7459
7458
  [x: `bytes2[${string}]`]: undefined;
7460
7459
  [x: `bytes3[${string}]`]: undefined;
7461
7460
  [x: `bytes4[${string}]`]: undefined;
7462
7461
  [x: `bytes5[${string}]`]: undefined;
7463
7462
  [x: `bytes7[${string}]`]: undefined;
7463
+ [x: `bytes10[${string}]`]: undefined;
7464
7464
  [x: `bytes11[${string}]`]: undefined;
7465
7465
  [x: `bytes12[${string}]`]: undefined;
7466
7466
  [x: `bytes13[${string}]`]: undefined;
@@ -7557,12 +7557,12 @@ export declare function useFirstEOA(chain?: {
7557
7557
  bytes6?: undefined;
7558
7558
  bytes9?: undefined;
7559
7559
  bytes8?: undefined;
7560
- bytes10?: undefined;
7561
7560
  bytes2?: undefined;
7562
7561
  bytes3?: undefined;
7563
7562
  bytes4?: undefined;
7564
7563
  bytes5?: undefined;
7565
7564
  bytes7?: undefined;
7565
+ bytes10?: undefined;
7566
7566
  bytes11?: undefined;
7567
7567
  bytes12?: undefined;
7568
7568
  bytes13?: undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@b3dotfun/sdk",
3
- "version": "0.0.89-alpha.3",
3
+ "version": "0.0.89",
4
4
  "source": "src/index.ts",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "react-native": "./dist/cjs/index.native.js",
@@ -249,11 +249,7 @@ function AnySpendInner({
249
249
  defaultToken: defaultSrcToken,
250
250
  prefix: "from",
251
251
  });
252
- // When sourceChainId prop is explicitly provided and differs from URL token's chain,
253
- // use the default token for the new chain (handles chain selection in AnySpendDeposit)
254
- const effectiveSrcToken =
255
- sourceChainId && srcTokenFromUrl.chainId !== sourceChainId ? defaultSrcToken : srcTokenFromUrl;
256
- const [selectedSrcToken, setSelectedSrcToken] = useState<components["schemas"]["Token"]>(effectiveSrcToken);
252
+ const [selectedSrcToken, setSelectedSrcToken] = useState<components["schemas"]["Token"]>(srcTokenFromUrl);
257
253
  const { data: srcTokenMetadata } = useTokenData(selectedSrcToken?.chainId, selectedSrcToken?.address);
258
254
  const [srcAmount, setSrcAmount] = useState<string>(searchParams.get("fromAmount") || "0");
259
255
 
@@ -253,7 +253,7 @@ function AnySpendCustomInner({
253
253
  const [activePanel, setActivePanel] = useState<PanelView>(
254
254
  loadOrder ? PanelView.ORDER_DETAILS : PanelView.CONFIRM_ORDER,
255
255
  );
256
- const [activeTab, setActiveTab] = useState<"crypto" | "fiat">(forceFiatPayment ? "fiat" : activeTabProps);
256
+ const [activeTab, setActiveTab] = useState<"crypto" | "fiat">(activeTabProps);
257
257
 
258
258
  // Payment method state with dual-state system (auto + explicit user selection)
259
259
  // Note: AnySpendCustom doesn't use auto-selection, only explicit user selection
@@ -1,16 +1,4 @@
1
1
  import { RELAY_SOLANA_MAINNET_CHAIN_ID } from "@b3dotfun/sdk/anyspend/constants";
2
- import {
3
- ABSTRACT_PUBLIC_RPC,
4
- ARBITRUM_PUBLIC_RPC,
5
- AVALANCHE_PUBLIC_RPC,
6
- B3_PUBLIC_RPC,
7
- BASE_PUBLIC_RPC,
8
- BSC_PUBLIC_RPC,
9
- ETHEREUM_PUBLIC_RPC,
10
- HYPEREVM_PUBLIC_RPC,
11
- OPTIMISM_PUBLIC_RPC,
12
- POLYGON_PUBLIC_RPC,
13
- } from "@b3dotfun/sdk/anyspend/constants/rpc";
14
2
  import { components } from "@b3dotfun/sdk/anyspend/types/api";
15
3
  import invariant from "invariant";
16
4
  import {
@@ -43,49 +31,11 @@ function getCustomEvmChain(chain: Chain, rpcUrl: string): Chain {
43
31
  return defineChain({ ...chain, rpcUrls: { default: { http: [rpcUrl] } } });
44
32
  }
45
33
 
46
- /**
47
- * Global RPC URL overrides for EVM chains.
48
- * Use setChainRpcOverrides() to configure custom RPC endpoints.
49
- */
50
- let chainRpcOverrides: Record<number, string> = {};
51
-
52
- /**
53
- * Set custom RPC URL overrides for specific chains.
54
- * These overrides are used by chainIdToPublicClient and chainIdToWalletClient.
55
- *
56
- * @param overrides - A record mapping chain IDs to custom RPC URLs
57
- *
58
- * @example
59
- * // Set once at app initialization using environment variables
60
- * setChainRpcOverrides({
61
- * 1: process.env.ETHEREUM_RPC_URL,
62
- * 8453: process.env.BASE_RPC_URL,
63
- * 42161: process.env.ARBITRUM_RPC_URL,
64
- * });
65
- */
66
- export function setChainRpcOverrides(overrides: Record<number, string>): void {
67
- chainRpcOverrides = { ...overrides };
68
- }
69
-
70
- /**
71
- * Get the current RPC URL overrides.
72
- */
73
- export function getChainRpcOverrides(): Record<number, string> {
74
- return { ...chainRpcOverrides };
75
- }
76
-
77
- /**
78
- * Clear all RPC URL overrides.
79
- */
80
- export function clearChainRpcOverrides(): void {
81
- chainRpcOverrides = {};
82
- }
83
-
84
34
  export const hyperEVM = defineChain({
85
35
  id: HYPEREVM_CHAIN_ID,
86
36
  name: "HyperEVM",
87
37
  nativeCurrency: { name: "HyperEVM", symbol: "HYPE", decimals: 18 },
88
- rpcUrls: { default: { http: [HYPEREVM_PUBLIC_RPC] } },
38
+ rpcUrls: { default: { http: ["https://rpc.hyperliquid.xyz/evm"] } },
89
39
  blockExplorers: { default: { name: "HyperEVM Explorer", url: "https://hyperevmscan.io/" } },
90
40
  });
91
41
 
@@ -107,7 +57,10 @@ export const EVM_MAINNET: Record<number, IEVMChain> = {
107
57
  canDepositNative: true,
108
58
  defaultToken: getEthToken(mainnet.id),
109
59
  nativeToken: getEthToken(mainnet.id),
110
- viem: getCustomEvmChain(mainnet, ETHEREUM_PUBLIC_RPC),
60
+ viem: getCustomEvmChain(
61
+ mainnet,
62
+ "https://quick-chaotic-film.quiknode.pro/39a7aae6a7078f9f36c435e6f34c071c641cf863/",
63
+ ),
111
64
  pollingInterval: 4000, // 4 seconds for Ethereum mainnet
112
65
  zapperEnum: "ETHEREUM_MAINNET",
113
66
  coingeckoName: "eth",
@@ -122,7 +75,10 @@ export const EVM_MAINNET: Record<number, IEVMChain> = {
122
75
  canDepositNative: true,
123
76
  defaultToken: getEthToken(arbitrum.id),
124
77
  nativeToken: getEthToken(arbitrum.id),
125
- viem: getCustomEvmChain(arbitrum, ARBITRUM_PUBLIC_RPC),
78
+ viem: getCustomEvmChain(
79
+ arbitrum,
80
+ "https://proportionate-twilight-patina.arbitrum-mainnet.quiknode.pro/60e4825626515233a0f566f5915601af6043127b/",
81
+ ),
126
82
  pollingInterval: 500, // 500ms for Arbitrum's fast blocks
127
83
  zapperEnum: "ARBITRUM_MAINNET",
128
84
  coingeckoName: "arbitrum",
@@ -137,7 +93,10 @@ export const EVM_MAINNET: Record<number, IEVMChain> = {
137
93
  canDepositNative: true,
138
94
  defaultToken: getEthToken(base.id),
139
95
  nativeToken: getEthToken(base.id),
140
- viem: getCustomEvmChain(base, BASE_PUBLIC_RPC),
96
+ viem: getCustomEvmChain(
97
+ base,
98
+ "https://sly-indulgent-bird.base-mainnet.quiknode.pro/4e31fab6845eb29a2764723a43896999fe962e48/",
99
+ ),
141
100
  pollingInterval: 1000, // 1 second for Base
142
101
  zapperEnum: "BASE_MAINNET",
143
102
  coingeckoName: "base",
@@ -152,7 +111,10 @@ export const EVM_MAINNET: Record<number, IEVMChain> = {
152
111
  canDepositNative: true,
153
112
  defaultToken: getEthToken(optimism.id),
154
113
  nativeToken: getEthToken(optimism.id),
155
- viem: getCustomEvmChain(optimism, OPTIMISM_PUBLIC_RPC),
114
+ viem: getCustomEvmChain(
115
+ optimism,
116
+ "https://black-cosmopolitan-hexagon.optimism.quiknode.pro/18382925841f9d09f9e76eef954bf189aa234523/",
117
+ ),
156
118
  pollingInterval: 1000, // 1 second for Optimism
157
119
  zapperEnum: "OPTIMISM_MAINNET",
158
120
  coingeckoName: "optimism",
@@ -167,7 +129,10 @@ export const EVM_MAINNET: Record<number, IEVMChain> = {
167
129
  canDepositNative: true,
168
130
  defaultToken: getPolToken(),
169
131
  nativeToken: getPolToken(),
170
- viem: getCustomEvmChain(polygon, POLYGON_PUBLIC_RPC),
132
+ viem: getCustomEvmChain(
133
+ polygon,
134
+ "https://purple-young-field.matic.quiknode.pro/ca54f365c1a4c7f970223eb8087e0fc579feba12/",
135
+ ),
171
136
  pollingInterval: 1000, // 1 second for Polygon
172
137
  zapperEnum: "POLYGON_MAINNET",
173
138
  coingeckoName: "polygon_pos",
@@ -182,7 +147,7 @@ export const EVM_MAINNET: Record<number, IEVMChain> = {
182
147
  canDepositNative: true,
183
148
  defaultToken: getAvaxToken(),
184
149
  nativeToken: getAvaxToken(),
185
- viem: getCustomEvmChain(avalanche, AVALANCHE_PUBLIC_RPC),
150
+ viem: getCustomEvmChain(avalanche, "https://avalanche-c-chain-rpc.publicnode.com"),
186
151
  pollingInterval: 1000, // 1 second for Avalanche
187
152
  zapperEnum: "AVALANCHE_MAINNET",
188
153
  coingeckoName: "avax",
@@ -197,7 +162,10 @@ export const EVM_MAINNET: Record<number, IEVMChain> = {
197
162
  canDepositNative: true,
198
163
  defaultToken: getBnbToken(),
199
164
  nativeToken: getBnbToken(),
200
- viem: getCustomEvmChain(bsc, BSC_PUBLIC_RPC),
165
+ viem: getCustomEvmChain(
166
+ bsc,
167
+ "https://methodical-divine-flower.bsc.quiknode.pro/9fc7efd3c34cc016cceacc27ee95850629b7cd21/",
168
+ ),
201
169
  pollingInterval: 1000, // 1 second for BSC
202
170
  zapperEnum: "BSC_MAINNET",
203
171
  coingeckoName: "bsc",
@@ -212,7 +180,10 @@ export const EVM_MAINNET: Record<number, IEVMChain> = {
212
180
  canDepositNative: true,
213
181
  defaultToken: getEthToken(b3.id),
214
182
  nativeToken: getEthToken(b3.id),
215
- viem: getCustomEvmChain(b3, B3_PUBLIC_RPC),
183
+ viem: getCustomEvmChain(
184
+ b3,
185
+ "https://late-dimensional-yard.b3-mainnet.quiknode.pro/461dbdbd44158cd7a7a764a58ffb01a67eef77f2/",
186
+ ),
216
187
  pollingInterval: 1000, // 1 second for B3
217
188
  zapperEnum: "B3_MAINNET",
218
189
  coingeckoName: "b3",
@@ -227,7 +198,10 @@ export const EVM_MAINNET: Record<number, IEVMChain> = {
227
198
  canDepositNative: true,
228
199
  defaultToken: getEthToken(abstract.id),
229
200
  nativeToken: getEthToken(abstract.id),
230
- viem: getCustomEvmChain(abstract, ABSTRACT_PUBLIC_RPC),
201
+ viem: getCustomEvmChain(
202
+ abstract,
203
+ "https://cosmopolitan-nameless-mountain.abstract-mainnet.quiknode.pro/863853304b986b582bdacf625ce3350397c560f8/",
204
+ ),
231
205
  pollingInterval: 3000, // 3 seconds for Abstract
232
206
  zapperEnum: "ABSTRACT_MAINNET",
233
207
  coingeckoName: "abstract",
@@ -354,12 +328,8 @@ export function getChainType(chainId: number): ChainType {
354
328
  export function chainIdToPublicClient(chainId: number): PublicClient {
355
329
  invariant(EVM_CHAINS[chainId], `Chain ${chainId} is not an EVM chain`);
356
330
 
357
- // Use override RPC if configured, otherwise use the default chain RPC
358
- const rpcOverride = chainRpcOverrides[chainId];
359
- const chain = rpcOverride ? getCustomEvmChain(EVM_CHAINS[chainId].viem, rpcOverride) : EVM_CHAINS[chainId].viem;
360
-
361
331
  return createPublicClient({
362
- chain,
332
+ chain: EVM_CHAINS[chainId].viem,
363
333
  transport: http(),
364
334
  pollingInterval: EVM_CHAINS[chainId].pollingInterval,
365
335
  });
@@ -368,12 +338,8 @@ export function chainIdToPublicClient(chainId: number): PublicClient {
368
338
  export function chainIdToWalletClient(chainId: number, account?: Account): WalletClient<Transport, Chain> {
369
339
  invariant(EVM_CHAINS[chainId], `Chain ${chainId} is not an EVM chain`);
370
340
 
371
- // Use override RPC if configured, otherwise use the default chain RPC
372
- const rpcOverride = chainRpcOverrides[chainId];
373
- const chain = rpcOverride ? getCustomEvmChain(EVM_CHAINS[chainId].viem, rpcOverride) : EVM_CHAINS[chainId].viem;
374
-
375
341
  return createWalletClient({
376
- chain,
342
+ chain: EVM_CHAINS[chainId].viem,
377
343
  transport: http(),
378
344
  account,
379
345
  pollingInterval: EVM_CHAINS[chainId].pollingInterval,
@@ -1,22 +0,0 @@
1
- /**
2
- * Public RPC endpoints for EVM chains.
3
- * These are free, public endpoints that can be used without API keys.
4
- *
5
- * Sources:
6
- * - https://publicnode.com
7
- * - https://chainlist.org
8
- */
9
- export declare const ETHEREUM_PUBLIC_RPC = "https://ethereum-rpc.publicnode.com";
10
- export declare const ARBITRUM_PUBLIC_RPC = "https://arbitrum-one-rpc.publicnode.com";
11
- export declare const BASE_PUBLIC_RPC = "https://base-rpc.publicnode.com";
12
- export declare const OPTIMISM_PUBLIC_RPC = "https://optimism-rpc.publicnode.com";
13
- export declare const POLYGON_PUBLIC_RPC = "https://polygon-bor-rpc.publicnode.com";
14
- export declare const AVALANCHE_PUBLIC_RPC = "https://avalanche-c-chain-rpc.publicnode.com";
15
- export declare const BSC_PUBLIC_RPC = "https://bsc-rpc.publicnode.com";
16
- export declare const B3_PUBLIC_RPC = "https://mainnet-rpc.b3.fun/http";
17
- export declare const ABSTRACT_PUBLIC_RPC = "https://api.mainnet.abs.xyz";
18
- export declare const HYPEREVM_PUBLIC_RPC = "https://rpc.hyperliquid.xyz/evm";
19
- /**
20
- * Map of chain IDs to their default public RPC URLs.
21
- */
22
- export declare const PUBLIC_RPC_URLS: Record<number, string>;
@@ -1,38 +0,0 @@
1
- "use strict";
2
- /**
3
- * Public RPC endpoints for EVM chains.
4
- * These are free, public endpoints that can be used without API keys.
5
- *
6
- * Sources:
7
- * - https://publicnode.com
8
- * - https://chainlist.org
9
- */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.PUBLIC_RPC_URLS = exports.HYPEREVM_PUBLIC_RPC = exports.ABSTRACT_PUBLIC_RPC = exports.B3_PUBLIC_RPC = exports.BSC_PUBLIC_RPC = exports.AVALANCHE_PUBLIC_RPC = exports.POLYGON_PUBLIC_RPC = exports.OPTIMISM_PUBLIC_RPC = exports.BASE_PUBLIC_RPC = exports.ARBITRUM_PUBLIC_RPC = exports.ETHEREUM_PUBLIC_RPC = void 0;
12
- // PublicNode endpoints
13
- exports.ETHEREUM_PUBLIC_RPC = "https://ethereum-rpc.publicnode.com";
14
- exports.ARBITRUM_PUBLIC_RPC = "https://arbitrum-one-rpc.publicnode.com";
15
- exports.BASE_PUBLIC_RPC = "https://base-rpc.publicnode.com";
16
- exports.OPTIMISM_PUBLIC_RPC = "https://optimism-rpc.publicnode.com";
17
- exports.POLYGON_PUBLIC_RPC = "https://polygon-bor-rpc.publicnode.com";
18
- exports.AVALANCHE_PUBLIC_RPC = "https://avalanche-c-chain-rpc.publicnode.com";
19
- exports.BSC_PUBLIC_RPC = "https://bsc-rpc.publicnode.com";
20
- // Chain-specific public endpoints
21
- exports.B3_PUBLIC_RPC = "https://mainnet-rpc.b3.fun/http";
22
- exports.ABSTRACT_PUBLIC_RPC = "https://api.mainnet.abs.xyz";
23
- exports.HYPEREVM_PUBLIC_RPC = "https://rpc.hyperliquid.xyz/evm";
24
- /**
25
- * Map of chain IDs to their default public RPC URLs.
26
- */
27
- exports.PUBLIC_RPC_URLS = {
28
- 1: exports.ETHEREUM_PUBLIC_RPC, // Ethereum Mainnet
29
- 42161: exports.ARBITRUM_PUBLIC_RPC, // Arbitrum One
30
- 8453: exports.BASE_PUBLIC_RPC, // Base
31
- 10: exports.OPTIMISM_PUBLIC_RPC, // Optimism
32
- 137: exports.POLYGON_PUBLIC_RPC, // Polygon
33
- 43114: exports.AVALANCHE_PUBLIC_RPC, // Avalanche C-Chain
34
- 56: exports.BSC_PUBLIC_RPC, // BNB Smart Chain
35
- 8333: exports.B3_PUBLIC_RPC, // B3
36
- 2741: exports.ABSTRACT_PUBLIC_RPC, // Abstract
37
- 999: exports.HYPEREVM_PUBLIC_RPC, // HyperEVM
38
- };
@@ -1,22 +0,0 @@
1
- /**
2
- * Public RPC endpoints for EVM chains.
3
- * These are free, public endpoints that can be used without API keys.
4
- *
5
- * Sources:
6
- * - https://publicnode.com
7
- * - https://chainlist.org
8
- */
9
- export declare const ETHEREUM_PUBLIC_RPC = "https://ethereum-rpc.publicnode.com";
10
- export declare const ARBITRUM_PUBLIC_RPC = "https://arbitrum-one-rpc.publicnode.com";
11
- export declare const BASE_PUBLIC_RPC = "https://base-rpc.publicnode.com";
12
- export declare const OPTIMISM_PUBLIC_RPC = "https://optimism-rpc.publicnode.com";
13
- export declare const POLYGON_PUBLIC_RPC = "https://polygon-bor-rpc.publicnode.com";
14
- export declare const AVALANCHE_PUBLIC_RPC = "https://avalanche-c-chain-rpc.publicnode.com";
15
- export declare const BSC_PUBLIC_RPC = "https://bsc-rpc.publicnode.com";
16
- export declare const B3_PUBLIC_RPC = "https://mainnet-rpc.b3.fun/http";
17
- export declare const ABSTRACT_PUBLIC_RPC = "https://api.mainnet.abs.xyz";
18
- export declare const HYPEREVM_PUBLIC_RPC = "https://rpc.hyperliquid.xyz/evm";
19
- /**
20
- * Map of chain IDs to their default public RPC URLs.
21
- */
22
- export declare const PUBLIC_RPC_URLS: Record<number, string>;
@@ -1,35 +0,0 @@
1
- /**
2
- * Public RPC endpoints for EVM chains.
3
- * These are free, public endpoints that can be used without API keys.
4
- *
5
- * Sources:
6
- * - https://publicnode.com
7
- * - https://chainlist.org
8
- */
9
- // PublicNode endpoints
10
- export const ETHEREUM_PUBLIC_RPC = "https://ethereum-rpc.publicnode.com";
11
- export const ARBITRUM_PUBLIC_RPC = "https://arbitrum-one-rpc.publicnode.com";
12
- export const BASE_PUBLIC_RPC = "https://base-rpc.publicnode.com";
13
- export const OPTIMISM_PUBLIC_RPC = "https://optimism-rpc.publicnode.com";
14
- export const POLYGON_PUBLIC_RPC = "https://polygon-bor-rpc.publicnode.com";
15
- export const AVALANCHE_PUBLIC_RPC = "https://avalanche-c-chain-rpc.publicnode.com";
16
- export const BSC_PUBLIC_RPC = "https://bsc-rpc.publicnode.com";
17
- // Chain-specific public endpoints
18
- export const B3_PUBLIC_RPC = "https://mainnet-rpc.b3.fun/http";
19
- export const ABSTRACT_PUBLIC_RPC = "https://api.mainnet.abs.xyz";
20
- export const HYPEREVM_PUBLIC_RPC = "https://rpc.hyperliquid.xyz/evm";
21
- /**
22
- * Map of chain IDs to their default public RPC URLs.
23
- */
24
- export const PUBLIC_RPC_URLS = {
25
- 1: ETHEREUM_PUBLIC_RPC, // Ethereum Mainnet
26
- 42161: ARBITRUM_PUBLIC_RPC, // Arbitrum One
27
- 8453: BASE_PUBLIC_RPC, // Base
28
- 10: OPTIMISM_PUBLIC_RPC, // Optimism
29
- 137: POLYGON_PUBLIC_RPC, // Polygon
30
- 43114: AVALANCHE_PUBLIC_RPC, // Avalanche C-Chain
31
- 56: BSC_PUBLIC_RPC, // BNB Smart Chain
32
- 8333: B3_PUBLIC_RPC, // B3
33
- 2741: ABSTRACT_PUBLIC_RPC, // Abstract
34
- 999: HYPEREVM_PUBLIC_RPC, // HyperEVM
35
- };
@@ -1,22 +0,0 @@
1
- /**
2
- * Public RPC endpoints for EVM chains.
3
- * These are free, public endpoints that can be used without API keys.
4
- *
5
- * Sources:
6
- * - https://publicnode.com
7
- * - https://chainlist.org
8
- */
9
- export declare const ETHEREUM_PUBLIC_RPC = "https://ethereum-rpc.publicnode.com";
10
- export declare const ARBITRUM_PUBLIC_RPC = "https://arbitrum-one-rpc.publicnode.com";
11
- export declare const BASE_PUBLIC_RPC = "https://base-rpc.publicnode.com";
12
- export declare const OPTIMISM_PUBLIC_RPC = "https://optimism-rpc.publicnode.com";
13
- export declare const POLYGON_PUBLIC_RPC = "https://polygon-bor-rpc.publicnode.com";
14
- export declare const AVALANCHE_PUBLIC_RPC = "https://avalanche-c-chain-rpc.publicnode.com";
15
- export declare const BSC_PUBLIC_RPC = "https://bsc-rpc.publicnode.com";
16
- export declare const B3_PUBLIC_RPC = "https://mainnet-rpc.b3.fun/http";
17
- export declare const ABSTRACT_PUBLIC_RPC = "https://api.mainnet.abs.xyz";
18
- export declare const HYPEREVM_PUBLIC_RPC = "https://rpc.hyperliquid.xyz/evm";
19
- /**
20
- * Map of chain IDs to their default public RPC URLs.
21
- */
22
- export declare const PUBLIC_RPC_URLS: Record<number, string>;
@@ -1,38 +0,0 @@
1
- /**
2
- * Public RPC endpoints for EVM chains.
3
- * These are free, public endpoints that can be used without API keys.
4
- *
5
- * Sources:
6
- * - https://publicnode.com
7
- * - https://chainlist.org
8
- */
9
-
10
- // PublicNode endpoints
11
- export const ETHEREUM_PUBLIC_RPC = "https://ethereum-rpc.publicnode.com";
12
- export const ARBITRUM_PUBLIC_RPC = "https://arbitrum-one-rpc.publicnode.com";
13
- export const BASE_PUBLIC_RPC = "https://base-rpc.publicnode.com";
14
- export const OPTIMISM_PUBLIC_RPC = "https://optimism-rpc.publicnode.com";
15
- export const POLYGON_PUBLIC_RPC = "https://polygon-bor-rpc.publicnode.com";
16
- export const AVALANCHE_PUBLIC_RPC = "https://avalanche-c-chain-rpc.publicnode.com";
17
- export const BSC_PUBLIC_RPC = "https://bsc-rpc.publicnode.com";
18
-
19
- // Chain-specific public endpoints
20
- export const B3_PUBLIC_RPC = "https://mainnet-rpc.b3.fun/http";
21
- export const ABSTRACT_PUBLIC_RPC = "https://api.mainnet.abs.xyz";
22
- export const HYPEREVM_PUBLIC_RPC = "https://rpc.hyperliquid.xyz/evm";
23
-
24
- /**
25
- * Map of chain IDs to their default public RPC URLs.
26
- */
27
- export const PUBLIC_RPC_URLS: Record<number, string> = {
28
- 1: ETHEREUM_PUBLIC_RPC, // Ethereum Mainnet
29
- 42161: ARBITRUM_PUBLIC_RPC, // Arbitrum One
30
- 8453: BASE_PUBLIC_RPC, // Base
31
- 10: OPTIMISM_PUBLIC_RPC, // Optimism
32
- 137: POLYGON_PUBLIC_RPC, // Polygon
33
- 43114: AVALANCHE_PUBLIC_RPC, // Avalanche C-Chain
34
- 56: BSC_PUBLIC_RPC, // BNB Smart Chain
35
- 8333: B3_PUBLIC_RPC, // B3
36
- 2741: ABSTRACT_PUBLIC_RPC, // Abstract
37
- 999: HYPEREVM_PUBLIC_RPC, // HyperEVM
38
- };