@circle-fin/app-kit 1.4.1 → 1.5.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 +19 -0
- package/README.md +3 -3
- package/chains.cjs +198 -2
- package/chains.d.ts +6 -2
- package/chains.mjs +198 -2
- package/index.cjs +1040 -221
- package/index.d.ts +326 -2
- package/index.mjs +1040 -221
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# @circle-fin/app-kit
|
|
2
2
|
|
|
3
|
+
## 1.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Add support for bridging USDC to and from Injective (mainnet and testnet) via CCTP v2. Both networks are now available as source and destination options in Bridge Kit.
|
|
8
|
+
- Add unhandled error telemetry reporting.
|
|
9
|
+
- All kits now report unhandled errors to Circle's telemetry endpoint to aid reliability monitoring. Set `disableErrorReporting: true` in the kit config (or `AppKit` config) to opt out.
|
|
10
|
+
- The following fields are included in each error report: error event type, SDK name and version, and where available: source chain name, destination chain name, and token symbol. Error messages, stack traces, wallet addresses, and transaction data are never sent.
|
|
11
|
+
|
|
12
|
+
## 1.4.2
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- Fix `kit.send()` and `kit.estimateSend()` when sending from a Circle Wallet. You can now pass the wallet's address in `from.address` and the transfer will go through.
|
|
17
|
+
- Add support for bridging USDC to and from Pharos (mainnet and testnet) via CCTP v2.
|
|
18
|
+
- You can now reference cirBTC by its symbol when looking up tokens on Arc Testnet (e.g. when resolving swap inputs/outputs).
|
|
19
|
+
- Bridge errors now expose a machine-readable `errorCategory` so apps can distinguish user rejections, wallet capability errors, and offchain vs onchain failures without string-matching.
|
|
20
|
+
- The block explorer URLs returned in the Sei (mainnet and testnet) chain definitions now point to the current explorers. If you derive transaction or address links from `chain.blockExplorers`, your links will now resolve correctly.
|
|
21
|
+
|
|
3
22
|
## 1.4.1
|
|
4
23
|
|
|
5
24
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -64,9 +64,9 @@ The App Kit provides a **unified interface** for cross-chain transfers, same-cha
|
|
|
64
64
|
- **🔧 Bring your own infrastructure**: Seamlessly integrate with your existing setup when needed
|
|
65
65
|
- **🔒 Production-ready security**: Leverages Circle's CCTPv2 for bridging and trusted swap providers
|
|
66
66
|
- **🚀 Developer experience**: Complete TypeScript support, comprehensive validation, and instant connectivity
|
|
67
|
-
- **🌍 Multi-chain support**: Bridge across **
|
|
68
|
-
- **Mainnet (
|
|
69
|
-
- **Testnet (
|
|
67
|
+
- **🌍 Multi-chain support**: Bridge across **45 chains** with **968 total bridge routes** through Circle's CCTPv2
|
|
68
|
+
- **Mainnet (22 chains)**: Arbitrum, Avalanche, Base, Codex, Edge, Ethereum, HyperEVM, Injective, Ink, Linea, Monad, Morph, OP Mainnet, Pharos, Plume, Polygon PoS, Sei, Solana, Sonic, Unichain, World Chain, XDC
|
|
69
|
+
- **Testnet (23 chains)**: Arc Testnet, Arbitrum Sepolia, Avalanche Fuji, Base Sepolia, Codex Testnet, Edge Testnet, Ethereum Sepolia, HyperEVM Testnet, Injective Testnet, Ink Testnet, Linea Sepolia, Monad Testnet, Morph Testnet, OP Sepolia, Pharos Atlantic, Plume Testnet, Polygon PoS Amoy, Sei Testnet, Solana Devnet, Sonic Testnet, Unichain Sepolia, World Chain Sepolia, XDC Apothem
|
|
70
70
|
- **🔄 Swap support**: Same-chain token swaps powered by Circle's Stablecoin Service
|
|
71
71
|
- **🎯 Flexible adapters**: Supporting EVM (Viem, Ethers) and Solana (@solana/web3)
|
|
72
72
|
- **📡 Real-time event monitoring**: Track progress throughout the operation lifecycle
|
package/chains.cjs
CHANGED
|
@@ -60,6 +60,8 @@ var Blockchain;
|
|
|
60
60
|
Blockchain["Hedera_Testnet"] = "Hedera_Testnet";
|
|
61
61
|
Blockchain["HyperEVM"] = "HyperEVM";
|
|
62
62
|
Blockchain["HyperEVM_Testnet"] = "HyperEVM_Testnet";
|
|
63
|
+
Blockchain["Injective"] = "Injective";
|
|
64
|
+
Blockchain["Injective_Testnet"] = "Injective_Testnet";
|
|
63
65
|
Blockchain["Ink"] = "Ink";
|
|
64
66
|
Blockchain["Ink_Testnet"] = "Ink_Testnet";
|
|
65
67
|
Blockchain["Linea"] = "Linea";
|
|
@@ -74,6 +76,8 @@ var Blockchain;
|
|
|
74
76
|
Blockchain["Noble_Testnet"] = "Noble_Testnet";
|
|
75
77
|
Blockchain["Optimism"] = "Optimism";
|
|
76
78
|
Blockchain["Optimism_Sepolia"] = "Optimism_Sepolia";
|
|
79
|
+
Blockchain["Pharos"] = "Pharos";
|
|
80
|
+
Blockchain["Pharos_Testnet"] = "Pharos_Testnet";
|
|
77
81
|
Blockchain["Polkadot_Asset_Hub"] = "Polkadot_Asset_Hub";
|
|
78
82
|
Blockchain["Polkadot_Westmint"] = "Polkadot_Westmint";
|
|
79
83
|
Blockchain["Plume"] = "Plume";
|
|
@@ -277,11 +281,13 @@ var BridgeChain;
|
|
|
277
281
|
BridgeChain["Edge"] = "Edge";
|
|
278
282
|
BridgeChain["Ethereum"] = "Ethereum";
|
|
279
283
|
BridgeChain["HyperEVM"] = "HyperEVM";
|
|
284
|
+
BridgeChain["Injective"] = "Injective";
|
|
280
285
|
BridgeChain["Ink"] = "Ink";
|
|
281
286
|
BridgeChain["Linea"] = "Linea";
|
|
282
287
|
BridgeChain["Monad"] = "Monad";
|
|
283
288
|
BridgeChain["Morph"] = "Morph";
|
|
284
289
|
BridgeChain["Optimism"] = "Optimism";
|
|
290
|
+
BridgeChain["Pharos"] = "Pharos";
|
|
285
291
|
BridgeChain["Plume"] = "Plume";
|
|
286
292
|
BridgeChain["Polygon"] = "Polygon";
|
|
287
293
|
BridgeChain["Sei"] = "Sei";
|
|
@@ -299,11 +305,13 @@ var BridgeChain;
|
|
|
299
305
|
BridgeChain["Edge_Testnet"] = "Edge_Testnet";
|
|
300
306
|
BridgeChain["Ethereum_Sepolia"] = "Ethereum_Sepolia";
|
|
301
307
|
BridgeChain["HyperEVM_Testnet"] = "HyperEVM_Testnet";
|
|
308
|
+
BridgeChain["Injective_Testnet"] = "Injective_Testnet";
|
|
302
309
|
BridgeChain["Ink_Testnet"] = "Ink_Testnet";
|
|
303
310
|
BridgeChain["Linea_Sepolia"] = "Linea_Sepolia";
|
|
304
311
|
BridgeChain["Monad_Testnet"] = "Monad_Testnet";
|
|
305
312
|
BridgeChain["Morph_Testnet"] = "Morph_Testnet";
|
|
306
313
|
BridgeChain["Optimism_Sepolia"] = "Optimism_Sepolia";
|
|
314
|
+
BridgeChain["Pharos_Testnet"] = "Pharos_Testnet";
|
|
307
315
|
BridgeChain["Plume_Testnet"] = "Plume_Testnet";
|
|
308
316
|
BridgeChain["Polygon_Amoy_Testnet"] = "Polygon_Amoy_Testnet";
|
|
309
317
|
BridgeChain["Sei_Testnet"] = "Sei_Testnet";
|
|
@@ -649,6 +657,12 @@ const SWAP_TOKEN_REGISTRY = {
|
|
|
649
657
|
category: 'wrapped',
|
|
650
658
|
description: 'Wrapped Polygon',
|
|
651
659
|
},
|
|
660
|
+
CIRBTC: {
|
|
661
|
+
symbol: 'CIRBTC',
|
|
662
|
+
decimals: 8,
|
|
663
|
+
category: 'wrapped',
|
|
664
|
+
description: 'Circle Bitcoin',
|
|
665
|
+
},
|
|
652
666
|
};
|
|
653
667
|
/**
|
|
654
668
|
* Special NATIVE token constant for swap operations.
|
|
@@ -1711,6 +1725,98 @@ const HyperEVMTestnet = defineChain({
|
|
|
1711
1725
|
},
|
|
1712
1726
|
});
|
|
1713
1727
|
|
|
1728
|
+
/**
|
|
1729
|
+
* Injective Mainnet chain definition
|
|
1730
|
+
* @remarks
|
|
1731
|
+
* This represents the official production network for the Injective blockchain.
|
|
1732
|
+
* Injective is a high-performance, interoperable Layer-1 blockchain built for
|
|
1733
|
+
* finance, with an EVM execution layer on top of a Cosmos SDK base and
|
|
1734
|
+
* sub-second block finality.
|
|
1735
|
+
*/
|
|
1736
|
+
defineChain({
|
|
1737
|
+
type: 'evm',
|
|
1738
|
+
chain: Blockchain.Injective,
|
|
1739
|
+
name: 'Injective',
|
|
1740
|
+
title: 'Injective Mainnet',
|
|
1741
|
+
nativeCurrency: {
|
|
1742
|
+
name: 'Injective',
|
|
1743
|
+
symbol: 'INJ',
|
|
1744
|
+
decimals: 18,
|
|
1745
|
+
},
|
|
1746
|
+
chainId: 1776,
|
|
1747
|
+
isTestnet: false,
|
|
1748
|
+
explorerUrl: 'https://injscan.com/transaction/{hash}',
|
|
1749
|
+
rpcEndpoints: ['https://sentry.evm-rpc.injective.network'],
|
|
1750
|
+
eurcAddress: null,
|
|
1751
|
+
usdcAddress: '0xa00C59fF5a080D2b954d0c75e46E22a0c371235a',
|
|
1752
|
+
usdtAddress: null,
|
|
1753
|
+
cctp: {
|
|
1754
|
+
domain: 29,
|
|
1755
|
+
contracts: {
|
|
1756
|
+
v2: {
|
|
1757
|
+
type: 'split',
|
|
1758
|
+
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
1759
|
+
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
1760
|
+
confirmations: 1,
|
|
1761
|
+
fastConfirmations: 1,
|
|
1762
|
+
},
|
|
1763
|
+
},
|
|
1764
|
+
forwarderSupported: {
|
|
1765
|
+
source: false,
|
|
1766
|
+
destination: false,
|
|
1767
|
+
},
|
|
1768
|
+
},
|
|
1769
|
+
kitContracts: {
|
|
1770
|
+
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
1771
|
+
},
|
|
1772
|
+
});
|
|
1773
|
+
|
|
1774
|
+
/**
|
|
1775
|
+
* Injective Testnet chain definition
|
|
1776
|
+
* @remarks
|
|
1777
|
+
* This represents the official test network for the Injective blockchain.
|
|
1778
|
+
* Injective is a high-performance, interoperable Layer-1 blockchain built for
|
|
1779
|
+
* finance, with an EVM execution layer on top of a Cosmos SDK base and
|
|
1780
|
+
* sub-second block finality.
|
|
1781
|
+
*/
|
|
1782
|
+
defineChain({
|
|
1783
|
+
type: 'evm',
|
|
1784
|
+
chain: Blockchain.Injective_Testnet,
|
|
1785
|
+
name: 'Injective Testnet',
|
|
1786
|
+
title: 'Injective Testnet',
|
|
1787
|
+
nativeCurrency: {
|
|
1788
|
+
name: 'Injective',
|
|
1789
|
+
symbol: 'INJ',
|
|
1790
|
+
decimals: 18,
|
|
1791
|
+
},
|
|
1792
|
+
chainId: 1439,
|
|
1793
|
+
isTestnet: true,
|
|
1794
|
+
explorerUrl: 'https://testnet.explorer.injective.network/transaction/{hash}',
|
|
1795
|
+
rpcEndpoints: ['https://k8s.testnet.json-rpc.injective.network'],
|
|
1796
|
+
eurcAddress: null,
|
|
1797
|
+
usdcAddress: '0x0C382e685bbeeFE5d3d9C29e29E341fEE8E84C5d',
|
|
1798
|
+
usdtAddress: null,
|
|
1799
|
+
cctp: {
|
|
1800
|
+
domain: 29,
|
|
1801
|
+
contracts: {
|
|
1802
|
+
v2: {
|
|
1803
|
+
type: 'split',
|
|
1804
|
+
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
1805
|
+
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
1806
|
+
confirmations: 1,
|
|
1807
|
+
fastConfirmations: 1,
|
|
1808
|
+
},
|
|
1809
|
+
},
|
|
1810
|
+
forwarderSupported: {
|
|
1811
|
+
source: false,
|
|
1812
|
+
destination: false,
|
|
1813
|
+
},
|
|
1814
|
+
},
|
|
1815
|
+
kitContracts: {
|
|
1816
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET,
|
|
1817
|
+
},
|
|
1818
|
+
});
|
|
1819
|
+
|
|
1714
1820
|
/**
|
|
1715
1821
|
* Ink Mainnet chain definition
|
|
1716
1822
|
* @remarks
|
|
@@ -2320,6 +2426,96 @@ const OptimismSepolia = defineChain({
|
|
|
2320
2426
|
},
|
|
2321
2427
|
});
|
|
2322
2428
|
|
|
2429
|
+
/**
|
|
2430
|
+
* Pharos Mainnet chain definition
|
|
2431
|
+
* @remarks
|
|
2432
|
+
* This represents the official production network for the Pharos blockchain.
|
|
2433
|
+
* Pharos is a modular, full-stack parallel Layer 1 blockchain with
|
|
2434
|
+
* sub-second finality and EVM compatibility.
|
|
2435
|
+
*/
|
|
2436
|
+
defineChain({
|
|
2437
|
+
type: 'evm',
|
|
2438
|
+
chain: Blockchain.Pharos,
|
|
2439
|
+
name: 'Pharos',
|
|
2440
|
+
title: 'Pharos Mainnet',
|
|
2441
|
+
nativeCurrency: {
|
|
2442
|
+
name: 'Pharos',
|
|
2443
|
+
symbol: 'PHAROS',
|
|
2444
|
+
decimals: 18,
|
|
2445
|
+
},
|
|
2446
|
+
chainId: 1672,
|
|
2447
|
+
isTestnet: false,
|
|
2448
|
+
explorerUrl: 'https://pharos.socialscan.io/tx/{hash}',
|
|
2449
|
+
rpcEndpoints: ['https://rpc.pharos.xyz'],
|
|
2450
|
+
eurcAddress: null,
|
|
2451
|
+
usdcAddress: '0xC879C018dB60520F4355C26eD1a6D572cdAC1815',
|
|
2452
|
+
usdtAddress: null,
|
|
2453
|
+
cctp: {
|
|
2454
|
+
domain: 31,
|
|
2455
|
+
contracts: {
|
|
2456
|
+
v2: {
|
|
2457
|
+
type: 'split',
|
|
2458
|
+
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
2459
|
+
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
2460
|
+
confirmations: 1,
|
|
2461
|
+
fastConfirmations: 1,
|
|
2462
|
+
},
|
|
2463
|
+
},
|
|
2464
|
+
forwarderSupported: {
|
|
2465
|
+
source: false,
|
|
2466
|
+
destination: false,
|
|
2467
|
+
},
|
|
2468
|
+
},
|
|
2469
|
+
kitContracts: {
|
|
2470
|
+
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
2471
|
+
},
|
|
2472
|
+
});
|
|
2473
|
+
|
|
2474
|
+
/**
|
|
2475
|
+
* Pharos Atlantic Testnet chain definition
|
|
2476
|
+
* @remarks
|
|
2477
|
+
* This represents the official test network for the Pharos blockchain.
|
|
2478
|
+
* Pharos is a modular, full-stack parallel Layer 1 blockchain with
|
|
2479
|
+
* sub-second finality and EVM compatibility.
|
|
2480
|
+
*/
|
|
2481
|
+
defineChain({
|
|
2482
|
+
type: 'evm',
|
|
2483
|
+
chain: Blockchain.Pharos_Testnet,
|
|
2484
|
+
name: 'Pharos Atlantic',
|
|
2485
|
+
title: 'Pharos Atlantic Testnet',
|
|
2486
|
+
nativeCurrency: {
|
|
2487
|
+
name: 'Pharos',
|
|
2488
|
+
symbol: 'PHAROS',
|
|
2489
|
+
decimals: 18,
|
|
2490
|
+
},
|
|
2491
|
+
chainId: 688689,
|
|
2492
|
+
isTestnet: true,
|
|
2493
|
+
explorerUrl: 'https://atlantic.pharosscan.xyz/tx/{hash}',
|
|
2494
|
+
rpcEndpoints: ['https://atlantic.dplabs-internal.com'],
|
|
2495
|
+
eurcAddress: null,
|
|
2496
|
+
usdcAddress: '0xcfC8330f4BCAB529c625D12781b1C19466A9Fc8B',
|
|
2497
|
+
usdtAddress: null,
|
|
2498
|
+
cctp: {
|
|
2499
|
+
domain: 31,
|
|
2500
|
+
contracts: {
|
|
2501
|
+
v2: {
|
|
2502
|
+
type: 'split',
|
|
2503
|
+
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
2504
|
+
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
2505
|
+
confirmations: 1,
|
|
2506
|
+
fastConfirmations: 1,
|
|
2507
|
+
},
|
|
2508
|
+
},
|
|
2509
|
+
forwarderSupported: {
|
|
2510
|
+
source: false,
|
|
2511
|
+
destination: false,
|
|
2512
|
+
},
|
|
2513
|
+
},
|
|
2514
|
+
kitContracts: {
|
|
2515
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET,
|
|
2516
|
+
},
|
|
2517
|
+
});
|
|
2518
|
+
|
|
2323
2519
|
/**
|
|
2324
2520
|
* Plume Mainnet chain definition
|
|
2325
2521
|
* @remarks
|
|
@@ -2602,7 +2798,7 @@ const Sei = defineChain({
|
|
|
2602
2798
|
},
|
|
2603
2799
|
chainId: 1329,
|
|
2604
2800
|
isTestnet: false,
|
|
2605
|
-
explorerUrl: 'https://
|
|
2801
|
+
explorerUrl: 'https://seiscan.io/tx/{hash}',
|
|
2606
2802
|
rpcEndpoints: ['https://evm-rpc.sei-apis.com'],
|
|
2607
2803
|
eurcAddress: null,
|
|
2608
2804
|
usdcAddress: '0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392',
|
|
@@ -2660,7 +2856,7 @@ const SeiTestnet = defineChain({
|
|
|
2660
2856
|
},
|
|
2661
2857
|
chainId: 1328,
|
|
2662
2858
|
isTestnet: true,
|
|
2663
|
-
explorerUrl: 'https://
|
|
2859
|
+
explorerUrl: 'https://testnet.seiscan.io/tx/{hash}',
|
|
2664
2860
|
rpcEndpoints: ['https://evm-rpc-testnet.sei-apis.com'],
|
|
2665
2861
|
eurcAddress: null,
|
|
2666
2862
|
usdcAddress: '0x4fCF1784B31630811181f670Aea7A7bEF803eaED',
|
package/chains.d.ts
CHANGED
|
@@ -52,6 +52,8 @@ declare enum Blockchain {
|
|
|
52
52
|
Hedera_Testnet = "Hedera_Testnet",
|
|
53
53
|
HyperEVM = "HyperEVM",
|
|
54
54
|
HyperEVM_Testnet = "HyperEVM_Testnet",
|
|
55
|
+
Injective = "Injective",
|
|
56
|
+
Injective_Testnet = "Injective_Testnet",
|
|
55
57
|
Ink = "Ink",
|
|
56
58
|
Ink_Testnet = "Ink_Testnet",
|
|
57
59
|
Linea = "Linea",
|
|
@@ -66,6 +68,8 @@ declare enum Blockchain {
|
|
|
66
68
|
Noble_Testnet = "Noble_Testnet",
|
|
67
69
|
Optimism = "Optimism",
|
|
68
70
|
Optimism_Sepolia = "Optimism_Sepolia",
|
|
71
|
+
Pharos = "Pharos",
|
|
72
|
+
Pharos_Testnet = "Pharos_Testnet",
|
|
69
73
|
Polkadot_Asset_Hub = "Polkadot_Asset_Hub",
|
|
70
74
|
Polkadot_Westmint = "Polkadot_Westmint",
|
|
71
75
|
Plume = "Plume",
|
|
@@ -1391,7 +1395,7 @@ declare const Sei: {
|
|
|
1391
1395
|
};
|
|
1392
1396
|
readonly chainId: 1329;
|
|
1393
1397
|
readonly isTestnet: false;
|
|
1394
|
-
readonly explorerUrl: "https://
|
|
1398
|
+
readonly explorerUrl: "https://seiscan.io/tx/{hash}";
|
|
1395
1399
|
readonly rpcEndpoints: readonly ["https://evm-rpc.sei-apis.com"];
|
|
1396
1400
|
readonly eurcAddress: null;
|
|
1397
1401
|
readonly usdcAddress: "0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392";
|
|
@@ -1449,7 +1453,7 @@ declare const SeiTestnet: {
|
|
|
1449
1453
|
};
|
|
1450
1454
|
readonly chainId: 1328;
|
|
1451
1455
|
readonly isTestnet: true;
|
|
1452
|
-
readonly explorerUrl: "https://
|
|
1456
|
+
readonly explorerUrl: "https://testnet.seiscan.io/tx/{hash}";
|
|
1453
1457
|
readonly rpcEndpoints: readonly ["https://evm-rpc-testnet.sei-apis.com"];
|
|
1454
1458
|
readonly eurcAddress: null;
|
|
1455
1459
|
readonly usdcAddress: "0x4fCF1784B31630811181f670Aea7A7bEF803eaED";
|
package/chains.mjs
CHANGED
|
@@ -58,6 +58,8 @@ var Blockchain;
|
|
|
58
58
|
Blockchain["Hedera_Testnet"] = "Hedera_Testnet";
|
|
59
59
|
Blockchain["HyperEVM"] = "HyperEVM";
|
|
60
60
|
Blockchain["HyperEVM_Testnet"] = "HyperEVM_Testnet";
|
|
61
|
+
Blockchain["Injective"] = "Injective";
|
|
62
|
+
Blockchain["Injective_Testnet"] = "Injective_Testnet";
|
|
61
63
|
Blockchain["Ink"] = "Ink";
|
|
62
64
|
Blockchain["Ink_Testnet"] = "Ink_Testnet";
|
|
63
65
|
Blockchain["Linea"] = "Linea";
|
|
@@ -72,6 +74,8 @@ var Blockchain;
|
|
|
72
74
|
Blockchain["Noble_Testnet"] = "Noble_Testnet";
|
|
73
75
|
Blockchain["Optimism"] = "Optimism";
|
|
74
76
|
Blockchain["Optimism_Sepolia"] = "Optimism_Sepolia";
|
|
77
|
+
Blockchain["Pharos"] = "Pharos";
|
|
78
|
+
Blockchain["Pharos_Testnet"] = "Pharos_Testnet";
|
|
75
79
|
Blockchain["Polkadot_Asset_Hub"] = "Polkadot_Asset_Hub";
|
|
76
80
|
Blockchain["Polkadot_Westmint"] = "Polkadot_Westmint";
|
|
77
81
|
Blockchain["Plume"] = "Plume";
|
|
@@ -275,11 +279,13 @@ var BridgeChain;
|
|
|
275
279
|
BridgeChain["Edge"] = "Edge";
|
|
276
280
|
BridgeChain["Ethereum"] = "Ethereum";
|
|
277
281
|
BridgeChain["HyperEVM"] = "HyperEVM";
|
|
282
|
+
BridgeChain["Injective"] = "Injective";
|
|
278
283
|
BridgeChain["Ink"] = "Ink";
|
|
279
284
|
BridgeChain["Linea"] = "Linea";
|
|
280
285
|
BridgeChain["Monad"] = "Monad";
|
|
281
286
|
BridgeChain["Morph"] = "Morph";
|
|
282
287
|
BridgeChain["Optimism"] = "Optimism";
|
|
288
|
+
BridgeChain["Pharos"] = "Pharos";
|
|
283
289
|
BridgeChain["Plume"] = "Plume";
|
|
284
290
|
BridgeChain["Polygon"] = "Polygon";
|
|
285
291
|
BridgeChain["Sei"] = "Sei";
|
|
@@ -297,11 +303,13 @@ var BridgeChain;
|
|
|
297
303
|
BridgeChain["Edge_Testnet"] = "Edge_Testnet";
|
|
298
304
|
BridgeChain["Ethereum_Sepolia"] = "Ethereum_Sepolia";
|
|
299
305
|
BridgeChain["HyperEVM_Testnet"] = "HyperEVM_Testnet";
|
|
306
|
+
BridgeChain["Injective_Testnet"] = "Injective_Testnet";
|
|
300
307
|
BridgeChain["Ink_Testnet"] = "Ink_Testnet";
|
|
301
308
|
BridgeChain["Linea_Sepolia"] = "Linea_Sepolia";
|
|
302
309
|
BridgeChain["Monad_Testnet"] = "Monad_Testnet";
|
|
303
310
|
BridgeChain["Morph_Testnet"] = "Morph_Testnet";
|
|
304
311
|
BridgeChain["Optimism_Sepolia"] = "Optimism_Sepolia";
|
|
312
|
+
BridgeChain["Pharos_Testnet"] = "Pharos_Testnet";
|
|
305
313
|
BridgeChain["Plume_Testnet"] = "Plume_Testnet";
|
|
306
314
|
BridgeChain["Polygon_Amoy_Testnet"] = "Polygon_Amoy_Testnet";
|
|
307
315
|
BridgeChain["Sei_Testnet"] = "Sei_Testnet";
|
|
@@ -647,6 +655,12 @@ const SWAP_TOKEN_REGISTRY = {
|
|
|
647
655
|
category: 'wrapped',
|
|
648
656
|
description: 'Wrapped Polygon',
|
|
649
657
|
},
|
|
658
|
+
CIRBTC: {
|
|
659
|
+
symbol: 'CIRBTC',
|
|
660
|
+
decimals: 8,
|
|
661
|
+
category: 'wrapped',
|
|
662
|
+
description: 'Circle Bitcoin',
|
|
663
|
+
},
|
|
650
664
|
};
|
|
651
665
|
/**
|
|
652
666
|
* Special NATIVE token constant for swap operations.
|
|
@@ -1709,6 +1723,98 @@ const HyperEVMTestnet = defineChain({
|
|
|
1709
1723
|
},
|
|
1710
1724
|
});
|
|
1711
1725
|
|
|
1726
|
+
/**
|
|
1727
|
+
* Injective Mainnet chain definition
|
|
1728
|
+
* @remarks
|
|
1729
|
+
* This represents the official production network for the Injective blockchain.
|
|
1730
|
+
* Injective is a high-performance, interoperable Layer-1 blockchain built for
|
|
1731
|
+
* finance, with an EVM execution layer on top of a Cosmos SDK base and
|
|
1732
|
+
* sub-second block finality.
|
|
1733
|
+
*/
|
|
1734
|
+
defineChain({
|
|
1735
|
+
type: 'evm',
|
|
1736
|
+
chain: Blockchain.Injective,
|
|
1737
|
+
name: 'Injective',
|
|
1738
|
+
title: 'Injective Mainnet',
|
|
1739
|
+
nativeCurrency: {
|
|
1740
|
+
name: 'Injective',
|
|
1741
|
+
symbol: 'INJ',
|
|
1742
|
+
decimals: 18,
|
|
1743
|
+
},
|
|
1744
|
+
chainId: 1776,
|
|
1745
|
+
isTestnet: false,
|
|
1746
|
+
explorerUrl: 'https://injscan.com/transaction/{hash}',
|
|
1747
|
+
rpcEndpoints: ['https://sentry.evm-rpc.injective.network'],
|
|
1748
|
+
eurcAddress: null,
|
|
1749
|
+
usdcAddress: '0xa00C59fF5a080D2b954d0c75e46E22a0c371235a',
|
|
1750
|
+
usdtAddress: null,
|
|
1751
|
+
cctp: {
|
|
1752
|
+
domain: 29,
|
|
1753
|
+
contracts: {
|
|
1754
|
+
v2: {
|
|
1755
|
+
type: 'split',
|
|
1756
|
+
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
1757
|
+
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
1758
|
+
confirmations: 1,
|
|
1759
|
+
fastConfirmations: 1,
|
|
1760
|
+
},
|
|
1761
|
+
},
|
|
1762
|
+
forwarderSupported: {
|
|
1763
|
+
source: false,
|
|
1764
|
+
destination: false,
|
|
1765
|
+
},
|
|
1766
|
+
},
|
|
1767
|
+
kitContracts: {
|
|
1768
|
+
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
1769
|
+
},
|
|
1770
|
+
});
|
|
1771
|
+
|
|
1772
|
+
/**
|
|
1773
|
+
* Injective Testnet chain definition
|
|
1774
|
+
* @remarks
|
|
1775
|
+
* This represents the official test network for the Injective blockchain.
|
|
1776
|
+
* Injective is a high-performance, interoperable Layer-1 blockchain built for
|
|
1777
|
+
* finance, with an EVM execution layer on top of a Cosmos SDK base and
|
|
1778
|
+
* sub-second block finality.
|
|
1779
|
+
*/
|
|
1780
|
+
defineChain({
|
|
1781
|
+
type: 'evm',
|
|
1782
|
+
chain: Blockchain.Injective_Testnet,
|
|
1783
|
+
name: 'Injective Testnet',
|
|
1784
|
+
title: 'Injective Testnet',
|
|
1785
|
+
nativeCurrency: {
|
|
1786
|
+
name: 'Injective',
|
|
1787
|
+
symbol: 'INJ',
|
|
1788
|
+
decimals: 18,
|
|
1789
|
+
},
|
|
1790
|
+
chainId: 1439,
|
|
1791
|
+
isTestnet: true,
|
|
1792
|
+
explorerUrl: 'https://testnet.explorer.injective.network/transaction/{hash}',
|
|
1793
|
+
rpcEndpoints: ['https://k8s.testnet.json-rpc.injective.network'],
|
|
1794
|
+
eurcAddress: null,
|
|
1795
|
+
usdcAddress: '0x0C382e685bbeeFE5d3d9C29e29E341fEE8E84C5d',
|
|
1796
|
+
usdtAddress: null,
|
|
1797
|
+
cctp: {
|
|
1798
|
+
domain: 29,
|
|
1799
|
+
contracts: {
|
|
1800
|
+
v2: {
|
|
1801
|
+
type: 'split',
|
|
1802
|
+
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
1803
|
+
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
1804
|
+
confirmations: 1,
|
|
1805
|
+
fastConfirmations: 1,
|
|
1806
|
+
},
|
|
1807
|
+
},
|
|
1808
|
+
forwarderSupported: {
|
|
1809
|
+
source: false,
|
|
1810
|
+
destination: false,
|
|
1811
|
+
},
|
|
1812
|
+
},
|
|
1813
|
+
kitContracts: {
|
|
1814
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET,
|
|
1815
|
+
},
|
|
1816
|
+
});
|
|
1817
|
+
|
|
1712
1818
|
/**
|
|
1713
1819
|
* Ink Mainnet chain definition
|
|
1714
1820
|
* @remarks
|
|
@@ -2318,6 +2424,96 @@ const OptimismSepolia = defineChain({
|
|
|
2318
2424
|
},
|
|
2319
2425
|
});
|
|
2320
2426
|
|
|
2427
|
+
/**
|
|
2428
|
+
* Pharos Mainnet chain definition
|
|
2429
|
+
* @remarks
|
|
2430
|
+
* This represents the official production network for the Pharos blockchain.
|
|
2431
|
+
* Pharos is a modular, full-stack parallel Layer 1 blockchain with
|
|
2432
|
+
* sub-second finality and EVM compatibility.
|
|
2433
|
+
*/
|
|
2434
|
+
defineChain({
|
|
2435
|
+
type: 'evm',
|
|
2436
|
+
chain: Blockchain.Pharos,
|
|
2437
|
+
name: 'Pharos',
|
|
2438
|
+
title: 'Pharos Mainnet',
|
|
2439
|
+
nativeCurrency: {
|
|
2440
|
+
name: 'Pharos',
|
|
2441
|
+
symbol: 'PHAROS',
|
|
2442
|
+
decimals: 18,
|
|
2443
|
+
},
|
|
2444
|
+
chainId: 1672,
|
|
2445
|
+
isTestnet: false,
|
|
2446
|
+
explorerUrl: 'https://pharos.socialscan.io/tx/{hash}',
|
|
2447
|
+
rpcEndpoints: ['https://rpc.pharos.xyz'],
|
|
2448
|
+
eurcAddress: null,
|
|
2449
|
+
usdcAddress: '0xC879C018dB60520F4355C26eD1a6D572cdAC1815',
|
|
2450
|
+
usdtAddress: null,
|
|
2451
|
+
cctp: {
|
|
2452
|
+
domain: 31,
|
|
2453
|
+
contracts: {
|
|
2454
|
+
v2: {
|
|
2455
|
+
type: 'split',
|
|
2456
|
+
tokenMessenger: '0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d',
|
|
2457
|
+
messageTransmitter: '0x81D40F21F12A8F0E3252Bccb954D722d4c464B64',
|
|
2458
|
+
confirmations: 1,
|
|
2459
|
+
fastConfirmations: 1,
|
|
2460
|
+
},
|
|
2461
|
+
},
|
|
2462
|
+
forwarderSupported: {
|
|
2463
|
+
source: false,
|
|
2464
|
+
destination: false,
|
|
2465
|
+
},
|
|
2466
|
+
},
|
|
2467
|
+
kitContracts: {
|
|
2468
|
+
bridge: BRIDGE_CONTRACT_EVM_MAINNET,
|
|
2469
|
+
},
|
|
2470
|
+
});
|
|
2471
|
+
|
|
2472
|
+
/**
|
|
2473
|
+
* Pharos Atlantic Testnet chain definition
|
|
2474
|
+
* @remarks
|
|
2475
|
+
* This represents the official test network for the Pharos blockchain.
|
|
2476
|
+
* Pharos is a modular, full-stack parallel Layer 1 blockchain with
|
|
2477
|
+
* sub-second finality and EVM compatibility.
|
|
2478
|
+
*/
|
|
2479
|
+
defineChain({
|
|
2480
|
+
type: 'evm',
|
|
2481
|
+
chain: Blockchain.Pharos_Testnet,
|
|
2482
|
+
name: 'Pharos Atlantic',
|
|
2483
|
+
title: 'Pharos Atlantic Testnet',
|
|
2484
|
+
nativeCurrency: {
|
|
2485
|
+
name: 'Pharos',
|
|
2486
|
+
symbol: 'PHAROS',
|
|
2487
|
+
decimals: 18,
|
|
2488
|
+
},
|
|
2489
|
+
chainId: 688689,
|
|
2490
|
+
isTestnet: true,
|
|
2491
|
+
explorerUrl: 'https://atlantic.pharosscan.xyz/tx/{hash}',
|
|
2492
|
+
rpcEndpoints: ['https://atlantic.dplabs-internal.com'],
|
|
2493
|
+
eurcAddress: null,
|
|
2494
|
+
usdcAddress: '0xcfC8330f4BCAB529c625D12781b1C19466A9Fc8B',
|
|
2495
|
+
usdtAddress: null,
|
|
2496
|
+
cctp: {
|
|
2497
|
+
domain: 31,
|
|
2498
|
+
contracts: {
|
|
2499
|
+
v2: {
|
|
2500
|
+
type: 'split',
|
|
2501
|
+
tokenMessenger: '0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA',
|
|
2502
|
+
messageTransmitter: '0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275',
|
|
2503
|
+
confirmations: 1,
|
|
2504
|
+
fastConfirmations: 1,
|
|
2505
|
+
},
|
|
2506
|
+
},
|
|
2507
|
+
forwarderSupported: {
|
|
2508
|
+
source: false,
|
|
2509
|
+
destination: false,
|
|
2510
|
+
},
|
|
2511
|
+
},
|
|
2512
|
+
kitContracts: {
|
|
2513
|
+
bridge: BRIDGE_CONTRACT_EVM_TESTNET,
|
|
2514
|
+
},
|
|
2515
|
+
});
|
|
2516
|
+
|
|
2321
2517
|
/**
|
|
2322
2518
|
* Plume Mainnet chain definition
|
|
2323
2519
|
* @remarks
|
|
@@ -2600,7 +2796,7 @@ const Sei = defineChain({
|
|
|
2600
2796
|
},
|
|
2601
2797
|
chainId: 1329,
|
|
2602
2798
|
isTestnet: false,
|
|
2603
|
-
explorerUrl: 'https://
|
|
2799
|
+
explorerUrl: 'https://seiscan.io/tx/{hash}',
|
|
2604
2800
|
rpcEndpoints: ['https://evm-rpc.sei-apis.com'],
|
|
2605
2801
|
eurcAddress: null,
|
|
2606
2802
|
usdcAddress: '0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392',
|
|
@@ -2658,7 +2854,7 @@ const SeiTestnet = defineChain({
|
|
|
2658
2854
|
},
|
|
2659
2855
|
chainId: 1328,
|
|
2660
2856
|
isTestnet: true,
|
|
2661
|
-
explorerUrl: 'https://
|
|
2857
|
+
explorerUrl: 'https://testnet.seiscan.io/tx/{hash}',
|
|
2662
2858
|
rpcEndpoints: ['https://evm-rpc-testnet.sei-apis.com'],
|
|
2663
2859
|
eurcAddress: null,
|
|
2664
2860
|
usdcAddress: '0x4fCF1784B31630811181f670Aea7A7bEF803eaED',
|