@circle-fin/app-kit 1.4.2 → 1.5.1
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 +15 -0
- package/README.md +3 -3
- package/chains.cjs +96 -0
- package/chains.d.ts +2 -0
- package/chains.mjs +96 -0
- package/index.cjs +896 -224
- package/index.d.ts +153 -0
- package/index.mjs +896 -224
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @circle-fin/app-kit
|
|
2
2
|
|
|
3
|
+
## 1.5.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Improves the error you get when attempting a Gateway spend with a smart-contract account (SCA) as the signer. The failure previously surfaced as a confusing `invalid integer value <nil>/<nil> for type uint256` response from the Circle Wallets backend; you now get a clear `INPUT_UNSUPPORTED_ACTION` error up front that points at the delegate workflow (`kit.unifiedBalance.addDelegate` + `kit.unifiedBalance.spend` with the delegate EOA as `from.address` and the SCA as `from.sourceAccount`).
|
|
8
|
+
|
|
9
|
+
## 1.5.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 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.
|
|
14
|
+
- Add unhandled error telemetry reporting.
|
|
15
|
+
- 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.
|
|
16
|
+
- 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.
|
|
17
|
+
|
|
3
18
|
## 1.4.2
|
|
4
19
|
|
|
5
20
|
### 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";
|
|
@@ -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
|