@circle-fin/app-kit 1.0.1 → 1.2.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 ADDED
@@ -0,0 +1,43 @@
1
+ # @circle-fin/app-kit
2
+
3
+ ## 1.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Enable forwarder destination support for Codex, Plume, and XDC chains on both mainnet and testnet
8
+
9
+ ### Patch Changes
10
+
11
+ - Update HyperEVM explorer URLs to use the official Hyperliquid explorer
12
+
13
+ ## 1.1.0
14
+
15
+ ### Minor Changes
16
+
17
+ - Add support for bridging USDC to and from Edge and Morph networks. Both mainnet and testnet chains are now available as source and destination options in Bridge Kit.
18
+
19
+ ## 1.0.1
20
+
21
+ ### Patch Changes
22
+
23
+ - Fix package installation failure where `npm install @circle-fin/app-kit` would error with unresolvable dependencies.
24
+
25
+ ## 1.0.0
26
+
27
+ ### Major Changes
28
+
29
+ - Introducing AppKit — a unified SDK for stablecoin operations combining bridging, swapping, and token transfers in one interface.
30
+ - `kit.bridge()` — cross-chain USDC transfers via CCTP v2 across 35+ supported chains
31
+ - `kit.swap()` — same-chain token swaps with smart routing across DEX liquidity sources
32
+ - `kit.send()` — same-chain transfers for USDC, USDT, native tokens, and any ERC-20/SPL token by contract address
33
+
34
+ Each operation has a corresponding estimate method (`estimateBridge`, `estimateSwap`, `estimateSend`) to preview fees and output amounts before executing.
35
+
36
+ Additional features:
37
+ - Unified developer fee configuration across all operations
38
+ - Action event system for monitoring operation lifecycle
39
+ - Tree-shakeable subpath imports (`/bridge`, `/swap`, `/chains`, `/context`)
40
+ - Full error hierarchy with type guards (`isRetryableError`, `isBalanceError`, `isRpcError`, etc.)
41
+ - Chain definitions available via `@circle-fin/app-kit/chains`
42
+
43
+ Configure your adapters once, then use bridge, swap, and send through a single API.
package/README.md CHANGED
@@ -63,9 +63,9 @@ The App Kit provides a **unified interface** for both cross-chain transfers and
63
63
  - **🔧 Bring your own infrastructure**: Seamlessly integrate with your existing setup when needed
64
64
  - **🔒 Production-ready security**: Leverages Circle's CCTPv2 for bridging and trusted swap providers
65
65
  - **🚀 Developer experience**: Complete TypeScript support, comprehensive validation, and instant connectivity
66
- - **🌍 Multi-chain support**: Bridge across **35 chains** with **578 total bridge routes** through Circle's CCTPv2
67
- - **Mainnet (17 chains)**: Arbitrum, Avalanche, Base, Codex, Ethereum, HyperEVM, Ink, Linea, OP Mainnet, Plume, Polygon PoS, Sei, Solana, Sonic, Unichain, World Chain, XDC
68
- - **Testnet (18 chains)**: Arc Testnet, Arbitrum Sepolia, Avalanche Fuji, Base Sepolia, Codex Testnet, Ethereum Sepolia, HyperEVM Testnet, Ink Testnet, Linea Sepolia, OP Sepolia, Plume Testnet, Polygon PoS Amoy, Sei Testnet, Solana Devnet, Sonic Testnet, Unichain Sepolia, World Chain Sepolia, XDC Apothem
66
+ - **🌍 Multi-chain support**: Bridge across **41 chains** with **800 total bridge routes** through Circle's CCTPv2
67
+ - **Mainnet (20 chains)**: Arbitrum, Avalanche, Base, Codex, Edge, Ethereum, HyperEVM, Ink, Linea, Monad, Morph, OP Mainnet, Plume, Polygon PoS, Sei, Solana, Sonic, Unichain, World Chain, XDC
68
+ - **Testnet (21 chains)**: Arc Testnet, Arbitrum Sepolia, Avalanche Fuji, Base Sepolia, Codex Testnet, Edge Testnet, Ethereum Sepolia, HyperEVM Testnet, Ink Testnet, Linea Sepolia, Monad Testnet, Morph Testnet, OP Sepolia, Plume Testnet, Polygon PoS Amoy, Sei Testnet, Solana Devnet, Sonic Testnet, Unichain Sepolia, World Chain Sepolia, XDC Apothem
69
69
  - **🔄 Swap support**: Same-chain token swaps powered by Circle's Stablecoin Service
