@circle-fin/app-kit 1.4.2 → 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 CHANGED
@@ -1,5 +1,14 @@
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
+
3
12
  ## 1.4.2
4
13
 
5
14
  ### 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 **43 chains** with **882 total bridge routes** through Circle's CCTPv2
68
- - **Mainnet (21 chains)**: Arbitrum, Avalanche, Base, Codex, Edge, Ethereum, HyperEVM, Ink, Linea, Monad, Morph, OP Mainnet, Pharos, Plume, Polygon PoS, Sei, Solana, Sonic, Unichain, World Chain, XDC
69
- - **Testnet (22 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, Pharos Atlantic, Plume Testnet, Polygon PoS Amoy, Sei Testnet, Solana Devnet, Sonic Testnet, Unichain Sepolia, World Chain Sepolia, XDC Apothem
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";
@@ -279,6 +281,7 @@ var BridgeChain;
279
281
  BridgeChain["Edge"] = "Edge";
280
282
  BridgeChain["Ethereum"] = "Ethereum";
281
283
  BridgeChain["HyperEVM"] = "HyperEVM";
284
+ BridgeChain["Injective"] = "Injective";
282
285
  BridgeChain["Ink"] = "Ink";
283
286
  BridgeChain["Linea"] = "Linea";
284
287
  BridgeChain["Monad"] = "Monad";
@@ -302,6 +305,7 @@ var BridgeChain;
302
305
  BridgeChain["Edge_Testnet"] = "Edge_Testnet";
303
306
  BridgeChain["Ethereum_Sepolia"] = "Ethereum_Sepolia";
304
307
  BridgeChain["HyperEVM_Testnet"] = "HyperEVM_Testnet";
308
+ BridgeChain["Injective_Testnet"] = "Injective_Testnet";
305
309
  BridgeChain["Ink_Testnet"] = "Ink_Testnet";
306
310
  BridgeChain["Linea_Sepolia"] = "Linea_Sepolia";
307
311
  BridgeChain["Monad_Testnet"] = "Monad_Testnet";
@@ -1721,6 +1725,98 @@ const HyperEVMTestnet = defineChain({
1721
1725
  },
1722
1726
  });
1723
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
+
1724
1820
  /**
1725
1821
  * Ink Mainnet chain definition
1726
1822
  * @remarks
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",
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";
@@ -277,6 +279,7 @@ var BridgeChain;
277
279
  BridgeChain["Edge"] = "Edge";
278
280
  BridgeChain["Ethereum"] = "Ethereum";
279
281
  BridgeChain["HyperEVM"] = "HyperEVM";
282
+ BridgeChain["Injective"] = "Injective";
280
283
  BridgeChain["Ink"] = "Ink";
281
284
  BridgeChain["Linea"] = "Linea";
282
285
  BridgeChain["Monad"] = "Monad";
@@ -300,6 +303,7 @@ var BridgeChain;
300
303
  BridgeChain["Edge_Testnet"] = "Edge_Testnet";
301
304
  BridgeChain["Ethereum_Sepolia"] = "Ethereum_Sepolia";
302
305
  BridgeChain["HyperEVM_Testnet"] = "HyperEVM_Testnet";
306
+ BridgeChain["Injective_Testnet"] = "Injective_Testnet";
303
307
  BridgeChain["Ink_Testnet"] = "Ink_Testnet";
304
308
  BridgeChain["Linea_Sepolia"] = "Linea_Sepolia";
305
309
  BridgeChain["Monad_Testnet"] = "Monad_Testnet";
@@ -1719,6 +1723,98 @@ const HyperEVMTestnet = defineChain({
1719
1723
  },
1720
1724
  });
1721
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
+
1722
1818
  /**
1723
1819
  * Ink Mainnet chain definition
1724
1820
  * @remarks