@usewhisk/cctp 0.0.0 → 0.1.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/dist/chains.js ADDED
@@ -0,0 +1,1514 @@
1
+ import { Asset } from '@stellar/stellar-sdk';
2
+
3
+ // src/chains/constants.ts
4
+ var TOKEN_MESSENGER_V2_EVM_MAINNET = "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d";
5
+ var MESSAGE_TRANSMITTER_V2_EVM_MAINNET = "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64";
6
+ var TOKEN_MESSENGER_V2_EVM_TESTNET = "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA";
7
+ var MESSAGE_TRANSMITTER_V2_EVM_TESTNET = "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275";
8
+ var TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET = "0x71f54F818671cD0D7ea140Da213e5C8b5C92a408";
9
+ var TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET = "0x8745D906D67C346E5eb1aEEED38Eb87F34DF0C0A";
10
+ var TOKEN_MESSENGER_MINTER_V2_SOLANA = "CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe";
11
+ var MESSAGE_TRANSMITTER_V2_SOLANA = "CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC";
12
+ var USDC_SPL_MAINNET = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
13
+ var USDC_SPL_DEVNET = "4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU";
14
+ var SOLANA_CCTP_DOMAIN = 5;
15
+ var TOKEN_MESSENGER_MINTER_STELLAR_MAINNET = "CAE2G5Z77UP7GYPYGFOWFGW7C7J6I4YP2AFGSADRKQY62SYUFLPNFTXL";
16
+ var MESSAGE_TRANSMITTER_STELLAR_MAINNET = "CACMENFFJPJMSDAJQLX4R7K3SFZIW2LJSE3R2UMLGSWHFHS353FVXAZV";
17
+ var CCTP_FORWARDER_STELLAR_MAINNET = "CBZL2IH7F6BIDAA3WBNXYKIXSATJGMSW7K5P5MJ6STX5RXN47TZJDF5T";
18
+ var TOKEN_MESSENGER_MINTER_STELLAR_TESTNET = "CDNG7HXAPBWICI2E3AUBP3YZWZELJLYSB6F5CC7WLDTLTHVM74SLRTHP";
19
+ var MESSAGE_TRANSMITTER_STELLAR_TESTNET = "CBJ6MTCKKZG73PMDZCJMSFRD7DQEMI4FKDH7CGDSV4W6FHCRBCQAVVJY";
20
+ var CCTP_FORWARDER_STELLAR_TESTNET = "CA66Q2WFBND6V4UEB7RD4SAXSVIWMD6RA4X3U32ELVFGXV5PJK4T4VSZ";
21
+ var USDC_ISSUER_STELLAR_MAINNET = "GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN";
22
+ var USDC_ISSUER_STELLAR_TESTNET = "GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5";
23
+ var STELLAR_NETWORK_PASSPHRASE_MAINNET = "Public Global Stellar Network ; September 2015";
24
+ var STELLAR_NETWORK_PASSPHRASE_TESTNET = "Test SDF Network ; September 2015";
25
+ var STELLAR_CCTP_DOMAIN = 27;
26
+ var STELLAR_USDC_DECIMALS = 7;
27
+ var CCTP_USDC_DECIMALS = 6;
28
+ var TOKEN_MESSENGER_MINTER_V2_STARKNET_MAINNET = "0x07d421B9cA8aA32DF259965cDA8ACb93F7599F69209A41872AE84638B2A20F2a";
29
+ var MESSAGE_TRANSMITTER_V2_STARKNET_MAINNET = "0x02EBB5777B6dD8B26ea11D68Fdf1D2c85cD2099335328Be845a28c77A8AEf183";
30
+ var TOKEN_MESSENGER_MINTER_V2_STARKNET_SEPOLIA = "0x04bDdE1E09a4B09a2F95d893D94a967b7717eB85A3f6dEcA8c080Ee01fBc3370";
31
+ var MESSAGE_TRANSMITTER_V2_STARKNET_SEPOLIA = "0x04db7926C64f1f32a840F3Fa95cB551f3801a3600Bae87aF87807A54DCE12Fe8";
32
+ var USDC_STARKNET_MAINNET = "0x033068F6539f8e6e6b131e6B2B814e6c34A5224bC66947c47DaB9dFeE93b35fb";
33
+ var USDC_STARKNET_SEPOLIA = "0x0512feAc6339Ff7889822cb5aA2a86C848e9D392bB0E3E237C008674feeD8343";
34
+ var STARKNET_CHAIN_ID_MAINNET = "0x534e5f4d41494e";
35
+ var STARKNET_CHAIN_ID_SEPOLIA = "0x534e5f5345504f4c4941";
36
+ var STARKNET_CCTP_DOMAIN = 25;
37
+
38
+ // src/chains/mainnet.ts
39
+ var Ethereum = {
40
+ id: "Ethereum",
41
+ label: "Ethereum",
42
+ ecosystem: "evm",
43
+ network: "mainnet",
44
+ evmChainId: 1,
45
+ cctpDomain: 0,
46
+ usdc: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
47
+ usdcDecimals: 6,
48
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
49
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
50
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
51
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
52
+ defaultRpcUrls: [
53
+ "https://ethereum-rpc.publicnode.com",
54
+ "https://ethereum.publicnode.com"
55
+ ],
56
+ explorerUrl: "https://etherscan.io",
57
+ capabilities: {
58
+ fastSource: true,
59
+ forwardingDestination: true,
60
+ upfrontFeeSource: true,
61
+ standardFeeSwitch: false
62
+ }
63
+ };
64
+ var Avalanche = {
65
+ id: "Avalanche",
66
+ label: "Avalanche",
67
+ ecosystem: "evm",
68
+ network: "mainnet",
69
+ evmChainId: 43114,
70
+ cctpDomain: 1,
71
+ usdc: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",
72
+ usdcDecimals: 6,
73
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
74
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
75
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
76
+ nativeCurrency: { symbol: "AVAX", decimals: 18 },
77
+ defaultRpcUrls: ["https://api.avax.network/ext/bc/C/rpc"],
78
+ explorerUrl: "https://explorer.avax.network/c-chain",
79
+ capabilities: {
80
+ fastSource: false,
81
+ forwardingDestination: true,
82
+ upfrontFeeSource: true,
83
+ standardFeeSwitch: false
84
+ }
85
+ };
86
+ var Optimism = {
87
+ id: "Optimism",
88
+ label: "OP Mainnet",
89
+ ecosystem: "evm",
90
+ network: "mainnet",
91
+ evmChainId: 10,
92
+ cctpDomain: 2,
93
+ usdc: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
94
+ usdcDecimals: 6,
95
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
96
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
97
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
98
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
99
+ defaultRpcUrls: ["https://mainnet.optimism.io"],
100
+ explorerUrl: "https://explorer.optimism.io",
101
+ capabilities: {
102
+ fastSource: true,
103
+ forwardingDestination: true,
104
+ upfrontFeeSource: true,
105
+ standardFeeSwitch: false
106
+ }
107
+ };
108
+ var Arbitrum = {
109
+ id: "Arbitrum",
110
+ label: "Arbitrum",
111
+ ecosystem: "evm",
112
+ network: "mainnet",
113
+ evmChainId: 42161,
114
+ cctpDomain: 3,
115
+ usdc: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
116
+ usdcDecimals: 6,
117
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
118
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
119
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
120
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
121
+ defaultRpcUrls: ["https://arb1.arbitrum.io/rpc"],
122
+ explorerUrl: "https://arbiscan.io",
123
+ capabilities: {
124
+ fastSource: true,
125
+ forwardingDestination: true,
126
+ upfrontFeeSource: true,
127
+ standardFeeSwitch: false
128
+ }
129
+ };
130
+ var Base = {
131
+ id: "Base",
132
+ label: "Base",
133
+ ecosystem: "evm",
134
+ network: "mainnet",
135
+ evmChainId: 8453,
136
+ cctpDomain: 6,
137
+ usdc: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
138
+ usdcDecimals: 6,
139
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
140
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
141
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
142
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
143
+ defaultRpcUrls: ["https://mainnet.base.org"],
144
+ explorerUrl: "https://basescan.org",
145
+ capabilities: {
146
+ fastSource: true,
147
+ forwardingDestination: true,
148
+ upfrontFeeSource: true,
149
+ standardFeeSwitch: false
150
+ }
151
+ };
152
+ var Polygon = {
153
+ id: "Polygon",
154
+ label: "Polygon PoS",
155
+ ecosystem: "evm",
156
+ network: "mainnet",
157
+ evmChainId: 137,
158
+ cctpDomain: 7,
159
+ usdc: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
160
+ usdcDecimals: 6,
161
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
162
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
163
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
164
+ nativeCurrency: { symbol: "POL", decimals: 18 },
165
+ defaultRpcUrls: [
166
+ "https://polygon.drpc.org",
167
+ "https://polygon.publicnode.com"
168
+ ],
169
+ explorerUrl: "https://polygonscan.com",
170
+ capabilities: {
171
+ fastSource: false,
172
+ forwardingDestination: true,
173
+ upfrontFeeSource: true,
174
+ standardFeeSwitch: false
175
+ }
176
+ };
177
+ var Unichain = {
178
+ id: "Unichain",
179
+ label: "Unichain",
180
+ ecosystem: "evm",
181
+ network: "mainnet",
182
+ evmChainId: 130,
183
+ cctpDomain: 10,
184
+ usdc: "0x078D782b760474a361dDA0AF3839290b0EF57AD6",
185
+ usdcDecimals: 6,
186
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
187
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
188
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
189
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
190
+ defaultRpcUrls: ["https://mainnet.unichain.org"],
191
+ explorerUrl: "https://uniscan.xyz",
192
+ capabilities: {
193
+ fastSource: true,
194
+ forwardingDestination: true,
195
+ upfrontFeeSource: true,
196
+ standardFeeSwitch: false
197
+ }
198
+ };
199
+ var Linea = {
200
+ id: "Linea",
201
+ label: "Linea",
202
+ ecosystem: "evm",
203
+ network: "mainnet",
204
+ evmChainId: 59144,
205
+ cctpDomain: 11,
206
+ usdc: "0x176211869cA2b568f2A7D4EE941E073a821EE1ff",
207
+ usdcDecimals: 6,
208
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
209
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
210
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
211
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
212
+ defaultRpcUrls: ["https://rpc.linea.build"],
213
+ explorerUrl: "https://lineascan.build",
214
+ capabilities: {
215
+ fastSource: true,
216
+ forwardingDestination: true,
217
+ upfrontFeeSource: true,
218
+ standardFeeSwitch: false
219
+ }
220
+ };
221
+ var Codex = {
222
+ id: "Codex",
223
+ label: "Codex",
224
+ ecosystem: "evm",
225
+ network: "mainnet",
226
+ evmChainId: 81224,
227
+ cctpDomain: 12,
228
+ usdc: "0xd996633a415985DBd7D6D12f4A4343E31f5037cf",
229
+ usdcDecimals: 6,
230
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
231
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
232
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
233
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
234
+ defaultRpcUrls: ["https://rpc.codex.xyz"],
235
+ explorerUrl: "https://explorer.codex.xyz",
236
+ capabilities: {
237
+ fastSource: true,
238
+ forwardingDestination: true,
239
+ upfrontFeeSource: true,
240
+ standardFeeSwitch: false
241
+ }
242
+ };
243
+ var Sonic = {
244
+ id: "Sonic",
245
+ label: "Sonic",
246
+ ecosystem: "evm",
247
+ network: "mainnet",
248
+ evmChainId: 146,
249
+ cctpDomain: 13,
250
+ usdc: "0x29219dd400f2Bf60E5a23d13Be72B486D4038894",
251
+ usdcDecimals: 6,
252
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
253
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
254
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
255
+ nativeCurrency: { symbol: "S", decimals: 18 },
256
+ defaultRpcUrls: ["https://rpc.soniclabs.com"],
257
+ explorerUrl: "https://sonicscan.org",
258
+ capabilities: {
259
+ fastSource: false,
260
+ forwardingDestination: true,
261
+ upfrontFeeSource: true,
262
+ standardFeeSwitch: false
263
+ }
264
+ };
265
+ var WorldChain = {
266
+ id: "World_Chain",
267
+ label: "World Chain",
268
+ ecosystem: "evm",
269
+ network: "mainnet",
270
+ evmChainId: 480,
271
+ cctpDomain: 14,
272
+ usdc: "0x79A02482A880bCE3F13e09Da970dC34db4CD24d1",
273
+ usdcDecimals: 6,
274
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
275
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
276
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
277
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
278
+ defaultRpcUrls: ["https://worldchain-mainnet.g.alchemy.com/public"],
279
+ explorerUrl: "https://worldscan.org",
280
+ capabilities: {
281
+ fastSource: true,
282
+ forwardingDestination: true,
283
+ upfrontFeeSource: true,
284
+ standardFeeSwitch: false
285
+ }
286
+ };
287
+ var Monad = {
288
+ id: "Monad",
289
+ label: "Monad",
290
+ ecosystem: "evm",
291
+ network: "mainnet",
292
+ evmChainId: 143,
293
+ cctpDomain: 15,
294
+ usdc: "0x754704Bc059F8C67012fEd69BC8A327a5aafb603",
295
+ usdcDecimals: 6,
296
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
297
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
298
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
299
+ nativeCurrency: { symbol: "MON", decimals: 18 },
300
+ defaultRpcUrls: ["https://rpc.monad.xyz", "https://rpc1.monad.xyz"],
301
+ explorerUrl: "https://monadvision.com",
302
+ capabilities: {
303
+ fastSource: false,
304
+ forwardingDestination: true,
305
+ upfrontFeeSource: true,
306
+ standardFeeSwitch: true
307
+ }
308
+ };
309
+ var Sei = {
310
+ id: "Sei",
311
+ label: "Sei",
312
+ ecosystem: "evm",
313
+ network: "mainnet",
314
+ evmChainId: 1329,
315
+ cctpDomain: 16,
316
+ usdc: "0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392",
317
+ usdcDecimals: 6,
318
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
319
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
320
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
321
+ nativeCurrency: { symbol: "SEI", decimals: 18 },
322
+ defaultRpcUrls: ["https://evm-rpc.sei-apis.com"],
323
+ explorerUrl: "https://seiscan.io",
324
+ capabilities: {
325
+ fastSource: false,
326
+ forwardingDestination: true,
327
+ upfrontFeeSource: true,
328
+ standardFeeSwitch: true
329
+ }
330
+ };
331
+ var XDC = {
332
+ id: "XDC",
333
+ label: "XDC",
334
+ ecosystem: "evm",
335
+ network: "mainnet",
336
+ evmChainId: 50,
337
+ cctpDomain: 18,
338
+ usdc: "0xfA2958CB79b0491CC627c1557F441eF849Ca8eb1",
339
+ usdcDecimals: 6,
340
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
341
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
342
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
343
+ nativeCurrency: { symbol: "XDC", decimals: 18 },
344
+ defaultRpcUrls: ["https://erpc.xinfin.network", "https://rpc.xinfin.network"],
345
+ explorerUrl: "https://xdcscan.io",
346
+ capabilities: {
347
+ fastSource: false,
348
+ forwardingDestination: true,
349
+ upfrontFeeSource: true,
350
+ standardFeeSwitch: true
351
+ }
352
+ };
353
+ var HyperEVM = {
354
+ id: "HyperEVM",
355
+ label: "HyperEVM",
356
+ ecosystem: "evm",
357
+ network: "mainnet",
358
+ evmChainId: 999,
359
+ cctpDomain: 19,
360
+ usdc: "0xb88339CB7199b77E23DB6E890353E22632Ba630f",
361
+ usdcDecimals: 6,
362
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
363
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
364
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
365
+ nativeCurrency: { symbol: "HYPE", decimals: 18 },
366
+ defaultRpcUrls: ["https://rpc.hyperliquid.xyz/evm"],
367
+ explorerUrl: "https://hyperevmscan.io",
368
+ capabilities: {
369
+ fastSource: false,
370
+ forwardingDestination: true,
371
+ upfrontFeeSource: true,
372
+ standardFeeSwitch: true
373
+ }
374
+ };
375
+ var Ink = {
376
+ id: "Ink",
377
+ label: "Ink",
378
+ ecosystem: "evm",
379
+ network: "mainnet",
380
+ evmChainId: 57073,
381
+ cctpDomain: 21,
382
+ usdc: "0x2D270e6886d130D724215A266106e6832161EAEd",
383
+ usdcDecimals: 6,
384
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
385
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
386
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
387
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
388
+ defaultRpcUrls: [
389
+ "https://rpc-gel.inkonchain.com",
390
+ "https://rpc-qnd.inkonchain.com"
391
+ ],
392
+ explorerUrl: "https://explorer.inkonchain.com",
393
+ capabilities: {
394
+ fastSource: true,
395
+ forwardingDestination: true,
396
+ upfrontFeeSource: true,
397
+ standardFeeSwitch: true
398
+ }
399
+ };
400
+ var Plume = {
401
+ id: "Plume",
402
+ label: "Plume",
403
+ ecosystem: "evm",
404
+ network: "mainnet",
405
+ evmChainId: 98866,
406
+ cctpDomain: 22,
407
+ usdc: "0x222365EF19F7947e5484218551B56bb3965Aa7aF",
408
+ usdcDecimals: 6,
409
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
410
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
411
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
412
+ nativeCurrency: { symbol: "PLUME", decimals: 18 },
413
+ defaultRpcUrls: ["https://rpc.plume.org"],
414
+ explorerUrl: "https://explorer.plume.org",
415
+ capabilities: {
416
+ fastSource: true,
417
+ forwardingDestination: true,
418
+ upfrontFeeSource: true,
419
+ standardFeeSwitch: true
420
+ }
421
+ };
422
+ var Arc = {
423
+ id: "Arc",
424
+ label: "Arc",
425
+ ecosystem: "evm",
426
+ network: "mainnet",
427
+ evmChainId: 5042,
428
+ cctpDomain: 26,
429
+ usdc: "0x3600000000000000000000000000000000000000",
430
+ usdcDecimals: 6,
431
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
432
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
433
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET,
434
+ nativeCurrency: { symbol: "USDC", decimals: 18 },
435
+ defaultRpcUrls: ["https://rpc.mainnet.arc.io"],
436
+ explorerUrl: "https://explorer.arc.io",
437
+ capabilities: {
438
+ fastSource: false,
439
+ forwardingDestination: true,
440
+ upfrontFeeSource: true,
441
+ standardFeeSwitch: true
442
+ }
443
+ };
444
+ var Edge = {
445
+ id: "Edge",
446
+ label: "EDGE",
447
+ ecosystem: "evm",
448
+ network: "mainnet",
449
+ evmChainId: 3343,
450
+ cctpDomain: 28,
451
+ usdc: "0x98d2919b9A214E6Fa5384AC81E6864bA686Ad74c",
452
+ usdcDecimals: 6,
453
+ tokenMessenger: "0x98706A006bc632Df31CAdFCBD43F38887ce2ca5c",
454
+ messageTransmitter: "0x5b61381Fc9e58E70EfC13a4A97516997019198ee",
455
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
456
+ defaultRpcUrls: ["https://edge-mainnet.g.alchemy.com/public"],
457
+ explorerUrl: "https://pro.edgex.exchange/en-US/explorer",
458
+ capabilities: {
459
+ fastSource: true,
460
+ forwardingDestination: true,
461
+ upfrontFeeSource: false,
462
+ standardFeeSwitch: true
463
+ }
464
+ };
465
+ var Injective = {
466
+ id: "Injective",
467
+ label: "Injective",
468
+ ecosystem: "evm",
469
+ network: "mainnet",
470
+ evmChainId: 1776,
471
+ cctpDomain: 29,
472
+ usdc: "0xa00C59fF5a080D2b954d0c75e46E22a0c371235a",
473
+ usdcDecimals: 6,
474
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
475
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
476
+ nativeCurrency: { symbol: "INJ", decimals: 18 },
477
+ defaultRpcUrls: [
478
+ "https://sentry.evm-rpc.injective.network",
479
+ "https://evm.archival.chain.virtual.json-rpc.injective.network"
480
+ ],
481
+ explorerUrl: "https://blockscout.injective.network",
482
+ capabilities: {
483
+ fastSource: false,
484
+ forwardingDestination: false,
485
+ upfrontFeeSource: false,
486
+ standardFeeSwitch: true
487
+ }
488
+ };
489
+ var Morph = {
490
+ id: "Morph",
491
+ label: "Morph",
492
+ ecosystem: "evm",
493
+ network: "mainnet",
494
+ evmChainId: 2818,
495
+ cctpDomain: 30,
496
+ usdc: "0xCfb1186F4e93D60E60a8bDd997427D1F33bc372B",
497
+ usdcDecimals: 6,
498
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
499
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
500
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
501
+ defaultRpcUrls: ["https://rpc-bgw.morph.network"],
502
+ explorerUrl: "https://explorer.morph.network",
503
+ capabilities: {
504
+ fastSource: true,
505
+ forwardingDestination: false,
506
+ upfrontFeeSource: false,
507
+ standardFeeSwitch: true
508
+ }
509
+ };
510
+ var Pharos = {
511
+ id: "Pharos",
512
+ label: "Pharos",
513
+ ecosystem: "evm",
514
+ network: "mainnet",
515
+ evmChainId: 1672,
516
+ cctpDomain: 31,
517
+ usdc: "0xC879C018dB60520F4355C26eD1a6D572cdAC1815",
518
+ usdcDecimals: 6,
519
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
520
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
521
+ nativeCurrency: { symbol: "PROS", decimals: 18 },
522
+ defaultRpcUrls: ["https://rpc.pharos.xyz"],
523
+ explorerUrl: "https://www.pharosscan.xyz",
524
+ capabilities: {
525
+ fastSource: false,
526
+ forwardingDestination: false,
527
+ upfrontFeeSource: false,
528
+ standardFeeSwitch: true
529
+ }
530
+ };
531
+ var Cronos = {
532
+ id: "Cronos",
533
+ label: "Cronos",
534
+ ecosystem: "evm",
535
+ network: "mainnet",
536
+ evmChainId: 25,
537
+ cctpDomain: 32,
538
+ usdc: "0x3D7F2C478aAfdB65542BCB44bCeeC05849999d2D",
539
+ usdcDecimals: 6,
540
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
541
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
542
+ nativeCurrency: { symbol: "CRO", decimals: 18 },
543
+ defaultRpcUrls: ["https://evm.cronos.com"],
544
+ explorerUrl: "https://explorer.cronos.com",
545
+ capabilities: {
546
+ fastSource: false,
547
+ forwardingDestination: false,
548
+ upfrontFeeSource: false,
549
+ standardFeeSwitch: true
550
+ }
551
+ };
552
+ var Plasma = {
553
+ id: "Plasma",
554
+ label: "Plasma",
555
+ ecosystem: "evm",
556
+ network: "mainnet",
557
+ evmChainId: 9745,
558
+ cctpDomain: 33,
559
+ usdc: "0x2d661C89D812261039AF9764eceaAee884f5F67F",
560
+ usdcDecimals: 6,
561
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
562
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
563
+ nativeCurrency: { symbol: "XPL", decimals: 18 },
564
+ defaultRpcUrls: ["https://rpc.plasma.to"],
565
+ explorerUrl: "https://plasmascan.to",
566
+ capabilities: {
567
+ fastSource: false,
568
+ forwardingDestination: false,
569
+ upfrontFeeSource: false,
570
+ standardFeeSwitch: true
571
+ }
572
+ };
573
+ var XLayer = {
574
+ id: "X_Layer",
575
+ label: "X Layer",
576
+ ecosystem: "evm",
577
+ network: "mainnet",
578
+ evmChainId: 196,
579
+ cctpDomain: 37,
580
+ usdc: "0xB6CEceAB302E2E4948951eE7843FC24E92933061",
581
+ usdcDecimals: 6,
582
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_MAINNET,
583
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_MAINNET,
584
+ nativeCurrency: { symbol: "OKB", decimals: 18 },
585
+ defaultRpcUrls: ["https://rpc.xlayer.tech", "https://xlayerrpc.okx.com"],
586
+ explorerUrl: "https://www.okx.com/web3/explorer/xlayer",
587
+ capabilities: {
588
+ fastSource: true,
589
+ forwardingDestination: false,
590
+ upfrontFeeSource: false,
591
+ standardFeeSwitch: true
592
+ }
593
+ };
594
+ var EVM_MAINNET_CHAINS = [
595
+ Ethereum,
596
+ Avalanche,
597
+ Optimism,
598
+ Arbitrum,
599
+ Base,
600
+ Polygon,
601
+ Unichain,
602
+ Linea,
603
+ Codex,
604
+ Sonic,
605
+ WorldChain,
606
+ Monad,
607
+ Sei,
608
+ XDC,
609
+ HyperEVM,
610
+ Ink,
611
+ Plume,
612
+ Arc,
613
+ Edge,
614
+ Injective,
615
+ Morph,
616
+ Pharos,
617
+ Cronos,
618
+ Plasma,
619
+ XLayer
620
+ ];
621
+
622
+ // src/chains/testnet.ts
623
+ var EthereumSepolia = {
624
+ id: "Ethereum_Sepolia",
625
+ label: "Ethereum Sepolia",
626
+ ecosystem: "evm",
627
+ network: "testnet",
628
+ evmChainId: 11155111,
629
+ cctpDomain: 0,
630
+ usdc: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
631
+ usdcDecimals: 6,
632
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
633
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
634
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
635
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
636
+ defaultRpcUrls: ["https://ethereum-sepolia-rpc.publicnode.com"],
637
+ explorerUrl: "https://sepolia.etherscan.io",
638
+ capabilities: {
639
+ fastSource: true,
640
+ forwardingDestination: true,
641
+ upfrontFeeSource: true,
642
+ standardFeeSwitch: false
643
+ }
644
+ };
645
+ var AvalancheFuji = {
646
+ id: "Avalanche_Fuji",
647
+ label: "Avalanche Fuji",
648
+ ecosystem: "evm",
649
+ network: "testnet",
650
+ evmChainId: 43113,
651
+ cctpDomain: 1,
652
+ usdc: "0x5425890298aed601595a70AB815c96711a31Bc65",
653
+ usdcDecimals: 6,
654
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
655
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
656
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
657
+ nativeCurrency: { symbol: "AVAX", decimals: 18 },
658
+ defaultRpcUrls: ["https://api.avax-test.network/ext/bc/C/rpc"],
659
+ explorerUrl: "https://explorer-test.avax.network/c-chain",
660
+ capabilities: {
661
+ fastSource: false,
662
+ forwardingDestination: true,
663
+ upfrontFeeSource: true,
664
+ standardFeeSwitch: false
665
+ }
666
+ };
667
+ var OptimismSepolia = {
668
+ id: "Optimism_Sepolia",
669
+ label: "OP Sepolia",
670
+ ecosystem: "evm",
671
+ network: "testnet",
672
+ evmChainId: 11155420,
673
+ cctpDomain: 2,
674
+ usdc: "0x5fd84259d66Cd46123540766Be93DFE6D43130D7",
675
+ usdcDecimals: 6,
676
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
677
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
678
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
679
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
680
+ defaultRpcUrls: ["https://sepolia.optimism.io"],
681
+ explorerUrl: "https://testnet-explorer.optimism.io",
682
+ capabilities: {
683
+ fastSource: true,
684
+ forwardingDestination: true,
685
+ upfrontFeeSource: true,
686
+ standardFeeSwitch: false
687
+ }
688
+ };
689
+ var ArbitrumSepolia = {
690
+ id: "Arbitrum_Sepolia",
691
+ label: "Arbitrum Sepolia",
692
+ ecosystem: "evm",
693
+ network: "testnet",
694
+ evmChainId: 421614,
695
+ cctpDomain: 3,
696
+ usdc: "0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d",
697
+ usdcDecimals: 6,
698
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
699
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
700
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
701
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
702
+ defaultRpcUrls: ["https://sepolia-rollup.arbitrum.io/rpc"],
703
+ explorerUrl: "https://sepolia.arbiscan.io",
704
+ capabilities: {
705
+ fastSource: true,
706
+ forwardingDestination: true,
707
+ upfrontFeeSource: true,
708
+ standardFeeSwitch: false
709
+ }
710
+ };
711
+ var BaseSepolia = {
712
+ id: "Base_Sepolia",
713
+ label: "Base Sepolia",
714
+ ecosystem: "evm",
715
+ network: "testnet",
716
+ evmChainId: 84532,
717
+ cctpDomain: 6,
718
+ usdc: "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
719
+ usdcDecimals: 6,
720
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
721
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
722
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
723
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
724
+ defaultRpcUrls: ["https://sepolia.base.org"],
725
+ explorerUrl: "https://sepolia.basescan.org",
726
+ capabilities: {
727
+ fastSource: true,
728
+ forwardingDestination: true,
729
+ upfrontFeeSource: true,
730
+ standardFeeSwitch: false
731
+ }
732
+ };
733
+ var PolygonAmoyTestnet = {
734
+ id: "Polygon_Amoy_Testnet",
735
+ label: "Polygon PoS Amoy",
736
+ ecosystem: "evm",
737
+ network: "testnet",
738
+ evmChainId: 80002,
739
+ cctpDomain: 7,
740
+ usdc: "0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582",
741
+ usdcDecimals: 6,
742
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
743
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
744
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
745
+ nativeCurrency: { symbol: "POL", decimals: 18 },
746
+ defaultRpcUrls: ["https://polygon-amoy.drpc.org"],
747
+ explorerUrl: "https://amoy.polygonscan.com",
748
+ capabilities: {
749
+ fastSource: false,
750
+ forwardingDestination: true,
751
+ upfrontFeeSource: true,
752
+ standardFeeSwitch: false
753
+ }
754
+ };
755
+ var UnichainSepolia = {
756
+ id: "Unichain_Sepolia",
757
+ label: "Unichain Sepolia",
758
+ ecosystem: "evm",
759
+ network: "testnet",
760
+ evmChainId: 1301,
761
+ cctpDomain: 10,
762
+ usdc: "0x31d0220469e10c4E71834a79b1f276d740d3768F",
763
+ usdcDecimals: 6,
764
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
765
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
766
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
767
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
768
+ defaultRpcUrls: ["https://sepolia.unichain.org"],
769
+ explorerUrl: "https://sepolia.uniscan.xyz",
770
+ capabilities: {
771
+ fastSource: true,
772
+ forwardingDestination: true,
773
+ upfrontFeeSource: true,
774
+ standardFeeSwitch: false
775
+ }
776
+ };
777
+ var LineaSepolia = {
778
+ id: "Linea_Sepolia",
779
+ label: "Linea Sepolia",
780
+ ecosystem: "evm",
781
+ network: "testnet",
782
+ evmChainId: 59141,
783
+ cctpDomain: 11,
784
+ usdc: "0xFEce4462D57bD51A6A552365A011b95f0E16d9B7",
785
+ usdcDecimals: 6,
786
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
787
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
788
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
789
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
790
+ defaultRpcUrls: ["https://rpc.sepolia.linea.build"],
791
+ explorerUrl: "https://sepolia.lineascan.build",
792
+ capabilities: {
793
+ fastSource: true,
794
+ forwardingDestination: true,
795
+ upfrontFeeSource: true,
796
+ standardFeeSwitch: false
797
+ }
798
+ };
799
+ var CodexTestnet = {
800
+ id: "Codex_Testnet",
801
+ label: "Codex Testnet",
802
+ ecosystem: "evm",
803
+ network: "testnet",
804
+ evmChainId: 812242,
805
+ cctpDomain: 12,
806
+ usdc: "0x6d7f141b6819C2c9CC2f818e6ad549E7Ca090F8f",
807
+ usdcDecimals: 6,
808
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
809
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
810
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
811
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
812
+ defaultRpcUrls: ["https://rpc.codex-stg.xyz"],
813
+ explorerUrl: "https://explorer.codex-stg.xyz",
814
+ capabilities: {
815
+ fastSource: true,
816
+ forwardingDestination: true,
817
+ upfrontFeeSource: true,
818
+ standardFeeSwitch: false
819
+ }
820
+ };
821
+ var SonicTestnet = {
822
+ id: "Sonic_Testnet",
823
+ label: "Sonic Testnet",
824
+ ecosystem: "evm",
825
+ network: "testnet",
826
+ evmChainId: 14601,
827
+ cctpDomain: 13,
828
+ usdc: "0x0BA304580ee7c9a980CF72e55f5Ed2E9fd30Bc51",
829
+ usdcDecimals: 6,
830
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
831
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
832
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
833
+ nativeCurrency: { symbol: "S", decimals: 18 },
834
+ defaultRpcUrls: ["https://rpc.testnet.soniclabs.com"],
835
+ explorerUrl: "https://testnet.sonicscan.org",
836
+ capabilities: {
837
+ fastSource: false,
838
+ forwardingDestination: true,
839
+ upfrontFeeSource: true,
840
+ standardFeeSwitch: true
841
+ }
842
+ };
843
+ var WorldChainSepolia = {
844
+ id: "World_Chain_Sepolia",
845
+ label: "World Chain Sepolia",
846
+ ecosystem: "evm",
847
+ network: "testnet",
848
+ evmChainId: 4801,
849
+ cctpDomain: 14,
850
+ usdc: "0x66145f38cBAC35Ca6F1Dfb4914dF98F1614aeA88",
851
+ usdcDecimals: 6,
852
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
853
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
854
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
855
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
856
+ defaultRpcUrls: ["https://worldchain-sepolia.g.alchemy.com/public"],
857
+ explorerUrl: "https://worldchain-sepolia.explorer.alchemy.com",
858
+ capabilities: {
859
+ fastSource: true,
860
+ forwardingDestination: true,
861
+ upfrontFeeSource: true,
862
+ standardFeeSwitch: false
863
+ }
864
+ };
865
+ var MonadTestnet = {
866
+ id: "Monad_Testnet",
867
+ label: "Monad Testnet",
868
+ ecosystem: "evm",
869
+ network: "testnet",
870
+ evmChainId: 10143,
871
+ cctpDomain: 15,
872
+ usdc: "0x534b2f3A21130d7a60830c2Df862319e593943A3",
873
+ usdcDecimals: 6,
874
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
875
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
876
+ nativeCurrency: { symbol: "MON", decimals: 18 },
877
+ defaultRpcUrls: [
878
+ "https://testnet-rpc.monad.xyz",
879
+ "https://rpc-testnet.monadinfra.com"
880
+ ],
881
+ explorerUrl: "https://testnet.monadvision.com",
882
+ capabilities: {
883
+ fastSource: false,
884
+ forwardingDestination: true,
885
+ upfrontFeeSource: false,
886
+ standardFeeSwitch: true
887
+ }
888
+ };
889
+ var SeiTestnet = {
890
+ id: "Sei_Testnet",
891
+ label: "Sei Testnet",
892
+ ecosystem: "evm",
893
+ network: "testnet",
894
+ evmChainId: 1328,
895
+ cctpDomain: 16,
896
+ usdc: "0x4fCF1784B31630811181f670Aea7A7bEF803eaED",
897
+ usdcDecimals: 6,
898
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
899
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
900
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
901
+ nativeCurrency: { symbol: "SEI", decimals: 18 },
902
+ defaultRpcUrls: ["https://evm-rpc-testnet.sei-apis.com"],
903
+ explorerUrl: "https://testnet.seiscan.io",
904
+ capabilities: {
905
+ fastSource: false,
906
+ forwardingDestination: true,
907
+ upfrontFeeSource: true,
908
+ standardFeeSwitch: true
909
+ }
910
+ };
911
+ var XDCApothem = {
912
+ id: "XDC_Apothem",
913
+ label: "XDC Apothem",
914
+ ecosystem: "evm",
915
+ network: "testnet",
916
+ evmChainId: 51,
917
+ cctpDomain: 18,
918
+ usdc: "0xb5AB69F7bBada22B28e79C8FFAECe55eF1c771D4",
919
+ usdcDecimals: 6,
920
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
921
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
922
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
923
+ nativeCurrency: { symbol: "TXDC", decimals: 18 },
924
+ defaultRpcUrls: [
925
+ "https://rpc.apothem.network",
926
+ "https://erpc.apothem.network"
927
+ ],
928
+ explorerUrl: "https://testnet.xdcscan.com",
929
+ capabilities: {
930
+ fastSource: false,
931
+ forwardingDestination: true,
932
+ upfrontFeeSource: true,
933
+ standardFeeSwitch: true
934
+ }
935
+ };
936
+ var HyperEVMTestnet = {
937
+ id: "HyperEVM_Testnet",
938
+ label: "HyperEVM Testnet",
939
+ ecosystem: "evm",
940
+ network: "testnet",
941
+ evmChainId: 998,
942
+ cctpDomain: 19,
943
+ usdc: "0x2B3370eE501B4a559b57D449569354196457D8Ab",
944
+ usdcDecimals: 6,
945
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
946
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
947
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
948
+ nativeCurrency: { symbol: "HYPE", decimals: 18 },
949
+ defaultRpcUrls: ["https://rpc.hyperliquid-testnet.xyz/evm"],
950
+ explorerUrl: "https://app.hyperliquid-testnet.xyz/explorer",
951
+ capabilities: {
952
+ fastSource: false,
953
+ forwardingDestination: true,
954
+ upfrontFeeSource: true,
955
+ standardFeeSwitch: true
956
+ }
957
+ };
958
+ var InkTestnet = {
959
+ id: "Ink_Testnet",
960
+ label: "Ink Testnet",
961
+ ecosystem: "evm",
962
+ network: "testnet",
963
+ evmChainId: 763373,
964
+ cctpDomain: 21,
965
+ usdc: "0xFabab97dCE620294D2B0b0e46C68964e326300Ac",
966
+ usdcDecimals: 6,
967
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
968
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
969
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
970
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
971
+ defaultRpcUrls: [
972
+ "https://rpc-gel-sepolia.inkonchain.com",
973
+ "https://rpc-qnd-sepolia.inkonchain.com"
974
+ ],
975
+ explorerUrl: "https://explorer-sepolia.inkonchain.com",
976
+ capabilities: {
977
+ fastSource: true,
978
+ forwardingDestination: true,
979
+ upfrontFeeSource: true,
980
+ standardFeeSwitch: true
981
+ }
982
+ };
983
+ var PlumeTestnet = {
984
+ id: "Plume_Testnet",
985
+ label: "Plume Testnet",
986
+ ecosystem: "evm",
987
+ network: "testnet",
988
+ evmChainId: 98867,
989
+ cctpDomain: 22,
990
+ usdc: "0xcB5f30e335672893c7eb944B374c196392C19D18",
991
+ usdcDecimals: 6,
992
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
993
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
994
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
995
+ nativeCurrency: { symbol: "PLUME", decimals: 18 },
996
+ defaultRpcUrls: ["https://testnet-rpc.plume.org"],
997
+ explorerUrl: "https://testnet-explorer.plume.org",
998
+ capabilities: {
999
+ fastSource: true,
1000
+ forwardingDestination: true,
1001
+ upfrontFeeSource: true,
1002
+ standardFeeSwitch: true
1003
+ }
1004
+ };
1005
+ var ArcTestnet = {
1006
+ id: "Arc_Testnet",
1007
+ label: "Arc Testnet",
1008
+ ecosystem: "evm",
1009
+ network: "testnet",
1010
+ evmChainId: 5042002,
1011
+ cctpDomain: 26,
1012
+ usdc: "0x3600000000000000000000000000000000000000",
1013
+ usdcDecimals: 6,
1014
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
1015
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
1016
+ tokenMessengerWithFees: TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET,
1017
+ nativeCurrency: { symbol: "USDC", decimals: 18 },
1018
+ defaultRpcUrls: ["https://rpc.testnet.arc.io"],
1019
+ explorerUrl: "https://explorer.testnet.arc.io",
1020
+ capabilities: {
1021
+ fastSource: false,
1022
+ forwardingDestination: true,
1023
+ upfrontFeeSource: true,
1024
+ standardFeeSwitch: true
1025
+ }
1026
+ };
1027
+ var EdgeTestnet = {
1028
+ id: "Edge_Testnet",
1029
+ label: "EDGE Testnet",
1030
+ ecosystem: "evm",
1031
+ network: "testnet",
1032
+ evmChainId: 33431,
1033
+ cctpDomain: 28,
1034
+ usdc: "0x2d9F7CAD728051AA35Ecdc472a14cf8cDF5CFD6B",
1035
+ usdcDecimals: 6,
1036
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
1037
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
1038
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
1039
+ defaultRpcUrls: ["https://edge-testnet.g.alchemy.com/public"],
1040
+ explorerUrl: "https://edge-testnet.explorer.alchemy.com",
1041
+ capabilities: {
1042
+ fastSource: true,
1043
+ forwardingDestination: true,
1044
+ upfrontFeeSource: false,
1045
+ standardFeeSwitch: true
1046
+ }
1047
+ };
1048
+ var InjectiveTestnet = {
1049
+ id: "Injective_Testnet",
1050
+ label: "Injective Testnet",
1051
+ ecosystem: "evm",
1052
+ network: "testnet",
1053
+ evmChainId: 1439,
1054
+ cctpDomain: 29,
1055
+ usdc: "0x0C382e685bbeeFE5d3d9C29e29E341fEE8E84C5d",
1056
+ usdcDecimals: 6,
1057
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
1058
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
1059
+ nativeCurrency: { symbol: "INJ", decimals: 18 },
1060
+ defaultRpcUrls: [
1061
+ "https://k8s.testnet.json-rpc.injective.network",
1062
+ "https://testnet.evm.archival.chain.virtual.json-rpc.injective.network"
1063
+ ],
1064
+ explorerUrl: "https://testnet.blockscout.injective.network",
1065
+ capabilities: {
1066
+ fastSource: false,
1067
+ forwardingDestination: false,
1068
+ upfrontFeeSource: false,
1069
+ standardFeeSwitch: true
1070
+ }
1071
+ };
1072
+ var MorphTestnet = {
1073
+ id: "Morph_Testnet",
1074
+ label: "Morph Hoodi Testnet",
1075
+ ecosystem: "evm",
1076
+ network: "testnet",
1077
+ evmChainId: 2910,
1078
+ cctpDomain: 30,
1079
+ usdc: "0x7433b41C6c5e1d58D4Da99483609520255ab661B",
1080
+ usdcDecimals: 6,
1081
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
1082
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
1083
+ nativeCurrency: { symbol: "ETH", decimals: 18 },
1084
+ defaultRpcUrls: ["https://rpc-hoodi-bgw.morph.network"],
1085
+ explorerUrl: "https://explorer-hoodi.morph.network",
1086
+ capabilities: {
1087
+ fastSource: true,
1088
+ forwardingDestination: false,
1089
+ upfrontFeeSource: false,
1090
+ standardFeeSwitch: true
1091
+ }
1092
+ };
1093
+ var PharosTestnet = {
1094
+ id: "Pharos_Testnet",
1095
+ label: "Pharos Testnet",
1096
+ ecosystem: "evm",
1097
+ network: "testnet",
1098
+ evmChainId: 688689,
1099
+ cctpDomain: 31,
1100
+ usdc: "0xcfC8330f4BCAB529c625D12781b1C19466A9Fc8B",
1101
+ usdcDecimals: 6,
1102
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
1103
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
1104
+ nativeCurrency: { symbol: "PHAROS", decimals: 18 },
1105
+ defaultRpcUrls: ["https://atlantic.dplabs-internal.com"],
1106
+ explorerUrl: "https://atlantic.pharosscan.xyz",
1107
+ capabilities: {
1108
+ fastSource: false,
1109
+ forwardingDestination: false,
1110
+ upfrontFeeSource: false,
1111
+ standardFeeSwitch: true
1112
+ }
1113
+ };
1114
+ var CronosTestnet = {
1115
+ id: "Cronos_Testnet",
1116
+ label: "Cronos Testnet",
1117
+ ecosystem: "evm",
1118
+ network: "testnet",
1119
+ evmChainId: 338,
1120
+ cctpDomain: 32,
1121
+ usdc: "0xEb33dc5fac03833e132593659e1dE7256aB59794",
1122
+ usdcDecimals: 6,
1123
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
1124
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
1125
+ nativeCurrency: { symbol: "tCRO", decimals: 18 },
1126
+ defaultRpcUrls: ["https://evm-t3.cronos.com"],
1127
+ explorerUrl: "https://explorer.cronos.com/testnet",
1128
+ capabilities: {
1129
+ fastSource: false,
1130
+ forwardingDestination: false,
1131
+ upfrontFeeSource: false,
1132
+ standardFeeSwitch: true
1133
+ }
1134
+ };
1135
+ var PlasmaTestnet = {
1136
+ id: "Plasma_Testnet",
1137
+ label: "Plasma Testnet",
1138
+ ecosystem: "evm",
1139
+ network: "testnet",
1140
+ evmChainId: 9746,
1141
+ cctpDomain: 33,
1142
+ usdc: "0xE67Fb267022cBA8064Dd388CC2FED724F3120D9D",
1143
+ usdcDecimals: 6,
1144
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
1145
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
1146
+ nativeCurrency: { symbol: "XPL", decimals: 18 },
1147
+ defaultRpcUrls: ["https://testnet-rpc.plasma.to"],
1148
+ explorerUrl: "https://testnet.plasmascan.to",
1149
+ capabilities: {
1150
+ fastSource: false,
1151
+ forwardingDestination: false,
1152
+ upfrontFeeSource: false,
1153
+ standardFeeSwitch: true
1154
+ }
1155
+ };
1156
+ var XLayerTestnet = {
1157
+ id: "X_Layer_Testnet",
1158
+ label: "X Layer Testnet",
1159
+ ecosystem: "evm",
1160
+ network: "testnet",
1161
+ evmChainId: 1952,
1162
+ cctpDomain: 37,
1163
+ usdc: "0xDec90b78111Ba2fc6FC6d84d8B9ec159A2d4b9B3",
1164
+ usdcDecimals: 6,
1165
+ tokenMessenger: TOKEN_MESSENGER_V2_EVM_TESTNET,
1166
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_EVM_TESTNET,
1167
+ nativeCurrency: { symbol: "OKB", decimals: 18 },
1168
+ defaultRpcUrls: [
1169
+ "https://testrpc.xlayer.tech/terigon",
1170
+ "https://xlayertestrpc.okx.com/terigon"
1171
+ ],
1172
+ explorerUrl: "https://www.okx.com/web3/explorer/xlayer-test",
1173
+ capabilities: {
1174
+ fastSource: true,
1175
+ forwardingDestination: false,
1176
+ upfrontFeeSource: false,
1177
+ standardFeeSwitch: true
1178
+ }
1179
+ };
1180
+ var EVM_TESTNET_CHAINS = [
1181
+ EthereumSepolia,
1182
+ AvalancheFuji,
1183
+ OptimismSepolia,
1184
+ ArbitrumSepolia,
1185
+ BaseSepolia,
1186
+ PolygonAmoyTestnet,
1187
+ UnichainSepolia,
1188
+ LineaSepolia,
1189
+ CodexTestnet,
1190
+ SonicTestnet,
1191
+ WorldChainSepolia,
1192
+ MonadTestnet,
1193
+ SeiTestnet,
1194
+ XDCApothem,
1195
+ HyperEVMTestnet,
1196
+ InkTestnet,
1197
+ PlumeTestnet,
1198
+ ArcTestnet,
1199
+ EdgeTestnet,
1200
+ InjectiveTestnet,
1201
+ MorphTestnet,
1202
+ PharosTestnet,
1203
+ CronosTestnet,
1204
+ PlasmaTestnet,
1205
+ XLayerTestnet
1206
+ ];
1207
+
1208
+ // src/chains/solana.ts
1209
+ var Solana = {
1210
+ id: "Solana",
1211
+ label: "Solana",
1212
+ ecosystem: "solana",
1213
+ network: "mainnet",
1214
+ cluster: "mainnet-beta",
1215
+ cctpDomain: SOLANA_CCTP_DOMAIN,
1216
+ usdc: USDC_SPL_MAINNET,
1217
+ usdcDecimals: 6,
1218
+ tokenMessengerMinter: TOKEN_MESSENGER_MINTER_V2_SOLANA,
1219
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_SOLANA,
1220
+ nativeCurrency: { symbol: "SOL", decimals: 9 },
1221
+ defaultRpcUrls: [
1222
+ "https://api.mainnet.solana.com",
1223
+ "https://api.mainnet-beta.solana.com"
1224
+ ],
1225
+ explorerUrl: "https://explorer.solana.com",
1226
+ capabilities: {
1227
+ fastSource: true,
1228
+ forwardingDestination: true,
1229
+ upfrontFeeSource: false,
1230
+ standardFeeSwitch: false
1231
+ }
1232
+ };
1233
+ var SolanaDevnet = {
1234
+ id: "Solana_Devnet",
1235
+ label: "Solana Devnet",
1236
+ ecosystem: "solana",
1237
+ network: "testnet",
1238
+ cluster: "devnet",
1239
+ cctpDomain: SOLANA_CCTP_DOMAIN,
1240
+ usdc: USDC_SPL_DEVNET,
1241
+ usdcDecimals: 6,
1242
+ tokenMessengerMinter: TOKEN_MESSENGER_MINTER_V2_SOLANA,
1243
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_SOLANA,
1244
+ nativeCurrency: { symbol: "SOL", decimals: 9 },
1245
+ defaultRpcUrls: ["https://api.devnet.solana.com"],
1246
+ explorerUrl: "https://explorer.solana.com",
1247
+ explorerQuery: "?cluster=devnet",
1248
+ capabilities: {
1249
+ fastSource: true,
1250
+ forwardingDestination: true,
1251
+ upfrontFeeSource: false,
1252
+ standardFeeSwitch: false
1253
+ }
1254
+ };
1255
+ function deriveUsdcSac(issuer, passphrase) {
1256
+ return new Asset("USDC", issuer).contractId(passphrase);
1257
+ }
1258
+ var USDC_SAC_STELLAR_MAINNET = deriveUsdcSac(
1259
+ USDC_ISSUER_STELLAR_MAINNET,
1260
+ STELLAR_NETWORK_PASSPHRASE_MAINNET
1261
+ );
1262
+ var USDC_SAC_STELLAR_TESTNET = deriveUsdcSac(
1263
+ USDC_ISSUER_STELLAR_TESTNET,
1264
+ STELLAR_NETWORK_PASSPHRASE_TESTNET
1265
+ );
1266
+ var Stellar = {
1267
+ id: "Stellar",
1268
+ label: "Stellar",
1269
+ ecosystem: "stellar",
1270
+ network: "mainnet",
1271
+ stellarNetwork: "public",
1272
+ networkPassphrase: STELLAR_NETWORK_PASSPHRASE_MAINNET,
1273
+ cctpDomain: STELLAR_CCTP_DOMAIN,
1274
+ usdcIssuer: USDC_ISSUER_STELLAR_MAINNET,
1275
+ usdc: USDC_SAC_STELLAR_MAINNET,
1276
+ usdcDecimals: STELLAR_USDC_DECIMALS,
1277
+ tokenMessengerMinter: TOKEN_MESSENGER_MINTER_STELLAR_MAINNET,
1278
+ messageTransmitter: MESSAGE_TRANSMITTER_STELLAR_MAINNET,
1279
+ cctpForwarder: CCTP_FORWARDER_STELLAR_MAINNET,
1280
+ nativeCurrency: { symbol: "XLM", decimals: 7 },
1281
+ defaultRpcUrls: [
1282
+ "https://soroban-rpc.mainnet.stellar.gateway.fm",
1283
+ "https://mainnet.sorobanrpc.com"
1284
+ ],
1285
+ explorerUrl: "https://stellar.expert/explorer/public",
1286
+ capabilities: {
1287
+ fastSource: false,
1288
+ forwardingDestination: false,
1289
+ upfrontFeeSource: false,
1290
+ standardFeeSwitch: false
1291
+ }
1292
+ };
1293
+ var StellarTestnet = {
1294
+ id: "Stellar_Testnet",
1295
+ label: "Stellar Testnet",
1296
+ ecosystem: "stellar",
1297
+ network: "testnet",
1298
+ stellarNetwork: "testnet",
1299
+ networkPassphrase: STELLAR_NETWORK_PASSPHRASE_TESTNET,
1300
+ cctpDomain: STELLAR_CCTP_DOMAIN,
1301
+ usdcIssuer: USDC_ISSUER_STELLAR_TESTNET,
1302
+ usdc: USDC_SAC_STELLAR_TESTNET,
1303
+ usdcDecimals: STELLAR_USDC_DECIMALS,
1304
+ tokenMessengerMinter: TOKEN_MESSENGER_MINTER_STELLAR_TESTNET,
1305
+ messageTransmitter: MESSAGE_TRANSMITTER_STELLAR_TESTNET,
1306
+ cctpForwarder: CCTP_FORWARDER_STELLAR_TESTNET,
1307
+ nativeCurrency: { symbol: "XLM", decimals: 7 },
1308
+ defaultRpcUrls: ["https://soroban-testnet.stellar.org"],
1309
+ explorerUrl: "https://stellar.expert/explorer/testnet",
1310
+ capabilities: {
1311
+ fastSource: false,
1312
+ forwardingDestination: false,
1313
+ upfrontFeeSource: false,
1314
+ standardFeeSwitch: false
1315
+ }
1316
+ };
1317
+
1318
+ // src/chains/starknet.ts
1319
+ var Starknet = {
1320
+ id: "Starknet",
1321
+ label: "Starknet",
1322
+ ecosystem: "starknet",
1323
+ network: "mainnet",
1324
+ starknetNetwork: "mainnet",
1325
+ chainId: STARKNET_CHAIN_ID_MAINNET,
1326
+ cctpDomain: STARKNET_CCTP_DOMAIN,
1327
+ usdc: USDC_STARKNET_MAINNET,
1328
+ usdcDecimals: 6,
1329
+ tokenMessengerMinter: TOKEN_MESSENGER_MINTER_V2_STARKNET_MAINNET,
1330
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_STARKNET_MAINNET,
1331
+ nativeCurrency: { symbol: "STRK", decimals: 18 },
1332
+ defaultRpcUrls: ["https://starknet-rpc.publicnode.com"],
1333
+ explorerUrl: "https://voyager.online",
1334
+ capabilities: {
1335
+ fastSource: true,
1336
+ forwardingDestination: false,
1337
+ upfrontFeeSource: false,
1338
+ standardFeeSwitch: false
1339
+ }
1340
+ };
1341
+ var StarknetSepolia = {
1342
+ id: "Starknet_Sepolia",
1343
+ label: "Starknet Sepolia",
1344
+ ecosystem: "starknet",
1345
+ network: "testnet",
1346
+ starknetNetwork: "sepolia",
1347
+ chainId: STARKNET_CHAIN_ID_SEPOLIA,
1348
+ cctpDomain: STARKNET_CCTP_DOMAIN,
1349
+ usdc: USDC_STARKNET_SEPOLIA,
1350
+ usdcDecimals: 6,
1351
+ tokenMessengerMinter: TOKEN_MESSENGER_MINTER_V2_STARKNET_SEPOLIA,
1352
+ messageTransmitter: MESSAGE_TRANSMITTER_V2_STARKNET_SEPOLIA,
1353
+ nativeCurrency: { symbol: "STRK", decimals: 18 },
1354
+ defaultRpcUrls: ["https://starknet-sepolia-rpc.publicnode.com"],
1355
+ explorerUrl: "https://sepolia.voyager.online",
1356
+ capabilities: {
1357
+ fastSource: true,
1358
+ forwardingDestination: false,
1359
+ upfrontFeeSource: false,
1360
+ standardFeeSwitch: false
1361
+ }
1362
+ };
1363
+
1364
+ // src/errors.ts
1365
+ var CctpError = class extends Error {
1366
+ code;
1367
+ cause;
1368
+ constructor(code, message, cause) {
1369
+ super(message);
1370
+ this.name = "CctpError";
1371
+ this.code = code;
1372
+ if (cause !== void 0) this.cause = cause;
1373
+ }
1374
+ };
1375
+ var InvalidInputError = class extends CctpError {
1376
+ constructor(code, message, cause) {
1377
+ super(code, message, cause);
1378
+ this.name = "InvalidInputError";
1379
+ }
1380
+ };
1381
+ var ProtocolError = class extends CctpError {
1382
+ constructor(code, message, cause) {
1383
+ super(code, message, cause);
1384
+ this.name = "ProtocolError";
1385
+ }
1386
+ };
1387
+
1388
+ // src/chains/registry.ts
1389
+ var UnknownChainError = class extends InvalidInputError {
1390
+ constructor(detail) {
1391
+ super("invalid_chain", `Unknown chain: ${detail}`);
1392
+ this.name = "UnknownChainError";
1393
+ }
1394
+ };
1395
+ var CHAINS = [
1396
+ ...EVM_MAINNET_CHAINS,
1397
+ ...EVM_TESTNET_CHAINS,
1398
+ Solana,
1399
+ SolanaDevnet,
1400
+ Stellar,
1401
+ StellarTestnet,
1402
+ Starknet,
1403
+ StarknetSepolia
1404
+ ];
1405
+ var ALL = CHAINS;
1406
+ var BY_ID = new Map(ALL.map((c) => [c.id, c]));
1407
+ var BY_EVM_CHAIN_ID = new Map(
1408
+ ALL.filter(isEvmChain).map((c) => [c.evmChainId, c])
1409
+ );
1410
+ var BY_DOMAIN_AND_NETWORK = new Map(
1411
+ ALL.map((c) => [`${c.cctpDomain}:${c.network}`, c])
1412
+ );
1413
+ function isEvmChain(chain) {
1414
+ return chain.ecosystem === "evm";
1415
+ }
1416
+ function isSolanaChain(chain) {
1417
+ return chain.ecosystem === "solana";
1418
+ }
1419
+ function isStellarChain(chain) {
1420
+ return chain.ecosystem === "stellar";
1421
+ }
1422
+ function isStarknetChain(chain) {
1423
+ return chain.ecosystem === "starknet";
1424
+ }
1425
+ function isChainId(value) {
1426
+ return BY_ID.has(value);
1427
+ }
1428
+ function getChain(id) {
1429
+ const chain = BY_ID.get(id);
1430
+ if (!chain) throw new UnknownChainError(`id="${id}"`);
1431
+ return chain;
1432
+ }
1433
+ function chainsByNetwork(network) {
1434
+ return ALL.filter((c) => c.network === network);
1435
+ }
1436
+ function chainByEvmChainId(evmChainId) {
1437
+ const chain = BY_EVM_CHAIN_ID.get(evmChainId);
1438
+ if (!chain) throw new UnknownChainError(`evmChainId=${evmChainId}`);
1439
+ return chain;
1440
+ }
1441
+ function tryChainByEvmChainId(evmChainId) {
1442
+ return BY_EVM_CHAIN_ID.get(evmChainId);
1443
+ }
1444
+ function chainByDomain(domain, network) {
1445
+ const chain = BY_DOMAIN_AND_NETWORK.get(`${domain}:${network}`);
1446
+ if (!chain) {
1447
+ throw new UnknownChainError(`domain=${domain} network=${network}`);
1448
+ }
1449
+ return chain;
1450
+ }
1451
+ function explorerTxUrl(chain, txHash) {
1452
+ return `${chain.explorerUrl}/tx/${txHash}${chain.explorerQuery ?? ""}`;
1453
+ }
1454
+ function explorerAddressUrl(chain, address) {
1455
+ return `${chain.explorerUrl}/${addressPath(chain, address)}/${address}${chain.explorerQuery ?? ""}`;
1456
+ }
1457
+ function addressPath(chain, address) {
1458
+ switch (chain.ecosystem) {
1459
+ case "starknet":
1460
+ return "contract";
1461
+ case "stellar":
1462
+ return address.startsWith("C") ? "contract" : "account";
1463
+ default:
1464
+ return "address";
1465
+ }
1466
+ }
1467
+
1468
+ // src/chains/attestation.ts
1469
+ var s = (min, max = min) => ({ min, max });
1470
+ var L1_FINALITY = s(900, 1140);
1471
+ var BY_DOMAIN = {
1472
+ 0: { fast: s(20), standard: L1_FINALITY },
1473
+ 1: { standard: s(8) },
1474
+ 2: { fast: s(8), standard: L1_FINALITY },
1475
+ 3: { fast: s(8), standard: L1_FINALITY },
1476
+ 5: { fast: s(8), standard: s(25) },
1477
+ 6: { fast: s(8), standard: L1_FINALITY },
1478
+ 7: { standard: s(8) },
1479
+ 10: { fast: s(8), standard: L1_FINALITY },
1480
+ 11: { fast: s(8), standard: s(21600, 115200) },
1481
+ 12: { fast: s(8), standard: L1_FINALITY },
1482
+ 13: { standard: s(8) },
1483
+ 14: { fast: s(8), standard: L1_FINALITY },
1484
+ 15: { standard: s(5) },
1485
+ 16: { standard: s(5) },
1486
+ 18: { standard: s(10) },
1487
+ 19: { standard: s(5) },
1488
+ 21: { fast: s(8), standard: s(1800) },
1489
+ 22: { fast: s(8), standard: L1_FINALITY },
1490
+ 25: { fast: s(20), standard: s(7200, 14400) },
1491
+ 26: { standard: s(0.5) },
1492
+ 27: { standard: s(5) },
1493
+ 28: { fast: s(8), standard: s(960, 1260) },
1494
+ 29: { standard: s(0.65) },
1495
+ 30: { fast: s(8), standard: s(1200, 1800) },
1496
+ 31: { standard: s(7) },
1497
+ 32: { standard: s(0.5) },
1498
+ 33: { standard: s(1) },
1499
+ 37: { fast: s(8), standard: L1_FINALITY }
1500
+ };
1501
+ function attestationSeconds(chain, speed) {
1502
+ const times = BY_DOMAIN[chain.cctpDomain]?.[speed];
1503
+ if (!times) {
1504
+ throw new ProtocolError(
1505
+ "no_route",
1506
+ `No ${speed} attestation time for ${chain.label}.`
1507
+ );
1508
+ }
1509
+ return times;
1510
+ }
1511
+
1512
+ export { Arbitrum, ArbitrumSepolia, Arc, ArcTestnet, Avalanche, AvalancheFuji, Base, BaseSepolia, CCTP_FORWARDER_STELLAR_MAINNET, CCTP_FORWARDER_STELLAR_TESTNET, CCTP_USDC_DECIMALS, CHAINS, Codex, CodexTestnet, Cronos, CronosTestnet, EVM_MAINNET_CHAINS, EVM_TESTNET_CHAINS, Edge, EdgeTestnet, Ethereum, EthereumSepolia, HyperEVM, HyperEVMTestnet, Injective, InjectiveTestnet, Ink, InkTestnet, Linea, LineaSepolia, MESSAGE_TRANSMITTER_STELLAR_MAINNET, MESSAGE_TRANSMITTER_STELLAR_TESTNET, MESSAGE_TRANSMITTER_V2_EVM_MAINNET, MESSAGE_TRANSMITTER_V2_EVM_TESTNET, MESSAGE_TRANSMITTER_V2_SOLANA, MESSAGE_TRANSMITTER_V2_STARKNET_MAINNET, MESSAGE_TRANSMITTER_V2_STARKNET_SEPOLIA, Monad, MonadTestnet, Morph, MorphTestnet, Optimism, OptimismSepolia, Pharos, PharosTestnet, Plasma, PlasmaTestnet, Plume, PlumeTestnet, Polygon, PolygonAmoyTestnet, SOLANA_CCTP_DOMAIN, STARKNET_CCTP_DOMAIN, STARKNET_CHAIN_ID_MAINNET, STARKNET_CHAIN_ID_SEPOLIA, STELLAR_CCTP_DOMAIN, STELLAR_NETWORK_PASSPHRASE_MAINNET, STELLAR_NETWORK_PASSPHRASE_TESTNET, STELLAR_USDC_DECIMALS, Sei, SeiTestnet, Solana, SolanaDevnet, Sonic, SonicTestnet, Starknet, StarknetSepolia, Stellar, StellarTestnet, TOKEN_MESSENGER_MINTER_STELLAR_MAINNET, TOKEN_MESSENGER_MINTER_STELLAR_TESTNET, TOKEN_MESSENGER_MINTER_V2_SOLANA, TOKEN_MESSENGER_MINTER_V2_STARKNET_MAINNET, TOKEN_MESSENGER_MINTER_V2_STARKNET_SEPOLIA, TOKEN_MESSENGER_V2_EVM_MAINNET, TOKEN_MESSENGER_V2_EVM_TESTNET, TOKEN_MESSENGER_WITH_FEES_EVM_MAINNET, TOKEN_MESSENGER_WITH_FEES_EVM_TESTNET, USDC_ISSUER_STELLAR_MAINNET, USDC_ISSUER_STELLAR_TESTNET, USDC_SPL_DEVNET, USDC_SPL_MAINNET, USDC_STARKNET_MAINNET, USDC_STARKNET_SEPOLIA, Unichain, UnichainSepolia, UnknownChainError, WorldChain, WorldChainSepolia, XDC, XDCApothem, XLayer, XLayerTestnet, attestationSeconds, chainByDomain, chainByEvmChainId, chainsByNetwork, explorerAddressUrl, explorerTxUrl, getChain, isChainId, isEvmChain, isSolanaChain, isStarknetChain, isStellarChain, tryChainByEvmChainId };
1513
+ //# sourceMappingURL=chains.js.map
1514
+ //# sourceMappingURL=chains.js.map