70
70
  - **🎯 Flexible adapters**: Supporting EVM (Viem, Ethers) and Solana (@solana/web3)
71
71
  - **📡 Real-time event monitoring**: Track progress throughout the operation lifecycle
@@ -130,9 +130,9 @@ npm install @circle-fin/adapter-viem-v2 viem
130
130
  yarn add @circle-fin/adapter-viem-v2 viem
131
131
 
132
132
  # For EVM chains using Ethers.js
133
- npm install @circle-fin/adapter-ethers-v6
133
+ npm install @circle-fin/adapter-ethers-v6 ethers
134
134
  # or
135
- yarn add @circle-fin/adapter-ethers-v6
135
+ yarn add @circle-fin/adapter-ethers-v6 ethers
136
136
 
137
137
  # For Solana
138
138
  npm install @circle-fin/adapter-solana @solana/web3.js @solana/spl-token
@@ -155,7 +155,7 @@ const result = await kit.bridge({
155
155
  })
156
156
  ```
157
157
 
158
- All 35 CCTPv2-supported chains are available for import.
158
+ All 41 CCTPv2-supported chains are available for import.
159
159
 
160
160
  ## Quick Start
161
161
 
@@ -194,6 +194,9 @@ const result = await kit.swap({
194
194
  tokenIn: 'USDC',
195
195
  tokenOut: 'USDT',
196
196
  amountIn: '100.0',
197
+ config: {
198
+ kitKey: process.env.KIT_KEY,
199
+ },
197
200
  })
198
201
 
199
202
  // Swap DAI to USDC (18 decimals handled automatically)
@@ -202,6 +205,9 @@ const daiSwap = await kit.swap({
202
205
  tokenIn: 'DAI',
203
206
  tokenOut: 'USDC',
204
207
  amountIn: '500.0',
208
+ config: {
209
+ kitKey: process.env.KIT_KEY,
210
+ },
205
211
  })
206
212
 
207
213
  // Swap native ETH to stablecoin
@@ -210,6 +216,9 @@ const nativeSwap = await kit.swap({
210
216
  tokenIn: 'NATIVE', // ETH on Ethereum
211
217
  tokenOut: 'USDC',
212
218
  amountIn: '1.5',
219
+ config: {
220
+ kitKey: process.env.KIT_KEY,
221
+ },
213
222
  })
214
223
  ```
215
224
 
@@ -231,6 +240,9 @@ const swapEstimate = await kit.estimateSwap({
231
240
  tokenIn: 'USDC',
232
241
  tokenOut: 'USDT',
233
242
  amountIn: '100.0',
243
+ config: {
244
+ kitKey: process.env.KIT_KEY,
245
+ },
234
246
  })
235
247
 
236
248
  console.log('Bridge fees:', bridgeEstimate.fees)
@@ -260,7 +272,7 @@ const allChains = kit.getSupportedChains()
260
272
 
261
273
  ### Send Parameters
262
274
 
263
- The `send()` method provides a unified interface for transferring tokens. It automatically determines whether to use bridging or swapping based on the source and destination chains:
275
+ The `send()` method transfers tokens on the same chain from the source adapter to a recipient address or adapter:
264
276
 
