@circle-fin/app-kit 1.7.0 → 1.8.0
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.
- package/CHANGELOG.md +215 -0
- package/README.md +28 -5
- package/bridge.cjs +19951 -0
- package/bridge.cjs.map +1 -0
- package/bridge.d.cts +6603 -0
- package/bridge.d.mts +6603 -0
- package/bridge.d.ts +6603 -0
- package/bridge.mjs +19944 -0
- package/bridge.mjs.map +1 -0
- package/chains.cjs +1018 -1087
- package/chains.d.cts +2060 -0
- package/chains.d.mts +2060 -0
- package/chains.d.ts +40 -37
- package/chains.mjs +1018 -1087
- package/context.cjs +59 -0
- package/context.cjs.map +1 -0
- package/context.d.cts +6428 -0
- package/context.d.mts +6428 -0
- package/context.d.ts +6428 -0
- package/context.mjs +57 -0
- package/context.mjs.map +1 -0
- package/earn.cjs +7316 -4800
- package/earn.d.cts +8340 -0
- package/earn.d.mts +8340 -0
- package/earn.d.ts +987 -85
- package/earn.mjs +7313 -4801
- package/estimateBridge.cjs +19889 -0
- package/estimateBridge.cjs.map +1 -0
- package/estimateBridge.d.cts +6483 -0
- package/estimateBridge.d.mts +6483 -0
- package/estimateBridge.d.ts +6483 -0
- package/estimateBridge.mjs +19882 -0
- package/estimateBridge.mjs.map +1 -0
- package/estimateSwap.cjs +21577 -0
- package/estimateSwap.cjs.map +1 -0
- package/estimateSwap.d.cts +6625 -0
- package/estimateSwap.d.mts +6625 -0
- package/estimateSwap.d.ts +6625 -0
- package/estimateSwap.mjs +21571 -0
- package/estimateSwap.mjs.map +1 -0
- package/index.cjs +15241 -11453
- package/index.d.cts +26657 -0
- package/index.d.mts +26657 -0
- package/index.d.ts +5230 -585
- package/index.mjs +15230 -11453
- package/package.json +66 -32
- package/swap.cjs +21577 -0
- package/swap.cjs.map +1 -0
- package/swap.d.cts +6721 -0
- package/swap.d.mts +6721 -0
- package/swap.d.ts +6721 -0
- package/swap.mjs +21571 -0
- package/swap.mjs.map +1 -0
- package/unifiedBalance.cjs +20557 -0
- package/unifiedBalance.cjs.map +1 -0
- package/unifiedBalance.d.cts +7276 -0
- package/unifiedBalance.d.mts +7276 -0
- package/unifiedBalance.d.ts +7276 -0
- package/unifiedBalance.mjs +20551 -0
- package/unifiedBalance.mjs.map +1 -0
package/chains.cjs
CHANGED
|
@@ -20,23 +20,34 @@
|
|
|
20
20
|
|
|
21
21
|
var zod = require('zod');
|
|
22
22
|
|
|
23
|
-
// -----------------------------------------------------------------------------
|
|
24
|
-
// Blockchain Enum
|
|
25
|
-
// -----------------------------------------------------------------------------
|
|
26
23
|
/**
|
|
27
|
-
*
|
|
24
|
+
* @packageDocumentation
|
|
25
|
+
* @module ChainDefinitions
|
|
28
26
|
*
|
|
29
|
-
* This
|
|
30
|
-
*
|
|
31
|
-
*
|
|
27
|
+
* This module provides a complete type system for blockchain chain definitions.
|
|
28
|
+
* It supports both EVM and non‑EVM chains, token configurations, and multiple
|
|
29
|
+
* versions of the Cross-Chain Transfer Protocol (CCTP). Additionally, utility types
|
|
30
|
+
* are provided to extract subsets of chains (e.g. chains supporting USDC, EURC, or specific
|
|
31
|
+
* CCTP versions) from a provided collection.
|
|
32
32
|
*
|
|
33
|
-
*
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
33
|
+
* All types are fully documented with TSDoc to maximize developer experience.
|
|
34
|
+
*/ // -----------------------------------------------------------------------------
|
|
35
|
+
// Currency and Base Types
|
|
36
|
+
// -----------------------------------------------------------------------------
|
|
37
|
+
/**
|
|
38
|
+
* Represents basic information about a currency or token.
|
|
39
|
+
* @category Types
|
|
40
|
+
* @description Provides the essential properties of a cryptocurrency or token.
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* const ethCurrency: Currency = {
|
|
44
|
+
* name: "Ether",
|
|
45
|
+
* symbol: "ETH",
|
|
46
|
+
* decimals: 18
|
|
47
|
+
* };
|
|
48
|
+
* ```
|
|
49
|
+
*/ var Blockchain;
|
|
50
|
+
(function(Blockchain) {
|
|
40
51
|
Blockchain["Algorand"] = "Algorand";
|
|
41
52
|
Blockchain["Algorand_Testnet"] = "Algorand_Testnet";
|
|
42
53
|
Blockchain["Aptos"] = "Aptos";
|
|
@@ -103,103 +114,8 @@ var Blockchain;
|
|
|
103
114
|
Blockchain["ZKSync_Era"] = "ZKSync_Era";
|
|
104
115
|
Blockchain["ZKSync_Sepolia"] = "ZKSync_Sepolia";
|
|
105
116
|
})(Blockchain || (Blockchain = {}));
|
|
106
|
-
/**
|
|
107
|
-
* Enum representing the subset of {@link Blockchain} that supports swap operations.
|
|
108
|
-
*
|
|
109
|
-
* This enum provides compile-time type safety for swap chain selection,
|
|
110
|
-
* ensuring only supported chains are available in IDE autocomplete
|
|
111
|
-
* when building swap parameters.
|
|
112
|
-
*
|
|
113
|
-
* @remarks
|
|
114
|
-
* Unlike the full {@link Blockchain} enum, SwapChain only includes networks
|
|
115
|
-
* where the swap functionality is actively supported by the library.
|
|
116
|
-
* Using this enum prevents runtime errors from attempting unsupported
|
|
117
|
-
* cross-chain swaps.
|
|
118
|
-
*
|
|
119
|
-
* Currently supports:
|
|
120
|
-
* - Ethereum mainnet
|
|
121
|
-
* - Base mainnet
|
|
122
|
-
* - Polygon mainnet
|
|
123
|
-
* - Solana mainnet
|
|
124
|
-
*
|
|
125
|
-
* @example
|
|
126
|
-
* ```typescript
|
|
127
|
-
* import { SwapChain, swap, createSwapKitContext } from '@circle-fin/swap-kit'
|
|
128
|
-
* import { createViemAdapterFromPrivateKey } from '@circle-fin/adapter-viem-v2'
|
|
129
|
-
*
|
|
130
|
-
* const context = createSwapKitContext()
|
|
131
|
-
* const adapter = createViemAdapterFromPrivateKey({
|
|
132
|
-
* privateKey: process.env.PRIVATE_KEY
|
|
133
|
-
* })
|
|
134
|
-
*
|
|
135
|
-
* // ✅ Autocomplete shows only swap-supported chains
|
|
136
|
-
* const result = await swap(context, {
|
|
137
|
-
* from: {
|
|
138
|
-
* adapter,
|
|
139
|
-
* chain: SwapChain.Ethereum // Autocomplete: Ethereum, Base, Polygon, Solana
|
|
140
|
-
* },
|
|
141
|
-
* tokenIn: 'USDC',
|
|
142
|
-
* tokenOut: 'USDT',
|
|
143
|
-
* amount: '100.0'
|
|
144
|
-
* })
|
|
145
|
-
* ```
|
|
146
|
-
*
|
|
147
|
-
* @example
|
|
148
|
-
* ```typescript
|
|
149
|
-
* // String literals also work (constrained to SwapChain values)
|
|
150
|
-
* const result = await swap(context, {
|
|
151
|
-
* from: {
|
|
152
|
-
* adapter,
|
|
153
|
-
* chain: 'Ethereum' // ✅ Only SwapChain strings allowed
|
|
154
|
-
* },
|
|
155
|
-
* tokenIn: 'USDC',
|
|
156
|
-
* tokenOut: 'NATIVE',
|
|
157
|
-
* amount: '50.0'
|
|
158
|
-
* })
|
|
159
|
-
*
|
|
160
|
-
* // ❌ TypeScript error - Sui not in SwapChain enum
|
|
161
|
-
* const invalidResult = await swap(context, {
|
|
162
|
-
* from: {
|
|
163
|
-
* adapter,
|
|
164
|
-
* chain: 'Sui' // Compile-time error!
|
|
165
|
-
* },
|
|
166
|
-
* tokenIn: 'USDC',
|
|
167
|
-
* tokenOut: 'USDT',
|
|
168
|
-
* amount: '100.0'
|
|
169
|
-
* })
|
|
170
|
-
* ```
|
|
171
|
-
*/
|
|
172
|
-
/**
|
|
173
|
-
* Enum representing chains that support same-chain swaps through the Swap Kit.
|
|
174
|
-
*
|
|
175
|
-
* Unlike the full {@link Blockchain} enum, SwapChain includes mainnet
|
|
176
|
-
* networks and explicitly whitelisted testnets (e.g., {@link Arc_Testnet})
|
|
177
|
-
* where adapter contracts are deployed (CCTPv2 support).
|
|
178
|
-
*
|
|
179
|
-
* Dynamic validation via {@link isSwapSupportedChain} ensures chains
|
|
180
|
-
* automatically work when adapter contracts and supported tokens are deployed.
|
|
181
|
-
*
|
|
182
|
-
* @example
|
|
183
|
-
* ```typescript
|
|
184
|
-
* import { SwapChain } from '@core/chains'
|
|
185
|
-
* import { swap } from '@circle-fin/swap-kit'
|
|
186
|
-
*
|
|
187
|
-
* const result = await swap(context, {
|
|
188
|
-
* from: {
|
|
189
|
-
* adapter,
|
|
190
|
-
* chain: SwapChain.Arbitrum // Now supported!
|
|
191
|
-
* },
|
|
192
|
-
* tokenIn: 'USDC',
|
|
193
|
-
* tokenOut: 'WETH',
|
|
194
|
-
* amount: '100.0'
|
|
195
|
-
* })
|
|
196
|
-
* ```
|
|
197
|
-
*
|
|
198
|
-
* @see {@link isSwapSupportedChain} for runtime validation
|
|
199
|
-
* @see {@link getSwapSupportedChains} for all supported chains
|
|
200
|
-
*/
|
|
201
117
|
var SwapChain;
|
|
202
|
-
(function
|
|
118
|
+
(function(SwapChain) {
|
|
203
119
|
// Original 4 chains
|
|
204
120
|
SwapChain["Ethereum"] = "Ethereum";
|
|
205
121
|
SwapChain["Base"] = "Base";
|
|
@@ -222,57 +138,8 @@ var SwapChain;
|
|
|
222
138
|
// Testnet chains with swap support
|
|
223
139
|
SwapChain["Arc_Testnet"] = "Arc_Testnet";
|
|
224
140
|
})(SwapChain || (SwapChain = {}));
|
|
225
|
-
// -----------------------------------------------------------------------------
|
|
226
|
-
// Bridge Chain Enum (CCTPv2 Supported Chains)
|
|
227
|
-
// -----------------------------------------------------------------------------
|
|
228
|
-
/**
|
|
229
|
-
* Enumeration of blockchains that support cross-chain bridging via CCTPv2.
|
|
230
|
-
*
|
|
231
|
-
* The enum is derived from the full {@link Blockchain} enum but filtered to only
|
|
232
|
-
* include chains with active CCTPv2 support. When new chains gain CCTPv2 support,
|
|
233
|
-
* they are added to this enum.
|
|
234
|
-
*
|
|
235
|
-
* @enum
|
|
236
|
-
* @category Enums
|
|
237
|
-
*
|
|
238
|
-
* @remarks
|
|
239
|
-
* - This enum is the **canonical source** of bridging-supported chains.
|
|
240
|
-
* - Use this enum (or its string literals) in `kit.bridge()` calls for type safety.
|
|
241
|
-
* - Attempting to use a chain not in this enum will produce a TypeScript compile error.
|
|
242
|
-
*
|
|
243
|
-
* @example
|
|
244
|
-
* ```typescript
|
|
245
|
-
* import { BridgeKit, BridgeChain } from '@circle-fin/bridge-kit'
|
|
246
|
-
*
|
|
247
|
-
* const kit = new BridgeKit()
|
|
248
|
-
*
|
|
249
|
-
* // ✅ Valid - autocomplete suggests only supported chains
|
|
250
|
-
* await kit.bridge({
|
|
251
|
-
* from: { adapter, chain: BridgeChain.Ethereum },
|
|
252
|
-
* to: { adapter, chain: BridgeChain.Base },
|
|
253
|
-
* amount: '100'
|
|
254
|
-
* })
|
|
255
|
-
*
|
|
256
|
-
* // ✅ Also valid - string literals work with autocomplete
|
|
257
|
-
* await kit.bridge({
|
|
258
|
-
* from: { adapter, chain: 'Ethereum_Sepolia' },
|
|
259
|
-
* to: { adapter, chain: 'Base_Sepolia' },
|
|
260
|
-
* amount: '100'
|
|
261
|
-
* })
|
|
262
|
-
*
|
|
263
|
-
* // ❌ Compile error - Algorand is not in BridgeChain
|
|
264
|
-
* await kit.bridge({
|
|
265
|
-
* from: { adapter, chain: 'Algorand' }, // TypeScript error!
|
|
266
|
-
* to: { adapter, chain: 'Base' },
|
|
267
|
-
* amount: '100'
|
|
268
|
-
* })
|
|
269
|
-
* ```
|
|
270
|
-
*
|
|
271
|
-
* @see {@link Blockchain} for the complete list of all known blockchains.
|
|
272
|
-
* @see {@link BridgeChainIdentifier} for the type that accepts these values.
|
|
273
|
-
*/
|
|
274
141
|
var BridgeChain;
|
|
275
|
-
(function
|
|
142
|
+
(function(BridgeChain) {
|
|
276
143
|
// Mainnet chains with CCTPv2 support
|
|
277
144
|
BridgeChain["Arbitrum"] = "Arbitrum";
|
|
278
145
|
BridgeChain["Avalanche"] = "Avalanche";
|
|
@@ -321,30 +188,8 @@ var BridgeChain;
|
|
|
321
188
|
BridgeChain["World_Chain_Sepolia"] = "World_Chain_Sepolia";
|
|
322
189
|
BridgeChain["XDC_Apothem"] = "XDC_Apothem";
|
|
323
190
|
})(BridgeChain || (BridgeChain = {}));
|
|
324
|
-
// -----------------------------------------------------------------------------
|
|
325
|
-
// Unified Balance Chain Enum (Gateway V1 Supported Chains)
|
|
326
|
-
// -----------------------------------------------------------------------------
|
|
327
|
-
/**
|
|
328
|
-
* Enumeration of blockchains that support Gateway V1 operations
|
|
329
|
-
* (deposit, spend, balance, delegate, removeFund).
|
|
330
|
-
*
|
|
331
|
-
* Derived from the full {@link Blockchain} enum but filtered to only
|
|
332
|
-
* include chains with active Gateway V1 contract support. When new chains
|
|
333
|
-
* gain Gateway V1 support, they are added to this enum.
|
|
334
|
-
*
|
|
335
|
-
* @enum
|
|
336
|
-
* @category Enums
|
|
337
|
-
*
|
|
338
|
-
* @remarks
|
|
339
|
-
* - This enum is the **canonical source** of Gateway-supported chains.
|
|
340
|
-
* - Use this enum (or its string literals) in unified-balance-kit calls
|
|
341
|
-
* for type safety.
|
|
342
|
-
*
|
|
343
|
-
* @see {@link Blockchain} for the complete list of all known blockchains.
|
|
344
|
-
* @see {@link UnifiedBalanceChainIdentifier} for the type that accepts these values.
|
|
345
|
-
*/
|
|
346
191
|
var UnifiedBalanceChain;
|
|
347
|
-
(function
|
|
192
|
+
(function(UnifiedBalanceChain) {
|
|
348
193
|
// Mainnet chains with Gateway V1 support
|
|
349
194
|
UnifiedBalanceChain["Arbitrum"] = "Arbitrum";
|
|
350
195
|
UnifiedBalanceChain["Avalanche"] = "Avalanche";
|
|
@@ -373,28 +218,41 @@ var UnifiedBalanceChain;
|
|
|
373
218
|
UnifiedBalanceChain["Unichain_Sepolia"] = "Unichain_Sepolia";
|
|
374
219
|
UnifiedBalanceChain["World_Chain_Sepolia"] = "World_Chain_Sepolia";
|
|
375
220
|
})(UnifiedBalanceChain || (UnifiedBalanceChain = {}));
|
|
376
|
-
|
|
377
|
-
|
|
221
|
+
var EarnChain;
|
|
222
|
+
(function(EarnChain) {
|
|
223
|
+
EarnChain["Arc_Testnet"] = "Arc_Testnet";
|
|
224
|
+
})(EarnChain || (EarnChain = {}));
|
|
225
|
+
/**
|
|
226
|
+
* Blockchains supported as the source chain for cross-chain Earn deposits.
|
|
227
|
+
*
|
|
228
|
+
* Single source of truth for the source allowlist: the Earn Service bridge
|
|
229
|
+
* route map is `satisfies`-checked against {@link EarnBridgeSourceBlockchain},
|
|
230
|
+
* and both the type and the runtime validation schema derive from this array.
|
|
231
|
+
*
|
|
232
|
+
* @example
|
|
233
|
+
* ```typescript
|
|
234
|
+
* import { EARN_BRIDGE_SOURCE_BLOCKCHAINS } from '@core/chains'
|
|
235
|
+
*
|
|
236
|
+
* console.log(EARN_BRIDGE_SOURCE_BLOCKCHAINS.join(', '))
|
|
237
|
+
* ```
|
|
238
|
+
*/ const EARN_BRIDGE_SOURCE_BLOCKCHAINS = [
|
|
239
|
+
"Arbitrum_Sepolia",
|
|
240
|
+
"Base_Sepolia",
|
|
241
|
+
"Ethereum_Sepolia"
|
|
242
|
+
];
|
|
378
243
|
/**
|
|
379
|
-
*
|
|
380
|
-
*
|
|
244
|
+
* Blockchains supported as the destination (vault) chain for cross-chain Earn
|
|
245
|
+
* deposits. Single source of truth for the destination allowlist.
|
|
381
246
|
*
|
|
382
247
|
* @example
|
|
383
248
|
* ```typescript
|
|
384
|
-
* import {
|
|
249
|
+
* import { EARN_BRIDGE_DESTINATION_BLOCKCHAINS } from '@core/chains'
|
|
385
250
|
*
|
|
386
|
-
*
|
|
387
|
-
* from: { adapter, chain: EarnChain.Arc_Testnet },
|
|
388
|
-
* vaultAddress: '0x...',
|
|
389
|
-
* amount: '100',
|
|
390
|
-
* })
|
|
251
|
+
* console.log(EARN_BRIDGE_DESTINATION_BLOCKCHAINS.join(', '))
|
|
391
252
|
* ```
|
|
392
|
-
*/
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
(function (EarnChain) {
|
|
396
|
-
EarnChain["Arc_Testnet"] = "Arc_Testnet";
|
|
397
|
-
})(EarnChain || (EarnChain = {}));
|
|
253
|
+
*/ const EARN_BRIDGE_DESTINATION_BLOCKCHAINS = [
|
|
254
|
+
"Arc_Testnet"
|
|
255
|
+
];
|
|
398
256
|
|
|
399
257
|
/**
|
|
400
258
|
* Helper function to define a chain with proper TypeScript typing.
|
|
@@ -430,8 +288,7 @@ var EarnChain;
|
|
|
430
288
|
* }
|
|
431
289
|
* } as const);
|
|
432
290
|
* ```
|
|
433
|
-
*/
|
|
434
|
-
function defineChain(chain) {
|
|
291
|
+
*/ function defineChain(chain) {
|
|
435
292
|
return chain;
|
|
436
293
|
}
|
|
437
294
|
|
|
@@ -439,8 +296,7 @@ function defineChain(chain) {
|
|
|
439
296
|
* Algorand Mainnet chain definition
|
|
440
297
|
* @remarks
|
|
441
298
|
* This represents the official production network for the Algorand blockchain.
|
|
442
|
-
*/
|
|
443
|
-
defineChain({
|
|
299
|
+
*/ defineChain({
|
|
444
300
|
type: 'algorand',
|
|
445
301
|
chain: Blockchain.Algorand,
|
|
446
302
|
name: 'Algorand',
|
|
@@ -448,23 +304,24 @@ defineChain({
|
|
|
448
304
|
nativeCurrency: {
|
|
449
305
|
name: 'Algo',
|
|
450
306
|
symbol: 'ALGO',
|
|
451
|
-
decimals: 6
|
|
307
|
+
decimals: 6
|
|
452
308
|
},
|
|
453
309
|
isTestnet: false,
|
|
454
310
|
explorerUrl: 'https://explorer.perawallet.app/tx/{hash}',
|
|
455
|
-
rpcEndpoints: [
|
|
311
|
+
rpcEndpoints: [
|
|
312
|
+
'https://mainnet-api.algonode.cloud'
|
|
313
|
+
],
|
|
456
314
|
eurcAddress: null,
|
|
457
315
|
usdcAddress: '31566704',
|
|
458
316
|
usdtAddress: null,
|
|
459
|
-
cctp: null
|
|
317
|
+
cctp: null
|
|
460
318
|
});
|
|
461
319
|
|
|
462
320
|
/**
|
|
463
321
|
* Algorand Testnet chain definition
|
|
464
322
|
* @remarks
|
|
465
323
|
* This represents the official testnet for the Algorand blockchain.
|
|
466
|
-
*/
|
|
467
|
-
defineChain({
|
|
324
|
+
*/ defineChain({
|
|
468
325
|
type: 'algorand',
|
|
469
326
|
chain: Blockchain.Algorand_Testnet,
|
|
470
327
|
name: 'Algorand Testnet',
|
|
@@ -472,23 +329,24 @@ defineChain({
|
|
|
472
329
|
nativeCurrency: {
|
|
473
330
|
name: 'Algo',
|
|
474
331
|
symbol: 'ALGO',
|
|
475
|
-
decimals: 6
|
|
332
|
+
decimals: 6
|
|
476
333
|
},
|
|
477
334
|
isTestnet: true,
|
|
478
335
|
explorerUrl: 'https://testnet.explorer.perawallet.app/tx/{hash}',
|
|
479
|
-
rpcEndpoints: [
|
|
336
|
+
rpcEndpoints: [
|
|
337
|
+
'https://testnet-api.algonode.cloud'
|
|
338
|
+
],
|
|
480
339
|
eurcAddress: null,
|
|
481
340
|
usdcAddress: '10458941',
|
|
482
341
|
usdtAddress: null,
|
|
483
|
-
cctp: null
|
|
342
|
+
cctp: null
|
|
484
343
|
});
|
|
485
344
|
|
|
486
345
|
/**
|
|
487
346
|
* Aptos Mainnet chain definition
|
|
488
347
|
* @remarks
|
|
489
348
|
* This represents the official production network for the Aptos blockchain.
|
|
490
|
-
*/
|
|
491
|
-
defineChain({
|
|
349
|
+
*/ defineChain({
|
|
492
350
|
type: 'aptos',
|
|
493
351
|
chain: Blockchain.Aptos,
|
|
494
352
|
name: 'Aptos',
|
|
@@ -496,11 +354,13 @@ defineChain({
|
|
|
496
354
|
nativeCurrency: {
|
|
497
355
|
name: 'Aptos',
|
|
498
356
|
symbol: 'APT',
|
|
499
|
-
decimals: 8
|
|
357
|
+
decimals: 8
|
|
500
358
|
},
|
|
501
359
|
isTestnet: false,
|
|
502
360
|
explorerUrl: 'https://explorer.aptoslabs.com/txn/{hash}?network=mainnet',
|
|
503
|
-
rpcEndpoints: [
|
|
361
|
+
rpcEndpoints: [
|
|
362
|
+
'https://fullnode.mainnet.aptoslabs.com/v1'
|
|
363
|
+
],
|
|
504
364
|
eurcAddress: null,
|
|
505
365
|
usdcAddress: '0xbae207659db88bea0cbead6da0ed00aac12edcdda169e591cd41c94180b46f3b',
|
|
506
366
|
usdtAddress: '0x357b0b74bc833e95a115ad22604854d6b0fca151cecd94111770e5d6ffc9dc2b',
|
|
@@ -511,22 +371,21 @@ defineChain({
|
|
|
511
371
|
type: 'split',
|
|
512
372
|
tokenMessenger: '0x9bce6734f7b63e835108e3bd8c36743d4709fe435f44791918801d0989640a9d',
|
|
513
373
|
messageTransmitter: '0x177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f1772',
|
|
514
|
-
confirmations: 1
|
|
515
|
-
}
|
|
374
|
+
confirmations: 1
|
|
375
|
+
}
|
|
516
376
|
},
|
|
517
377
|
forwarderSupported: {
|
|
518
378
|
source: false,
|
|
519
|
-
destination: false
|
|
520
|
-
}
|
|
521
|
-
}
|
|
379
|
+
destination: false
|
|
380
|
+
}
|
|
381
|
+
}
|
|
522
382
|
});
|
|
523
383
|
|
|
524
384
|
/**
|
|
525
385
|
* Aptos Testnet chain definition
|
|
526
386
|
* @remarks
|
|
527
387
|
* This represents the official test network for the Aptos blockchain.
|
|
528
|
-
*/
|
|
529
|
-
defineChain({
|
|
388
|
+
*/ defineChain({
|
|
530
389
|
type: 'aptos',
|
|
531
390
|
chain: Blockchain.Aptos_Testnet,
|
|
532
391
|
name: 'Aptos Testnet',
|
|
@@ -534,11 +393,13 @@ defineChain({
|
|
|
534
393
|
nativeCurrency: {
|
|
535
394
|
name: 'Aptos',
|
|
536
395
|
symbol: 'APT',
|
|
537
|
-
decimals: 8
|
|
396
|
+
decimals: 8
|
|
538
397
|
},
|
|
539
398
|
isTestnet: true,
|
|
540
399
|
explorerUrl: 'https://explorer.aptoslabs.com/txn/{hash}?network=testnet',
|
|
541
|
-
rpcEndpoints: [
|
|
400
|
+
rpcEndpoints: [
|
|
401
|
+
'https://fullnode.testnet.aptoslabs.com/v1'
|
|
402
|
+
],
|
|
542
403
|
eurcAddress: null,
|
|
543
404
|
usdcAddress: '0x69091fbab5f7d635ee7ac5098cf0c1efbe31d68fec0f2cd565e8d168daf52832',
|
|
544
405
|
usdtAddress: null,
|
|
@@ -549,17 +410,28 @@ defineChain({
|
|
|
549
410
|
type: 'split',
|
|
550
411
|
tokenMessenger: '0x5f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9',
|
|
551
412
|
messageTransmitter: '0x081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d9',
|
|
552
|
-
confirmations: 1
|
|
553
|
-
}
|
|
413
|
+
confirmations: 1
|
|
414
|
+
}
|
|
554
415
|
},
|
|
555
416
|
forwarderSupported: {
|
|
556
417
|
source: false,
|
|
557
|
-
destination: false
|
|
558
|
-
}
|
|
559
|
-
}
|
|
418
|
+
destination: false
|
|
419
|
+
}
|
|
420
|
+
}
|
|
560
421
|
});
|
|
561
422
|
|
|
562
423
|
/**
|
|
424
|
+
* @packageDocumentation
|
|
425
|
+
* @module SwapTokenRegistry
|
|
426
|
+
*
|
|
427
|
+
* Central swap token registry for swap-supported tokens.
|
|
428
|
+
*
|
|
429
|
+
* Contains metadata for all tokens that can be used in swap operations,
|
|
430
|
+
* including decimals, categories, and descriptions. All packages should import
|
|
431
|
+
* from this registry instead of maintaining separate token lists.
|
|
432
|
+
*/ /**
|
|
433
|
+
* Swap token metadata.
|
|
434
|
+
*/ /**
|
|
563
435
|
* Complete swap token registry - single source of truth for all swap-supported tokens.
|
|
564
436
|
*
|
|
565
437
|
* @remarks
|
|
@@ -578,8 +450,7 @@ defineChain({
|
|
|
578
450
|
* // Check if token is stablecoin
|
|
579
451
|
* const isStable = SWAP_TOKEN_REGISTRY.DAI.category === 'stablecoin' // true
|
|
580
452
|
* ```
|
|
581
|
-
*/
|
|
582
|
-
const SWAP_TOKEN_REGISTRY = {
|
|
453
|
+
*/ const SWAP_TOKEN_REGISTRY = {
|
|
583
454
|
// ============================================================================
|
|
584
455
|
// Stablecoins (6 decimals)
|
|
585
456
|
// ============================================================================
|
|
@@ -587,25 +458,25 @@ const SWAP_TOKEN_REGISTRY = {
|
|
|
587
458
|
symbol: 'USDC',
|
|
588
459
|
decimals: 6,
|
|
589
460
|
category: 'stablecoin',
|
|
590
|
-
description: 'USD Coin'
|
|
461
|
+
description: 'USD Coin'
|
|
591
462
|
},
|
|
592
463
|
EURC: {
|
|
593
464
|
symbol: 'EURC',
|
|
594
465
|
decimals: 6,
|
|
595
466
|
category: 'stablecoin',
|
|
596
|
-
description: 'Euro Coin'
|
|
467
|
+
description: 'Euro Coin'
|
|
597
468
|
},
|
|
598
469
|
USDT: {
|
|
599
470
|
symbol: 'USDT',
|
|
600
471
|
decimals: 6,
|
|
601
472
|
category: 'stablecoin',
|
|
602
|
-
description: 'Tether USD'
|
|
473
|
+
description: 'Tether USD'
|
|
603
474
|
},
|
|
604
475
|
PYUSD: {
|
|
605
476
|
symbol: 'PYUSD',
|
|
606
477
|
decimals: 6,
|
|
607
478
|
category: 'stablecoin',
|
|
608
|
-
description: 'PayPal USD'
|
|
479
|
+
description: 'PayPal USD'
|
|
609
480
|
},
|
|
610
481
|
// ============================================================================
|
|
611
482
|
// Stablecoins (18 decimals)
|
|
@@ -614,13 +485,13 @@ const SWAP_TOKEN_REGISTRY = {
|
|
|
614
485
|
symbol: 'DAI',
|
|
615
486
|
decimals: 18,
|
|
616
487
|
category: 'stablecoin',
|
|
617
|
-
description: 'MakerDAO stablecoin'
|
|
488
|
+
description: 'MakerDAO stablecoin'
|
|
618
489
|
},
|
|
619
490
|
USDE: {
|
|
620
491
|
symbol: 'USDE',
|
|
621
492
|
decimals: 18,
|
|
622
493
|
category: 'stablecoin',
|
|
623
|
-
description: 'Ethena USD (synthetic dollar)'
|
|
494
|
+
description: 'Ethena USD (synthetic dollar)'
|
|
624
495
|
},
|
|
625
496
|
// ============================================================================
|
|
626
497
|
// Wrapped Tokens
|
|
@@ -629,38 +500,38 @@ const SWAP_TOKEN_REGISTRY = {
|
|
|
629
500
|
symbol: 'WBTC',
|
|
630
501
|
decimals: 8,
|
|
631
502
|
category: 'wrapped',
|
|
632
|
-
description: 'Wrapped Bitcoin'
|
|
503
|
+
description: 'Wrapped Bitcoin'
|
|
633
504
|
},
|
|
634
505
|
WETH: {
|
|
635
506
|
symbol: 'WETH',
|
|
636
507
|
decimals: 18,
|
|
637
508
|
category: 'wrapped',
|
|
638
|
-
description: 'Wrapped Ethereum'
|
|
509
|
+
description: 'Wrapped Ethereum'
|
|
639
510
|
},
|
|
640
511
|
WSOL: {
|
|
641
512
|
symbol: 'WSOL',
|
|
642
513
|
decimals: 9,
|
|
643
514
|
category: 'wrapped',
|
|
644
|
-
description: 'Wrapped Solana'
|
|
515
|
+
description: 'Wrapped Solana'
|
|
645
516
|
},
|
|
646
517
|
WAVAX: {
|
|
647
518
|
symbol: 'WAVAX',
|
|
648
519
|
decimals: 18,
|
|
649
520
|
category: 'wrapped',
|
|
650
|
-
description: 'Wrapped Avalanche'
|
|
521
|
+
description: 'Wrapped Avalanche'
|
|
651
522
|
},
|
|
652
523
|
WPOL: {
|
|
653
524
|
symbol: 'WPOL',
|
|
654
525
|
decimals: 18,
|
|
655
526
|
category: 'wrapped',
|
|
656
|
-
description: 'Wrapped Polygon'
|
|
527
|
+
description: 'Wrapped Polygon'
|
|
657
528
|
},
|
|
658
529
|
CIRBTC: {
|
|
659
530
|
symbol: 'CIRBTC',
|
|
660
531
|
decimals: 8,
|
|
661
532
|
category: 'wrapped',
|
|
662
|
-
description: 'Circle Bitcoin'
|
|
663
|
-
}
|
|
533
|
+
description: 'Circle Bitcoin'
|
|
534
|
+
}
|
|
664
535
|
};
|
|
665
536
|
/**
|
|
666
537
|
* Special NATIVE token constant for swap operations.
|
|
@@ -669,15 +540,13 @@ const SWAP_TOKEN_REGISTRY = {
|
|
|
669
540
|
* NATIVE is handled separately from SWAP_TOKEN_REGISTRY because it resolves
|
|
670
541
|
* dynamically based on the chain (ETH on Ethereum, SOL on Solana, etc.).
|
|
671
542
|
* Its decimals are chain-specific.
|
|
672
|
-
*/
|
|
673
|
-
const NATIVE_TOKEN = 'NATIVE';
|
|
543
|
+
*/ const NATIVE_TOKEN = 'NATIVE';
|
|
674
544
|
/**
|
|
675
545
|
* Array of all supported swap token symbols including NATIVE.
|
|
676
546
|
* Useful for iteration, validation, and filtering.
|
|
677
|
-
*/
|
|
678
|
-
[
|
|
547
|
+
*/ [
|
|
679
548
|
...Object.keys(SWAP_TOKEN_REGISTRY),
|
|
680
|
-
NATIVE_TOKEN
|
|
549
|
+
NATIVE_TOKEN
|
|
681
550
|
];
|
|
682
551
|
|
|
683
552
|
/**
|
|
@@ -686,87 +555,75 @@ const NATIVE_TOKEN = 'NATIVE';
|
|
|
686
555
|
* This contract handles USDC transfers on testnet environments across
|
|
687
556
|
* EVM-compatible chains. Use this address when deploying or testing
|
|
688
557
|
* cross-chain USDC transfers on test networks.
|
|
689
|
-
*/
|
|
690
|
-
const BRIDGE_CONTRACT_EVM_TESTNET = '0xC5567a5E3370d4DBfB0540025078e283e36A363d';
|
|
558
|
+
*/ const BRIDGE_CONTRACT_EVM_TESTNET = '0xC5567a5E3370d4DBfB0540025078e283e36A363d';
|
|
691
559
|
/**
|
|
692
560
|
* The bridge contract address for EVM mainnet networks.
|
|
693
561
|
*
|
|
694
562
|
* This contract handles USDC transfers on mainnet environments across
|
|
695
563
|
* EVM-compatible chains. Use this address for production cross-chain
|
|
696
564
|
* USDC transfers on live networks.
|
|
697
|
-
*/
|
|
698
|
-
const BRIDGE_CONTRACT_EVM_MAINNET = '0xB3FA262d0fB521cc93bE83d87b322b8A23DAf3F0';
|
|
565
|
+
*/ const BRIDGE_CONTRACT_EVM_MAINNET = '0xB3FA262d0fB521cc93bE83d87b322b8A23DAf3F0';
|
|
699
566
|
/**
|
|
700
567
|
* The adapter contract address for EVM mainnet networks.
|
|
701
568
|
*
|
|
702
569
|
* This contract serves as an adapter for integrating with various protocols
|
|
703
570
|
* on EVM-compatible chains. Use this address for mainnet adapter integrations.
|
|
704
|
-
*/
|
|
705
|
-
const ADAPTER_CONTRACT_EVM_MAINNET = '0x7FB8c7260b63934d8da38aF902f87ae6e284a845';
|
|
571
|
+
*/ const ADAPTER_CONTRACT_EVM_MAINNET = '0x7FB8c7260b63934d8da38aF902f87ae6e284a845';
|
|
706
572
|
/**
|
|
707
573
|
* The adapter contract address for EVM testnet networks.
|
|
708
574
|
*
|
|
709
575
|
* This contract serves as an adapter for integrating with various protocols
|
|
710
576
|
* on EVM-compatible testnet chains. Use this address for testnet adapter
|
|
711
577
|
* integrations (e.g., Arc Testnet).
|
|
712
|
-
*/
|
|
713
|
-
const ADAPTER_CONTRACT_EVM_TESTNET = '0xBBD70b01a1CAbc96d5b7b129Ae1AAabdf50dd40b';
|
|
578
|
+
*/ const ADAPTER_CONTRACT_EVM_TESTNET = '0xBBD70b01a1CAbc96d5b7b129Ae1AAabdf50dd40b';
|
|
714
579
|
/**
|
|
715
580
|
* The GatewayWallet contract address for EVM mainnet networks.
|
|
716
581
|
*
|
|
717
582
|
* This contract manages wallet operations for Gateway transactions
|
|
718
583
|
* on mainnet environments across EVM-compatible chains.
|
|
719
|
-
*/
|
|
720
|
-
const GATEWAY_WALLET_EVM_MAINNET = '0x77777777Dcc4d5A8B6E418Fd04D8997ef11000eE';
|
|
584
|
+
*/ const GATEWAY_WALLET_EVM_MAINNET = '0x77777777Dcc4d5A8B6E418Fd04D8997ef11000eE';
|
|
721
585
|
/**
|
|
722
586
|
* The GatewayMinter contract address for EVM mainnet networks.
|
|
723
587
|
*
|
|
724
588
|
* This contract handles minting operations for Gateway transactions
|
|
725
589
|
* on mainnet environments across EVM-compatible chains.
|
|
726
|
-
*/
|
|
727
|
-
const GATEWAY_MINTER_EVM_MAINNET = '0x2222222d7164433c4C09B0b0D809a9b52C04C205';
|
|
590
|
+
*/ const GATEWAY_MINTER_EVM_MAINNET = '0x2222222d7164433c4C09B0b0D809a9b52C04C205';
|
|
728
591
|
/**
|
|
729
592
|
* The GatewayWallet contract address for EVM testnet networks.
|
|
730
593
|
*
|
|
731
594
|
* This contract manages wallet operations for Gateway transactions
|
|
732
595
|
* on testnet environments across EVM-compatible chains.
|
|
733
|
-
*/
|
|
734
|
-
const GATEWAY_WALLET_EVM_TESTNET = '0x0077777d7EBA4688BDeF3E311b846F25870A19B9';
|
|
596
|
+
*/ const GATEWAY_WALLET_EVM_TESTNET = '0x0077777d7EBA4688BDeF3E311b846F25870A19B9';
|
|
735
597
|
/**
|
|
736
598
|
* The GatewayMinter contract address for EVM testnet networks.
|
|
737
599
|
*
|
|
738
600
|
* This contract handles minting operations for Gateway transactions
|
|
739
601
|
* on testnet environments across EVM-compatible chains.
|
|
740
|
-
*/
|
|
741
|
-
const GATEWAY_MINTER_EVM_TESTNET = '0x0022222ABE238Cc2C7Bb1f21003F0a260052475B';
|
|
602
|
+
*/ const GATEWAY_MINTER_EVM_TESTNET = '0x0022222ABE238Cc2C7Bb1f21003F0a260052475B';
|
|
742
603
|
/**
|
|
743
604
|
* The GatewayWallet program address for Solana mainnet.
|
|
744
605
|
*
|
|
745
606
|
* This program manages wallet operations for Gateway transactions
|
|
746
607
|
* on Solana mainnet.
|
|
747
|
-
*/
|
|
748
|
-
const GATEWAY_WALLET_SOLANA_MAINNET = 'GATEwy4YxeiEbRJLwB6dXgg7q61e6zBPrMzYj5h1pRXQ';
|
|
608
|
+
*/ const GATEWAY_WALLET_SOLANA_MAINNET = 'GATEwy4YxeiEbRJLwB6dXgg7q61e6zBPrMzYj5h1pRXQ';
|
|
749
609
|
/**
|
|
750
610
|
* The GatewayMinter program address for Solana mainnet.
|
|
751
611
|
*
|
|
752
612
|
* This program handles minting operations for Gateway transactions
|
|
753
613
|
* on Solana mainnet.
|
|
754
|
-
*/
|
|
755
|
-
const GATEWAY_MINTER_SOLANA_MAINNET = 'GATEm5SoBJiSw1v2Pz1iPBgUYkXzCUJ27XSXhDfSyzVZ';
|
|
614
|
+
*/ const GATEWAY_MINTER_SOLANA_MAINNET = 'GATEm5SoBJiSw1v2Pz1iPBgUYkXzCUJ27XSXhDfSyzVZ';
|
|
756
615
|
/**
|
|
757
616
|
* The GatewayWallet program address for Solana devnet.
|
|
758
617
|
*
|
|
759
618
|
* This program manages wallet operations for Gateway transactions
|
|
760
619
|
* on Solana devnet.
|
|
761
|
-
*/
|
|
762
|
-
const GATEWAY_WALLET_SOLANA_DEVNET = 'GATEwdfmYNELfp5wDmmR6noSr2vHnAfBPMm2PvCzX5vu';
|
|
620
|
+
*/ const GATEWAY_WALLET_SOLANA_DEVNET = 'GATEwdfmYNELfp5wDmmR6noSr2vHnAfBPMm2PvCzX5vu';
|
|
763
621
|
/**
|
|
764
622
|
* The GatewayMinter program address for Solana devnet.
|
|
765
623
|
*
|
|
766
624
|
* This program handles minting operations for Gateway transactions
|
|
767
625
|
* on Solana devnet.
|
|
768
|
-
*/
|
|
769
|
-
const GATEWAY_MINTER_SOLANA_DEVNET = 'GATEmKK2ECL1brEngQZWCgMWPbvrEYqsV6u29dAaHavr';
|
|
626
|
+
*/ const GATEWAY_MINTER_SOLANA_DEVNET = 'GATEmKK2ECL1brEngQZWCgMWPbvrEYqsV6u29dAaHavr';
|
|
770
627
|
|
|
771
628
|
/**
|
|
772
629
|
* Arc Testnet chain definition
|
|
@@ -776,8 +633,7 @@ const GATEWAY_MINTER_SOLANA_DEVNET = 'GATEmKK2ECL1brEngQZWCgMWPbvrEYqsV6u29dAaHa
|
|
|
776
633
|
* and asset tokenization. Arc uses USDC as the native gas token and
|
|
777
634
|
* features the Malachite Byzantine Fault Tolerant (BFT) consensus
|
|
778
635
|
* engine for sub-second finality.
|
|
779
|
-
*/
|
|
780
|
-
const ArcTestnet = defineChain({
|
|
636
|
+
*/ const ArcTestnet = defineChain({
|
|
781
637
|
type: 'evm',
|
|
782
638
|
chain: Blockchain.Arc_Testnet,
|
|
783
639
|
name: 'Arc Testnet',
|
|
@@ -788,12 +644,14 @@ const ArcTestnet = defineChain({
|
|
|
788
644
|
// Arc uses native USDC with 18 decimals for gas payments (EVM standard).
|
|
789
645
|
// Note: The ERC-20 USDC contract at usdcAddress uses 6 decimals.
|
|
790
646
|
// See: https://docs.arc.network/arc/references/contract-addresses
|
|
791
|
-
decimals: 18
|
|
647
|
+
decimals: 18
|
|
792
648
|
},
|
|
793
649
|
chainId: 5042002,
|
|
794
650
|
isTestnet: true,
|
|
795
651
|
explorerUrl: 'https://testnet.arcscan.app/tx/{hash}',
|
|
796
|
-
rpcEndpoints: [
|
|
652
|
+
rpcEndpoints: [
|
|
653
|
+
'https://rpc.testnet.arc.network/'
|
|
654
|
+
],
|
|
797
655
|
eurcAddress: '0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a',
|
|
798
656
|
usdcAddress: '0x3600000000000000000000000000000000000000',
|
|
799
657
|
usdtAddress: null,
|
|
@@ -805,39 +663,38 @@ const ArcTestnet = defineChain({
|
|
|
805
663
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
806
664
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
807
665
|
confirmations: 1,
|
|
808
|
-
fastConfirmations: 1
|
|
809
|
-
}
|
|
666
|
+
fastConfirmations: 1
|
|
667
|
+
}
|
|
810
668
|
},
|
|
811
669
|
forwarderSupported: {
|
|
812
|
-
source:
|
|
813
|
-
destination: true
|
|
814
|
-
}
|
|
670
|
+
source: false,
|
|
671
|
+
destination: true
|
|
672
|
+
}
|
|
815
673
|
},
|
|
816
674
|
kitContracts: {
|
|
817
675
|
bridge: BRIDGE_CONTRACT_EVM_TESTNET,
|
|
818
|
-
adapter: ADAPTER_CONTRACT_EVM_TESTNET
|
|
676
|
+
adapter: ADAPTER_CONTRACT_EVM_TESTNET
|
|
819
677
|
},
|
|
820
678
|
gateway: {
|
|
821
679
|
domain: 26,
|
|
822
680
|
contracts: {
|
|
823
681
|
v1: {
|
|
824
682
|
wallet: GATEWAY_WALLET_EVM_TESTNET,
|
|
825
|
-
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
826
|
-
}
|
|
683
|
+
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
684
|
+
}
|
|
827
685
|
},
|
|
828
686
|
forwarderSupported: {
|
|
829
687
|
source: true,
|
|
830
|
-
destination: true
|
|
831
|
-
}
|
|
832
|
-
}
|
|
688
|
+
destination: true
|
|
689
|
+
}
|
|
690
|
+
}
|
|
833
691
|
});
|
|
834
692
|
|
|
835
693
|
/**
|
|
836
694
|
* Arbitrum Mainnet chain definition
|
|
837
695
|
* @remarks
|
|
838
696
|
* This represents the official production network for the Arbitrum blockchain.
|
|
839
|
-
*/
|
|
840
|
-
const Arbitrum = defineChain({
|
|
697
|
+
*/ const Arbitrum = defineChain({
|
|
841
698
|
type: 'evm',
|
|
842
699
|
chain: Blockchain.Arbitrum,
|
|
843
700
|
name: 'Arbitrum',
|
|
@@ -845,12 +702,14 @@ const Arbitrum = defineChain({
|
|
|
845
702
|
nativeCurrency: {
|
|
846
703
|
name: 'Ether',
|
|
847
704
|
symbol: 'ETH',
|
|
848
|
-
decimals: 18
|
|
705
|
+
decimals: 18
|
|
849
706
|
},
|
|
850
707
|
chainId: 42161,
|
|
851
708
|
isTestnet: false,
|
|
852
709
|
explorerUrl: 'https://arbiscan.io/tx/{hash}',
|
|
853
|
-
rpcEndpoints: [
|
|
710
|
+
rpcEndpoints: [
|
|
711
|
+
'https://arb1.arbitrum.io/rpc'
|
|
712
|
+
],
|
|
854
713
|
eurcAddress: null,
|
|
855
714
|
usdcAddress: '0xaf88d065e77c8cc2239327c5edb3a432268e5831',
|
|
856
715
|
usdtAddress: null,
|
|
@@ -861,46 +720,45 @@ const Arbitrum = defineChain({
|
|
|
861
720
|
type: 'split',
|
|
862
721
|
tokenMessenger: '0x19330d10D9Cc8751218eaf51E8885D058642E08A',
|
|
863
722
|
messageTransmitter: '0xC30362313FBBA5cf9163F0bb16a0e01f01A896ca',
|
|
864
|
-
confirmations: 65
|
|
723
|
+
confirmations: 65
|
|
865
724
|
},
|
|
866
725
|
v2: {
|
|
867
726
|
type: 'split',
|
|
868
727
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
869
728
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
870
729
|
confirmations: 65,
|
|
871
|
-
fastConfirmations: 1
|
|
872
|
-
}
|
|
730
|
+
fastConfirmations: 1
|
|
731
|
+
}
|
|
873
732
|
},
|
|
874
733
|
forwarderSupported: {
|
|
875
|
-
source:
|
|
876
|
-
destination: true
|
|
877
|
-
}
|
|
734
|
+
source: false,
|
|
735
|
+
destination: true
|
|
736
|
+
}
|
|
878
737
|
},
|
|
879
738
|
kitContracts: {
|
|
880
739
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
881
|
-
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
740
|
+
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
882
741
|
},
|
|
883
742
|
gateway: {
|
|
884
743
|
domain: 3,
|
|
885
744
|
contracts: {
|
|
886
745
|
v1: {
|
|
887
746
|
wallet: GATEWAY_WALLET_EVM_MAINNET,
|
|
888
|
-
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
889
|
-
}
|
|
747
|
+
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
748
|
+
}
|
|
890
749
|
},
|
|
891
750
|
forwarderSupported: {
|
|
892
751
|
source: true,
|
|
893
|
-
destination: true
|
|
894
|
-
}
|
|
895
|
-
}
|
|
752
|
+
destination: true
|
|
753
|
+
}
|
|
754
|
+
}
|
|
896
755
|
});
|
|
897
756
|
|
|
898
757
|
/**
|
|
899
758
|
* Arbitrum Sepolia Testnet chain definition
|
|
900
759
|
* @remarks
|
|
901
760
|
* This represents the official test network for the Arbitrum blockchain on Sepolia.
|
|
902
|
-
*/
|
|
903
|
-
const ArbitrumSepolia = defineChain({
|
|
761
|
+
*/ const ArbitrumSepolia = defineChain({
|
|
904
762
|
type: 'evm',
|
|
905
763
|
chain: Blockchain.Arbitrum_Sepolia,
|
|
906
764
|
name: 'Arbitrum Sepolia',
|
|
@@ -908,12 +766,14 @@ const ArbitrumSepolia = defineChain({
|
|
|
908
766
|
nativeCurrency: {
|
|
909
767
|
name: 'Sepolia Ether',
|
|
910
768
|
symbol: 'ETH',
|
|
911
|
-
decimals: 18
|
|
769
|
+
decimals: 18
|
|
912
770
|
},
|
|
913
771
|
chainId: 421614,
|
|
914
772
|
isTestnet: true,
|
|
915
773
|
explorerUrl: 'https://sepolia.arbiscan.io/tx/{hash}',
|
|
916
|
-
rpcEndpoints: [
|
|
774
|
+
rpcEndpoints: [
|
|
775
|
+
'https://sepolia-rollup.arbitrum.io/rpc'
|
|
776
|
+
],
|
|
917
777
|
eurcAddress: null,
|
|
918
778
|
usdcAddress: '0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d',
|
|
919
779
|
usdtAddress: null,
|
|
@@ -924,45 +784,45 @@ const ArbitrumSepolia = defineChain({
|
|
|
924
784
|
type: 'split',
|
|
925
785
|
tokenMessenger: '0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5',
|
|
926
786
|
messageTransmitter: '0xaCF1ceeF35caAc005e15888dDb8A3515C41B4872',
|
|
927
|
-
confirmations: 65
|
|
787
|
+
confirmations: 65
|
|
928
788
|
},
|
|
929
789
|
v2: {
|
|
930
790
|
type: 'split',
|
|
931
791
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
932
792
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
933
793
|
confirmations: 65,
|
|
934
|
-
fastConfirmations: 1
|
|
935
|
-
}
|
|
794
|
+
fastConfirmations: 1
|
|
795
|
+
}
|
|
936
796
|
},
|
|
937
797
|
forwarderSupported: {
|
|
938
|
-
source:
|
|
939
|
-
destination: true
|
|
940
|
-
}
|
|
798
|
+
source: false,
|
|
799
|
+
destination: true
|
|
800
|
+
}
|
|
941
801
|
},
|
|
942
802
|
kitContracts: {
|
|
943
803
|
bridge: BRIDGE_CONTRACT_EVM_TESTNET,
|
|
804
|
+
adapter: ADAPTER_CONTRACT_EVM_TESTNET
|
|
944
805
|
},
|
|
945
806
|
gateway: {
|
|
946
807
|
domain: 3,
|
|
947
808
|
contracts: {
|
|
948
809
|
v1: {
|
|
949
810
|
wallet: GATEWAY_WALLET_EVM_TESTNET,
|
|
950
|
-
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
951
|
-
}
|
|
811
|
+
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
812
|
+
}
|
|
952
813
|
},
|
|
953
814
|
forwarderSupported: {
|
|
954
815
|
source: true,
|
|
955
|
-
destination: true
|
|
956
|
-
}
|
|
957
|
-
}
|
|
816
|
+
destination: true
|
|
817
|
+
}
|
|
818
|
+
}
|
|
958
819
|
});
|
|
959
820
|
|
|
960
821
|
/**
|
|
961
822
|
* Avalanche Mainnet chain definition
|
|
962
823
|
* @remarks
|
|
963
824
|
* This represents the official production network for the Avalanche blockchain.
|
|
964
|
-
*/
|
|
965
|
-
const Avalanche = defineChain({
|
|
825
|
+
*/ const Avalanche = defineChain({
|
|
966
826
|
type: 'evm',
|
|
967
827
|
chain: Blockchain.Avalanche,
|
|
968
828
|
name: 'Avalanche',
|
|
@@ -970,12 +830,14 @@ const Avalanche = defineChain({
|
|
|
970
830
|
nativeCurrency: {
|
|
971
831
|
name: 'Avalanche',
|
|
972
832
|
symbol: 'AVAX',
|
|
973
|
-
decimals: 18
|
|
833
|
+
decimals: 18
|
|
974
834
|
},
|
|
975
835
|
chainId: 43114,
|
|
976
836
|
isTestnet: false,
|
|
977
837
|
explorerUrl: 'https://subnets.avax.network/c-chain/tx/{hash}',
|
|
978
|
-
rpcEndpoints: [
|
|
838
|
+
rpcEndpoints: [
|
|
839
|
+
'https://api.avax.network/ext/bc/C/rpc'
|
|
840
|
+
],
|
|
979
841
|
eurcAddress: '0xc891eb4cbdeff6e073e859e987815ed1505c2acd',
|
|
980
842
|
usdcAddress: '0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E',
|
|
981
843
|
usdtAddress: '0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7',
|
|
@@ -986,46 +848,45 @@ const Avalanche = defineChain({
|
|
|
986
848
|
type: 'split',
|
|
987
849
|
tokenMessenger: '0x6b25532e1060ce10cc3b0a99e5683b91bfde6982',
|
|
988
850
|
messageTransmitter: '0x8186359af5f57fbb40c6b14a588d2a59c0c29880',
|
|
989
|
-
confirmations: 1
|
|
851
|
+
confirmations: 1
|
|
990
852
|
},
|
|
991
853
|
v2: {
|
|
992
854
|
type: 'split',
|
|
993
855
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
994
856
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
995
857
|
confirmations: 1,
|
|
996
|
-
fastConfirmations: 1
|
|
997
|
-
}
|
|
858
|
+
fastConfirmations: 1
|
|
859
|
+
}
|
|
998
860
|
},
|
|
999
861
|
forwarderSupported: {
|
|
1000
|
-
source:
|
|
1001
|
-
destination: true
|
|
1002
|
-
}
|
|
862
|
+
source: false,
|
|
863
|
+
destination: true
|
|
864
|
+
}
|
|
1003
865
|
},
|
|
1004
866
|
kitContracts: {
|
|
1005
867
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
1006
|
-
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
868
|
+
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
1007
869
|
},
|
|
1008
870
|
gateway: {
|
|
1009
871
|
domain: 1,
|
|
1010
872
|
contracts: {
|
|
1011
873
|
v1: {
|
|
1012
874
|
wallet: GATEWAY_WALLET_EVM_MAINNET,
|
|
1013
|
-
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
1014
|
-
}
|
|
875
|
+
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
876
|
+
}
|
|
1015
877
|
},
|
|
1016
878
|
forwarderSupported: {
|
|
1017
879
|
source: true,
|
|
1018
|
-
destination: true
|
|
1019
|
-
}
|
|
1020
|
-
}
|
|
880
|
+
destination: true
|
|
881
|
+
}
|
|
882
|
+
}
|
|
1021
883
|
});
|
|
1022
884
|
|
|
1023
885
|
/**
|
|
1024
886
|
* Avalanche Fuji Testnet chain definition
|
|
1025
887
|
* @remarks
|
|
1026
888
|
* This represents the official test network for the Avalanche blockchain.
|
|
1027
|
-
*/
|
|
1028
|
-
const AvalancheFuji = defineChain({
|
|
889
|
+
*/ const AvalancheFuji = defineChain({
|
|
1029
890
|
type: 'evm',
|
|
1030
891
|
chain: Blockchain.Avalanche_Fuji,
|
|
1031
892
|
name: 'Avalanche Fuji',
|
|
@@ -1033,7 +894,7 @@ const AvalancheFuji = defineChain({
|
|
|
1033
894
|
nativeCurrency: {
|
|
1034
895
|
name: 'Avalanche',
|
|
1035
896
|
symbol: 'AVAX',
|
|
1036
|
-
decimals: 18
|
|
897
|
+
decimals: 18
|
|
1037
898
|
},
|
|
1038
899
|
chainId: 43113,
|
|
1039
900
|
isTestnet: true,
|
|
@@ -1048,46 +909,47 @@ const AvalancheFuji = defineChain({
|
|
|
1048
909
|
type: 'split',
|
|
1049
910
|
tokenMessenger: '0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0',
|
|
1050
911
|
messageTransmitter: '0xa9fb1b3009dcb79e2fe346c16a604b8fa8ae0a79',
|
|
1051
|
-
confirmations: 1
|
|
912
|
+
confirmations: 1
|
|
1052
913
|
},
|
|
1053
914
|
v2: {
|
|
1054
915
|
type: 'split',
|
|
1055
916
|
tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
|
|
1056
917
|
messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
|
|
1057
918
|
confirmations: 1,
|
|
1058
|
-
fastConfirmations: 1
|
|
1059
|
-
}
|
|
919
|
+
fastConfirmations: 1
|
|
920
|
+
}
|
|
1060
921
|
},
|
|
1061
922
|
forwarderSupported: {
|
|
1062
|
-
source:
|
|
1063
|
-
destination: true
|
|
1064
|
-
}
|
|
923
|
+
source: false,
|
|
924
|
+
destination: true
|
|
925
|
+
}
|
|
1065
926
|
},
|
|
1066
|
-
rpcEndpoints: [
|
|
927
|
+
rpcEndpoints: [
|
|
928
|
+
'https://api.avax-test.network/ext/bc/C/rpc'
|
|
929
|
+
],
|
|
1067
930
|
kitContracts: {
|
|
1068
|
-
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
931
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
1069
932
|
},
|
|
1070
933
|
gateway: {
|
|
1071
934
|
domain: 1,
|
|
1072
935
|
contracts: {
|
|
1073
936
|
v1: {
|
|
1074
937
|
wallet: GATEWAY_WALLET_EVM_TESTNET,
|
|
1075
|
-
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
1076
|
-
}
|
|
938
|
+
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
939
|
+
}
|
|
1077
940
|
},
|
|
1078
941
|
forwarderSupported: {
|
|
1079
942
|
source: true,
|
|
1080
|
-
destination: true
|
|
1081
|
-
}
|
|
1082
|
-
}
|
|
943
|
+
destination: true
|
|
944
|
+
}
|
|
945
|
+
}
|
|
1083
946
|
});
|
|
1084
947
|
|
|
1085
948
|
/**
|
|
1086
949
|
* Base chain definition
|
|
1087
950
|
* @remarks
|
|
1088
951
|
* This represents the official production network for the Base blockchain.
|
|
1089
|
-
*/
|
|
1090
|
-
const Base = defineChain({
|
|
952
|
+
*/ const Base = defineChain({
|
|
1091
953
|
type: 'evm',
|
|
1092
954
|
chain: Blockchain.Base,
|
|
1093
955
|
name: 'Base',
|
|
@@ -1095,12 +957,15 @@ const Base = defineChain({
|
|
|
1095
957
|
nativeCurrency: {
|
|
1096
958
|
name: 'Ether',
|
|
1097
959
|
symbol: 'ETH',
|
|
1098
|
-
decimals: 18
|
|
960
|
+
decimals: 18
|
|
1099
961
|
},
|
|
1100
962
|
chainId: 8453,
|
|
1101
963
|
isTestnet: false,
|
|
1102
964
|
explorerUrl: 'https://basescan.org/tx/{hash}',
|
|
1103
|
-
rpcEndpoints: [
|
|
965
|
+
rpcEndpoints: [
|
|
966
|
+
'https://mainnet.base.org',
|
|
967
|
+
'https://base.publicnode.com'
|
|
968
|
+
],
|
|
1104
969
|
eurcAddress: '0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42',
|
|
1105
970
|
usdcAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
|
|
1106
971
|
usdtAddress: null,
|
|
@@ -1111,46 +976,45 @@ const Base = defineChain({
|
|
|
1111
976
|
type: 'split',
|
|
1112
977
|
tokenMessenger: '0x1682Ae6375C4E4A97e4B583BC394c861A46D8962',
|
|
1113
978
|
messageTransmitter: '0xAD09780d193884d503182aD4588450C416D6F9D4',
|
|
1114
|
-
confirmations: 65
|
|
979
|
+
confirmations: 65
|
|
1115
980
|
},
|
|
1116
981
|
v2: {
|
|
1117
982
|
type: 'split',
|
|
1118
983
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
1119
984
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
1120
985
|
confirmations: 65,
|
|
1121
|
-
fastConfirmations: 1
|
|
1122
|
-
}
|
|
986
|
+
fastConfirmations: 1
|
|
987
|
+
}
|
|
1123
988
|
},
|
|
1124
989
|
forwarderSupported: {
|
|
1125
|
-
source:
|
|
1126
|
-
destination: true
|
|
1127
|
-
}
|
|
990
|
+
source: false,
|
|
991
|
+
destination: true
|
|
992
|
+
}
|
|
1128
993
|
},
|
|
1129
994
|
kitContracts: {
|
|
1130
995
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
1131
|
-
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
996
|
+
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
1132
997
|
},
|
|
1133
998
|
gateway: {
|
|
1134
999
|
domain: 6,
|
|
1135
1000
|
contracts: {
|
|
1136
1001
|
v1: {
|
|
1137
1002
|
wallet: GATEWAY_WALLET_EVM_MAINNET,
|
|
1138
|
-
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
1139
|
-
}
|
|
1003
|
+
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
1004
|
+
}
|
|
1140
1005
|
},
|
|
1141
1006
|
forwarderSupported: {
|
|
1142
1007
|
source: true,
|
|
1143
|
-
destination: true
|
|
1144
|
-
}
|
|
1145
|
-
}
|
|
1008
|
+
destination: true
|
|
1009
|
+
}
|
|
1010
|
+
}
|
|
1146
1011
|
});
|
|
1147
1012
|
|
|
1148
1013
|
/**
|
|
1149
1014
|
* Base Sepolia Testnet chain definition
|
|
1150
1015
|
* @remarks
|
|
1151
1016
|
* This represents the official test network for the Base blockchain on Sepolia.
|
|
1152
|
-
*/
|
|
1153
|
-
const BaseSepolia = defineChain({
|
|
1017
|
+
*/ const BaseSepolia = defineChain({
|
|
1154
1018
|
type: 'evm',
|
|
1155
1019
|
chain: Blockchain.Base_Sepolia,
|
|
1156
1020
|
name: 'Base Sepolia',
|
|
@@ -1158,12 +1022,14 @@ const BaseSepolia = defineChain({
|
|
|
1158
1022
|
nativeCurrency: {
|
|
1159
1023
|
name: 'Sepolia Ether',
|
|
1160
1024
|
symbol: 'ETH',
|
|
1161
|
-
decimals: 18
|
|
1025
|
+
decimals: 18
|
|
1162
1026
|
},
|
|
1163
1027
|
chainId: 84532,
|
|
1164
1028
|
isTestnet: true,
|
|
1165
1029
|
explorerUrl: 'https://sepolia.basescan.org/tx/{hash}',
|
|
1166
|
-
rpcEndpoints: [
|
|
1030
|
+
rpcEndpoints: [
|
|
1031
|
+
'https://sepolia.base.org'
|
|
1032
|
+
],
|
|
1167
1033
|
eurcAddress: '0x808456652fdb597867f38412077A9182bf77359F',
|
|
1168
1034
|
usdcAddress: '0x036CbD53842c5426634e7929541eC2318f3dCF7e',
|
|
1169
1035
|
usdtAddress: null,
|
|
@@ -1174,45 +1040,45 @@ const BaseSepolia = defineChain({
|
|
|
1174
1040
|
type: 'split',
|
|
1175
1041
|
tokenMessenger: '0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5',
|
|
1176
1042
|
messageTransmitter: '0x7865fAfC2db2093669d92c0F33AeEF291086BEFD',
|
|
1177
|
-
confirmations: 65
|
|
1043
|
+
confirmations: 65
|
|
1178
1044
|
},
|
|
1179
1045
|
v2: {
|
|
1180
1046
|
type: 'split',
|
|
1181
1047
|
tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
|
|
1182
1048
|
messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
|
|
1183
1049
|
confirmations: 65,
|
|
1184
|
-
fastConfirmations: 1
|
|
1185
|
-
}
|
|
1050
|
+
fastConfirmations: 1
|
|
1051
|
+
}
|
|
1186
1052
|
},
|
|
1187
1053
|
forwarderSupported: {
|
|
1188
|
-
source:
|
|
1189
|
-
destination: true
|
|
1190
|
-
}
|
|
1054
|
+
source: false,
|
|
1055
|
+
destination: true
|
|
1056
|
+
}
|
|
1191
1057
|
},
|
|
1192
1058
|
kitContracts: {
|
|
1193
1059
|
bridge: BRIDGE_CONTRACT_EVM_TESTNET,
|
|
1060
|
+
adapter: ADAPTER_CONTRACT_EVM_TESTNET
|
|
1194
1061
|
},
|
|
1195
1062
|
gateway: {
|
|
1196
1063
|
domain: 6,
|
|
1197
1064
|
contracts: {
|
|
1198
1065
|
v1: {
|
|
1199
1066
|
wallet: GATEWAY_WALLET_EVM_TESTNET,
|
|
1200
|
-
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
1201
|
-
}
|
|
1067
|
+
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
1068
|
+
}
|
|
1202
1069
|
},
|
|
1203
1070
|
forwarderSupported: {
|
|
1204
1071
|
source: true,
|
|
1205
|
-
destination: true
|
|
1206
|
-
}
|
|
1207
|
-
}
|
|
1072
|
+
destination: true
|
|
1073
|
+
}
|
|
1074
|
+
}
|
|
1208
1075
|
});
|
|
1209
1076
|
|
|
1210
1077
|
/**
|
|
1211
1078
|
* Celo Mainnet chain definition
|
|
1212
1079
|
* @remarks
|
|
1213
1080
|
* This represents the official production network for the Celo blockchain.
|
|
1214
|
-
*/
|
|
1215
|
-
defineChain({
|
|
1081
|
+
*/ defineChain({
|
|
1216
1082
|
type: 'evm',
|
|
1217
1083
|
chain: Blockchain.Celo,
|
|
1218
1084
|
name: 'Celo',
|
|
@@ -1220,24 +1086,25 @@ defineChain({
|
|
|
1220
1086
|
nativeCurrency: {
|
|
1221
1087
|
name: 'Celo',
|
|
1222
1088
|
symbol: 'CELO',
|
|
1223
|
-
decimals: 18
|
|
1089
|
+
decimals: 18
|
|
1224
1090
|
},
|
|
1225
1091
|
chainId: 42220,
|
|
1226
1092
|
isTestnet: false,
|
|
1227
1093
|
explorerUrl: 'https://celoscan.io/tx/{hash}',
|
|
1228
|
-
rpcEndpoints: [
|
|
1094
|
+
rpcEndpoints: [
|
|
1095
|
+
'https://forno.celo.org'
|
|
1096
|
+
],
|
|
1229
1097
|
eurcAddress: null,
|
|
1230
1098
|
usdcAddress: '0xcebA9300f2b948710d2653dD7B07f33A8B32118C',
|
|
1231
1099
|
usdtAddress: '0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e',
|
|
1232
|
-
cctp: null
|
|
1100
|
+
cctp: null
|
|
1233
1101
|
});
|
|
1234
1102
|
|
|
1235
1103
|
/**
|
|
1236
1104
|
* Celo Alfajores Testnet chain definition
|
|
1237
1105
|
* @remarks
|
|
1238
1106
|
* This represents the official test network for the Celo blockchain.
|
|
1239
|
-
*/
|
|
1240
|
-
defineChain({
|
|
1107
|
+
*/ defineChain({
|
|
1241
1108
|
type: 'evm',
|
|
1242
1109
|
chain: Blockchain.Celo_Alfajores_Testnet,
|
|
1243
1110
|
name: 'Celo Alfajores',
|
|
@@ -1245,24 +1112,25 @@ defineChain({
|
|
|
1245
1112
|
nativeCurrency: {
|
|
1246
1113
|
name: 'Celo',
|
|
1247
1114
|
symbol: 'CELO',
|
|
1248
|
-
decimals: 18
|
|
1115
|
+
decimals: 18
|
|
1249
1116
|
},
|
|
1250
1117
|
chainId: 44787,
|
|
1251
1118
|
isTestnet: true,
|
|
1252
1119
|
explorerUrl: 'https://alfajores.celoscan.io/tx/{hash}',
|
|
1253
|
-
rpcEndpoints: [
|
|
1120
|
+
rpcEndpoints: [
|
|
1121
|
+
'https://alfajores-forno.celo-testnet.org'
|
|
1122
|
+
],
|
|
1254
1123
|
eurcAddress: null,
|
|
1255
1124
|
usdcAddress: '0x2F25deB3848C207fc8E0c34035B3Ba7fC157602B',
|
|
1256
1125
|
usdtAddress: null,
|
|
1257
|
-
cctp: null
|
|
1126
|
+
cctp: null
|
|
1258
1127
|
});
|
|
1259
1128
|
|
|
1260
1129
|
/**
|
|
1261
1130
|
* Codex Mainnet chain definition
|
|
1262
1131
|
* @remarks
|
|
1263
1132
|
* This represents the main network for the Codex blockchain.
|
|
1264
|
-
*/
|
|
1265
|
-
const Codex = defineChain({
|
|
1133
|
+
*/ const Codex = defineChain({
|
|
1266
1134
|
type: 'evm',
|
|
1267
1135
|
chain: Blockchain.Codex,
|
|
1268
1136
|
name: 'Codex Mainnet',
|
|
@@ -1270,12 +1138,14 @@ const Codex = defineChain({
|
|
|
1270
1138
|
nativeCurrency: {
|
|
1271
1139
|
name: 'ETH',
|
|
1272
1140
|
symbol: 'ETH',
|
|
1273
|
-
decimals: 18
|
|
1141
|
+
decimals: 18
|
|
1274
1142
|
},
|
|
1275
1143
|
chainId: 81224,
|
|
1276
1144
|
isTestnet: false,
|
|
1277
1145
|
explorerUrl: 'https://explorer.codex.xyz/tx/{hash}',
|
|
1278
|
-
rpcEndpoints: [
|
|
1146
|
+
rpcEndpoints: [
|
|
1147
|
+
'https://rpc.codex.xyz'
|
|
1148
|
+
],
|
|
1279
1149
|
eurcAddress: null,
|
|
1280
1150
|
usdcAddress: '0xd996633a415985DBd7D6D12f4A4343E31f5037cf',
|
|
1281
1151
|
usdtAddress: null,
|
|
@@ -1287,25 +1157,24 @@ const Codex = defineChain({
|
|
|
1287
1157
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
1288
1158
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
1289
1159
|
confirmations: 65,
|
|
1290
|
-
fastConfirmations: 1
|
|
1291
|
-
}
|
|
1160
|
+
fastConfirmations: 1
|
|
1161
|
+
}
|
|
1292
1162
|
},
|
|
1293
1163
|
forwarderSupported: {
|
|
1294
|
-
source:
|
|
1295
|
-
destination: true
|
|
1296
|
-
}
|
|
1164
|
+
source: false,
|
|
1165
|
+
destination: true
|
|
1166
|
+
}
|
|
1297
1167
|
},
|
|
1298
1168
|
kitContracts: {
|
|
1299
|
-
bridge: BRIDGE_CONTRACT_EVM_MAINNET
|
|
1300
|
-
}
|
|
1169
|
+
bridge: BRIDGE_CONTRACT_EVM_MAINNET
|
|
1170
|
+
}
|
|
1301
1171
|
});
|
|
1302
1172
|
|
|
1303
1173
|
/**
|
|
1304
1174
|
* Codex Testnet chain definition
|
|
1305
1175
|
* @remarks
|
|
1306
1176
|
* This represents the test network for the Codex blockchain.
|
|
1307
|
-
*/
|
|
1308
|
-
const CodexTestnet = defineChain({
|
|
1177
|
+
*/ const CodexTestnet = defineChain({
|
|
1309
1178
|
type: 'evm',
|
|
1310
1179
|
chain: Blockchain.Codex_Testnet,
|
|
1311
1180
|
name: 'Codex Testnet',
|
|
@@ -1313,12 +1182,14 @@ const CodexTestnet = defineChain({
|
|
|
1313
1182
|
nativeCurrency: {
|
|
1314
1183
|
name: 'ETH',
|
|
1315
1184
|
symbol: 'ETH',
|
|
1316
|
-
decimals: 18
|
|
1185
|
+
decimals: 18
|
|
1317
1186
|
},
|
|
1318
1187
|
chainId: 812242,
|
|
1319
1188
|
isTestnet: true,
|
|
1320
1189
|
explorerUrl: 'https://explorer.codex-stg.xyz/tx/{hash}',
|
|
1321
|
-
rpcEndpoints: [
|
|
1190
|
+
rpcEndpoints: [
|
|
1191
|
+
'https://rpc.codex-stg.xyz'
|
|
1192
|
+
],
|
|
1322
1193
|
eurcAddress: null,
|
|
1323
1194
|
usdcAddress: '0x6d7f141b6819C2c9CC2f818e6ad549E7Ca090F8f',
|
|
1324
1195
|
usdtAddress: null,
|
|
@@ -1330,17 +1201,17 @@ const CodexTestnet = defineChain({
|
|
|
1330
1201
|
tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
|
|
1331
1202
|
messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
|
|
1332
1203
|
confirmations: 65,
|
|
1333
|
-
fastConfirmations: 1
|
|
1334
|
-
}
|
|
1204
|
+
fastConfirmations: 1
|
|
1205
|
+
}
|
|
1335
1206
|
},
|
|
1336
1207
|
forwarderSupported: {
|
|
1337
|
-
source:
|
|
1338
|
-
destination: true
|
|
1339
|
-
}
|
|
1208
|
+
source: false,
|
|
1209
|
+
destination: true
|
|
1210
|
+
}
|
|
1340
1211
|
},
|
|
1341
1212
|
kitContracts: {
|
|
1342
|
-
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
1343
|
-
}
|
|
1213
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
1214
|
+
}
|
|
1344
1215
|
});
|
|
1345
1216
|
|
|
1346
1217
|
/**
|
|
@@ -1348,8 +1219,7 @@ const CodexTestnet = defineChain({
|
|
|
1348
1219
|
* @remarks
|
|
1349
1220
|
* This represents the official production network for the Edge blockchain.
|
|
1350
1221
|
* Edge is an EVM-compatible blockchain.
|
|
1351
|
-
*/
|
|
1352
|
-
defineChain({
|
|
1222
|
+
*/ defineChain({
|
|
1353
1223
|
type: 'evm',
|
|
1354
1224
|
chain: Blockchain.Edge,
|
|
1355
1225
|
name: 'Edge',
|
|
@@ -1357,12 +1227,14 @@ defineChain({
|
|
|
1357
1227
|
nativeCurrency: {
|
|
1358
1228
|
name: 'Ether',
|
|
1359
1229
|
symbol: 'ETH',
|
|
1360
|
-
decimals: 18
|
|
1230
|
+
decimals: 18
|
|
1361
1231
|
},
|
|
1362
1232
|
chainId: 3343,
|
|
1363
1233
|
isTestnet: false,
|
|
1364
1234
|
explorerUrl: 'https://pro.edgex.exchange/en-US/explorer/tx/{hash}',
|
|
1365
|
-
rpcEndpoints: [
|
|
1235
|
+
rpcEndpoints: [
|
|
1236
|
+
'https://edge-mainnet.g.alchemy.com/public'
|
|
1237
|
+
],
|
|
1366
1238
|
eurcAddress: null,
|
|
1367
1239
|
usdcAddress: '0x98d2919b9A214E6Fa5384AC81E6864bA686Ad74c',
|
|
1368
1240
|
usdtAddress: null,
|
|
@@ -1374,17 +1246,17 @@ defineChain({
|
|
|
1374
1246
|
tokenMessenger: '0x98706A006bc632Df31CAdFCBD43F38887ce2ca5c',
|
|
1375
1247
|
messageTransmitter: '0x5b61381Fc9e58E70EfC13a4A97516997019198ee',
|
|
1376
1248
|
confirmations: 65,
|
|
1377
|
-
fastConfirmations: 1
|
|
1378
|
-
}
|
|
1249
|
+
fastConfirmations: 1
|
|
1250
|
+
}
|
|
1379
1251
|
},
|
|
1380
1252
|
forwarderSupported: {
|
|
1381
|
-
source:
|
|
1382
|
-
destination: true
|
|
1383
|
-
}
|
|
1253
|
+
source: false,
|
|
1254
|
+
destination: true
|
|
1255
|
+
}
|
|
1384
1256
|
},
|
|
1385
1257
|
kitContracts: {
|
|
1386
|
-
bridge: '0x6D1AaE1c34Aeb582022916a67f2A655C6f4eDFF2'
|
|
1387
|
-
}
|
|
1258
|
+
bridge: '0x6D1AaE1c34Aeb582022916a67f2A655C6f4eDFF2'
|
|
1259
|
+
}
|
|
1388
1260
|
});
|
|
1389
1261
|
|
|
1390
1262
|
/**
|
|
@@ -1392,8 +1264,7 @@ defineChain({
|
|
|
1392
1264
|
* @remarks
|
|
1393
1265
|
* This represents the official test network for the Edge blockchain.
|
|
1394
1266
|
* Edge is an EVM-compatible blockchain.
|
|
1395
|
-
*/
|
|
1396
|
-
defineChain({
|
|
1267
|
+
*/ defineChain({
|
|
1397
1268
|
type: 'evm',
|
|
1398
1269
|
chain: Blockchain.Edge_Testnet,
|
|
1399
1270
|
name: 'Edge Testnet',
|
|
@@ -1401,12 +1272,14 @@ defineChain({
|
|
|
1401
1272
|
nativeCurrency: {
|
|
1402
1273
|
name: 'Ether',
|
|
1403
1274
|
symbol: 'ETH',
|
|
1404
|
-
decimals: 18
|
|
1275
|
+
decimals: 18
|
|
1405
1276
|
},
|
|
1406
1277
|
chainId: 33431,
|
|
1407
1278
|
isTestnet: true,
|
|
1408
1279
|
explorerUrl: 'https://edge-testnet.explorer.alchemy.com/tx/{hash}',
|
|
1409
|
-
rpcEndpoints: [
|
|
1280
|
+
rpcEndpoints: [
|
|
1281
|
+
'https://edge-testnet.g.alchemy.com/public'
|
|
1282
|
+
],
|
|
1410
1283
|
eurcAddress: null,
|
|
1411
1284
|
usdcAddress: '0x2d9F7CAD728051AA35Ecdc472a14cf8cDF5CFD6B',
|
|
1412
1285
|
usdtAddress: null,
|
|
@@ -1418,25 +1291,24 @@ defineChain({
|
|
|
1418
1291
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
1419
1292
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
1420
1293
|
confirmations: 65,
|
|
1421
|
-
fastConfirmations: 1
|
|
1422
|
-
}
|
|
1294
|
+
fastConfirmations: 1
|
|
1295
|
+
}
|
|
1423
1296
|
},
|
|
1424
1297
|
forwarderSupported: {
|
|
1425
|
-
source:
|
|
1426
|
-
destination: true
|
|
1427
|
-
}
|
|
1298
|
+
source: false,
|
|
1299
|
+
destination: true
|
|
1300
|
+
}
|
|
1428
1301
|
},
|
|
1429
1302
|
kitContracts: {
|
|
1430
|
-
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
1431
|
-
}
|
|
1303
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
1304
|
+
}
|
|
1432
1305
|
});
|
|
1433
1306
|
|
|
1434
1307
|
/**
|
|
1435
1308
|
* Ethereum Mainnet chain definition
|
|
1436
1309
|
* @remarks
|
|
1437
1310
|
* This represents the official production network for the Ethereum blockchain.
|
|
1438
|
-
*/
|
|
1439
|
-
const Ethereum = defineChain({
|
|
1311
|
+
*/ const Ethereum = defineChain({
|
|
1440
1312
|
type: 'evm',
|
|
1441
1313
|
chain: Blockchain.Ethereum,
|
|
1442
1314
|
name: 'Ethereum',
|
|
@@ -1444,14 +1316,14 @@ const Ethereum = defineChain({
|
|
|
1444
1316
|
nativeCurrency: {
|
|
1445
1317
|
name: 'Ether',
|
|
1446
1318
|
symbol: 'ETH',
|
|
1447
|
-
decimals: 18
|
|
1319
|
+
decimals: 18
|
|
1448
1320
|
},
|
|
1449
1321
|
chainId: 1,
|
|
1450
1322
|
isTestnet: false,
|
|
1451
1323
|
explorerUrl: 'https://etherscan.io/tx/{hash}',
|
|
1452
1324
|
rpcEndpoints: [
|
|
1453
1325
|
'https://ethereum-rpc.publicnode.com',
|
|
1454
|
-
'https://ethereum.publicnode.com'
|
|
1326
|
+
'https://ethereum.publicnode.com'
|
|
1455
1327
|
],
|
|
1456
1328
|
eurcAddress: '0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c',
|
|
1457
1329
|
usdcAddress: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
@@ -1463,46 +1335,45 @@ const Ethereum = defineChain({
|
|
|
1463
1335
|
type: 'split',
|
|
1464
1336
|
tokenMessenger: '0xbd3fa81b58ba92a82136038b25adec7066af3155',
|
|
1465
1337
|
messageTransmitter: '0x0a992d191deec32afe36203ad87d7d289a738f81',
|
|
1466
|
-
confirmations: 65
|
|
1338
|
+
confirmations: 65
|
|
1467
1339
|
},
|
|
1468
1340
|
v2: {
|
|
1469
1341
|
type: 'split',
|
|
1470
1342
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
1471
1343
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
1472
1344
|
confirmations: 65,
|
|
1473
|
-
fastConfirmations: 2
|
|
1474
|
-
}
|
|
1345
|
+
fastConfirmations: 2
|
|
1346
|
+
}
|
|
1475
1347
|
},
|
|
1476
1348
|
forwarderSupported: {
|
|
1477
|
-
source:
|
|
1478
|
-
destination: true
|
|
1479
|
-
}
|
|
1349
|
+
source: false,
|
|
1350
|
+
destination: true
|
|
1351
|
+
}
|
|
1480
1352
|
},
|
|
1481
1353
|
kitContracts: {
|
|
1482
1354
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
1483
|
-
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
1355
|
+
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
1484
1356
|
},
|
|
1485
1357
|
gateway: {
|
|
1486
1358
|
domain: 0,
|
|
1487
1359
|
contracts: {
|
|
1488
1360
|
v1: {
|
|
1489
1361
|
wallet: GATEWAY_WALLET_EVM_MAINNET,
|
|
1490
|
-
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
1491
|
-
}
|
|
1362
|
+
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
1363
|
+
}
|
|
1492
1364
|
},
|
|
1493
1365
|
forwarderSupported: {
|
|
1494
1366
|
source: true,
|
|
1495
|
-
destination: true
|
|
1496
|
-
}
|
|
1497
|
-
}
|
|
1367
|
+
destination: true
|
|
1368
|
+
}
|
|
1369
|
+
}
|
|
1498
1370
|
});
|
|
1499
1371
|
|
|
1500
1372
|
/**
|
|
1501
1373
|
* Ethereum Sepolia Testnet chain definition
|
|
1502
1374
|
* @remarks
|
|
1503
1375
|
* This represents the official test network for the Ethereum blockchain on Sepolia.
|
|
1504
|
-
*/
|
|
1505
|
-
const EthereumSepolia = defineChain({
|
|
1376
|
+
*/ const EthereumSepolia = defineChain({
|
|
1506
1377
|
type: 'evm',
|
|
1507
1378
|
chain: Blockchain.Ethereum_Sepolia,
|
|
1508
1379
|
name: 'Ethereum Sepolia',
|
|
@@ -1510,12 +1381,14 @@ const EthereumSepolia = defineChain({
|
|
|
1510
1381
|
nativeCurrency: {
|
|
1511
1382
|
name: 'Sepolia Ether',
|
|
1512
1383
|
symbol: 'ETH',
|
|
1513
|
-
decimals: 18
|
|
1384
|
+
decimals: 18
|
|
1514
1385
|
},
|
|
1515
1386
|
chainId: 11155111,
|
|
1516
1387
|
isTestnet: true,
|
|
1517
1388
|
explorerUrl: 'https://sepolia.etherscan.io/tx/{hash}',
|
|
1518
|
-
rpcEndpoints: [
|
|
1389
|
+
rpcEndpoints: [
|
|
1390
|
+
'https://ethereum-sepolia-rpc.publicnode.com'
|
|
1391
|
+
],
|
|
1519
1392
|
eurcAddress: '0x08210F9170F89Ab7658F0B5E3fF39b0E03C594D4',
|
|
1520
1393
|
usdcAddress: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238',
|
|
1521
1394
|
usdtAddress: null,
|
|
@@ -1526,45 +1399,45 @@ const EthereumSepolia = defineChain({
|
|
|
1526
1399
|
type: 'split',
|
|
1527
1400
|
tokenMessenger: '0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5',
|
|
1528
1401
|
messageTransmitter: '0x7865fAfC2db2093669d92c0F33AeEF291086BEFD',
|
|
1529
|
-
confirmations: 65
|
|
1402
|
+
confirmations: 65
|
|
1530
1403
|
},
|
|
1531
1404
|
v2: {
|
|
1532
1405
|
type: 'split',
|
|
1533
1406
|
tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
|
|
1534
1407
|
messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
|
|
1535
1408
|
confirmations: 65,
|
|
1536
|
-
fastConfirmations: 2
|
|
1537
|
-
}
|
|
1409
|
+
fastConfirmations: 2
|
|
1410
|
+
}
|
|
1538
1411
|
},
|
|
1539
1412
|
forwarderSupported: {
|
|
1540
|
-
source:
|
|
1541
|
-
destination: true
|
|
1542
|
-
}
|
|
1413
|
+
source: false,
|
|
1414
|
+
destination: true
|
|
1415
|
+
}
|
|
1543
1416
|
},
|
|
1544
1417
|
kitContracts: {
|
|
1545
1418
|
bridge: BRIDGE_CONTRACT_EVM_TESTNET,
|
|
1419
|
+
adapter: ADAPTER_CONTRACT_EVM_TESTNET
|
|
1546
1420
|
},
|
|
1547
1421
|
gateway: {
|
|
1548
1422
|
domain: 0,
|
|
1549
1423
|
contracts: {
|
|
1550
1424
|
v1: {
|
|
1551
1425
|
wallet: GATEWAY_WALLET_EVM_TESTNET,
|
|
1552
|
-
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
1553
|
-
}
|
|
1426
|
+
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
1427
|
+
}
|
|
1554
1428
|
},
|
|
1555
1429
|
forwarderSupported: {
|
|
1556
1430
|
source: true,
|
|
1557
|
-
destination: true
|
|
1558
|
-
}
|
|
1559
|
-
}
|
|
1431
|
+
destination: true
|
|
1432
|
+
}
|
|
1433
|
+
}
|
|
1560
1434
|
});
|
|
1561
1435
|
|
|
1562
1436
|
/**
|
|
1563
1437
|
* Hedera Mainnet chain definition
|
|
1564
1438
|
* @remarks
|
|
1565
1439
|
* This represents the official production network for the Hedera blockchain.
|
|
1566
|
-
*/
|
|
1567
|
-
defineChain({
|
|
1440
|
+
*/ defineChain({
|
|
1568
1441
|
type: 'hedera',
|
|
1569
1442
|
chain: Blockchain.Hedera,
|
|
1570
1443
|
name: 'Hedera',
|
|
@@ -1572,23 +1445,24 @@ defineChain({
|
|
|
1572
1445
|
nativeCurrency: {
|
|
1573
1446
|
name: 'HBAR',
|
|
1574
1447
|
symbol: 'HBAR',
|
|
1575
|
-
decimals: 18
|
|
1448
|
+
decimals: 18
|
|
1576
1449
|
},
|
|
1577
1450
|
isTestnet: false,
|
|
1578
|
-
explorerUrl: 'https://hashscan.io/mainnet/transaction/{hash}',
|
|
1579
|
-
rpcEndpoints: [
|
|
1451
|
+
explorerUrl: 'https://hashscan.io/mainnet/transaction/{hash}',
|
|
1452
|
+
rpcEndpoints: [
|
|
1453
|
+
'https://mainnet.hashio.io/api'
|
|
1454
|
+
],
|
|
1580
1455
|
eurcAddress: null,
|
|
1581
1456
|
usdcAddress: '0.0.456858',
|
|
1582
1457
|
usdtAddress: null,
|
|
1583
|
-
cctp: null
|
|
1458
|
+
cctp: null
|
|
1584
1459
|
});
|
|
1585
1460
|
|
|
1586
1461
|
/**
|
|
1587
1462
|
* Hedera Testnet chain definition
|
|
1588
1463
|
* @remarks
|
|
1589
1464
|
* This represents the official test network for the Hedera blockchain.
|
|
1590
|
-
*/
|
|
1591
|
-
defineChain({
|
|
1465
|
+
*/ defineChain({
|
|
1592
1466
|
type: 'hedera',
|
|
1593
1467
|
chain: Blockchain.Hedera_Testnet,
|
|
1594
1468
|
name: 'Hedera Testnet',
|
|
@@ -1596,15 +1470,17 @@ defineChain({
|
|
|
1596
1470
|
nativeCurrency: {
|
|
1597
1471
|
name: 'HBAR',
|
|
1598
1472
|
symbol: 'HBAR',
|
|
1599
|
-
decimals: 18
|
|
1473
|
+
decimals: 18
|
|
1600
1474
|
},
|
|
1601
1475
|
isTestnet: true,
|
|
1602
|
-
explorerUrl: 'https://hashscan.io/testnet/transaction/{hash}',
|
|
1603
|
-
rpcEndpoints: [
|
|
1476
|
+
explorerUrl: 'https://hashscan.io/testnet/transaction/{hash}',
|
|
1477
|
+
rpcEndpoints: [
|
|
1478
|
+
'https://testnet.hashio.io/api'
|
|
1479
|
+
],
|
|
1604
1480
|
eurcAddress: null,
|
|
1605
1481
|
usdcAddress: '0.0.429274',
|
|
1606
1482
|
usdtAddress: null,
|
|
1607
|
-
cctp: null
|
|
1483
|
+
cctp: null
|
|
1608
1484
|
});
|
|
1609
1485
|
|
|
1610
1486
|
/**
|
|
@@ -1613,8 +1489,7 @@ defineChain({
|
|
|
1613
1489
|
* This represents the official production network for the HyperEVM blockchain.
|
|
1614
1490
|
* HyperEVM is a Layer 1 blockchain specialized for DeFi and trading applications
|
|
1615
1491
|
* with native orderbook and matching engine.
|
|
1616
|
-
*/
|
|
1617
|
-
const HyperEVM = defineChain({
|
|
1492
|
+
*/ const HyperEVM = defineChain({
|
|
1618
1493
|
type: 'evm',
|
|
1619
1494
|
chain: Blockchain.HyperEVM,
|
|
1620
1495
|
name: 'HyperEVM',
|
|
@@ -1622,12 +1497,14 @@ const HyperEVM = defineChain({
|
|
|
1622
1497
|
nativeCurrency: {
|
|
1623
1498
|
name: 'Hype',
|
|
1624
1499
|
symbol: 'HYPE',
|
|
1625
|
-
decimals: 18
|
|
1500
|
+
decimals: 18
|
|
1626
1501
|
},
|
|
1627
1502
|
chainId: 999,
|
|
1628
1503
|
isTestnet: false,
|
|
1629
1504
|
explorerUrl: 'https://hyperevmscan.io/tx/{hash}',
|
|
1630
|
-
rpcEndpoints: [
|
|
1505
|
+
rpcEndpoints: [
|
|
1506
|
+
'https://rpc.hyperliquid.xyz/evm'
|
|
1507
|
+
],
|
|
1631
1508
|
eurcAddress: null,
|
|
1632
1509
|
usdcAddress: '0xb88339CB7199b77E23DB6E890353E22632Ba630f',
|
|
1633
1510
|
usdtAddress: null,
|
|
@@ -1639,31 +1516,31 @@ const HyperEVM = defineChain({
|
|
|
1639
1516
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
1640
1517
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
1641
1518
|
confirmations: 1,
|
|
1642
|
-
fastConfirmations: 1
|
|
1643
|
-
}
|
|
1519
|
+
fastConfirmations: 1
|
|
1520
|
+
}
|
|
1644
1521
|
},
|
|
1645
1522
|
forwarderSupported: {
|
|
1646
|
-
source:
|
|
1647
|
-
destination: true
|
|
1648
|
-
}
|
|
1523
|
+
source: false,
|
|
1524
|
+
destination: true
|
|
1525
|
+
}
|
|
1649
1526
|
},
|
|
1650
1527
|
kitContracts: {
|
|
1651
1528
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
1652
|
-
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
1529
|
+
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
1653
1530
|
},
|
|
1654
1531
|
gateway: {
|
|
1655
1532
|
domain: 19,
|
|
1656
1533
|
contracts: {
|
|
1657
1534
|
v1: {
|
|
1658
1535
|
wallet: GATEWAY_WALLET_EVM_MAINNET,
|
|
1659
|
-
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
1660
|
-
}
|
|
1536
|
+
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
1537
|
+
}
|
|
1661
1538
|
},
|
|
1662
1539
|
forwarderSupported: {
|
|
1663
1540
|
source: true,
|
|
1664
|
-
destination: true
|
|
1665
|
-
}
|
|
1666
|
-
}
|
|
1541
|
+
destination: true
|
|
1542
|
+
}
|
|
1543
|
+
}
|
|
1667
1544
|
});
|
|
1668
1545
|
|
|
1669
1546
|
/**
|
|
@@ -1671,8 +1548,7 @@ const HyperEVM = defineChain({
|
|
|
1671
1548
|
* @remarks
|
|
1672
1549
|
* This represents the official testnet for the HyperEVM blockchain.
|
|
1673
1550
|
* Used for development and testing purposes before deploying to mainnet.
|
|
1674
|
-
*/
|
|
1675
|
-
const HyperEVMTestnet = defineChain({
|
|
1551
|
+
*/ const HyperEVMTestnet = defineChain({
|
|
1676
1552
|
type: 'evm',
|
|
1677
1553
|
chain: Blockchain.HyperEVM_Testnet,
|
|
1678
1554
|
name: 'HyperEVM Testnet',
|
|
@@ -1680,12 +1556,14 @@ const HyperEVMTestnet = defineChain({
|
|
|
1680
1556
|
nativeCurrency: {
|
|
1681
1557
|
name: 'Hype',
|
|
1682
1558
|
symbol: 'HYPE',
|
|
1683
|
-
decimals: 18
|
|
1559
|
+
decimals: 18
|
|
1684
1560
|
},
|
|
1685
1561
|
chainId: 998,
|
|
1686
1562
|
isTestnet: true,
|
|
1687
1563
|
explorerUrl: 'https://app.hyperliquid-testnet.xyz/explorer/tx/{hash}',
|
|
1688
|
-
rpcEndpoints: [
|
|
1564
|
+
rpcEndpoints: [
|
|
1565
|
+
'https://rpc.hyperliquid-testnet.xyz/evm'
|
|
1566
|
+
],
|
|
1689
1567
|
eurcAddress: null,
|
|
1690
1568
|
usdcAddress: '0x2B3370eE501B4a559b57D449569354196457D8Ab',
|
|
1691
1569
|
usdtAddress: null,
|
|
@@ -1697,30 +1575,30 @@ const HyperEVMTestnet = defineChain({
|
|
|
1697
1575
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
1698
1576
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
1699
1577
|
confirmations: 1,
|
|
1700
|
-
fastConfirmations: 1
|
|
1701
|
-
}
|
|
1578
|
+
fastConfirmations: 1
|
|
1579
|
+
}
|
|
1702
1580
|
},
|
|
1703
1581
|
forwarderSupported: {
|
|
1704
|
-
source:
|
|
1705
|
-
destination: true
|
|
1706
|
-
}
|
|
1582
|
+
source: false,
|
|
1583
|
+
destination: true
|
|
1584
|
+
}
|
|
1707
1585
|
},
|
|
1708
1586
|
kitContracts: {
|
|
1709
|
-
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
1587
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
1710
1588
|
},
|
|
1711
1589
|
gateway: {
|
|
1712
1590
|
domain: 19,
|
|
1713
1591
|
contracts: {
|
|
1714
1592
|
v1: {
|
|
1715
1593
|
wallet: GATEWAY_WALLET_EVM_TESTNET,
|
|
1716
|
-
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
1717
|
-
}
|
|
1594
|
+
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
1595
|
+
}
|
|
1718
1596
|
},
|
|
1719
1597
|
forwarderSupported: {
|
|
1720
1598
|
source: true,
|
|
1721
|
-
destination: true
|
|
1722
|
-
}
|
|
1723
|
-
}
|
|
1599
|
+
destination: true
|
|
1600
|
+
}
|
|
1601
|
+
}
|
|
1724
1602
|
});
|
|
1725
1603
|
|
|
1726
1604
|
/**
|
|
@@ -1730,8 +1608,7 @@ const HyperEVMTestnet = defineChain({
|
|
|
1730
1608
|
* Injective is a high-performance, interoperable Layer-1 blockchain built for
|
|
1731
1609
|
* finance, with an EVM execution layer on top of a Cosmos SDK base and
|
|
1732
1610
|
* sub-second block finality.
|
|
1733
|
-
*/
|
|
1734
|
-
defineChain({
|
|
1611
|
+
*/ defineChain({
|
|
1735
1612
|
type: 'evm',
|
|
1736
1613
|
chain: Blockchain.Injective,
|
|
1737
1614
|
name: 'Injective',
|
|
@@ -1739,12 +1616,14 @@ defineChain({
|
|
|
1739
1616
|
nativeCurrency: {
|
|
1740
1617
|
name: 'Injective',
|
|
1741
1618
|
symbol: 'INJ',
|
|
1742
|
-
decimals: 18
|
|
1619
|
+
decimals: 18
|
|
1743
1620
|
},
|
|
1744
1621
|
chainId: 1776,
|
|
1745
1622
|
isTestnet: false,
|
|
1746
1623
|
explorerUrl: 'https://injscan.com/transaction/{hash}',
|
|
1747
|
-
rpcEndpoints: [
|
|
1624
|
+
rpcEndpoints: [
|
|
1625
|
+
'https://sentry.evm-rpc.injective.network'
|
|
1626
|
+
],
|
|
1748
1627
|
eurcAddress: null,
|
|
1749
1628
|
usdcAddress: '0xa00C59fF5a080D2b954d0c75e46E22a0c371235a',
|
|
1750
1629
|
usdtAddress: null,
|
|
@@ -1756,17 +1635,17 @@ defineChain({
|
|
|
1756
1635
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
1757
1636
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
1758
1637
|
confirmations: 1,
|
|
1759
|
-
fastConfirmations: 1
|
|
1760
|
-
}
|
|
1638
|
+
fastConfirmations: 1
|
|
1639
|
+
}
|
|
1761
1640
|
},
|
|
1762
1641
|
forwarderSupported: {
|
|
1763
1642
|
source: false,
|
|
1764
|
-
destination: false
|
|
1765
|
-
}
|
|
1643
|
+
destination: false
|
|
1644
|
+
}
|
|
1766
1645
|
},
|
|
1767
1646
|
kitContracts: {
|
|
1768
|
-
bridge: BRIDGE_CONTRACT_EVM_MAINNET
|
|
1769
|
-
}
|
|
1647
|
+
bridge: BRIDGE_CONTRACT_EVM_MAINNET
|
|
1648
|
+
}
|
|
1770
1649
|
});
|
|
1771
1650
|
|
|
1772
1651
|
/**
|
|
@@ -1776,8 +1655,7 @@ defineChain({
|
|
|
1776
1655
|
* Injective is a high-performance, interoperable Layer-1 blockchain built for
|
|
1777
1656
|
* finance, with an EVM execution layer on top of a Cosmos SDK base and
|
|
1778
1657
|
* sub-second block finality.
|
|
1779
|
-
*/
|
|
1780
|
-
defineChain({
|
|
1658
|
+
*/ defineChain({
|
|
1781
1659
|
type: 'evm',
|
|
1782
1660
|
chain: Blockchain.Injective_Testnet,
|
|
1783
1661
|
name: 'Injective Testnet',
|
|
@@ -1785,12 +1663,14 @@ defineChain({
|
|
|
1785
1663
|
nativeCurrency: {
|
|
1786
1664
|
name: 'Injective',
|
|
1787
1665
|
symbol: 'INJ',
|
|
1788
|
-
decimals: 18
|
|
1666
|
+
decimals: 18
|
|
1789
1667
|
},
|
|
1790
1668
|
chainId: 1439,
|
|
1791
1669
|
isTestnet: true,
|
|
1792
1670
|
explorerUrl: 'https://testnet.explorer.injective.network/transaction/{hash}',
|
|
1793
|
-
rpcEndpoints: [
|
|
1671
|
+
rpcEndpoints: [
|
|
1672
|
+
'https://k8s.testnet.json-rpc.injective.network'
|
|
1673
|
+
],
|
|
1794
1674
|
eurcAddress: null,
|
|
1795
1675
|
usdcAddress: '0x0C382e685bbeeFE5d3d9C29e29E341fEE8E84C5d',
|
|
1796
1676
|
usdtAddress: null,
|
|
@@ -1802,17 +1682,17 @@ defineChain({
|
|
|
1802
1682
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
1803
1683
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
1804
1684
|
confirmations: 1,
|
|
1805
|
-
fastConfirmations: 1
|
|
1806
|
-
}
|
|
1685
|
+
fastConfirmations: 1
|
|
1686
|
+
}
|
|
1807
1687
|
},
|
|
1808
1688
|
forwarderSupported: {
|
|
1809
1689
|
source: false,
|
|
1810
|
-
destination: false
|
|
1811
|
-
}
|
|
1690
|
+
destination: false
|
|
1691
|
+
}
|
|
1812
1692
|
},
|
|
1813
1693
|
kitContracts: {
|
|
1814
|
-
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
1815
|
-
}
|
|
1694
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
1695
|
+
}
|
|
1816
1696
|
});
|
|
1817
1697
|
|
|
1818
1698
|
/**
|
|
@@ -1821,8 +1701,7 @@ defineChain({
|
|
|
1821
1701
|
* This represents the official production network for the Ink blockchain.
|
|
1822
1702
|
* Ink is a Layer 1 blockchain specialized for DeFi and trading applications
|
|
1823
1703
|
* with native orderbook and matching engine.
|
|
1824
|
-
*/
|
|
1825
|
-
const Ink = defineChain({
|
|
1704
|
+
*/ const Ink = defineChain({
|
|
1826
1705
|
type: 'evm',
|
|
1827
1706
|
chain: Blockchain.Ink,
|
|
1828
1707
|
name: 'Ink',
|
|
@@ -1830,14 +1709,14 @@ const Ink = defineChain({
|
|
|
1830
1709
|
nativeCurrency: {
|
|
1831
1710
|
name: 'Ether',
|
|
1832
1711
|
symbol: 'ETH',
|
|
1833
|
-
decimals: 18
|
|
1712
|
+
decimals: 18
|
|
1834
1713
|
},
|
|
1835
1714
|
chainId: 57073,
|
|
1836
1715
|
isTestnet: false,
|
|
1837
1716
|
explorerUrl: 'https://explorer.inkonchain.com/tx/{hash}',
|
|
1838
1717
|
rpcEndpoints: [
|
|
1839
1718
|
'https://rpc-gel.inkonchain.com',
|
|
1840
|
-
'https://rpc-qnd.inkonchain.com'
|
|
1719
|
+
'https://rpc-qnd.inkonchain.com'
|
|
1841
1720
|
],
|
|
1842
1721
|
eurcAddress: null,
|
|
1843
1722
|
usdcAddress: '0x2D270e6886d130D724215A266106e6832161EAEd',
|
|
@@ -1850,18 +1729,18 @@ const Ink = defineChain({
|
|
|
1850
1729
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
1851
1730
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
1852
1731
|
confirmations: 65,
|
|
1853
|
-
fastConfirmations: 1
|
|
1854
|
-
}
|
|
1732
|
+
fastConfirmations: 1
|
|
1733
|
+
}
|
|
1855
1734
|
},
|
|
1856
1735
|
forwarderSupported: {
|
|
1857
|
-
source:
|
|
1858
|
-
destination: true
|
|
1859
|
-
}
|
|
1736
|
+
source: false,
|
|
1737
|
+
destination: true
|
|
1738
|
+
}
|
|
1860
1739
|
},
|
|
1861
1740
|
kitContracts: {
|
|
1862
1741
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
1863
|
-
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
1864
|
-
}
|
|
1742
|
+
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
1743
|
+
}
|
|
1865
1744
|
});
|
|
1866
1745
|
|
|
1867
1746
|
/**
|
|
@@ -1869,8 +1748,7 @@ const Ink = defineChain({
|
|
|
1869
1748
|
* @remarks
|
|
1870
1749
|
* This represents the official testnet for the Ink blockchain.
|
|
1871
1750
|
* Used for development and testing purposes before deploying to mainnet.
|
|
1872
|
-
*/
|
|
1873
|
-
const InkTestnet = defineChain({
|
|
1751
|
+
*/ const InkTestnet = defineChain({
|
|
1874
1752
|
type: 'evm',
|
|
1875
1753
|
chain: Blockchain.Ink_Testnet,
|
|
1876
1754
|
name: 'Ink Sepolia',
|
|
@@ -1878,14 +1756,14 @@ const InkTestnet = defineChain({
|
|
|
1878
1756
|
nativeCurrency: {
|
|
1879
1757
|
name: 'Sepolia Ether',
|
|
1880
1758
|
symbol: 'ETH',
|
|
1881
|
-
decimals: 18
|
|
1759
|
+
decimals: 18
|
|
1882
1760
|
},
|
|
1883
1761
|
chainId: 763373,
|
|
1884
1762
|
isTestnet: true,
|
|
1885
1763
|
explorerUrl: 'https://explorer-sepolia.inkonchain.com/tx/{hash}',
|
|
1886
1764
|
rpcEndpoints: [
|
|
1887
1765
|
'https://rpc-gel-sepolia.inkonchain.com',
|
|
1888
|
-
'https://rpc-qnd-sepolia.inkonchain.com'
|
|
1766
|
+
'https://rpc-qnd-sepolia.inkonchain.com'
|
|
1889
1767
|
],
|
|
1890
1768
|
eurcAddress: null,
|
|
1891
1769
|
usdcAddress: '0xFabab97dCE620294D2B0b0e46C68964e326300Ac',
|
|
@@ -1898,25 +1776,24 @@ const InkTestnet = defineChain({
|
|
|
1898
1776
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
1899
1777
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
1900
1778
|
confirmations: 65,
|
|
1901
|
-
fastConfirmations: 1
|
|
1902
|
-
}
|
|
1779
|
+
fastConfirmations: 1
|
|
1780
|
+
}
|
|
1903
1781
|
},
|
|
1904
1782
|
forwarderSupported: {
|
|
1905
|
-
source:
|
|
1906
|
-
destination: true
|
|
1907
|
-
}
|
|
1783
|
+
source: false,
|
|
1784
|
+
destination: true
|
|
1785
|
+
}
|
|
1908
1786
|
},
|
|
1909
1787
|
kitContracts: {
|
|
1910
|
-
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
1911
|
-
}
|
|
1788
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
1789
|
+
}
|
|
1912
1790
|
});
|
|
1913
1791
|
|
|
1914
1792
|
/**
|
|
1915
1793
|
* Linea Mainnet chain definition
|
|
1916
1794
|
* @remarks
|
|
1917
1795
|
* This represents the official production network for the Linea blockchain.
|
|
1918
|
-
*/
|
|
1919
|
-
const Linea = defineChain({
|
|
1796
|
+
*/ const Linea = defineChain({
|
|
1920
1797
|
type: 'evm',
|
|
1921
1798
|
chain: Blockchain.Linea,
|
|
1922
1799
|
name: 'Linea',
|
|
@@ -1924,12 +1801,14 @@ const Linea = defineChain({
|
|
|
1924
1801
|
nativeCurrency: {
|
|
1925
1802
|
name: 'Ether',
|
|
1926
1803
|
symbol: 'ETH',
|
|
1927
|
-
decimals: 18
|
|
1804
|
+
decimals: 18
|
|
1928
1805
|
},
|
|
1929
1806
|
chainId: 59144,
|
|
1930
1807
|
isTestnet: false,
|
|
1931
1808
|
explorerUrl: 'https://lineascan.build/tx/{hash}',
|
|
1932
|
-
rpcEndpoints: [
|
|
1809
|
+
rpcEndpoints: [
|
|
1810
|
+
'https://rpc.linea.build'
|
|
1811
|
+
],
|
|
1933
1812
|
eurcAddress: null,
|
|
1934
1813
|
usdcAddress: '0x176211869ca2b568f2a7d4ee941e073a821ee1ff',
|
|
1935
1814
|
usdtAddress: null,
|
|
@@ -1941,26 +1820,25 @@ const Linea = defineChain({
|
|
|
1941
1820
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
1942
1821
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
1943
1822
|
confirmations: 1,
|
|
1944
|
-
fastConfirmations: 1
|
|
1945
|
-
}
|
|
1823
|
+
fastConfirmations: 1
|
|
1824
|
+
}
|
|
1946
1825
|
},
|
|
1947
1826
|
forwarderSupported: {
|
|
1948
|
-
source:
|
|
1949
|
-
destination: true
|
|
1950
|
-
}
|
|
1827
|
+
source: false,
|
|
1828
|
+
destination: true
|
|
1829
|
+
}
|
|
1951
1830
|
},
|
|
1952
1831
|
kitContracts: {
|
|
1953
1832
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
1954
|
-
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
1955
|
-
}
|
|
1833
|
+
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
1834
|
+
}
|
|
1956
1835
|
});
|
|
1957
1836
|
|
|
1958
1837
|
/**
|
|
1959
1838
|
* Linea Sepolia Testnet chain definition
|
|
1960
1839
|
* @remarks
|
|
1961
1840
|
* This represents the official test network for the Linea blockchain on Sepolia.
|
|
1962
|
-
*/
|
|
1963
|
-
const LineaSepolia = defineChain({
|
|
1841
|
+
*/ const LineaSepolia = defineChain({
|
|
1964
1842
|
type: 'evm',
|
|
1965
1843
|
chain: Blockchain.Linea_Sepolia,
|
|
1966
1844
|
name: 'Linea Sepolia',
|
|
@@ -1968,12 +1846,14 @@ const LineaSepolia = defineChain({
|
|
|
1968
1846
|
nativeCurrency: {
|
|
1969
1847
|
name: 'Sepolia Ether',
|
|
1970
1848
|
symbol: 'ETH',
|
|
1971
|
-
decimals: 18
|
|
1849
|
+
decimals: 18
|
|
1972
1850
|
},
|
|
1973
1851
|
chainId: 59141,
|
|
1974
1852
|
isTestnet: true,
|
|
1975
1853
|
explorerUrl: 'https://sepolia.lineascan.build/tx/{hash}',
|
|
1976
|
-
rpcEndpoints: [
|
|
1854
|
+
rpcEndpoints: [
|
|
1855
|
+
'https://rpc.sepolia.linea.build'
|
|
1856
|
+
],
|
|
1977
1857
|
eurcAddress: null,
|
|
1978
1858
|
usdcAddress: '0xfece4462d57bd51a6a552365a011b95f0e16d9b7',
|
|
1979
1859
|
usdtAddress: null,
|
|
@@ -1985,17 +1865,17 @@ const LineaSepolia = defineChain({
|
|
|
1985
1865
|
tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
|
|
1986
1866
|
messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
|
|
1987
1867
|
confirmations: 1,
|
|
1988
|
-
fastConfirmations: 1
|
|
1989
|
-
}
|
|
1868
|
+
fastConfirmations: 1
|
|
1869
|
+
}
|
|
1990
1870
|
},
|
|
1991
1871
|
forwarderSupported: {
|
|
1992
|
-
source:
|
|
1993
|
-
destination: true
|
|
1994
|
-
}
|
|
1872
|
+
source: false,
|
|
1873
|
+
destination: true
|
|
1874
|
+
}
|
|
1995
1875
|
},
|
|
1996
1876
|
kitContracts: {
|
|
1997
|
-
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
1998
|
-
}
|
|
1877
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
1878
|
+
}
|
|
1999
1879
|
});
|
|
2000
1880
|
|
|
2001
1881
|
/**
|
|
@@ -2004,8 +1884,7 @@ const LineaSepolia = defineChain({
|
|
|
2004
1884
|
* This represents the official production network for the Monad blockchain.
|
|
2005
1885
|
* Monad is a high-performance EVM-compatible Layer-1 blockchain featuring
|
|
2006
1886
|
* over 10,000 TPS, sub-second finality, and near-zero gas fees.
|
|
2007
|
-
*/
|
|
2008
|
-
defineChain({
|
|
1887
|
+
*/ defineChain({
|
|
2009
1888
|
type: 'evm',
|
|
2010
1889
|
chain: Blockchain.Monad,
|
|
2011
1890
|
name: 'Monad',
|
|
@@ -2013,12 +1892,14 @@ defineChain({
|
|
|
2013
1892
|
nativeCurrency: {
|
|
2014
1893
|
name: 'Monad',
|
|
2015
1894
|
symbol: 'MON',
|
|
2016
|
-
decimals: 18
|
|
1895
|
+
decimals: 18
|
|
2017
1896
|
},
|
|
2018
1897
|
chainId: 143,
|
|
2019
1898
|
isTestnet: false,
|
|
2020
1899
|
explorerUrl: 'https://monadscan.com/tx/{hash}',
|
|
2021
|
-
rpcEndpoints: [
|
|
1900
|
+
rpcEndpoints: [
|
|
1901
|
+
'https://rpc.monad.xyz'
|
|
1902
|
+
],
|
|
2022
1903
|
eurcAddress: null,
|
|
2023
1904
|
usdcAddress: '0x754704Bc059F8C67012fEd69BC8A327a5aafb603',
|
|
2024
1905
|
usdtAddress: null,
|
|
@@ -2030,18 +1911,18 @@ defineChain({
|
|
|
2030
1911
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
2031
1912
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
2032
1913
|
confirmations: 1,
|
|
2033
|
-
fastConfirmations: 1
|
|
2034
|
-
}
|
|
1914
|
+
fastConfirmations: 1
|
|
1915
|
+
}
|
|
2035
1916
|
},
|
|
2036
1917
|
forwarderSupported: {
|
|
2037
|
-
source:
|
|
2038
|
-
destination: true
|
|
2039
|
-
}
|
|
1918
|
+
source: false,
|
|
1919
|
+
destination: true
|
|
1920
|
+
}
|
|
2040
1921
|
},
|
|
2041
1922
|
kitContracts: {
|
|
2042
1923
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
2043
|
-
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
2044
|
-
}
|
|
1924
|
+
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
1925
|
+
}
|
|
2045
1926
|
});
|
|
2046
1927
|
|
|
2047
1928
|
/**
|
|
@@ -2050,8 +1931,7 @@ defineChain({
|
|
|
2050
1931
|
* This represents the official test network for the Monad blockchain.
|
|
2051
1932
|
* Monad is a high-performance EVM-compatible Layer-1 blockchain featuring
|
|
2052
1933
|
* over 10,000 TPS, sub-second finality, and near-zero gas fees.
|
|
2053
|
-
*/
|
|
2054
|
-
defineChain({
|
|
1934
|
+
*/ defineChain({
|
|
2055
1935
|
type: 'evm',
|
|
2056
1936
|
chain: Blockchain.Monad_Testnet,
|
|
2057
1937
|
name: 'Monad Testnet',
|
|
@@ -2059,12 +1939,14 @@ defineChain({
|
|
|
2059
1939
|
nativeCurrency: {
|
|
2060
1940
|
name: 'Monad',
|
|
2061
1941
|
symbol: 'MON',
|
|
2062
|
-
decimals: 18
|
|
1942
|
+
decimals: 18
|
|
2063
1943
|
},
|
|
2064
1944
|
chainId: 10143,
|
|
2065
1945
|
isTestnet: true,
|
|
2066
1946
|
explorerUrl: 'https://testnet.monadscan.com/tx/{hash}',
|
|
2067
|
-
rpcEndpoints: [
|
|
1947
|
+
rpcEndpoints: [
|
|
1948
|
+
'https://testnet-rpc.monad.xyz'
|
|
1949
|
+
],
|
|
2068
1950
|
eurcAddress: null,
|
|
2069
1951
|
usdcAddress: '0x534b2f3A21130d7a60830c2Df862319e593943A3',
|
|
2070
1952
|
usdtAddress: null,
|
|
@@ -2076,17 +1958,17 @@ defineChain({
|
|
|
2076
1958
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
2077
1959
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
2078
1960
|
confirmations: 1,
|
|
2079
|
-
fastConfirmations: 1
|
|
2080
|
-
}
|
|
1961
|
+
fastConfirmations: 1
|
|
1962
|
+
}
|
|
2081
1963
|
},
|
|
2082
1964
|
forwarderSupported: {
|
|
2083
|
-
source:
|
|
2084
|
-
destination: true
|
|
2085
|
-
}
|
|
1965
|
+
source: false,
|
|
1966
|
+
destination: true
|
|
1967
|
+
}
|
|
2086
1968
|
},
|
|
2087
1969
|
kitContracts: {
|
|
2088
|
-
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
2089
|
-
}
|
|
1970
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
1971
|
+
}
|
|
2090
1972
|
});
|
|
2091
1973
|
|
|
2092
1974
|
/**
|
|
@@ -2094,8 +1976,7 @@ defineChain({
|
|
|
2094
1976
|
* @remarks
|
|
2095
1977
|
* This represents the official production network for the Morph blockchain.
|
|
2096
1978
|
* Morph is an EVM-compatible Layer-2 blockchain built on the OP Stack.
|
|
2097
|
-
*/
|
|
2098
|
-
defineChain({
|
|
1979
|
+
*/ defineChain({
|
|
2099
1980
|
type: 'evm',
|
|
2100
1981
|
chain: Blockchain.Morph,
|
|
2101
1982
|
name: 'Morph',
|
|
@@ -2103,12 +1984,14 @@ defineChain({
|
|
|
2103
1984
|
nativeCurrency: {
|
|
2104
1985
|
name: 'Ether',
|
|
2105
1986
|
symbol: 'ETH',
|
|
2106
|
-
decimals: 18
|
|
1987
|
+
decimals: 18
|
|
2107
1988
|
},
|
|
2108
1989
|
chainId: 2818,
|
|
2109
1990
|
isTestnet: false,
|
|
2110
1991
|
explorerUrl: 'https://explorer.morph.network/tx/{hash}',
|
|
2111
|
-
rpcEndpoints: [
|
|
1992
|
+
rpcEndpoints: [
|
|
1993
|
+
'https://rpc.morphl2.io'
|
|
1994
|
+
],
|
|
2112
1995
|
eurcAddress: null,
|
|
2113
1996
|
usdcAddress: '0xCfb1186F4e93D60E60a8bDd997427D1F33bc372B',
|
|
2114
1997
|
usdtAddress: null,
|
|
@@ -2120,17 +2003,17 @@ defineChain({
|
|
|
2120
2003
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
2121
2004
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
2122
2005
|
confirmations: 64,
|
|
2123
|
-
fastConfirmations: 1
|
|
2124
|
-
}
|
|
2006
|
+
fastConfirmations: 1
|
|
2007
|
+
}
|
|
2125
2008
|
},
|
|
2126
2009
|
forwarderSupported: {
|
|
2127
2010
|
source: false,
|
|
2128
|
-
destination: false
|
|
2129
|
-
}
|
|
2011
|
+
destination: false
|
|
2012
|
+
}
|
|
2130
2013
|
},
|
|
2131
2014
|
kitContracts: {
|
|
2132
|
-
bridge: BRIDGE_CONTRACT_EVM_MAINNET
|
|
2133
|
-
}
|
|
2015
|
+
bridge: BRIDGE_CONTRACT_EVM_MAINNET
|
|
2016
|
+
}
|
|
2134
2017
|
});
|
|
2135
2018
|
|
|
2136
2019
|
/**
|
|
@@ -2138,8 +2021,7 @@ defineChain({
|
|
|
2138
2021
|
* @remarks
|
|
2139
2022
|
* This represents the official test network for the Morph blockchain.
|
|
2140
2023
|
* Morph is an EVM-compatible Layer-2 blockchain built on the OP Stack.
|
|
2141
|
-
*/
|
|
2142
|
-
defineChain({
|
|
2024
|
+
*/ defineChain({
|
|
2143
2025
|
type: 'evm',
|
|
2144
2026
|
chain: Blockchain.Morph_Testnet,
|
|
2145
2027
|
name: 'Morph Hoodi',
|
|
@@ -2147,12 +2029,14 @@ defineChain({
|
|
|
2147
2029
|
nativeCurrency: {
|
|
2148
2030
|
name: 'Ether',
|
|
2149
2031
|
symbol: 'ETH',
|
|
2150
|
-
decimals: 18
|
|
2032
|
+
decimals: 18
|
|
2151
2033
|
},
|
|
2152
2034
|
chainId: 2910,
|
|
2153
2035
|
isTestnet: true,
|
|
2154
2036
|
explorerUrl: 'https://explorer-hoodi.morphl2.io/tx/{hash}',
|
|
2155
|
-
rpcEndpoints: [
|
|
2037
|
+
rpcEndpoints: [
|
|
2038
|
+
'https://rpc-hoodi.morphl2.io'
|
|
2039
|
+
],
|
|
2156
2040
|
eurcAddress: null,
|
|
2157
2041
|
usdcAddress: '0x7433b41C6c5e1d58D4Da99483609520255ab661B',
|
|
2158
2042
|
usdtAddress: null,
|
|
@@ -2164,25 +2048,24 @@ defineChain({
|
|
|
2164
2048
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
2165
2049
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
2166
2050
|
confirmations: 64,
|
|
2167
|
-
fastConfirmations: 1
|
|
2168
|
-
}
|
|
2051
|
+
fastConfirmations: 1
|
|
2052
|
+
}
|
|
2169
2053
|
},
|
|
2170
2054
|
forwarderSupported: {
|
|
2171
2055
|
source: false,
|
|
2172
|
-
destination: false
|
|
2173
|
-
}
|
|
2056
|
+
destination: false
|
|
2057
|
+
}
|
|
2174
2058
|
},
|
|
2175
2059
|
kitContracts: {
|
|
2176
|
-
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
2177
|
-
}
|
|
2060
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
2061
|
+
}
|
|
2178
2062
|
});
|
|
2179
2063
|
|
|
2180
2064
|
/**
|
|
2181
2065
|
* NEAR Protocol Mainnet chain definition
|
|
2182
2066
|
* @remarks
|
|
2183
2067
|
* This represents the official production network for the NEAR Protocol blockchain.
|
|
2184
|
-
*/
|
|
2185
|
-
defineChain({
|
|
2068
|
+
*/ defineChain({
|
|
2186
2069
|
type: 'near',
|
|
2187
2070
|
chain: Blockchain.NEAR,
|
|
2188
2071
|
name: 'NEAR Protocol',
|
|
@@ -2190,23 +2073,24 @@ defineChain({
|
|
|
2190
2073
|
nativeCurrency: {
|
|
2191
2074
|
name: 'NEAR',
|
|
2192
2075
|
symbol: 'NEAR',
|
|
2193
|
-
decimals: 24
|
|
2076
|
+
decimals: 24
|
|
2194
2077
|
},
|
|
2195
2078
|
isTestnet: false,
|
|
2196
2079
|
explorerUrl: 'https://nearblocks.io/txns/{hash}',
|
|
2197
|
-
rpcEndpoints: [
|
|
2080
|
+
rpcEndpoints: [
|
|
2081
|
+
'https://eth-rpc.mainnet.near.org'
|
|
2082
|
+
],
|
|
2198
2083
|
eurcAddress: null,
|
|
2199
2084
|
usdcAddress: '17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a1',
|
|
2200
2085
|
usdtAddress: 'usdt.tether-token.near',
|
|
2201
|
-
cctp: null
|
|
2086
|
+
cctp: null
|
|
2202
2087
|
});
|
|
2203
2088
|
|
|
2204
2089
|
/**
|
|
2205
2090
|
* NEAR Testnet chain definition
|
|
2206
2091
|
* @remarks
|
|
2207
2092
|
* This represents the official test network for the NEAR Protocol blockchain.
|
|
2208
|
-
*/
|
|
2209
|
-
defineChain({
|
|
2093
|
+
*/ defineChain({
|
|
2210
2094
|
type: 'near',
|
|
2211
2095
|
chain: Blockchain.NEAR_Testnet,
|
|
2212
2096
|
name: 'NEAR Protocol Testnet',
|
|
@@ -2214,23 +2098,24 @@ defineChain({
|
|
|
2214
2098
|
nativeCurrency: {
|
|
2215
2099
|
name: 'NEAR',
|
|
2216
2100
|
symbol: 'NEAR',
|
|
2217
|
-
decimals: 24
|
|
2101
|
+
decimals: 24
|
|
2218
2102
|
},
|
|
2219
2103
|
isTestnet: true,
|
|
2220
2104
|
explorerUrl: 'https://testnet.nearblocks.io/txns/{hash}',
|
|
2221
|
-
rpcEndpoints: [
|
|
2105
|
+
rpcEndpoints: [
|
|
2106
|
+
'https://eth-rpc.testnet.near.org'
|
|
2107
|
+
],
|
|
2222
2108
|
eurcAddress: null,
|
|
2223
2109
|
usdcAddress: '3e2210e1184b45b64c8a434c0a7e7b23cc04ea7eb7a6c3c32520d03d4afcb8af',
|
|
2224
2110
|
usdtAddress: null,
|
|
2225
|
-
cctp: null
|
|
2111
|
+
cctp: null
|
|
2226
2112
|
});
|
|
2227
2113
|
|
|
2228
2114
|
/**
|
|
2229
2115
|
* Noble Mainnet chain definition
|
|
2230
2116
|
* @remarks
|
|
2231
2117
|
* This represents the official production network for the Noble blockchain.
|
|
2232
|
-
*/
|
|
2233
|
-
defineChain({
|
|
2118
|
+
*/ defineChain({
|
|
2234
2119
|
type: 'noble',
|
|
2235
2120
|
chain: Blockchain.Noble,
|
|
2236
2121
|
name: 'Noble',
|
|
@@ -2238,11 +2123,13 @@ defineChain({
|
|
|
2238
2123
|
nativeCurrency: {
|
|
2239
2124
|
name: 'Noble USDC',
|
|
2240
2125
|
symbol: 'USDC',
|
|
2241
|
-
decimals: 6
|
|
2126
|
+
decimals: 6
|
|
2242
2127
|
},
|
|
2243
2128
|
isTestnet: false,
|
|
2244
2129
|
explorerUrl: 'https://www.mintscan.io/noble/tx/{hash}',
|
|
2245
|
-
rpcEndpoints: [
|
|
2130
|
+
rpcEndpoints: [
|
|
2131
|
+
'https://noble-rpc.polkachu.com'
|
|
2132
|
+
],
|
|
2246
2133
|
eurcAddress: null,
|
|
2247
2134
|
usdcAddress: 'uusdc',
|
|
2248
2135
|
usdtAddress: null,
|
|
@@ -2252,22 +2139,21 @@ defineChain({
|
|
|
2252
2139
|
v1: {
|
|
2253
2140
|
type: 'merged',
|
|
2254
2141
|
contract: 'noble12l2w4ugfz4m6dd73yysz477jszqnfughxvkss5',
|
|
2255
|
-
confirmations: 1
|
|
2256
|
-
}
|
|
2142
|
+
confirmations: 1
|
|
2143
|
+
}
|
|
2257
2144
|
},
|
|
2258
2145
|
forwarderSupported: {
|
|
2259
2146
|
source: false,
|
|
2260
|
-
destination: false
|
|
2261
|
-
}
|
|
2262
|
-
}
|
|
2147
|
+
destination: false
|
|
2148
|
+
}
|
|
2149
|
+
}
|
|
2263
2150
|
});
|
|
2264
2151
|
|
|
2265
2152
|
/**
|
|
2266
2153
|
* Noble Testnet chain definition
|
|
2267
2154
|
* @remarks
|
|
2268
2155
|
* This represents the official test network for the Noble blockchain.
|
|
2269
|
-
*/
|
|
2270
|
-
defineChain({
|
|
2156
|
+
*/ defineChain({
|
|
2271
2157
|
type: 'noble',
|
|
2272
2158
|
chain: Blockchain.Noble_Testnet,
|
|
2273
2159
|
name: 'Noble Testnet',
|
|
@@ -2275,11 +2161,13 @@ defineChain({
|
|
|
2275
2161
|
nativeCurrency: {
|
|
2276
2162
|
name: 'Noble USDC',
|
|
2277
2163
|
symbol: 'USDC',
|
|
2278
|
-
decimals: 6
|
|
2164
|
+
decimals: 6
|
|
2279
2165
|
},
|
|
2280
2166
|
isTestnet: true,
|
|
2281
2167
|
explorerUrl: 'https://www.mintscan.io/noble-testnet/tx/{hash}',
|
|
2282
|
-
rpcEndpoints: [
|
|
2168
|
+
rpcEndpoints: [
|
|
2169
|
+
'https://noble-testnet-rpc.polkachu.com'
|
|
2170
|
+
],
|
|
2283
2171
|
eurcAddress: null,
|
|
2284
2172
|
usdcAddress: 'uusdc',
|
|
2285
2173
|
usdtAddress: null,
|
|
@@ -2289,22 +2177,21 @@ defineChain({
|
|
|
2289
2177
|
v1: {
|
|
2290
2178
|
type: 'merged',
|
|
2291
2179
|
contract: 'noble12l2w4ugfz4m6dd73yysz477jszqnfughxvkss5',
|
|
2292
|
-
confirmations: 1
|
|
2293
|
-
}
|
|
2180
|
+
confirmations: 1
|
|
2181
|
+
}
|
|
2294
2182
|
},
|
|
2295
2183
|
forwarderSupported: {
|
|
2296
2184
|
source: false,
|
|
2297
|
-
destination: false
|
|
2298
|
-
}
|
|
2299
|
-
}
|
|
2185
|
+
destination: false
|
|
2186
|
+
}
|
|
2187
|
+
}
|
|
2300
2188
|
});
|
|
2301
2189
|
|
|
2302
2190
|
/**
|
|
2303
2191
|
* Optimism Mainnet chain definition
|
|
2304
2192
|
* @remarks
|
|
2305
2193
|
* This represents the official production network for the Optimism blockchain.
|
|
2306
|
-
*/
|
|
2307
|
-
const Optimism = defineChain({
|
|
2194
|
+
*/ const Optimism = defineChain({
|
|
2308
2195
|
type: 'evm',
|
|
2309
2196
|
chain: Blockchain.Optimism,
|
|
2310
2197
|
name: 'Optimism',
|
|
@@ -2312,12 +2199,14 @@ const Optimism = defineChain({
|
|
|
2312
2199
|
nativeCurrency: {
|
|
2313
2200
|
name: 'Ether',
|
|
2314
2201
|
symbol: 'ETH',
|
|
2315
|
-
decimals: 18
|
|
2202
|
+
decimals: 18
|
|
2316
2203
|
},
|
|
2317
2204
|
chainId: 10,
|
|
2318
2205
|
isTestnet: false,
|
|
2319
2206
|
explorerUrl: 'https://optimistic.etherscan.io/tx/{hash}',
|
|
2320
|
-
rpcEndpoints: [
|
|
2207
|
+
rpcEndpoints: [
|
|
2208
|
+
'https://mainnet.optimism.io'
|
|
2209
|
+
],
|
|
2321
2210
|
eurcAddress: null,
|
|
2322
2211
|
usdcAddress: '0x0b2c639c533813f4aa9d7837caf62653d097ff85',
|
|
2323
2212
|
usdtAddress: null,
|
|
@@ -2328,46 +2217,45 @@ const Optimism = defineChain({
|
|
|
2328
2217
|
type: 'split',
|
|
2329
2218
|
tokenMessenger: '0x2B4069517957735bE00ceE0fadAE88a26365528f',
|
|
2330
2219
|
messageTransmitter: '0x0a992d191deec32afe36203ad87d7d289a738f81',
|
|
2331
|
-
confirmations: 65
|
|
2220
|
+
confirmations: 65
|
|
2332
2221
|
},
|
|
2333
2222
|
v2: {
|
|
2334
2223
|
type: 'split',
|
|
2335
2224
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
2336
2225
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
2337
2226
|
confirmations: 65,
|
|
2338
|
-
fastConfirmations: 1
|
|
2339
|
-
}
|
|
2227
|
+
fastConfirmations: 1
|
|
2228
|
+
}
|
|
2340
2229
|
},
|
|
2341
2230
|
forwarderSupported: {
|
|
2342
|
-
source:
|
|
2343
|
-
destination: true
|
|
2344
|
-
}
|
|
2231
|
+
source: false,
|
|
2232
|
+
destination: true
|
|
2233
|
+
}
|
|
2345
2234
|
},
|
|
2346
2235
|
kitContracts: {
|
|
2347
2236
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
2348
|
-
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
2237
|
+
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
2349
2238
|
},
|
|
2350
2239
|
gateway: {
|
|
2351
2240
|
domain: 2,
|
|
2352
2241
|
contracts: {
|
|
2353
2242
|
v1: {
|
|
2354
2243
|
wallet: GATEWAY_WALLET_EVM_MAINNET,
|
|
2355
|
-
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
2356
|
-
}
|
|
2244
|
+
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
2245
|
+
}
|
|
2357
2246
|
},
|
|
2358
2247
|
forwarderSupported: {
|
|
2359
2248
|
source: true,
|
|
2360
|
-
destination: true
|
|
2361
|
-
}
|
|
2362
|
-
}
|
|
2249
|
+
destination: true
|
|
2250
|
+
}
|
|
2251
|
+
}
|
|
2363
2252
|
});
|
|
2364
2253
|
|
|
2365
2254
|
/**
|
|
2366
2255
|
* Optimism Sepolia Testnet chain definition
|
|
2367
2256
|
* @remarks
|
|
2368
2257
|
* This represents the official test network for the Optimism blockchain on Sepolia.
|
|
2369
|
-
*/
|
|
2370
|
-
const OptimismSepolia = defineChain({
|
|
2258
|
+
*/ const OptimismSepolia = defineChain({
|
|
2371
2259
|
type: 'evm',
|
|
2372
2260
|
chain: Blockchain.Optimism_Sepolia,
|
|
2373
2261
|
name: 'Optimism Sepolia',
|
|
@@ -2375,12 +2263,14 @@ const OptimismSepolia = defineChain({
|
|
|
2375
2263
|
nativeCurrency: {
|
|
2376
2264
|
name: 'Sepolia Ether',
|
|
2377
2265
|
symbol: 'ETH',
|
|
2378
|
-
decimals: 18
|
|
2266
|
+
decimals: 18
|
|
2379
2267
|
},
|
|
2380
2268
|
chainId: 11155420,
|
|
2381
2269
|
isTestnet: true,
|
|
2382
2270
|
explorerUrl: 'https://sepolia-optimistic.etherscan.io/tx/{hash}',
|
|
2383
|
-
rpcEndpoints: [
|
|
2271
|
+
rpcEndpoints: [
|
|
2272
|
+
'https://sepolia.optimism.io'
|
|
2273
|
+
],
|
|
2384
2274
|
eurcAddress: null,
|
|
2385
2275
|
usdcAddress: '0x5fd84259d66Cd46123540766Be93DFE6D43130D7',
|
|
2386
2276
|
usdtAddress: null,
|
|
@@ -2391,37 +2281,37 @@ const OptimismSepolia = defineChain({
|
|
|
2391
2281
|
type: 'split',
|
|
2392
2282
|
tokenMessenger: '0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5',
|
|
2393
2283
|
messageTransmitter: '0x7865fAfC2db2093669d92c0F33AeEF291086BEFD',
|
|
2394
|
-
confirmations: 65
|
|
2284
|
+
confirmations: 65
|
|
2395
2285
|
},
|
|
2396
2286
|
v2: {
|
|
2397
2287
|
type: 'split',
|
|
2398
2288
|
tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
|
|
2399
2289
|
messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
|
|
2400
2290
|
confirmations: 65,
|
|
2401
|
-
fastConfirmations: 1
|
|
2402
|
-
}
|
|
2291
|
+
fastConfirmations: 1
|
|
2292
|
+
}
|
|
2403
2293
|
},
|
|
2404
2294
|
forwarderSupported: {
|
|
2405
|
-
source:
|
|
2406
|
-
destination: true
|
|
2407
|
-
}
|
|
2295
|
+
source: false,
|
|
2296
|
+
destination: true
|
|
2297
|
+
}
|
|
2408
2298
|
},
|
|
2409
2299
|
kitContracts: {
|
|
2410
|
-
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
2300
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
2411
2301
|
},
|
|
2412
2302
|
gateway: {
|
|
2413
2303
|
domain: 2,
|
|
2414
2304
|
contracts: {
|
|
2415
2305
|
v1: {
|
|
2416
2306
|
wallet: GATEWAY_WALLET_EVM_TESTNET,
|
|
2417
|
-
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
2418
|
-
}
|
|
2307
|
+
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
2308
|
+
}
|
|
2419
2309
|
},
|
|
2420
2310
|
forwarderSupported: {
|
|
2421
2311
|
source: true,
|
|
2422
|
-
destination: true
|
|
2423
|
-
}
|
|
2424
|
-
}
|
|
2312
|
+
destination: true
|
|
2313
|
+
}
|
|
2314
|
+
}
|
|
2425
2315
|
});
|
|
2426
2316
|
|
|
2427
2317
|
/**
|
|
@@ -2430,8 +2320,7 @@ const OptimismSepolia = defineChain({
|
|
|
2430
2320
|
* This represents the official production network for the Pharos blockchain.
|
|
2431
2321
|
* Pharos is a modular, full-stack parallel Layer 1 blockchain with
|
|
2432
2322
|
* sub-second finality and EVM compatibility.
|
|
2433
|
-
*/
|
|
2434
|
-
defineChain({
|
|
2323
|
+
*/ defineChain({
|
|
2435
2324
|
type: 'evm',
|
|
2436
2325
|
chain: Blockchain.Pharos,
|
|
2437
2326
|
name: 'Pharos',
|
|
@@ -2439,12 +2328,14 @@ defineChain({
|
|
|
2439
2328
|
nativeCurrency: {
|
|
2440
2329
|
name: 'Pharos',
|
|
2441
2330
|
symbol: 'PHAROS',
|
|
2442
|
-
decimals: 18
|
|
2331
|
+
decimals: 18
|
|
2443
2332
|
},
|
|
2444
2333
|
chainId: 1672,
|
|
2445
2334
|
isTestnet: false,
|
|
2446
2335
|
explorerUrl: 'https://pharos.socialscan.io/tx/{hash}',
|
|
2447
|
-
rpcEndpoints: [
|
|
2336
|
+
rpcEndpoints: [
|
|
2337
|
+
'https://rpc.pharos.xyz'
|
|
2338
|
+
],
|
|
2448
2339
|
eurcAddress: null,
|
|
2449
2340
|
usdcAddress: '0xC879C018dB60520F4355C26eD1a6D572cdAC1815',
|
|
2450
2341
|
usdtAddress: null,
|
|
@@ -2456,17 +2347,17 @@ defineChain({
|
|
|
2456
2347
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
2457
2348
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
2458
2349
|
confirmations: 1,
|
|
2459
|
-
fastConfirmations: 1
|
|
2460
|
-
}
|
|
2350
|
+
fastConfirmations: 1
|
|
2351
|
+
}
|
|
2461
2352
|
},
|
|
2462
2353
|
forwarderSupported: {
|
|
2463
2354
|
source: false,
|
|
2464
|
-
destination: false
|
|
2465
|
-
}
|
|
2355
|
+
destination: false
|
|
2356
|
+
}
|
|
2466
2357
|
},
|
|
2467
2358
|
kitContracts: {
|
|
2468
|
-
bridge: BRIDGE_CONTRACT_EVM_MAINNET
|
|
2469
|
-
}
|
|
2359
|
+
bridge: BRIDGE_CONTRACT_EVM_MAINNET
|
|
2360
|
+
}
|
|
2470
2361
|
});
|
|
2471
2362
|
|
|
2472
2363
|
/**
|
|
@@ -2475,8 +2366,7 @@ defineChain({
|
|
|
2475
2366
|
* This represents the official test network for the Pharos blockchain.
|
|
2476
2367
|
* Pharos is a modular, full-stack parallel Layer 1 blockchain with
|
|
2477
2368
|
* sub-second finality and EVM compatibility.
|
|
2478
|
-
*/
|
|
2479
|
-
defineChain({
|
|
2369
|
+
*/ defineChain({
|
|
2480
2370
|
type: 'evm',
|
|
2481
2371
|
chain: Blockchain.Pharos_Testnet,
|
|
2482
2372
|
name: 'Pharos Atlantic',
|
|
@@ -2484,12 +2374,14 @@ defineChain({
|
|
|
2484
2374
|
nativeCurrency: {
|
|
2485
2375
|
name: 'Pharos',
|
|
2486
2376
|
symbol: 'PHAROS',
|
|
2487
|
-
decimals: 18
|
|
2377
|
+
decimals: 18
|
|
2488
2378
|
},
|
|
2489
2379
|
chainId: 688689,
|
|
2490
2380
|
isTestnet: true,
|
|
2491
2381
|
explorerUrl: 'https://atlantic.pharosscan.xyz/tx/{hash}',
|
|
2492
|
-
rpcEndpoints: [
|
|
2382
|
+
rpcEndpoints: [
|
|
2383
|
+
'https://atlantic.dplabs-internal.com'
|
|
2384
|
+
],
|
|
2493
2385
|
eurcAddress: null,
|
|
2494
2386
|
usdcAddress: '0xcfC8330f4BCAB529c625D12781b1C19466A9Fc8B',
|
|
2495
2387
|
usdtAddress: null,
|
|
@@ -2501,17 +2393,17 @@ defineChain({
|
|
|
2501
2393
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
2502
2394
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
2503
2395
|
confirmations: 1,
|
|
2504
|
-
fastConfirmations: 1
|
|
2505
|
-
}
|
|
2396
|
+
fastConfirmations: 1
|
|
2397
|
+
}
|
|
2506
2398
|
},
|
|
2507
2399
|
forwarderSupported: {
|
|
2508
2400
|
source: false,
|
|
2509
|
-
destination: false
|
|
2510
|
-
}
|
|
2401
|
+
destination: false
|
|
2402
|
+
}
|
|
2511
2403
|
},
|
|
2512
2404
|
kitContracts: {
|
|
2513
|
-
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
2514
|
-
}
|
|
2405
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
2406
|
+
}
|
|
2515
2407
|
});
|
|
2516
2408
|
|
|
2517
2409
|
/**
|
|
@@ -2520,8 +2412,7 @@ defineChain({
|
|
|
2520
2412
|
* This represents the official production network for the Plume blockchain.
|
|
2521
2413
|
* Plume is a Layer 1 blockchain specialized for DeFi and trading applications
|
|
2522
2414
|
* with native orderbook and matching engine.
|
|
2523
|
-
*/
|
|
2524
|
-
const Plume = defineChain({
|
|
2415
|
+
*/ const Plume = defineChain({
|
|
2525
2416
|
type: 'evm',
|
|
2526
2417
|
chain: Blockchain.Plume,
|
|
2527
2418
|
name: 'Plume',
|
|
@@ -2529,12 +2420,14 @@ const Plume = defineChain({
|
|
|
2529
2420
|
nativeCurrency: {
|
|
2530
2421
|
name: 'Plume',
|
|
2531
2422
|
symbol: 'PLUME',
|
|
2532
|
-
decimals: 18
|
|
2423
|
+
decimals: 18
|
|
2533
2424
|
},
|
|
2534
2425
|
chainId: 98866,
|
|
2535
2426
|
isTestnet: false,
|
|
2536
2427
|
explorerUrl: 'https://explorer.plume.org/tx/{hash}',
|
|
2537
|
-
rpcEndpoints: [
|
|
2428
|
+
rpcEndpoints: [
|
|
2429
|
+
'https://rpc.plume.org'
|
|
2430
|
+
],
|
|
2538
2431
|
eurcAddress: null,
|
|
2539
2432
|
usdcAddress: '0x222365EF19F7947e5484218551B56bb3965Aa7aF',
|
|
2540
2433
|
usdtAddress: null,
|
|
@@ -2546,18 +2439,18 @@ const Plume = defineChain({
|
|
|
2546
2439
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
2547
2440
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
2548
2441
|
confirmations: 65,
|
|
2549
|
-
fastConfirmations: 1
|
|
2550
|
-
}
|
|
2442
|
+
fastConfirmations: 1
|
|
2443
|
+
}
|
|
2551
2444
|
},
|
|
2552
2445
|
forwarderSupported: {
|
|
2553
|
-
source:
|
|
2554
|
-
destination: true
|
|
2555
|
-
}
|
|
2446
|
+
source: false,
|
|
2447
|
+
destination: true
|
|
2448
|
+
}
|
|
2556
2449
|
},
|
|
2557
2450
|
kitContracts: {
|
|
2558
2451
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
2559
|
-
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
2560
|
-
}
|
|
2452
|
+
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
2453
|
+
}
|
|
2561
2454
|
});
|
|
2562
2455
|
|
|
2563
2456
|
/**
|
|
@@ -2565,8 +2458,7 @@ const Plume = defineChain({
|
|
|
2565
2458
|
* @remarks
|
|
2566
2459
|
* This represents the official testnet for the Plume blockchain.
|
|
2567
2460
|
* Used for development and testing purposes before deploying to mainnet.
|
|
2568
|
-
*/
|
|
2569
|
-
const PlumeTestnet = defineChain({
|
|
2461
|
+
*/ const PlumeTestnet = defineChain({
|
|
2570
2462
|
type: 'evm',
|
|
2571
2463
|
chain: Blockchain.Plume_Testnet,
|
|
2572
2464
|
name: 'Plume Testnet',
|
|
@@ -2574,12 +2466,14 @@ const PlumeTestnet = defineChain({
|
|
|
2574
2466
|
nativeCurrency: {
|
|
2575
2467
|
name: 'Plume',
|
|
2576
2468
|
symbol: 'PLUME',
|
|
2577
|
-
decimals: 18
|
|
2469
|
+
decimals: 18
|
|
2578
2470
|
},
|
|
2579
2471
|
chainId: 98867,
|
|
2580
2472
|
isTestnet: true,
|
|
2581
2473
|
explorerUrl: 'https://testnet-explorer.plume.org/tx/{hash}',
|
|
2582
|
-
rpcEndpoints: [
|
|
2474
|
+
rpcEndpoints: [
|
|
2475
|
+
'https://testnet-rpc.plume.org'
|
|
2476
|
+
],
|
|
2583
2477
|
eurcAddress: null,
|
|
2584
2478
|
usdcAddress: '0xcB5f30e335672893c7eb944B374c196392C19D18',
|
|
2585
2479
|
usdtAddress: null,
|
|
@@ -2591,25 +2485,24 @@ const PlumeTestnet = defineChain({
|
|
|
2591
2485
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
2592
2486
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
2593
2487
|
confirmations: 65,
|
|
2594
|
-
fastConfirmations: 1
|
|
2595
|
-
}
|
|
2488
|
+
fastConfirmations: 1
|
|
2489
|
+
}
|
|
2596
2490
|
},
|
|
2597
2491
|
forwarderSupported: {
|
|
2598
|
-
source:
|
|
2599
|
-
destination: true
|
|
2600
|
-
}
|
|
2492
|
+
source: false,
|
|
2493
|
+
destination: true
|
|
2494
|
+
}
|
|
2601
2495
|
},
|
|
2602
2496
|
kitContracts: {
|
|
2603
|
-
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
2604
|
-
}
|
|
2497
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
2498
|
+
}
|
|
2605
2499
|
});
|
|
2606
2500
|
|
|
2607
2501
|
/**
|
|
2608
2502
|
* Polkadot Asset Hub chain definition
|
|
2609
2503
|
* @remarks
|
|
2610
2504
|
* This represents the official asset management parachain for the Polkadot blockchain.
|
|
2611
|
-
*/
|
|
2612
|
-
defineChain({
|
|
2505
|
+
*/ defineChain({
|
|
2613
2506
|
type: 'polkadot',
|
|
2614
2507
|
chain: Blockchain.Polkadot_Asset_Hub,
|
|
2615
2508
|
name: 'Polkadot Asset Hub',
|
|
@@ -2617,23 +2510,24 @@ defineChain({
|
|
|
2617
2510
|
nativeCurrency: {
|
|
2618
2511
|
name: 'Polkadot',
|
|
2619
2512
|
symbol: 'DOT',
|
|
2620
|
-
decimals: 10
|
|
2513
|
+
decimals: 10
|
|
2621
2514
|
},
|
|
2622
2515
|
isTestnet: false,
|
|
2623
2516
|
explorerUrl: 'https://polkadot.subscan.io/extrinsic/{hash}',
|
|
2624
|
-
rpcEndpoints: [
|
|
2517
|
+
rpcEndpoints: [
|
|
2518
|
+
'https://asset-hub-polkadot-rpc.n.dwellir.com'
|
|
2519
|
+
],
|
|
2625
2520
|
eurcAddress: null,
|
|
2626
2521
|
usdcAddress: '1337',
|
|
2627
2522
|
usdtAddress: '1984',
|
|
2628
|
-
cctp: null
|
|
2523
|
+
cctp: null
|
|
2629
2524
|
});
|
|
2630
2525
|
|
|
2631
2526
|
/**
|
|
2632
2527
|
* Polkadot Westmint chain definition
|
|
2633
2528
|
* @remarks
|
|
2634
2529
|
* This represents an asset management parachain in the Polkadot ecosystem.
|
|
2635
|
-
*/
|
|
2636
|
-
defineChain({
|
|
2530
|
+
*/ defineChain({
|
|
2637
2531
|
type: 'polkadot',
|
|
2638
2532
|
chain: Blockchain.Polkadot_Westmint,
|
|
2639
2533
|
name: 'Polkadot Westmint',
|
|
@@ -2641,23 +2535,24 @@ defineChain({
|
|
|
2641
2535
|
nativeCurrency: {
|
|
2642
2536
|
name: 'Polkadot',
|
|
2643
2537
|
symbol: 'DOT',
|
|
2644
|
-
decimals: 10
|
|
2538
|
+
decimals: 10
|
|
2645
2539
|
},
|
|
2646
2540
|
isTestnet: false,
|
|
2647
2541
|
explorerUrl: 'https://assethub-polkadot.subscan.io/extrinsic/{hash}',
|
|
2648
|
-
rpcEndpoints: [
|
|
2542
|
+
rpcEndpoints: [
|
|
2543
|
+
'https://westmint-rpc.polkadot.io'
|
|
2544
|
+
],
|
|
2649
2545
|
eurcAddress: null,
|
|
2650
2546
|
usdcAddress: 'Asset ID 31337',
|
|
2651
2547
|
usdtAddress: null,
|
|
2652
|
-
cctp: null
|
|
2548
|
+
cctp: null
|
|
2653
2549
|
});
|
|
2654
2550
|
|
|
2655
2551
|
/**
|
|
2656
2552
|
* Polygon Mainnet chain definition
|
|
2657
2553
|
* @remarks
|
|
2658
2554
|
* This represents the official production network for the Polygon blockchain.
|
|
2659
|
-
*/
|
|
2660
|
-
const Polygon = defineChain({
|
|
2555
|
+
*/ const Polygon = defineChain({
|
|
2661
2556
|
type: 'evm',
|
|
2662
2557
|
chain: Blockchain.Polygon,
|
|
2663
2558
|
name: 'Polygon',
|
|
@@ -2665,12 +2560,15 @@ const Polygon = defineChain({
|
|
|
2665
2560
|
nativeCurrency: {
|
|
2666
2561
|
name: 'POL',
|
|
2667
2562
|
symbol: 'POL',
|
|
2668
|
-
decimals: 18
|
|
2563
|
+
decimals: 18
|
|
2669
2564
|
},
|
|
2670
2565
|
chainId: 137,
|
|
2671
2566
|
isTestnet: false,
|
|
2672
2567
|
explorerUrl: 'https://polygonscan.com/tx/{hash}',
|
|
2673
|
-
rpcEndpoints: [
|
|
2568
|
+
rpcEndpoints: [
|
|
2569
|
+
'https://polygon.publicnode.com',
|
|
2570
|
+
'https://polygon.drpc.org'
|
|
2571
|
+
],
|
|
2674
2572
|
eurcAddress: null,
|
|
2675
2573
|
usdcAddress: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359',
|
|
2676
2574
|
usdtAddress: null,
|
|
@@ -2681,46 +2579,45 @@ const Polygon = defineChain({
|
|
|
2681
2579
|
type: 'split',
|
|
2682
2580
|
tokenMessenger: '0x9daF8c91AEFAE50b9c0E69629D3F6Ca40cA3B3FE',
|
|
2683
2581
|
messageTransmitter: '0xF3be9355363857F3e001be68856A2f96b4C39Ba9',
|
|
2684
|
-
confirmations: 200
|
|
2582
|
+
confirmations: 200
|
|
2685
2583
|
},
|
|
2686
2584
|
v2: {
|
|
2687
2585
|
type: 'split',
|
|
2688
2586
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
2689
2587
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
2690
2588
|
confirmations: 33,
|
|
2691
|
-
fastConfirmations: 13
|
|
2692
|
-
}
|
|
2589
|
+
fastConfirmations: 13
|
|
2590
|
+
}
|
|
2693
2591
|
},
|
|
2694
2592
|
forwarderSupported: {
|
|
2695
|
-
source:
|
|
2696
|
-
destination: true
|
|
2697
|
-
}
|
|
2593
|
+
source: false,
|
|
2594
|
+
destination: true
|
|
2595
|
+
}
|
|
2698
2596
|
},
|
|
2699
2597
|
kitContracts: {
|
|
2700
2598
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
2701
|
-
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
2599
|
+
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
2702
2600
|
},
|
|
2703
2601
|
gateway: {
|
|
2704
2602
|
domain: 7,
|
|
2705
2603
|
contracts: {
|
|
2706
2604
|
v1: {
|
|
2707
2605
|
wallet: GATEWAY_WALLET_EVM_MAINNET,
|
|
2708
|
-
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
2709
|
-
}
|
|
2606
|
+
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
2607
|
+
}
|
|
2710
2608
|
},
|
|
2711
2609
|
forwarderSupported: {
|
|
2712
2610
|
source: true,
|
|
2713
|
-
destination: true
|
|
2714
|
-
}
|
|
2715
|
-
}
|
|
2611
|
+
destination: true
|
|
2612
|
+
}
|
|
2613
|
+
}
|
|
2716
2614
|
});
|
|
2717
2615
|
|
|
2718
2616
|
/**
|
|
2719
2617
|
* Polygon Amoy Testnet chain definition
|
|
2720
2618
|
* @remarks
|
|
2721
2619
|
* This represents the official test network for the Polygon blockchain.
|
|
2722
|
-
*/
|
|
2723
|
-
const PolygonAmoy = defineChain({
|
|
2620
|
+
*/ const PolygonAmoy = defineChain({
|
|
2724
2621
|
type: 'evm',
|
|
2725
2622
|
chain: Blockchain.Polygon_Amoy_Testnet,
|
|
2726
2623
|
name: 'Polygon Amoy',
|
|
@@ -2728,12 +2625,14 @@ const PolygonAmoy = defineChain({
|
|
|
2728
2625
|
nativeCurrency: {
|
|
2729
2626
|
name: 'POL',
|
|
2730
2627
|
symbol: 'POL',
|
|
2731
|
-
decimals: 18
|
|
2628
|
+
decimals: 18
|
|
2732
2629
|
},
|
|
2733
2630
|
chainId: 80002,
|
|
2734
2631
|
isTestnet: true,
|
|
2735
2632
|
explorerUrl: 'https://amoy.polygonscan.com/tx/{hash}',
|
|
2736
|
-
rpcEndpoints: [
|
|
2633
|
+
rpcEndpoints: [
|
|
2634
|
+
'https://rpc-amoy.polygon.technology'
|
|
2635
|
+
],
|
|
2737
2636
|
eurcAddress: null,
|
|
2738
2637
|
usdcAddress: '0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582',
|
|
2739
2638
|
usdtAddress: null,
|
|
@@ -2744,37 +2643,37 @@ const PolygonAmoy = defineChain({
|
|
|
2744
2643
|
type: 'split',
|
|
2745
2644
|
tokenMessenger: '0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5',
|
|
2746
2645
|
messageTransmitter: '0x7865fAfC2db2093669d92c0F33AeEF291086BEFD',
|
|
2747
|
-
confirmations: 200
|
|
2646
|
+
confirmations: 200
|
|
2748
2647
|
},
|
|
2749
2648
|
v2: {
|
|
2750
2649
|
type: 'split',
|
|
2751
2650
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
2752
2651
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
2753
2652
|
confirmations: 33,
|
|
2754
|
-
fastConfirmations: 13
|
|
2755
|
-
}
|
|
2653
|
+
fastConfirmations: 13
|
|
2654
|
+
}
|
|
2756
2655
|
},
|
|
2757
2656
|
forwarderSupported: {
|
|
2758
|
-
source:
|
|
2759
|
-
destination: true
|
|
2760
|
-
}
|
|
2657
|
+
source: false,
|
|
2658
|
+
destination: true
|
|
2659
|
+
}
|
|
2761
2660
|
},
|
|
2762
2661
|
kitContracts: {
|
|
2763
|
-
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
2662
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
2764
2663
|
},
|
|
2765
2664
|
gateway: {
|
|
2766
2665
|
domain: 7,
|
|
2767
2666
|
contracts: {
|
|
2768
2667
|
v1: {
|
|
2769
2668
|
wallet: GATEWAY_WALLET_EVM_TESTNET,
|
|
2770
|
-
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
2771
|
-
}
|
|
2669
|
+
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
2670
|
+
}
|
|
2772
2671
|
},
|
|
2773
2672
|
forwarderSupported: {
|
|
2774
2673
|
source: true,
|
|
2775
|
-
destination: true
|
|
2776
|
-
}
|
|
2777
|
-
}
|
|
2674
|
+
destination: true
|
|
2675
|
+
}
|
|
2676
|
+
}
|
|
2778
2677
|
});
|
|
2779
2678
|
|
|
2780
2679
|
/**
|
|
@@ -2783,8 +2682,7 @@ const PolygonAmoy = defineChain({
|
|
|
2783
2682
|
* This represents the official production network for the Sei blockchain.
|
|
2784
2683
|
* Sei is a Layer 1 blockchain specialized for DeFi and trading applications
|
|
2785
2684
|
* with native orderbook and matching engine.
|
|
2786
|
-
*/
|
|
2787
|
-
const Sei = defineChain({
|
|
2685
|
+
*/ const Sei = defineChain({
|
|
2788
2686
|
type: 'evm',
|
|
2789
2687
|
chain: Blockchain.Sei,
|
|
2790
2688
|
name: 'Sei',
|
|
@@ -2792,12 +2690,14 @@ const Sei = defineChain({
|
|
|
2792
2690
|
nativeCurrency: {
|
|
2793
2691
|
name: 'Sei',
|
|
2794
2692
|
symbol: 'SEI',
|
|
2795
|
-
decimals: 18
|
|
2693
|
+
decimals: 18
|
|
2796
2694
|
},
|
|
2797
2695
|
chainId: 1329,
|
|
2798
2696
|
isTestnet: false,
|
|
2799
2697
|
explorerUrl: 'https://seiscan.io/tx/{hash}',
|
|
2800
|
-
rpcEndpoints: [
|
|
2698
|
+
rpcEndpoints: [
|
|
2699
|
+
'https://evm-rpc.sei-apis.com'
|
|
2700
|
+
],
|
|
2801
2701
|
eurcAddress: null,
|
|
2802
2702
|
usdcAddress: '0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392',
|
|
2803
2703
|
usdtAddress: null,
|
|
@@ -2809,31 +2709,31 @@ const Sei = defineChain({
|
|
|
2809
2709
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
2810
2710
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
2811
2711
|
confirmations: 1,
|
|
2812
|
-
fastConfirmations: 1
|
|
2813
|
-
}
|
|
2712
|
+
fastConfirmations: 1
|
|
2713
|
+
}
|
|
2814
2714
|
},
|
|
2815
2715
|
forwarderSupported: {
|
|
2816
|
-
source:
|
|
2817
|
-
destination: true
|
|
2818
|
-
}
|
|
2716
|
+
source: false,
|
|
2717
|
+
destination: true
|
|
2718
|
+
}
|
|
2819
2719
|
},
|
|
2820
2720
|
kitContracts: {
|
|
2821
2721
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
2822
|
-
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
2722
|
+
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
2823
2723
|
},
|
|
2824
2724
|
gateway: {
|
|
2825
2725
|
domain: 16,
|
|
2826
2726
|
contracts: {
|
|
2827
2727
|
v1: {
|
|
2828
2728
|
wallet: GATEWAY_WALLET_EVM_MAINNET,
|
|
2829
|
-
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
2830
|
-
}
|
|
2729
|
+
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
2730
|
+
}
|
|
2831
2731
|
},
|
|
2832
2732
|
forwarderSupported: {
|
|
2833
2733
|
source: true,
|
|
2834
|
-
destination: true
|
|
2835
|
-
}
|
|
2836
|
-
}
|
|
2734
|
+
destination: true
|
|
2735
|
+
}
|
|
2736
|
+
}
|
|
2837
2737
|
});
|
|
2838
2738
|
|
|
2839
2739
|
/**
|
|
@@ -2841,8 +2741,7 @@ const Sei = defineChain({
|
|
|
2841
2741
|
* @remarks
|
|
2842
2742
|
* This represents the official testnet for the Sei blockchain.
|
|
2843
2743
|
* Used for development and testing purposes before deploying to mainnet.
|
|
2844
|
-
*/
|
|
2845
|
-
const SeiTestnet = defineChain({
|
|
2744
|
+
*/ const SeiTestnet = defineChain({
|
|
2846
2745
|
type: 'evm',
|
|
2847
2746
|
chain: Blockchain.Sei_Testnet,
|
|
2848
2747
|
name: 'Sei Testnet',
|
|
@@ -2850,12 +2749,14 @@ const SeiTestnet = defineChain({
|
|
|
2850
2749
|
nativeCurrency: {
|
|
2851
2750
|
name: 'Sei',
|
|
2852
2751
|
symbol: 'SEI',
|
|
2853
|
-
decimals: 18
|
|
2752
|
+
decimals: 18
|
|
2854
2753
|
},
|
|
2855
2754
|
chainId: 1328,
|
|
2856
2755
|
isTestnet: true,
|
|
2857
2756
|
explorerUrl: 'https://testnet.seiscan.io/tx/{hash}',
|
|
2858
|
-
rpcEndpoints: [
|
|
2757
|
+
rpcEndpoints: [
|
|
2758
|
+
'https://evm-rpc-testnet.sei-apis.com'
|
|
2759
|
+
],
|
|
2859
2760
|
eurcAddress: null,
|
|
2860
2761
|
usdcAddress: '0x4fCF1784B31630811181f670Aea7A7bEF803eaED',
|
|
2861
2762
|
usdtAddress: null,
|
|
@@ -2867,38 +2768,37 @@ const SeiTestnet = defineChain({
|
|
|
2867
2768
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
2868
2769
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
2869
2770
|
confirmations: 1,
|
|
2870
|
-
fastConfirmations: 1
|
|
2871
|
-
}
|
|
2771
|
+
fastConfirmations: 1
|
|
2772
|
+
}
|
|
2872
2773
|
},
|
|
2873
2774
|
forwarderSupported: {
|
|
2874
|
-
source:
|
|
2875
|
-
destination: true
|
|
2876
|
-
}
|
|
2775
|
+
source: false,
|
|
2776
|
+
destination: true
|
|
2777
|
+
}
|
|
2877
2778
|
},
|
|
2878
2779
|
kitContracts: {
|
|
2879
|
-
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
2780
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
2880
2781
|
},
|
|
2881
2782
|
gateway: {
|
|
2882
2783
|
domain: 16,
|
|
2883
2784
|
contracts: {
|
|
2884
2785
|
v1: {
|
|
2885
2786
|
wallet: GATEWAY_WALLET_EVM_TESTNET,
|
|
2886
|
-
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
2887
|
-
}
|
|
2787
|
+
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
2788
|
+
}
|
|
2888
2789
|
},
|
|
2889
2790
|
forwarderSupported: {
|
|
2890
2791
|
source: true,
|
|
2891
|
-
destination: true
|
|
2892
|
-
}
|
|
2893
|
-
}
|
|
2792
|
+
destination: true
|
|
2793
|
+
}
|
|
2794
|
+
}
|
|
2894
2795
|
});
|
|
2895
2796
|
|
|
2896
2797
|
/**
|
|
2897
2798
|
* Sonic Mainnet chain definition
|
|
2898
2799
|
* @remarks
|
|
2899
2800
|
* This represents the official production network for the Sonic blockchain.
|
|
2900
|
-
*/
|
|
2901
|
-
const Sonic = defineChain({
|
|
2801
|
+
*/ const Sonic = defineChain({
|
|
2902
2802
|
type: 'evm',
|
|
2903
2803
|
chain: Blockchain.Sonic,
|
|
2904
2804
|
name: 'Sonic',
|
|
@@ -2906,12 +2806,14 @@ const Sonic = defineChain({
|
|
|
2906
2806
|
nativeCurrency: {
|
|
2907
2807
|
name: 'Sonic',
|
|
2908
2808
|
symbol: 'S',
|
|
2909
|
-
decimals: 18
|
|
2809
|
+
decimals: 18
|
|
2910
2810
|
},
|
|
2911
2811
|
chainId: 146,
|
|
2912
2812
|
isTestnet: false,
|
|
2913
2813
|
explorerUrl: 'https://sonicscan.org/tx/{hash}',
|
|
2914
|
-
rpcEndpoints: [
|
|
2814
|
+
rpcEndpoints: [
|
|
2815
|
+
'https://rpc.soniclabs.com'
|
|
2816
|
+
],
|
|
2915
2817
|
eurcAddress: null,
|
|
2916
2818
|
usdcAddress: '0x29219dd400f2Bf60E5a23d13Be72B486D4038894',
|
|
2917
2819
|
usdtAddress: null,
|
|
@@ -2923,39 +2825,38 @@ const Sonic = defineChain({
|
|
|
2923
2825
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
2924
2826
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
2925
2827
|
confirmations: 1,
|
|
2926
|
-
fastConfirmations: 1
|
|
2927
|
-
}
|
|
2828
|
+
fastConfirmations: 1
|
|
2829
|
+
}
|
|
2928
2830
|
},
|
|
2929
2831
|
forwarderSupported: {
|
|
2930
|
-
source:
|
|
2931
|
-
destination: true
|
|
2932
|
-
}
|
|
2832
|
+
source: false,
|
|
2833
|
+
destination: true
|
|
2834
|
+
}
|
|
2933
2835
|
},
|
|
2934
2836
|
kitContracts: {
|
|
2935
2837
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
2936
|
-
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
2838
|
+
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
2937
2839
|
},
|
|
2938
2840
|
gateway: {
|
|
2939
2841
|
domain: 13,
|
|
2940
2842
|
contracts: {
|
|
2941
2843
|
v1: {
|
|
2942
2844
|
wallet: GATEWAY_WALLET_EVM_MAINNET,
|
|
2943
|
-
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
2944
|
-
}
|
|
2845
|
+
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
2846
|
+
}
|
|
2945
2847
|
},
|
|
2946
2848
|
forwarderSupported: {
|
|
2947
2849
|
source: true,
|
|
2948
|
-
destination: true
|
|
2949
|
-
}
|
|
2950
|
-
}
|
|
2850
|
+
destination: true
|
|
2851
|
+
}
|
|
2852
|
+
}
|
|
2951
2853
|
});
|
|
2952
2854
|
|
|
2953
2855
|
/**
|
|
2954
2856
|
* Sonic Testnet chain definition
|
|
2955
2857
|
* @remarks
|
|
2956
2858
|
* This represents the official test network for the Sonic blockchain.
|
|
2957
|
-
*/
|
|
2958
|
-
const SonicTestnet = defineChain({
|
|
2859
|
+
*/ const SonicTestnet = defineChain({
|
|
2959
2860
|
type: 'evm',
|
|
2960
2861
|
chain: Blockchain.Sonic_Testnet,
|
|
2961
2862
|
name: 'Sonic Testnet',
|
|
@@ -2963,12 +2864,14 @@ const SonicTestnet = defineChain({
|
|
|
2963
2864
|
nativeCurrency: {
|
|
2964
2865
|
name: 'Sonic',
|
|
2965
2866
|
symbol: 'S',
|
|
2966
|
-
decimals: 18
|
|
2867
|
+
decimals: 18
|
|
2967
2868
|
},
|
|
2968
2869
|
chainId: 14601,
|
|
2969
2870
|
isTestnet: true,
|
|
2970
2871
|
explorerUrl: 'https://testnet.sonicscan.org/tx/{hash}',
|
|
2971
|
-
rpcEndpoints: [
|
|
2872
|
+
rpcEndpoints: [
|
|
2873
|
+
'https://rpc.testnet.soniclabs.com'
|
|
2874
|
+
],
|
|
2972
2875
|
eurcAddress: null,
|
|
2973
2876
|
usdcAddress: '0x0BA304580ee7c9a980CF72e55f5Ed2E9fd30Bc51',
|
|
2974
2877
|
usdtAddress: null,
|
|
@@ -2980,38 +2883,37 @@ const SonicTestnet = defineChain({
|
|
|
2980
2883
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
2981
2884
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
2982
2885
|
confirmations: 1,
|
|
2983
|
-
fastConfirmations: 1
|
|
2984
|
-
}
|
|
2886
|
+
fastConfirmations: 1
|
|
2887
|
+
}
|
|
2985
2888
|
},
|
|
2986
2889
|
forwarderSupported: {
|
|
2987
|
-
source:
|
|
2988
|
-
destination: true
|
|
2989
|
-
}
|
|
2890
|
+
source: false,
|
|
2891
|
+
destination: true
|
|
2892
|
+
}
|
|
2990
2893
|
},
|
|
2991
2894
|
kitContracts: {
|
|
2992
|
-
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
2895
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
2993
2896
|
},
|
|
2994
2897
|
gateway: {
|
|
2995
2898
|
domain: 13,
|
|
2996
2899
|
contracts: {
|
|
2997
2900
|
v1: {
|
|
2998
2901
|
wallet: GATEWAY_WALLET_EVM_TESTNET,
|
|
2999
|
-
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
3000
|
-
}
|
|
2902
|
+
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
2903
|
+
}
|
|
3001
2904
|
},
|
|
3002
2905
|
forwarderSupported: {
|
|
3003
2906
|
source: true,
|
|
3004
|
-
destination: true
|
|
3005
|
-
}
|
|
3006
|
-
}
|
|
2907
|
+
destination: true
|
|
2908
|
+
}
|
|
2909
|
+
}
|
|
3007
2910
|
});
|
|
3008
2911
|
|
|
3009
2912
|
/**
|
|
3010
2913
|
* Solana Mainnet chain definition
|
|
3011
2914
|
* @remarks
|
|
3012
2915
|
* This represents the official production network for the Solana blockchain.
|
|
3013
|
-
*/
|
|
3014
|
-
const Solana = defineChain({
|
|
2916
|
+
*/ const Solana = defineChain({
|
|
3015
2917
|
type: 'solana',
|
|
3016
2918
|
chain: Blockchain.Solana,
|
|
3017
2919
|
name: 'Solana',
|
|
@@ -3019,11 +2921,13 @@ const Solana = defineChain({
|
|
|
3019
2921
|
nativeCurrency: {
|
|
3020
2922
|
name: 'Solana',
|
|
3021
2923
|
symbol: 'SOL',
|
|
3022
|
-
decimals: 9
|
|
2924
|
+
decimals: 9
|
|
3023
2925
|
},
|
|
3024
2926
|
isTestnet: false,
|
|
3025
2927
|
explorerUrl: 'https://solscan.io/tx/{hash}',
|
|
3026
|
-
rpcEndpoints: [
|
|
2928
|
+
rpcEndpoints: [
|
|
2929
|
+
'https://api.mainnet-beta.solana.com'
|
|
2930
|
+
],
|
|
3027
2931
|
eurcAddress: 'HzwqbKZw8HxMN6bF2yFZNrht3c2iXXzpKcFu7uBEDKtr',
|
|
3028
2932
|
usdcAddress: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
|
|
3029
2933
|
usdtAddress: 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB',
|
|
@@ -3034,45 +2938,44 @@ const Solana = defineChain({
|
|
|
3034
2938
|
type: 'split',
|
|
3035
2939
|
tokenMessenger: 'CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3',
|
|
3036
2940
|
messageTransmitter: 'CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd',
|
|
3037
|
-
confirmations: 32
|
|
2941
|
+
confirmations: 32
|
|
3038
2942
|
},
|
|
3039
2943
|
v2: {
|
|
3040
2944
|
type: 'split',
|
|
3041
2945
|
tokenMessenger: 'CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe',
|
|
3042
2946
|
messageTransmitter: 'CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC',
|
|
3043
2947
|
confirmations: 32,
|
|
3044
|
-
fastConfirmations: 3
|
|
3045
|
-
}
|
|
2948
|
+
fastConfirmations: 3
|
|
2949
|
+
}
|
|
3046
2950
|
},
|
|
3047
2951
|
forwarderSupported: {
|
|
3048
|
-
source:
|
|
3049
|
-
destination: true
|
|
3050
|
-
}
|
|
2952
|
+
source: false,
|
|
2953
|
+
destination: true
|
|
2954
|
+
}
|
|
3051
2955
|
},
|
|
3052
2956
|
kitContracts: {
|
|
3053
|
-
bridge: 'DFaauJEjmiHkPs1JG89A4p95hDWi9m9SAEERY1LQJiC3'
|
|
2957
|
+
bridge: 'DFaauJEjmiHkPs1JG89A4p95hDWi9m9SAEERY1LQJiC3'
|
|
3054
2958
|
},
|
|
3055
2959
|
gateway: {
|
|
3056
2960
|
domain: 5,
|
|
3057
2961
|
contracts: {
|
|
3058
2962
|
v1: {
|
|
3059
2963
|
wallet: GATEWAY_WALLET_SOLANA_MAINNET,
|
|
3060
|
-
minter: GATEWAY_MINTER_SOLANA_MAINNET
|
|
3061
|
-
}
|
|
2964
|
+
minter: GATEWAY_MINTER_SOLANA_MAINNET
|
|
2965
|
+
}
|
|
3062
2966
|
},
|
|
3063
2967
|
forwarderSupported: {
|
|
3064
2968
|
source: true,
|
|
3065
|
-
destination:
|
|
3066
|
-
}
|
|
3067
|
-
}
|
|
2969
|
+
destination: true
|
|
2970
|
+
}
|
|
2971
|
+
}
|
|
3068
2972
|
});
|
|
3069
2973
|
|
|
3070
2974
|
/**
|
|
3071
2975
|
* Solana Devnet chain definition
|
|
3072
2976
|
* @remarks
|
|
3073
2977
|
* This represents the development test network for the Solana blockchain.
|
|
3074
|
-
*/
|
|
3075
|
-
const SolanaDevnet = defineChain({
|
|
2978
|
+
*/ const SolanaDevnet = defineChain({
|
|
3076
2979
|
type: 'solana',
|
|
3077
2980
|
chain: Blockchain.Solana_Devnet,
|
|
3078
2981
|
name: 'Solana Devnet',
|
|
@@ -3080,7 +2983,7 @@ const SolanaDevnet = defineChain({
|
|
|
3080
2983
|
nativeCurrency: {
|
|
3081
2984
|
name: 'Solana',
|
|
3082
2985
|
symbol: 'SOL',
|
|
3083
|
-
decimals: 9
|
|
2986
|
+
decimals: 9
|
|
3084
2987
|
},
|
|
3085
2988
|
isTestnet: true,
|
|
3086
2989
|
explorerUrl: 'https://solscan.io/tx/{hash}?cluster=devnet',
|
|
@@ -3094,46 +2997,47 @@ const SolanaDevnet = defineChain({
|
|
|
3094
2997
|
type: 'split',
|
|
3095
2998
|
tokenMessenger: 'CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3',
|
|
3096
2999
|
messageTransmitter: 'CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd',
|
|
3097
|
-
confirmations: 32
|
|
3000
|
+
confirmations: 32
|
|
3098
3001
|
},
|
|
3099
3002
|
v2: {
|
|
3100
3003
|
type: 'split',
|
|
3101
3004
|
tokenMessenger: 'CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe',
|
|
3102
3005
|
messageTransmitter: 'CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC',
|
|
3103
3006
|
confirmations: 32,
|
|
3104
|
-
fastConfirmations: 3
|
|
3105
|
-
}
|
|
3007
|
+
fastConfirmations: 3
|
|
3008
|
+
}
|
|
3106
3009
|
},
|
|
3107
3010
|
forwarderSupported: {
|
|
3108
|
-
source:
|
|
3109
|
-
destination: true
|
|
3110
|
-
}
|
|
3011
|
+
source: false,
|
|
3012
|
+
destination: true
|
|
3013
|
+
}
|
|
3111
3014
|
},
|
|
3112
3015
|
kitContracts: {
|
|
3113
|
-
bridge: 'DFaauJEjmiHkPs1JG89A4p95hDWi9m9SAEERY1LQJiC3'
|
|
3016
|
+
bridge: 'DFaauJEjmiHkPs1JG89A4p95hDWi9m9SAEERY1LQJiC3'
|
|
3114
3017
|
},
|
|
3115
|
-
rpcEndpoints: [
|
|
3018
|
+
rpcEndpoints: [
|
|
3019
|
+
'https://api.devnet.solana.com'
|
|
3020
|
+
],
|
|
3116
3021
|
gateway: {
|
|
3117
3022
|
domain: 5,
|
|
3118
3023
|
contracts: {
|
|
3119
3024
|
v1: {
|
|
3120
3025
|
wallet: GATEWAY_WALLET_SOLANA_DEVNET,
|
|
3121
|
-
minter: GATEWAY_MINTER_SOLANA_DEVNET
|
|
3122
|
-
}
|
|
3026
|
+
minter: GATEWAY_MINTER_SOLANA_DEVNET
|
|
3027
|
+
}
|
|
3123
3028
|
},
|
|
3124
3029
|
forwarderSupported: {
|
|
3125
3030
|
source: true,
|
|
3126
|
-
destination:
|
|
3127
|
-
}
|
|
3128
|
-
}
|
|
3031
|
+
destination: true
|
|
3032
|
+
}
|
|
3033
|
+
}
|
|
3129
3034
|
});
|
|
3130
3035
|
|
|
3131
3036
|
/**
|
|
3132
3037
|
* Stellar Mainnet chain definition
|
|
3133
3038
|
* @remarks
|
|
3134
3039
|
* This represents the official production network for the Stellar blockchain.
|
|
3135
|
-
*/
|
|
3136
|
-
defineChain({
|
|
3040
|
+
*/ defineChain({
|
|
3137
3041
|
type: 'stellar',
|
|
3138
3042
|
chain: Blockchain.Stellar,
|
|
3139
3043
|
name: 'Stellar',
|
|
@@ -3141,23 +3045,24 @@ defineChain({
|
|
|
3141
3045
|
nativeCurrency: {
|
|
3142
3046
|
name: 'Stellar Lumens',
|
|
3143
3047
|
symbol: 'XLM',
|
|
3144
|
-
decimals: 7
|
|
3048
|
+
decimals: 7
|
|
3145
3049
|
},
|
|
3146
3050
|
isTestnet: false,
|
|
3147
3051
|
explorerUrl: 'https://stellar.expert/explorer/public/tx/{hash}',
|
|
3148
|
-
rpcEndpoints: [
|
|
3052
|
+
rpcEndpoints: [
|
|
3053
|
+
'https://horizon.stellar.org'
|
|
3054
|
+
],
|
|
3149
3055
|
eurcAddress: 'EURC-GDHU6WRG4IEQXM5NZ4BMPKOXHW76MZM4Y2IEMFDVXBSDP6SJY4ITNPP2',
|
|
3150
3056
|
usdcAddress: 'USDC-GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN',
|
|
3151
3057
|
usdtAddress: null,
|
|
3152
|
-
cctp: null
|
|
3058
|
+
cctp: null
|
|
3153
3059
|
});
|
|
3154
3060
|
|
|
3155
3061
|
/**
|
|
3156
3062
|
* Stellar Testnet chain definition
|
|
3157
3063
|
* @remarks
|
|
3158
3064
|
* This represents the official test network for the Stellar blockchain.
|
|
3159
|
-
*/
|
|
3160
|
-
defineChain({
|
|
3065
|
+
*/ defineChain({
|
|
3161
3066
|
type: 'stellar',
|
|
3162
3067
|
chain: Blockchain.Stellar_Testnet,
|
|
3163
3068
|
name: 'Stellar Testnet',
|
|
@@ -3165,23 +3070,24 @@ defineChain({
|
|
|
3165
3070
|
nativeCurrency: {
|
|
3166
3071
|
name: 'Stellar Lumens',
|
|
3167
3072
|
symbol: 'XLM',
|
|
3168
|
-
decimals: 7
|
|
3073
|
+
decimals: 7
|
|
3169
3074
|
},
|
|
3170
3075
|
isTestnet: true,
|
|
3171
3076
|
explorerUrl: 'https://stellar.expert/explorer/testnet/tx/{hash}',
|
|
3172
|
-
rpcEndpoints: [
|
|
3077
|
+
rpcEndpoints: [
|
|
3078
|
+
'https://horizon-testnet.stellar.org'
|
|
3079
|
+
],
|
|
3173
3080
|
eurcAddress: 'EURC-GB3Q6QDZYTHWT7E5PVS3W7FUT5GVAFC5KSZFFLPU25GO7VTC3NM2ZTVO',
|
|
3174
3081
|
usdcAddress: 'USDC-GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5',
|
|
3175
3082
|
usdtAddress: null,
|
|
3176
|
-
cctp: null
|
|
3083
|
+
cctp: null
|
|
3177
3084
|
});
|
|
3178
3085
|
|
|
3179
3086
|
/**
|
|
3180
3087
|
* Sui Mainnet chain definition
|
|
3181
3088
|
* @remarks
|
|
3182
3089
|
* This represents the official production network for the Sui blockchain.
|
|
3183
|
-
*/
|
|
3184
|
-
defineChain({
|
|
3090
|
+
*/ defineChain({
|
|
3185
3091
|
type: 'sui',
|
|
3186
3092
|
chain: Blockchain.Sui,
|
|
3187
3093
|
name: 'Sui',
|
|
@@ -3189,11 +3095,13 @@ defineChain({
|
|
|
3189
3095
|
nativeCurrency: {
|
|
3190
3096
|
name: 'Sui',
|
|
3191
3097
|
symbol: 'SUI',
|
|
3192
|
-
decimals: 9
|
|
3098
|
+
decimals: 9
|
|
3193
3099
|
},
|
|
3194
3100
|
isTestnet: false,
|
|
3195
3101
|
explorerUrl: 'https://suiscan.xyz/mainnet/tx/{hash}',
|
|
3196
|
-
rpcEndpoints: [
|
|
3102
|
+
rpcEndpoints: [
|
|
3103
|
+
'https://fullnode.mainnet.sui.io'
|
|
3104
|
+
],
|
|
3197
3105
|
eurcAddress: null,
|
|
3198
3106
|
usdcAddress: '0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC',
|
|
3199
3107
|
usdtAddress: null,
|
|
@@ -3204,22 +3112,21 @@ defineChain({
|
|
|
3204
3112
|
type: 'split',
|
|
3205
3113
|
tokenMessenger: '0x2aa6c5d56376c371f88a6cc42e852824994993cb9bab8d3e6450cbe3cb32b94e',
|
|
3206
3114
|
messageTransmitter: '0x08d87d37ba49e785dde270a83f8e979605b03dc552b5548f26fdf2f49bf7ed1b',
|
|
3207
|
-
confirmations: 1
|
|
3208
|
-
}
|
|
3115
|
+
confirmations: 1
|
|
3116
|
+
}
|
|
3209
3117
|
},
|
|
3210
3118
|
forwarderSupported: {
|
|
3211
3119
|
source: false,
|
|
3212
|
-
destination: false
|
|
3213
|
-
}
|
|
3214
|
-
}
|
|
3120
|
+
destination: false
|
|
3121
|
+
}
|
|
3122
|
+
}
|
|
3215
3123
|
});
|
|
3216
3124
|
|
|
3217
3125
|
/**
|
|
3218
3126
|
* Sui Testnet chain definition
|
|
3219
3127
|
* @remarks
|
|
3220
3128
|
* This represents the official test network for the Sui blockchain.
|
|
3221
|
-
*/
|
|
3222
|
-
defineChain({
|
|
3129
|
+
*/ defineChain({
|
|
3223
3130
|
type: 'sui',
|
|
3224
3131
|
chain: Blockchain.Sui_Testnet,
|
|
3225
3132
|
name: 'Sui Testnet',
|
|
@@ -3227,11 +3134,13 @@ defineChain({
|
|
|
3227
3134
|
nativeCurrency: {
|
|
3228
3135
|
name: 'Sui',
|
|
3229
3136
|
symbol: 'SUI',
|
|
3230
|
-
decimals: 9
|
|
3137
|
+
decimals: 9
|
|
3231
3138
|
},
|
|
3232
3139
|
isTestnet: true,
|
|
3233
3140
|
explorerUrl: 'https://suiscan.xyz/testnet/tx/{hash}',
|
|
3234
|
-
rpcEndpoints: [
|
|
3141
|
+
rpcEndpoints: [
|
|
3142
|
+
'https://fullnode.testnet.sui.io'
|
|
3143
|
+
],
|
|
3235
3144
|
eurcAddress: null,
|
|
3236
3145
|
usdcAddress: '0xa1ec7fc00a6f40db9693ad1415d0c193ad3906494428cf252621037bd7117e29::usdc::USDC',
|
|
3237
3146
|
usdtAddress: null,
|
|
@@ -3242,22 +3151,21 @@ defineChain({
|
|
|
3242
3151
|
type: 'split',
|
|
3243
3152
|
tokenMessenger: '0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb',
|
|
3244
3153
|
messageTransmitter: '0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5',
|
|
3245
|
-
confirmations: 1
|
|
3246
|
-
}
|
|
3154
|
+
confirmations: 1
|
|
3155
|
+
}
|
|
3247
3156
|
},
|
|
3248
3157
|
forwarderSupported: {
|
|
3249
3158
|
source: false,
|
|
3250
|
-
destination: false
|
|
3251
|
-
}
|
|
3252
|
-
}
|
|
3159
|
+
destination: false
|
|
3160
|
+
}
|
|
3161
|
+
}
|
|
3253
3162
|
});
|
|
3254
3163
|
|
|
3255
3164
|
/**
|
|
3256
3165
|
* Unichain Mainnet chain definition
|
|
3257
3166
|
* @remarks
|
|
3258
3167
|
* This represents the official production network for the Unichain blockchain.
|
|
3259
|
-
*/
|
|
3260
|
-
const Unichain = defineChain({
|
|
3168
|
+
*/ const Unichain = defineChain({
|
|
3261
3169
|
type: 'evm',
|
|
3262
3170
|
chain: Blockchain.Unichain,
|
|
3263
3171
|
name: 'Unichain',
|
|
@@ -3265,12 +3173,14 @@ const Unichain = defineChain({
|
|
|
3265
3173
|
nativeCurrency: {
|
|
3266
3174
|
name: 'Uni',
|
|
3267
3175
|
symbol: 'UNI',
|
|
3268
|
-
decimals: 18
|
|
3176
|
+
decimals: 18
|
|
3269
3177
|
},
|
|
3270
3178
|
chainId: 130,
|
|
3271
3179
|
isTestnet: false,
|
|
3272
3180
|
explorerUrl: 'https://unichain.blockscout.com/tx/{hash}',
|
|
3273
|
-
rpcEndpoints: [
|
|
3181
|
+
rpcEndpoints: [
|
|
3182
|
+
'https://mainnet.unichain.org'
|
|
3183
|
+
],
|
|
3274
3184
|
eurcAddress: null,
|
|
3275
3185
|
usdcAddress: '0x078D782b760474a361dDA0AF3839290b0EF57AD6',
|
|
3276
3186
|
usdtAddress: null,
|
|
@@ -3281,46 +3191,45 @@ const Unichain = defineChain({
|
|
|
3281
3191
|
type: 'split',
|
|
3282
3192
|
tokenMessenger: '0x4e744b28E787c3aD0e810eD65A24461D4ac5a762',
|
|
3283
3193
|
messageTransmitter: '0x353bE9E2E38AB1D19104534e4edC21c643Df86f4',
|
|
3284
|
-
confirmations: 65
|
|
3194
|
+
confirmations: 65
|
|
3285
3195
|
},
|
|
3286
3196
|
v2: {
|
|
3287
3197
|
type: 'split',
|
|
3288
3198
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
3289
3199
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
3290
3200
|
confirmations: 65,
|
|
3291
|
-
fastConfirmations: 1
|
|
3292
|
-
}
|
|
3201
|
+
fastConfirmations: 1
|
|
3202
|
+
}
|
|
3293
3203
|
},
|
|
3294
3204
|
forwarderSupported: {
|
|
3295
|
-
source:
|
|
3296
|
-
destination: true
|
|
3297
|
-
}
|
|
3205
|
+
source: false,
|
|
3206
|
+
destination: true
|
|
3207
|
+
}
|
|
3298
3208
|
},
|
|
3299
3209
|
kitContracts: {
|
|
3300
3210
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
3301
|
-
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
3211
|
+
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
3302
3212
|
},
|
|
3303
3213
|
gateway: {
|
|
3304
3214
|
domain: 10,
|
|
3305
3215
|
contracts: {
|
|
3306
3216
|
v1: {
|
|
3307
3217
|
wallet: GATEWAY_WALLET_EVM_MAINNET,
|
|
3308
|
-
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
3309
|
-
}
|
|
3218
|
+
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
3219
|
+
}
|
|
3310
3220
|
},
|
|
3311
3221
|
forwarderSupported: {
|
|
3312
3222
|
source: true,
|
|
3313
|
-
destination: true
|
|
3314
|
-
}
|
|
3315
|
-
}
|
|
3223
|
+
destination: true
|
|
3224
|
+
}
|
|
3225
|
+
}
|
|
3316
3226
|
});
|
|
3317
3227
|
|
|
3318
3228
|
/**
|
|
3319
3229
|
* Unichain Sepolia Testnet chain definition
|
|
3320
3230
|
* @remarks
|
|
3321
3231
|
* This represents the official test network for the Unichain blockchain.
|
|
3322
|
-
*/
|
|
3323
|
-
const UnichainSepolia = defineChain({
|
|
3232
|
+
*/ const UnichainSepolia = defineChain({
|
|
3324
3233
|
type: 'evm',
|
|
3325
3234
|
chain: Blockchain.Unichain_Sepolia,
|
|
3326
3235
|
name: 'Unichain Sepolia',
|
|
@@ -3328,12 +3237,14 @@ const UnichainSepolia = defineChain({
|
|
|
3328
3237
|
nativeCurrency: {
|
|
3329
3238
|
name: 'Sepolia Uni',
|
|
3330
3239
|
symbol: 'UNI',
|
|
3331
|
-
decimals: 18
|
|
3240
|
+
decimals: 18
|
|
3332
3241
|
},
|
|
3333
3242
|
chainId: 1301,
|
|
3334
3243
|
isTestnet: true,
|
|
3335
3244
|
explorerUrl: 'https://unichain-sepolia.blockscout.com/tx/{hash}',
|
|
3336
|
-
rpcEndpoints: [
|
|
3245
|
+
rpcEndpoints: [
|
|
3246
|
+
'https://sepolia.unichain.org'
|
|
3247
|
+
],
|
|
3337
3248
|
eurcAddress: null,
|
|
3338
3249
|
usdcAddress: '0x31d0220469e10c4E71834a79b1f276d740d3768F',
|
|
3339
3250
|
usdtAddress: null,
|
|
@@ -3344,45 +3255,44 @@ const UnichainSepolia = defineChain({
|
|
|
3344
3255
|
type: 'split',
|
|
3345
3256
|
tokenMessenger: '0x8ed94B8dAd2Dc5453862ea5e316A8e71AAed9782',
|
|
3346
3257
|
messageTransmitter: '0xbc498c326533d675cf571B90A2Ced265ACb7d086',
|
|
3347
|
-
confirmations: 65
|
|
3258
|
+
confirmations: 65
|
|
3348
3259
|
},
|
|
3349
3260
|
v2: {
|
|
3350
3261
|
type: 'split',
|
|
3351
3262
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
3352
3263
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
3353
3264
|
confirmations: 65,
|
|
3354
|
-
fastConfirmations: 1
|
|
3355
|
-
}
|
|
3265
|
+
fastConfirmations: 1
|
|
3266
|
+
}
|
|
3356
3267
|
},
|
|
3357
3268
|
forwarderSupported: {
|
|
3358
|
-
source:
|
|
3359
|
-
destination: true
|
|
3360
|
-
}
|
|
3269
|
+
source: false,
|
|
3270
|
+
destination: true
|
|
3271
|
+
}
|
|
3361
3272
|
},
|
|
3362
3273
|
kitContracts: {
|
|
3363
|
-
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
3274
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
3364
3275
|
},
|
|
3365
3276
|
gateway: {
|
|
3366
3277
|
domain: 10,
|
|
3367
3278
|
contracts: {
|
|
3368
3279
|
v1: {
|
|
3369
3280
|
wallet: GATEWAY_WALLET_EVM_TESTNET,
|
|
3370
|
-
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
3371
|
-
}
|
|
3281
|
+
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
3282
|
+
}
|
|
3372
3283
|
},
|
|
3373
3284
|
forwarderSupported: {
|
|
3374
3285
|
source: true,
|
|
3375
|
-
destination: true
|
|
3376
|
-
}
|
|
3377
|
-
}
|
|
3286
|
+
destination: true
|
|
3287
|
+
}
|
|
3288
|
+
}
|
|
3378
3289
|
});
|
|
3379
3290
|
|
|
3380
3291
|
/**
|
|
3381
3292
|
* World Chain chain definition
|
|
3382
3293
|
* @remarks
|
|
3383
3294
|
* This represents the main network for the World Chain blockchain.
|
|
3384
|
-
*/
|
|
3385
|
-
const WorldChain = defineChain({
|
|
3295
|
+
*/ const WorldChain = defineChain({
|
|
3386
3296
|
type: 'evm',
|
|
3387
3297
|
chain: Blockchain.World_Chain,
|
|
3388
3298
|
name: 'World Chain',
|
|
@@ -3390,12 +3300,14 @@ const WorldChain = defineChain({
|
|
|
3390
3300
|
nativeCurrency: {
|
|
3391
3301
|
name: 'Ether',
|
|
3392
3302
|
symbol: 'ETH',
|
|
3393
|
-
decimals: 18
|
|
3303
|
+
decimals: 18
|
|
3394
3304
|
},
|
|
3395
3305
|
chainId: 480,
|
|
3396
3306
|
isTestnet: false,
|
|
3397
3307
|
explorerUrl: 'https://worldscan.org/tx/{hash}',
|
|
3398
|
-
rpcEndpoints: [
|
|
3308
|
+
rpcEndpoints: [
|
|
3309
|
+
'https://worldchain-mainnet.g.alchemy.com/public'
|
|
3310
|
+
],
|
|
3399
3311
|
eurcAddress: null,
|
|
3400
3312
|
usdcAddress: '0x79A02482A880bCE3F13e09Da970dC34db4CD24d1',
|
|
3401
3313
|
usdtAddress: null,
|
|
@@ -3407,39 +3319,38 @@ const WorldChain = defineChain({
|
|
|
3407
3319
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cF5d',
|
|
3408
3320
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
3409
3321
|
confirmations: 65,
|
|
3410
|
-
fastConfirmations: 1
|
|
3411
|
-
}
|
|
3322
|
+
fastConfirmations: 1
|
|
3323
|
+
}
|
|
3412
3324
|
},
|
|
3413
3325
|
forwarderSupported: {
|
|
3414
|
-
source:
|
|
3415
|
-
destination: true
|
|
3416
|
-
}
|
|
3326
|
+
source: false,
|
|
3327
|
+
destination: true
|
|
3328
|
+
}
|
|
3417
3329
|
},
|
|
3418
3330
|
kitContracts: {
|
|
3419
3331
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
3420
|
-
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
3332
|
+
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
3421
3333
|
},
|
|
3422
3334
|
gateway: {
|
|
3423
3335
|
domain: 14,
|
|
3424
3336
|
contracts: {
|
|
3425
3337
|
v1: {
|
|
3426
3338
|
wallet: GATEWAY_WALLET_EVM_MAINNET,
|
|
3427
|
-
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
3428
|
-
}
|
|
3339
|
+
minter: GATEWAY_MINTER_EVM_MAINNET
|
|
3340
|
+
}
|
|
3429
3341
|
},
|
|
3430
3342
|
forwarderSupported: {
|
|
3431
3343
|
source: true,
|
|
3432
|
-
destination: true
|
|
3433
|
-
}
|
|
3434
|
-
}
|
|
3344
|
+
destination: true
|
|
3345
|
+
}
|
|
3346
|
+
}
|
|
3435
3347
|
});
|
|
3436
3348
|
|
|
3437
3349
|
/**
|
|
3438
3350
|
* World Chain Sepolia chain definition
|
|
3439
3351
|
* @remarks
|
|
3440
3352
|
* This represents the test network for the World Chain blockchain.
|
|
3441
|
-
*/
|
|
3442
|
-
const WorldChainSepolia = defineChain({
|
|
3353
|
+
*/ const WorldChainSepolia = defineChain({
|
|
3443
3354
|
type: 'evm',
|
|
3444
3355
|
chain: Blockchain.World_Chain_Sepolia,
|
|
3445
3356
|
name: 'World Chain Sepolia',
|
|
@@ -3447,14 +3358,14 @@ const WorldChainSepolia = defineChain({
|
|
|
3447
3358
|
nativeCurrency: {
|
|
3448
3359
|
name: 'Ether',
|
|
3449
3360
|
symbol: 'ETH',
|
|
3450
|
-
decimals: 18
|
|
3361
|
+
decimals: 18
|
|
3451
3362
|
},
|
|
3452
3363
|
chainId: 4801,
|
|
3453
3364
|
isTestnet: true,
|
|
3454
3365
|
explorerUrl: 'https://sepolia.worldscan.org/tx/{hash}',
|
|
3455
3366
|
rpcEndpoints: [
|
|
3456
3367
|
'https://worldchain-sepolia.drpc.org',
|
|
3457
|
-
'https://worldchain-sepolia.g.alchemy.com/public'
|
|
3368
|
+
'https://worldchain-sepolia.g.alchemy.com/public'
|
|
3458
3369
|
],
|
|
3459
3370
|
eurcAddress: null,
|
|
3460
3371
|
usdcAddress: '0x66145f38cBAC35Ca6F1Dfb4914dF98F1614aeA88',
|
|
@@ -3467,30 +3378,30 @@ const WorldChainSepolia = defineChain({
|
|
|
3467
3378
|
tokenMessenger: '0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa',
|
|
3468
3379
|
messageTransmitter: '0xe737e5cebeeba77efe34d4aa090756590b1ce275',
|
|
3469
3380
|
confirmations: 65,
|
|
3470
|
-
fastConfirmations: 1
|
|
3471
|
-
}
|
|
3381
|
+
fastConfirmations: 1
|
|
3382
|
+
}
|
|
3472
3383
|
},
|
|
3473
3384
|
forwarderSupported: {
|
|
3474
|
-
source:
|
|
3475
|
-
destination: true
|
|
3476
|
-
}
|
|
3385
|
+
source: false,
|
|
3386
|
+
destination: true
|
|
3387
|
+
}
|
|
3477
3388
|
},
|
|
3478
3389
|
kitContracts: {
|
|
3479
|
-
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
3390
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
3480
3391
|
},
|
|
3481
3392
|
gateway: {
|
|
3482
3393
|
domain: 14,
|
|
3483
3394
|
contracts: {
|
|
3484
3395
|
v1: {
|
|
3485
3396
|
wallet: GATEWAY_WALLET_EVM_TESTNET,
|
|
3486
|
-
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
3487
|
-
}
|
|
3397
|
+
minter: GATEWAY_MINTER_EVM_TESTNET
|
|
3398
|
+
}
|
|
3488
3399
|
},
|
|
3489
3400
|
forwarderSupported: {
|
|
3490
3401
|
source: true,
|
|
3491
|
-
destination: true
|
|
3492
|
-
}
|
|
3493
|
-
}
|
|
3402
|
+
destination: true
|
|
3403
|
+
}
|
|
3404
|
+
}
|
|
3494
3405
|
});
|
|
3495
3406
|
|
|
3496
3407
|
/**
|
|
@@ -3499,8 +3410,7 @@ const WorldChainSepolia = defineChain({
|
|
|
3499
3410
|
* This represents the official production network for the XDC blockchain.
|
|
3500
3411
|
* XDC is a Layer 1 blockchain specialized for DeFi and trading applications
|
|
3501
3412
|
* with native orderbook and matching engine.
|
|
3502
|
-
*/
|
|
3503
|
-
const XDC = defineChain({
|
|
3413
|
+
*/ const XDC = defineChain({
|
|
3504
3414
|
type: 'evm',
|
|
3505
3415
|
chain: Blockchain.XDC,
|
|
3506
3416
|
name: 'XDC',
|
|
@@ -3508,12 +3418,15 @@ const XDC = defineChain({
|
|
|
3508
3418
|
nativeCurrency: {
|
|
3509
3419
|
name: 'XDC',
|
|
3510
3420
|
symbol: 'XDC',
|
|
3511
|
-
decimals: 18
|
|
3421
|
+
decimals: 18
|
|
3512
3422
|
},
|
|
3513
3423
|
chainId: 50,
|
|
3514
3424
|
isTestnet: false,
|
|
3515
3425
|
explorerUrl: 'https://xdcscan.io/tx/{hash}',
|
|
3516
|
-
rpcEndpoints: [
|
|
3426
|
+
rpcEndpoints: [
|
|
3427
|
+
'https://erpc.xdcrpc.com',
|
|
3428
|
+
'https://erpc.xinfin.network'
|
|
3429
|
+
],
|
|
3517
3430
|
eurcAddress: null,
|
|
3518
3431
|
usdcAddress: '0xfA2958CB79b0491CC627c1557F441eF849Ca8eb1',
|
|
3519
3432
|
usdtAddress: null,
|
|
@@ -3525,26 +3438,25 @@ const XDC = defineChain({
|
|
|
3525
3438
|
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
3526
3439
|
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
3527
3440
|
confirmations: 3,
|
|
3528
|
-
fastConfirmations: 3
|
|
3529
|
-
}
|
|
3441
|
+
fastConfirmations: 3
|
|
3442
|
+
}
|
|
3530
3443
|
},
|
|
3531
3444
|
forwarderSupported: {
|
|
3532
|
-
source:
|
|
3533
|
-
destination: true
|
|
3534
|
-
}
|
|
3445
|
+
source: false,
|
|
3446
|
+
destination: true
|
|
3447
|
+
}
|
|
3535
3448
|
},
|
|
3536
3449
|
kitContracts: {
|
|
3537
3450
|
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
3538
|
-
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
3539
|
-
}
|
|
3451
|
+
adapter: ADAPTER_CONTRACT_EVM_MAINNET
|
|
3452
|
+
}
|
|
3540
3453
|
});
|
|
3541
3454
|
|
|
3542
3455
|
/**
|
|
3543
3456
|
* XDC Apothem Testnet chain definition
|
|
3544
3457
|
* @remarks
|
|
3545
3458
|
* This represents the official test network for the XDC Network, known as Apothem.
|
|
3546
|
-
*/
|
|
3547
|
-
const XDCApothem = defineChain({
|
|
3459
|
+
*/ const XDCApothem = defineChain({
|
|
3548
3460
|
type: 'evm',
|
|
3549
3461
|
chain: Blockchain.XDC_Apothem,
|
|
3550
3462
|
name: 'Apothem Network',
|
|
@@ -3552,12 +3464,14 @@ const XDCApothem = defineChain({
|
|
|
3552
3464
|
nativeCurrency: {
|
|
3553
3465
|
name: 'TXDC',
|
|
3554
3466
|
symbol: 'TXDC',
|
|
3555
|
-
decimals: 18
|
|
3467
|
+
decimals: 18
|
|
3556
3468
|
},
|
|
3557
3469
|
chainId: 51,
|
|
3558
3470
|
isTestnet: true,
|
|
3559
3471
|
explorerUrl: 'https://testnet.xdcscan.com/tx/{hash}',
|
|
3560
|
-
rpcEndpoints: [
|
|
3472
|
+
rpcEndpoints: [
|
|
3473
|
+
'https://erpc.apothem.network'
|
|
3474
|
+
],
|
|
3561
3475
|
eurcAddress: null,
|
|
3562
3476
|
usdcAddress: '0xb5AB69F7bBada22B28e79C8FFAECe55eF1c771D4',
|
|
3563
3477
|
usdtAddress: null,
|
|
@@ -3569,25 +3483,24 @@ const XDCApothem = defineChain({
|
|
|
3569
3483
|
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
3570
3484
|
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
3571
3485
|
confirmations: 3,
|
|
3572
|
-
fastConfirmations: 1
|
|
3573
|
-
}
|
|
3486
|
+
fastConfirmations: 1
|
|
3487
|
+
}
|
|
3574
3488
|
},
|
|
3575
3489
|
forwarderSupported: {
|
|
3576
|
-
source:
|
|
3577
|
-
destination: true
|
|
3578
|
-
}
|
|
3490
|
+
source: false,
|
|
3491
|
+
destination: true
|
|
3492
|
+
}
|
|
3579
3493
|
},
|
|
3580
3494
|
kitContracts: {
|
|
3581
|
-
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
3582
|
-
}
|
|
3495
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET
|
|
3496
|
+
}
|
|
3583
3497
|
});
|
|
3584
3498
|
|
|
3585
3499
|
/**
|
|
3586
3500
|
* ZKSync Era Mainnet chain definition
|
|
3587
3501
|
* @remarks
|
|
3588
3502
|
* This represents the official production network for the ZKSync Era blockchain.
|
|
3589
|
-
*/
|
|
3590
|
-
defineChain({
|
|
3503
|
+
*/ defineChain({
|
|
3591
3504
|
type: 'evm',
|
|
3592
3505
|
chain: Blockchain.ZKSync_Era,
|
|
3593
3506
|
name: 'ZKSync Era',
|
|
@@ -3595,24 +3508,25 @@ defineChain({
|
|
|
3595
3508
|
nativeCurrency: {
|
|
3596
3509
|
name: 'Ether',
|
|
3597
3510
|
symbol: 'ETH',
|
|
3598
|
-
decimals: 18
|
|
3511
|
+
decimals: 18
|
|
3599
3512
|
},
|
|
3600
3513
|
chainId: 324,
|
|
3601
3514
|
isTestnet: false,
|
|
3602
3515
|
explorerUrl: 'https://explorer.zksync.io/tx/{hash}',
|
|
3603
|
-
rpcEndpoints: [
|
|
3516
|
+
rpcEndpoints: [
|
|
3517
|
+
'https://mainnet.era.zksync.io'
|
|
3518
|
+
],
|
|
3604
3519
|
eurcAddress: null,
|
|
3605
3520
|
usdcAddress: '0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4',
|
|
3606
3521
|
usdtAddress: null,
|
|
3607
|
-
cctp: null
|
|
3522
|
+
cctp: null
|
|
3608
3523
|
});
|
|
3609
3524
|
|
|
3610
3525
|
/**
|
|
3611
3526
|
* ZKSync Era Sepolia Testnet chain definition
|
|
3612
3527
|
* @remarks
|
|
3613
3528
|
* This represents the official test network for the ZKSync Era blockchain on Sepolia.
|
|
3614
|
-
*/
|
|
3615
|
-
defineChain({
|
|
3529
|
+
*/ defineChain({
|
|
3616
3530
|
type: 'evm',
|
|
3617
3531
|
chain: Blockchain.ZKSync_Sepolia,
|
|
3618
3532
|
name: 'ZKSync Era Sepolia',
|
|
@@ -3620,16 +3534,18 @@ defineChain({
|
|
|
3620
3534
|
nativeCurrency: {
|
|
3621
3535
|
name: 'Sepolia Ether',
|
|
3622
3536
|
symbol: 'ETH',
|
|
3623
|
-
decimals: 18
|
|
3537
|
+
decimals: 18
|
|
3624
3538
|
},
|
|
3625
3539
|
chainId: 300,
|
|
3626
3540
|
isTestnet: true,
|
|
3627
3541
|
explorerUrl: 'https://sepolia.explorer.zksync.io/tx/{hash}',
|
|
3628
|
-
rpcEndpoints: [
|
|
3542
|
+
rpcEndpoints: [
|
|
3543
|
+
'https://sepolia.era.zksync.dev'
|
|
3544
|
+
],
|
|
3629
3545
|
eurcAddress: null,
|
|
3630
3546
|
usdcAddress: '0xAe045DE5638162fa134807Cb558E15A3F5A7F853',
|
|
3631
3547
|
usdtAddress: null,
|
|
3632
|
-
cctp: null
|
|
3548
|
+
cctp: null
|
|
3633
3549
|
});
|
|
3634
3550
|
|
|
3635
3551
|
/**
|
|
@@ -3642,23 +3558,17 @@ defineChain({
|
|
|
3642
3558
|
* minter: '0xabcdef1234567890abcdef1234567890abcdef12'
|
|
3643
3559
|
* })
|
|
3644
3560
|
* ```
|
|
3645
|
-
*/
|
|
3646
|
-
|
|
3647
|
-
.object({
|
|
3648
|
-
wallet: zod.z
|
|
3649
|
-
.string({
|
|
3561
|
+
*/ const gatewayV1ContractsSchema = zod.z.object({
|
|
3562
|
+
wallet: zod.z.string({
|
|
3650
3563
|
required_error: 'Gateway wallet address is required. Please provide a valid contract address.',
|
|
3651
|
-
invalid_type_error: 'Gateway wallet address must be a string.'
|
|
3652
|
-
})
|
|
3653
|
-
|
|
3654
|
-
minter: zod.z
|
|
3655
|
-
.string({
|
|
3564
|
+
invalid_type_error: 'Gateway wallet address must be a string.'
|
|
3565
|
+
}).min(1, 'Gateway wallet address cannot be empty.'),
|
|
3566
|
+
minter: zod.z.string({
|
|
3656
3567
|
required_error: 'Gateway minter address is required. Please provide a valid contract address.',
|
|
3657
|
-
invalid_type_error: 'Gateway minter address must be a string.'
|
|
3658
|
-
})
|
|
3659
|
-
|
|
3660
|
-
|
|
3661
|
-
.strict(); // Reject any additional properties not defined in the schema
|
|
3568
|
+
invalid_type_error: 'Gateway minter address must be a string.'
|
|
3569
|
+
}).min(1, 'Gateway minter address cannot be empty.')
|
|
3570
|
+
}).strict() // Reject any additional properties not defined in the schema
|
|
3571
|
+
;
|
|
3662
3572
|
/**
|
|
3663
3573
|
* Zod schema for validating the versioned Gateway contracts map.
|
|
3664
3574
|
*
|
|
@@ -3675,12 +3585,10 @@ const gatewayV1ContractsSchema = zod.z
|
|
|
3675
3585
|
* }
|
|
3676
3586
|
* })
|
|
3677
3587
|
* ```
|
|
3678
|
-
*/
|
|
3679
|
-
|
|
3680
|
-
|
|
3681
|
-
|
|
3682
|
-
})
|
|
3683
|
-
.strict(); // Reject any additional properties not defined in the schema
|
|
3588
|
+
*/ const gatewayContractsSchema = zod.z.object({
|
|
3589
|
+
v1: gatewayV1ContractsSchema.optional()
|
|
3590
|
+
}).strict() // Reject any additional properties not defined in the schema
|
|
3591
|
+
;
|
|
3684
3592
|
/**
|
|
3685
3593
|
* Zod schema for validating the full Gateway configuration.
|
|
3686
3594
|
*
|
|
@@ -3699,59 +3607,54 @@ const gatewayContractsSchema = zod.z
|
|
|
3699
3607
|
* }
|
|
3700
3608
|
* })
|
|
3701
3609
|
* ```
|
|
3702
|
-
*/
|
|
3703
|
-
const gatewayConfigSchema = zod.z
|
|
3704
|
-
.object({
|
|
3610
|
+
*/ const gatewayConfigSchema = zod.z.object({
|
|
3705
3611
|
domain: zod.z.number({
|
|
3706
3612
|
required_error: 'Gateway domain is required. Please provide a valid domain number.',
|
|
3707
|
-
invalid_type_error: 'Gateway domain must be a number.'
|
|
3613
|
+
invalid_type_error: 'Gateway domain must be a number.'
|
|
3708
3614
|
}),
|
|
3709
3615
|
contracts: gatewayContractsSchema,
|
|
3710
3616
|
forwarderSupported: zod.z.object({
|
|
3711
3617
|
source: zod.z.boolean(),
|
|
3712
|
-
destination: zod.z.boolean()
|
|
3713
|
-
})
|
|
3714
|
-
})
|
|
3715
|
-
|
|
3618
|
+
destination: zod.z.boolean()
|
|
3619
|
+
})
|
|
3620
|
+
}).strict() // Reject any additional properties not defined in the schema
|
|
3621
|
+
;
|
|
3716
3622
|
/**
|
|
3717
3623
|
* Base schema for common chain definition properties.
|
|
3718
3624
|
* This contains all properties shared between EVM and non-EVM chains.
|
|
3719
|
-
*/
|
|
3720
|
-
const baseChainDefinitionSchema = zod.z.object({
|
|
3625
|
+
*/ const baseChainDefinitionSchema = zod.z.object({
|
|
3721
3626
|
chain: zod.z.nativeEnum(Blockchain, {
|
|
3722
3627
|
required_error: 'Chain enum is required. Please provide a valid Blockchain enum value.',
|
|
3723
|
-
invalid_type_error: 'Chain must be a valid Blockchain enum value.'
|
|
3628
|
+
invalid_type_error: 'Chain must be a valid Blockchain enum value.'
|
|
3724
3629
|
}),
|
|
3725
3630
|
name: zod.z.string({
|
|
3726
3631
|
required_error: 'Chain name is required. Please provide a valid chain name.',
|
|
3727
|
-
invalid_type_error: 'Chain name must be a string.'
|
|
3632
|
+
invalid_type_error: 'Chain name must be a string.'
|
|
3728
3633
|
}),
|
|
3729
3634
|
title: zod.z.string().optional(),
|
|
3730
3635
|
nativeCurrency: zod.z.object({
|
|
3731
3636
|
name: zod.z.string(),
|
|
3732
3637
|
symbol: zod.z.string(),
|
|
3733
|
-
decimals: zod.z.number()
|
|
3638
|
+
decimals: zod.z.number()
|
|
3734
3639
|
}),
|
|
3735
3640
|
isTestnet: zod.z.boolean({
|
|
3736
3641
|
required_error: 'isTestnet is required. Please specify whether this is a testnet.',
|
|
3737
|
-
invalid_type_error: 'isTestnet must be a boolean.'
|
|
3642
|
+
invalid_type_error: 'isTestnet must be a boolean.'
|
|
3738
3643
|
}),
|
|
3739
3644
|
explorerUrl: zod.z.string({
|
|
3740
3645
|
required_error: 'Explorer URL is required. Please provide a valid explorer URL.',
|
|
3741
|
-
invalid_type_error: 'Explorer URL must be a string.'
|
|
3646
|
+
invalid_type_error: 'Explorer URL must be a string.'
|
|
3742
3647
|
}),
|
|
3743
3648
|
rpcEndpoints: zod.z.array(zod.z.string()),
|
|
3744
3649
|
eurcAddress: zod.z.string().nullable(),
|
|
3745
3650
|
usdcAddress: zod.z.string().nullable(),
|
|
3746
3651
|
usdtAddress: zod.z.string().nullable(),
|
|
3747
|
-
cctp: zod.z.any().nullable(),
|
|
3748
|
-
kitContracts: zod.z
|
|
3749
|
-
.object({
|
|
3652
|
+
cctp: zod.z.any().nullable(),
|
|
3653
|
+
kitContracts: zod.z.object({
|
|
3750
3654
|
bridge: zod.z.string().optional(),
|
|
3751
|
-
adapter: zod.z.string().optional()
|
|
3752
|
-
})
|
|
3753
|
-
|
|
3754
|
-
gateway: gatewayConfigSchema.optional(),
|
|
3655
|
+
adapter: zod.z.string().optional()
|
|
3656
|
+
}).optional(),
|
|
3657
|
+
gateway: gatewayConfigSchema.optional()
|
|
3755
3658
|
});
|
|
3756
3659
|
/**
|
|
3757
3660
|
* Zod schema for validating EVM chain definitions specifically.
|
|
@@ -3782,22 +3685,18 @@ const baseChainDefinitionSchema = zod.z.object({
|
|
|
3782
3685
|
* console.error('Validation failed:', result.error)
|
|
3783
3686
|
* }
|
|
3784
3687
|
* ```
|
|
3785
|
-
*/
|
|
3786
|
-
const evmChainDefinitionSchema = baseChainDefinitionSchema
|
|
3787
|
-
.extend({
|
|
3688
|
+
*/ const evmChainDefinitionSchema = baseChainDefinitionSchema.extend({
|
|
3788
3689
|
type: zod.z.literal('evm'),
|
|
3789
3690
|
chainId: zod.z.number({
|
|
3790
3691
|
required_error: 'EVM chains must have a chainId. Please provide a valid EVM chain ID.',
|
|
3791
|
-
invalid_type_error: 'EVM chain ID must be a number.'
|
|
3792
|
-
})
|
|
3793
|
-
})
|
|
3794
|
-
|
|
3692
|
+
invalid_type_error: 'EVM chain ID must be a number.'
|
|
3693
|
+
})
|
|
3694
|
+
}).strict() //// Reject any additional properties not defined in the schema
|
|
3695
|
+
;
|
|
3795
3696
|
/**
|
|
3796
3697
|
* Zod schema for validating non-EVM chain definitions.
|
|
3797
3698
|
* This schema extends the base schema with non-EVM specific properties.
|
|
3798
|
-
*/
|
|
3799
|
-
const nonEvmChainDefinitionSchema = baseChainDefinitionSchema
|
|
3800
|
-
.extend({
|
|
3699
|
+
*/ const nonEvmChainDefinitionSchema = baseChainDefinitionSchema.extend({
|
|
3801
3700
|
type: zod.z.enum([
|
|
3802
3701
|
'algorand',
|
|
3803
3702
|
'avalanche',
|
|
@@ -3808,10 +3707,10 @@ const nonEvmChainDefinitionSchema = baseChainDefinitionSchema
|
|
|
3808
3707
|
'sui',
|
|
3809
3708
|
'hedera',
|
|
3810
3709
|
'noble',
|
|
3811
|
-
'polkadot'
|
|
3812
|
-
])
|
|
3813
|
-
})
|
|
3814
|
-
|
|
3710
|
+
'polkadot'
|
|
3711
|
+
])
|
|
3712
|
+
}).strict() // Reject any additional properties not defined in the schema
|
|
3713
|
+
;
|
|
3815
3714
|
/**
|
|
3816
3715
|
* Discriminated union schema for all chain definitions.
|
|
3817
3716
|
* This schema validates different chain types based on their 'type' field.
|
|
@@ -3836,10 +3735,9 @@ const nonEvmChainDefinitionSchema = baseChainDefinitionSchema
|
|
|
3836
3735
|
* // ... other properties (no chainId)
|
|
3837
3736
|
* })
|
|
3838
3737
|
* ```
|
|
3839
|
-
*/
|
|
3840
|
-
const chainDefinitionSchema = zod.z.discriminatedUnion('type', [
|
|
3738
|
+
*/ const chainDefinitionSchema = zod.z.discriminatedUnion('type', [
|
|
3841
3739
|
evmChainDefinitionSchema,
|
|
3842
|
-
nonEvmChainDefinitionSchema
|
|
3740
|
+
nonEvmChainDefinitionSchema
|
|
3843
3741
|
]);
|
|
3844
3742
|
/**
|
|
3845
3743
|
* Zod schema for validating chain identifiers.
|
|
@@ -3856,13 +3754,10 @@ const chainDefinitionSchema = zod.z.discriminatedUnion('type', [
|
|
|
3856
3754
|
* chainIdentifierSchema.parse(Blockchain.Ethereum)
|
|
3857
3755
|
* chainIdentifierSchema.parse(Ethereum)
|
|
3858
3756
|
* ```
|
|
3859
|
-
*/
|
|
3860
|
-
zod.z.
|
|
3861
|
-
zod.z
|
|
3862
|
-
.string()
|
|
3863
|
-
.refine((val) => val in Blockchain, 'Must be a valid Blockchain enum value as string'),
|
|
3757
|
+
*/ zod.z.union([
|
|
3758
|
+
zod.z.string().refine((val)=>val in Blockchain, 'Must be a valid Blockchain enum value as string'),
|
|
3864
3759
|
zod.z.nativeEnum(Blockchain),
|
|
3865
|
-
chainDefinitionSchema
|
|
3760
|
+
chainDefinitionSchema
|
|
3866
3761
|
]);
|
|
3867
3762
|
/**
|
|
3868
3763
|
* Zod schema for validating swap-specific chain identifiers.
|
|
@@ -3872,20 +3767,17 @@ zod.z.union([
|
|
|
3872
3767
|
* - Mainnet only (no testnets)
|
|
3873
3768
|
* - At least one supported token available
|
|
3874
3769
|
*
|
|
3875
|
-
*/
|
|
3876
|
-
zod.z.union([
|
|
3770
|
+
*/ zod.z.union([
|
|
3877
3771
|
// String blockchain identifier (accepts SwapChain enum values)
|
|
3878
|
-
zod.z.string().refine((val)
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
})),
|
|
3772
|
+
zod.z.string().refine((val)=>val in SwapChain, (val)=>({
|
|
3773
|
+
message: `"${val}" is not a supported swap chain. ` + `Supported chains: ${Object.values(SwapChain).join(', ')}`
|
|
3774
|
+
})),
|
|
3882
3775
|
// SwapChain enum
|
|
3883
3776
|
zod.z.nativeEnum(SwapChain),
|
|
3884
3777
|
// ChainDefinition object (checks if chain.chain is in SwapChain)
|
|
3885
|
-
chainDefinitionSchema.refine((chain)
|
|
3886
|
-
|
|
3887
|
-
|
|
3888
|
-
})),
|
|
3778
|
+
chainDefinitionSchema.refine((chain)=>chain.chain in SwapChain, (chain)=>({
|
|
3779
|
+
message: `"${chain.chain}" is not a supported swap chain. ` + `Supported chains: ${Object.values(SwapChain).join(', ')}`
|
|
3780
|
+
}))
|
|
3889
3781
|
]);
|
|
3890
3782
|
/**
|
|
3891
3783
|
* Zod schema for validating bridge chain identifiers.
|
|
@@ -3916,14 +3808,13 @@ zod.z.union([
|
|
|
3916
3808
|
* ```
|
|
3917
3809
|
*
|
|
3918
3810
|
* @see {@link BridgeChain} for the enum of supported chains.
|
|
3919
|
-
*/
|
|
3920
|
-
zod.z.
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3926
|
-
})),
|
|
3811
|
+
*/ zod.z.union([
|
|
3812
|
+
zod.z.string().refine((val)=>val in BridgeChain, (val)=>({
|
|
3813
|
+
message: `Chain "${val}" is not supported for bridging. Only chains in the BridgeChain enum support CCTPv2 bridging.`
|
|
3814
|
+
})),
|
|
3815
|
+
chainDefinitionSchema.refine((chainDef)=>chainDef.chain in BridgeChain, (chainDef)=>({
|
|
3816
|
+
message: `Chain "${chainDef.name}" (${chainDef.chain}) is not supported for bridging. Only chains in the BridgeChain enum support CCTPv2 bridging.`
|
|
3817
|
+
}))
|
|
3927
3818
|
]);
|
|
3928
3819
|
/**
|
|
3929
3820
|
* Zod schema for validating earn-specific chain identifiers.
|
|
@@ -3948,17 +3839,68 @@ zod.z.union([
|
|
|
3948
3839
|
* // Invalid (throws ZodError)
|
|
3949
3840
|
* earnChainIdentifierSchema.parse('Solana')
|
|
3950
3841
|
* ```
|
|
3951
|
-
*/
|
|
3952
|
-
zod.z.
|
|
3953
|
-
|
|
3954
|
-
|
|
3955
|
-
`Supported chains: ${Object.values(EarnChain).join(', ')}`,
|
|
3956
|
-
})),
|
|
3842
|
+
*/ zod.z.union([
|
|
3843
|
+
zod.z.string().refine((val)=>val in EarnChain, (val)=>({
|
|
3844
|
+
message: `"${val}" is not a supported earn chain. ` + `Supported chains: ${Object.values(EarnChain).join(', ')}`
|
|
3845
|
+
})),
|
|
3957
3846
|
zod.z.nativeEnum(EarnChain),
|
|
3958
|
-
chainDefinitionSchema.refine((chain)
|
|
3959
|
-
|
|
3960
|
-
|
|
3961
|
-
|
|
3847
|
+
chainDefinitionSchema.refine((chain)=>chain.chain in EarnChain, (chain)=>({
|
|
3848
|
+
message: `"${chain.chain}" is not a supported earn chain. ` + `Supported chains: ${Object.values(EarnChain).join(', ')}`
|
|
3849
|
+
}))
|
|
3850
|
+
]);
|
|
3851
|
+
// Widened views so `.includes()` accepts arbitrary strings under strict TS.
|
|
3852
|
+
const EARN_BRIDGE_SOURCE_CHAIN_VALUES = EARN_BRIDGE_SOURCE_BLOCKCHAINS;
|
|
3853
|
+
const EARN_BRIDGE_DESTINATION_CHAIN_VALUES = EARN_BRIDGE_DESTINATION_BLOCKCHAINS;
|
|
3854
|
+
/**
|
|
3855
|
+
* Zod schema for validating the source chain of a cross-chain Earn deposit.
|
|
3856
|
+
*
|
|
3857
|
+
* Accept a supported source Blockchain value, a matching string literal, or a
|
|
3858
|
+
* ChainDefinition for a supported source chain. Source chains are Ethereum
|
|
3859
|
+
* Sepolia, Arbitrum Sepolia, and Base Sepolia.
|
|
3860
|
+
*
|
|
3861
|
+
* @example
|
|
3862
|
+
* ```typescript
|
|
3863
|
+
* import { earnBridgeSourceChainIdentifierSchema } from '@core/chains'
|
|
3864
|
+
*
|
|
3865
|
+
* // Valid
|
|
3866
|
+
* earnBridgeSourceChainIdentifierSchema.parse('Ethereum_Sepolia')
|
|
3867
|
+
*
|
|
3868
|
+
* // Invalid (throws ZodError)
|
|
3869
|
+
* earnBridgeSourceChainIdentifierSchema.parse('Arc_Testnet')
|
|
3870
|
+
* ```
|
|
3871
|
+
*/ zod.z.union([
|
|
3872
|
+
zod.z.string().refine((val)=>EARN_BRIDGE_SOURCE_CHAIN_VALUES.includes(val), (val)=>({
|
|
3873
|
+
message: `"${val}" is not a supported cross-chain Earn source chain. ` + `Supported chains: ${EARN_BRIDGE_SOURCE_BLOCKCHAINS.join(', ')}`
|
|
3874
|
+
})),
|
|
3875
|
+
chainDefinitionSchema.refine((chain)=>EARN_BRIDGE_SOURCE_CHAIN_VALUES.includes(chain.chain), (chain)=>({
|
|
3876
|
+
message: `"${chain.chain}" is not a supported cross-chain Earn source chain. ` + `Supported chains: ${EARN_BRIDGE_SOURCE_BLOCKCHAINS.join(', ')}`
|
|
3877
|
+
}))
|
|
3878
|
+
]);
|
|
3879
|
+
/**
|
|
3880
|
+
* Zod schema for validating the destination chain of a cross-chain Earn
|
|
3881
|
+
* deposit.
|
|
3882
|
+
*
|
|
3883
|
+
* Accept a supported destination Blockchain value, a matching string literal,
|
|
3884
|
+
* or a ChainDefinition for a supported destination chain. Currently only Arc
|
|
3885
|
+
* Testnet is supported.
|
|
3886
|
+
*
|
|
3887
|
+
* @example
|
|
3888
|
+
* ```typescript
|
|
3889
|
+
* import { earnBridgeDestinationChainIdentifierSchema } from '@core/chains'
|
|
3890
|
+
*
|
|
3891
|
+
* // Valid
|
|
3892
|
+
* earnBridgeDestinationChainIdentifierSchema.parse('Arc_Testnet')
|
|
3893
|
+
*
|
|
3894
|
+
* // Invalid (throws ZodError)
|
|
3895
|
+
* earnBridgeDestinationChainIdentifierSchema.parse('Ethereum_Sepolia')
|
|
3896
|
+
* ```
|
|
3897
|
+
*/ zod.z.union([
|
|
3898
|
+
zod.z.string().refine((val)=>EARN_BRIDGE_DESTINATION_CHAIN_VALUES.includes(val), (val)=>({
|
|
3899
|
+
message: `"${val}" is not a supported cross-chain Earn destination chain. ` + `Supported chains: ${EARN_BRIDGE_DESTINATION_BLOCKCHAINS.join(', ')}`
|
|
3900
|
+
})),
|
|
3901
|
+
chainDefinitionSchema.refine((chain)=>EARN_BRIDGE_DESTINATION_CHAIN_VALUES.includes(chain.chain), (chain)=>({
|
|
3902
|
+
message: `"${chain.chain}" is not a supported cross-chain Earn destination chain. ` + `Supported chains: ${EARN_BRIDGE_DESTINATION_BLOCKCHAINS.join(', ')}`
|
|
3903
|
+
}))
|
|
3962
3904
|
]);
|
|
3963
3905
|
/**
|
|
3964
3906
|
* Zod schema for validating unified balance chain identifiers.
|
|
@@ -3986,27 +3928,20 @@ zod.z.union([
|
|
|
3986
3928
|
* ```
|
|
3987
3929
|
*
|
|
3988
3930
|
* @see {@link UnifiedBalanceChain} for the enum of supported chains.
|
|
3989
|
-
*/
|
|
3990
|
-
const supportedUnifiedBalanceChains = Object.keys(UnifiedBalanceChain).join(', ');
|
|
3931
|
+
*/ const supportedUnifiedBalanceChains = Object.keys(UnifiedBalanceChain).join(', ');
|
|
3991
3932
|
zod.z.union([
|
|
3992
|
-
zod.z.string().refine((val)
|
|
3993
|
-
|
|
3994
|
-
|
|
3995
|
-
chainDefinitionSchema.refine((chainDef)
|
|
3996
|
-
|
|
3997
|
-
|
|
3933
|
+
zod.z.string().refine((val)=>val in UnifiedBalanceChain, (val)=>({
|
|
3934
|
+
message: `Chain "${val}" is not supported for unified balance operations. Supported chains: ${supportedUnifiedBalanceChains}.`
|
|
3935
|
+
})),
|
|
3936
|
+
chainDefinitionSchema.refine((chainDef)=>chainDef.chain in UnifiedBalanceChain, (chainDef)=>({
|
|
3937
|
+
message: `Chain "${chainDef.name}" (${chainDef.chain}) is not supported for unified balance operations. Supported chains: ${supportedUnifiedBalanceChains}.`
|
|
3938
|
+
}))
|
|
3998
3939
|
]);
|
|
3999
3940
|
|
|
4000
|
-
/**
|
|
4001
|
-
* @packageDocumentation
|
|
4002
|
-
* @module SwapTokenSchemas
|
|
4003
|
-
*
|
|
4004
|
-
* Zod validation schemas for supported swap tokens.
|
|
4005
|
-
*/
|
|
4006
3941
|
// Internal enum used after input normalization.
|
|
4007
3942
|
const swapTokenEnumSchema = zod.z.enum([
|
|
4008
3943
|
...Object.keys(SWAP_TOKEN_REGISTRY),
|
|
4009
|
-
NATIVE_TOKEN
|
|
3944
|
+
NATIVE_TOKEN
|
|
4010
3945
|
]);
|
|
4011
3946
|
/**
|
|
4012
3947
|
* Zod schema for validating supported swap token symbols.
|
|
@@ -4023,11 +3958,7 @@ const swapTokenEnumSchema = zod.z.enum([
|
|
|
4023
3958
|
* console.log('Valid swap token:', result.data)
|
|
4024
3959
|
* }
|
|
4025
3960
|
* ```
|
|
4026
|
-
*/
|
|
4027
|
-
zod.z
|
|
4028
|
-
.string()
|
|
4029
|
-
.transform((value) => value.toUpperCase())
|
|
4030
|
-
.pipe(swapTokenEnumSchema);
|
|
3961
|
+
*/ zod.z.string().transform((value)=>value.toUpperCase()).pipe(swapTokenEnumSchema);
|
|
4031
3962
|
|
|
4032
3963
|
exports.Arbitrum = Arbitrum;
|
|
4033
3964
|
exports.ArbitrumSepolia = ArbitrumSepolia;
|