265
277
  ```typescript
266
278
  interface SendParams {
@@ -361,6 +373,9 @@ await kit.swap({
361
373
  tokenIn: 'EURC',
362
374
  tokenOut: 'USDC',
363
375
  amountIn: '100.0',
376
+ config: {
377
+ kitKey: process.env.KIT_KEY,
378
+ },
364
379
  })
365
380
 
366
381
  // Swap DAI (18 decimals) to USDT
@@ -369,6 +384,9 @@ await kit.swap({
369
384
  tokenIn: 'DAI',
370
385
  tokenOut: 'USDT',
371
386
  amountIn: '500.0', // SDK automatically handles 18-decimal precision
387
+ config: {
388
+ kitKey: process.env.KIT_KEY,
389
+ },
372
390
  })
373
391
 
374
392
  // Swap native token to stablecoin
@@ -377,6 +395,9 @@ await kit.swap({
377
395
  tokenIn: 'NATIVE', // ETH on Ethereum
378
396
  tokenOut: 'USDC',
379
397
  amountIn: '2.5',
398
+ config: {
399
+ kitKey: process.env.KIT_KEY,
400
+ },
380
401
  })
381
402
  ```
382
403
 
@@ -423,6 +444,7 @@ await kit.swap({
423
444
  tokenOut: 'USDT',
424
445
  amountIn: '1000',
425
446
  config: {
447
+ kitKey: process.env.KIT_KEY,
426
448
  customFee: {
427
449
  value: '10',
428
450
  recipientAddress: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0',
@@ -530,6 +552,9 @@ const result = await kit.swap({
530
552
  tokenIn: 'USDC',
531
553
  tokenOut: 'USDT',
532
554
  amountIn: '100.0',
555
+ config: {
556
+ kitKey: process.env.KIT_KEY,
557
+ },
533
558
  })
534
559
 
535
560
  console.log('Swap result:', result)
@@ -538,7 +563,7 @@ console.log('Swap result:', result)
538
563
  ### Send to Different Address
539
564
 
540
565
  ```typescript
541
- // Send to a different address (automatically chooses bridge or swap)
566
+ // Send to a different address on the same chain
542
567
  const result = await kit.send({
543
568
  from: { adapter, chain: 'Ethereum' },
544
569
  to: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
@@ -576,7 +601,7 @@ await kit.bridge({
576
601
 
577
602
  ### Core Methods
578
603
 
579
- - `kit.send(params)` - Unified interface for transfers (auto-routes to bridge or swap)
604
+ - `kit.send(params)` - Send tokens to a recipient on the same chain
580
605
  - `kit.bridge(params)` - Execute cross-chain bridge operation
581
606
  - `kit.swap(params)` - Execute same-chain swap operation
582
607
  - `kit.estimateBridge(params)` - Get cost estimates for bridging
package/chains.cjs CHANGED
@@ -52,6 +52,8 @@ var Blockchain;
52
52
  Blockchain["Celo_Alfajores_Testnet"] = "Celo_Alfajores_Testnet";
53
53
  Blockchain["Codex"] = "Codex";
54
54
  Blockchain["Codex_Testnet"] = "Codex_Testnet";
55
+ Blockchain["Edge"] = "Edge";
56
+ Blockchain["Edge_Testnet"] = "Edge_Testnet";
55
57
  Blockchain["Ethereum"] = "Ethereum";
56
58
  Blockchain["Ethereum_Sepolia"] = "Ethereum_Sepolia";
57
59
  Blockchain["Hedera"] = "Hedera";
@@ -64,6 +66,8 @@ var Blockchain;
64
66
  Blockchain["Linea_Sepolia"] = "Linea_Sepolia";
65
67
  Blockchain["Monad"] = "Monad";
66
68
  Blockchain["Monad_Testnet"] = "Monad_Testnet";
69
+ Blockchain["Morph"] = "Morph";
70
+ Blockchain["Morph_Testnet"] = "Morph_Testnet";
67
71
  Blockchain["NEAR"] = "NEAR";
68
72
  Blockchain["NEAR_Testnet"] = "NEAR_Testnet";
69
73
  Blockchain["Noble"] = "Noble";
@@ -267,11 +271,13 @@ var BridgeChain;
267
271
  BridgeChain["Avalanche"] = "Avalanche";
268
272
  BridgeChain["Base"] = "Base";
269
273
  BridgeChain["Codex"] = "Codex";
274
+ BridgeChain["Edge"] = "Edge";
270
275
  BridgeChain["Ethereum"] = "Ethereum";
271
276
  BridgeChain["HyperEVM"] = "HyperEVM";
272
277
  BridgeChain["Ink"] = "Ink";
273
278
  BridgeChain["Linea"] = "Linea";
274
279
  BridgeChain["Monad"] = "Monad";
280
+ BridgeChain["Morph"] = "Morph";
275
281
  BridgeChain["Optimism"] = "Optimism";
276
282
  BridgeChain["Plume"] = "Plume";
277
283
  BridgeChain["Polygon"] = "Polygon";
@@ -287,11 +293,13 @@ var BridgeChain;
287
293
  BridgeChain["Avalanche_Fuji"] = "Avalanche_Fuji";
288
294
  BridgeChain["Base_Sepolia"] = "Base_Sepolia";
289
295
  BridgeChain["Codex_Testnet"] = "Codex_Testnet";
296
+ BridgeChain["Edge_Testnet"] = "Edge_Testnet";
290
297
  BridgeChain["Ethereum_Sepolia"] = "Ethereum_Sepolia";
291
298
  BridgeChain["HyperEVM_Testnet"] = "HyperEVM_Testnet";
292
299
  BridgeChain["Ink_Testnet"] = "Ink_Testnet";
293
300
  BridgeChain["Linea_Sepolia"] = "Linea_Sepolia";
294
301
  BridgeChain["Monad_Testnet"] = "Monad_Testnet";
302
+ BridgeChain["Morph_Testnet"] = "Morph_Testnet";
295
303
  BridgeChain["Optimism_Sepolia"] = "Optimism_Sepolia";
296
304
  BridgeChain["Plume_Testnet"] = "Plume_Testnet";
297
305
  BridgeChain["Polygon_Amoy_Testnet"] = "Polygon_Amoy_Testnet";
@@ -1037,7 +1045,7 @@ const Codex = defineChain({
1037
1045
  },
1038
1046
  forwarderSupported: {
1039
1047
  source: true,
1040
- destination: false,
1048
+ destination: true,
1041
1049
  },
1042
1050
  },
1043
1051
  kitContracts: {
@@ -1080,7 +1088,95 @@ const CodexTestnet = defineChain({
1080
1088
  },
1081
1089
  forwarderSupported: {
1082
1090
  source: true,
1083
- destination: false,
1091
+ destination: true,
1092
+ },
1093
+ },
1094
+ kitContracts: {
1095
+ bridge: BRIDGE_CONTRACT_EVM_TESTNET,
1096
+ },
1097
+ });
1098
+
1099
+ /**
1100
+ * Edge Mainnet chain definition
1101
+ * @remarks
1102
+ * This represents the official production network for the Edge blockchain.
1103
+ * Edge is an EVM-compatible blockchain.
1104
+ */
1105
+ defineChain({
1106
+ type: 'evm',
1107
+ chain: Blockchain.Edge,
1108
+ name: 'Edge',
1109
+ title: 'Edge Mainnet',
1110
+ nativeCurrency: {
1111
+ name: 'Ether',
1112
+ symbol: 'ETH',
1113
+ decimals: 18,
1114
+ },
1115
+ chainId: 3343,
1116
+ isTestnet: false,
1117
+ explorerUrl: 'https://pro.edgex.exchange/en-US/explorer/tx/{hash}',
1118
+ rpcEndpoints: ['https://edge-mainnet.g.alchemy.com/public'],
1119
+ eurcAddress: null,
1120
+ usdcAddress: '0x98d2919b9A214E6Fa5384AC81E6864bA686Ad74c',
1121
+ usdtAddress: null,
1122
+ cctp: {
1123
+ domain: 28,
1124
+ contracts: {
1125
+ v2: {
1126
+ type: 'split',
1127
+ tokenMessenger: '0x98706A006bc632Df31CAdFCBD43F38887ce2ca5c',
1128
+ messageTransmitter: '0x5b61381Fc9e58E70EfC13a4A97516997019198ee',
1129
+ confirmations: 65,
1130
+ fastConfirmations: 1,
1131
+ },
1132
+ },
1133
+ forwarderSupported: {
1134
+ source: true,
1135
+ destination: true,
1136
+ },
1137
+ },
1138
+ kitContracts: {
1139
+ bridge: '0x6D1AaE1c34Aeb582022916a67f2A655C6f4eDFF2', //Unique bridge address as CCTP address for Edge is also unique
1140
+ },
1141
+ });
1142
+
1143
+ /**
1144
+ * Edge Testnet chain definition
1145
+ * @remarks
1146
+ * This represents the official test network for the Edge blockchain.
1147
+ * Edge is an EVM-compatible blockchain.
1148
+ */
1149
+ defineChain({
1150
+ type: 'evm',
1151
+ chain: Blockchain.Edge_Testnet,
1152
+ name: 'Edge Testnet',
1153
+ title: 'Edge Testnet',
1154
+ nativeCurrency: {
1155
+ name: 'Ether',
1156
+ symbol: 'ETH',
1157
+ decimals: 18,
1158
+ },
1159
+ chainId: 33431,
1160
+ isTestnet: true,
1161
+ explorerUrl: 'https://edge-testnet.explorer.alchemy.com/tx/{hash}',
1162
+ rpcEndpoints: ['https://edge-testnet.g.alchemy.com/public'],
1163
+ eurcAddress: null,
1164
+ usdcAddress: '0x2d9F7CAD728051AA35Ecdc472a14cf8cDF5CFD6B',
1165
+ usdtAddress: null,
1166
+ cctp: {
1167
+ domain: 28,
1168
+ contracts: {
1169
+ v2: {
1170
+ type: 'split',
1171
+ tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
1172
+ messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
1173
+ confirmations: 65,
1174
+ fastConfirmations: 1,
1175
+ },
1176
+ },
1177
+ forwarderSupported: {
1178
+ source: true,
1179
+ destination: true,
1084
1180
  },
1085
1181
  },
1086
1182
  kitContracts: {
@@ -1254,7 +1350,7 @@ const HyperEVM = defineChain({
1254
1350
  },
1255
1351
  chainId: 999,
1256
1352
  isTestnet: false,
1257
- explorerUrl: 'https://hyperevmscan.io/tx/{hash}',
1353
+ explorerUrl: 'https://app.hyperliquid.xyz/explorer/tx/{hash}',
1258
1354
  rpcEndpoints: ['https://rpc.hyperliquid.xyz/evm'],
1259
1355
  eurcAddress: null,
1260
1356
  usdcAddress: '0xb88339CB7199b77E23DB6E890353E22632Ba630f',
@@ -1299,7 +1395,7 @@ const HyperEVMTestnet = defineChain({
1299
1395
  },
1300
1396
  chainId: 998,
1301
1397
  isTestnet: true,
1302
- explorerUrl: 'https://testnet.hyperliquid.xyz/explorer/tx/{hash}',
1398
+ explorerUrl: 'https://app.hyperliquid-testnet.xyz/explorer/tx/{hash}',
1303
1399
  rpcEndpoints: ['https://rpc.hyperliquid-testnet.xyz/evm'],
1304
1400
  eurcAddress: null,
1305
1401
  usdcAddress: '0x2B3370eE501B4a559b57D449569354196457D8Ab',
@@ -1599,6 +1695,94 @@ defineChain({
1599
1695
  },
1600
1696
  });
1601
1697
 
1698
+ /**
1699
+ * Morph Mainnet chain definition
1700
+ * @remarks
1701
+ * This represents the official production network for the Morph blockchain.
1702
+ * Morph is an EVM-compatible Layer-2 blockchain built on the OP Stack.
1703
+ */
1704
+ defineChain({
1705
+ type: 'evm',
1706
+ chain: Blockchain.Morph,
1707
+ name: 'Morph',
1708
+ title: 'Morph Mainnet',
1709
+ nativeCurrency: {
1710
+ name: 'Ether',
1711
+ symbol: 'ETH',
1712
+ decimals: 18,
1713
+ },
1714
+ chainId: 2818,
1715
+ isTestnet: false,
1716
+ explorerUrl: 'https://explorer.morph.network/tx/{hash}',
1717
+ rpcEndpoints: ['https://rpc.morphl2.io'],
1718
+ eurcAddress: null,
1719
+ usdcAddress: '0xCfb1186F4e93D60E60a8bDd997427D1F33bc372B',
1720
+ usdtAddress: null,
1721
+ cctp: {
1722
+ domain: 30,
1723
+ contracts: {
1724
+ v2: {
1725
+ type: 'split',
1726
+ tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
1727
+ messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
1728
+ confirmations: 64,
1729
+ fastConfirmations: 1,
1730
+ },
1731
+ },
1732
+ forwarderSupported: {
1733
+ source: false,
1734
+ destination: false,
1735
+ },
1736
+ },
1737
+ kitContracts: {
1738
+ bridge: BRIDGE_CONTRACT_EVM_MAINNET,
1739
+ },
1740
+ });
1741
+
1742
+ /**
1743
+ * Morph Hoodi Testnet chain definition
1744
+ * @remarks
1745
+ * This represents the official test network for the Morph blockchain.
1746
+ * Morph is an EVM-compatible Layer-2 blockchain built on the OP Stack.
1747
+ */
1748
+ defineChain({
1749
+ type: 'evm',
1750
+ chain: Blockchain.Morph_Testnet,
1751
+ name: 'Morph Hoodi',
1752
+ title: 'Morph Hoodi Testnet',
1753
+ nativeCurrency: {
1754
+ name: 'Ether',
1755
+ symbol: 'ETH',
1756
+ decimals: 18,
1757
+ },
1758
+ chainId: 2910,
1759
+ isTestnet: true,
1760
+ explorerUrl: 'https://explorer-hoodi.morphl2.io/tx/{hash}',
1761
+ rpcEndpoints: ['https://rpc-hoodi.morphl2.io'],
1762
+ eurcAddress: null,
1763
+ usdcAddress: '0x7433b41C6c5e1d58D4Da99483609520255ab661B',
1764
+ usdtAddress: null,
1765
+ cctp: {
1766
+ domain: 30,
1767
+ contracts: {
1768
+ v2: {
1769
+ type: 'split',
1770
+ tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
1771
+ messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
1772
+ confirmations: 64,
1773
+ fastConfirmations: 1,
1774
+ },
1775
+ },
1776
+ forwarderSupported: {
1777
+ source: false,
1778
+ destination: false,
1779
+ },
1780
+ },
1781
+ kitContracts: {
1782
+ bridge: BRIDGE_CONTRACT_EVM_TESTNET,
1783
+ },
1784
+ });
1785
+
1602
1786
  /**
1603
1787
  * NEAR Protocol Mainnet chain definition
1604
1788
  * @remarks
@@ -1857,7 +2041,7 @@ const Plume = defineChain({
1857
2041
  },
1858
2042
  forwarderSupported: {
1859
2043
  source: true,
1860
- destination: false,
2044
+ destination: true,
1861
2045
  },
1862
2046
  },
1863
2047
  kitContracts: {
@@ -1902,7 +2086,7 @@ const PlumeTestnet = defineChain({
1902
2086
  },
1903
2087
  forwarderSupported: {
1904
2088
  source: true,
1905
- destination: false,
2089
+ destination: true,
1906
2090
  },
1907
2091
  },
1908
2092
  kitContracts: {
@@ -2680,7 +2864,7 @@ const XDC = defineChain({
2680
2864
  },
2681
2865
  forwarderSupported: {
2682
2866
  source: true,
2683
- destination: false,
2867
+ destination: true,
2684
2868
  },
2685
2869
  },
2686
2870
  kitContracts: {
@@ -2724,7 +2908,7 @@ const XDCApothem = defineChain({
2724
2908
  },
2725
2909
  forwarderSupported: {
2726
2910
  source: true,
2727
- destination: false,
2911
+ destination: true,
2728
2912
  },
2729
2913
  },
2730
2914
  kitContracts: {
package/chains.d.ts CHANGED
@@ -44,6 +44,8 @@ declare enum Blockchain {
44
44
  Celo_Alfajores_Testnet = "Celo_Alfajores_Testnet",
45
45
  Codex = "Codex",
46
46
  Codex_Testnet = "Codex_Testnet",
47
+ Edge = "Edge",
48
+ Edge_Testnet = "Edge_Testnet",
47
49
  Ethereum = "Ethereum",
48
50
  Ethereum_Sepolia = "Ethereum_Sepolia",
49
51
  Hedera = "Hedera",
@@ -56,6 +58,8 @@ declare enum Blockchain {
56
58
  Linea_Sepolia = "Linea_Sepolia",
57
59
  Monad = "Monad",
58
60
  Monad_Testnet = "Monad_Testnet",
61
+ Morph = "Morph",
62
+ Morph_Testnet = "Morph_Testnet",
59
63
  NEAR = "NEAR",
60
64
  NEAR_Testnet = "NEAR_Testnet",
61
65
  Noble = "Noble",
@@ -467,7 +471,7 @@ declare const Codex: {
467
471
  };
468
472
  readonly forwarderSupported: {
469
473
  readonly source: true;
470
- readonly destination: false;
474
+ readonly destination: true;
471
475
  };
472
476
  };
473
477
  readonly kitContracts: {
@@ -510,7 +514,7 @@ declare const CodexTestnet: {
510
514
  };
511
515
  readonly forwarderSupported: {
512
516
  readonly source: true;
513
- readonly destination: false;
517
+ readonly destination: true;
514
518
  };
515
519
  };
516
520
  readonly kitContracts: {
@@ -636,7 +640,7 @@ declare const HyperEVM: {
636
640
  };
637
641
  readonly chainId: 999;
638
642
  readonly isTestnet: false;
639
- readonly explorerUrl: "https://hyperevmscan.io/tx/{hash}";
643
+ readonly explorerUrl: "https://app.hyperliquid.xyz/explorer/tx/{hash}";
640
644
  readonly rpcEndpoints: readonly ["https://rpc.hyperliquid.xyz/evm"];
641
645
  readonly eurcAddress: null;
642
646
  readonly usdcAddress: "0xb88339CB7199b77E23DB6E890353E22632Ba630f";
@@ -681,7 +685,7 @@ declare const HyperEVMTestnet: {
681
685
  };
682
686
  readonly chainId: 998;
683
687
  readonly isTestnet: true;
684
- readonly explorerUrl: "https://testnet.hyperliquid.xyz/explorer/tx/{hash}";
688
+ readonly explorerUrl: "https://app.hyperliquid-testnet.xyz/explorer/tx/{hash}";
685
689
  readonly rpcEndpoints: readonly ["https://rpc.hyperliquid-testnet.xyz/evm"];
686
690
  readonly eurcAddress: null;
687
691
  readonly usdcAddress: "0x2B3370eE501B4a559b57D449569354196457D8Ab";
@@ -1020,7 +1024,7 @@ declare const Plume: {
1020
1024
  };
1021
1025
  readonly forwarderSupported: {
1022
1026
  readonly source: true;
1023
- readonly destination: false;
1027
+ readonly destination: true;
1024
1028
  };
1025
1029
  };
1026
1030
  readonly kitContracts: {
@@ -1065,7 +1069,7 @@ declare const PlumeTestnet: {
1065
1069
  };
1066
1070
  readonly forwarderSupported: {
1067
1071
  readonly source: true;
1068
- readonly destination: false;
1072
+ readonly destination: true;
1069
1073
  };
1070
1074
  };
1071
1075
  readonly kitContracts: {
@@ -1668,7 +1672,7 @@ declare const XDC: {
1668
1672
  };
1669
1673
  readonly forwarderSupported: {
1670
1674
  readonly source: true;
1671
- readonly destination: false;
1675
+ readonly destination: true;
1672
1676
  };
1673
1677
  };
1674
1678
  readonly kitContracts: {
@@ -1712,7 +1716,7 @@ declare const XDCApothem: {
1712
1716
  };
1713
1717
  readonly forwarderSupported: {
1714
1718
  readonly source: true;
1715
- readonly destination: false;
1719
+ readonly destination: true;
1716
1720
  };
1717
1721
  };
1718
1722
  readonly kitContracts: {