@circle-fin/app-kit 1.14.0 → 1.15.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.
Files changed (53) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +3 -3
  3. package/bridge.cjs +7464 -454
  4. package/bridge.d.cts +585 -61
  5. package/bridge.d.mts +585 -61
  6. package/bridge.d.ts +585 -61
  7. package/bridge.mjs +7464 -454
  8. package/chains.cjs +146 -5
  9. package/chains.d.cts +108 -2
  10. package/chains.d.mts +108 -2
  11. package/chains.d.ts +108 -2
  12. package/chains.mjs +146 -6
  13. package/context.d.cts +522 -57
  14. package/context.d.mts +522 -57
  15. package/context.d.ts +522 -57
  16. package/earn.cjs +478 -181
  17. package/earn.d.cts +522 -57
  18. package/earn.d.mts +522 -57
  19. package/earn.d.ts +522 -57
  20. package/earn.mjs +478 -181
  21. package/estimateBridge.cjs +7464 -457
  22. package/estimateBridge.d.cts +643 -82
  23. package/estimateBridge.d.mts +643 -82
  24. package/estimateBridge.d.ts +643 -82
  25. package/estimateBridge.mjs +7464 -457
  26. package/estimateSwap.cjs +528 -185
  27. package/estimateSwap.d.cts +522 -57
  28. package/estimateSwap.d.mts +522 -57
  29. package/estimateSwap.d.ts +522 -57
  30. package/estimateSwap.mjs +528 -185
  31. package/index.cjs +11548 -2936
  32. package/index.d.cts +5073 -1738
  33. package/index.d.mts +5073 -1738
  34. package/index.d.ts +5073 -1738
  35. package/index.mjs +11547 -2937
  36. package/package.json +17 -6
  37. package/server.cjs +10040 -0
  38. package/server.cjs.map +1 -0
  39. package/server.d.cts +2467 -0
  40. package/server.d.mts +2467 -0
  41. package/server.d.ts +2467 -0
  42. package/server.mjs +10028 -0
  43. package/server.mjs.map +1 -0
  44. package/swap.cjs +528 -185
  45. package/swap.d.cts +522 -57
  46. package/swap.d.mts +522 -57
  47. package/swap.d.ts +522 -57
  48. package/swap.mjs +528 -185
  49. package/unifiedBalance.cjs +742 -44
  50. package/unifiedBalance.d.cts +223 -1
  51. package/unifiedBalance.d.mts +223 -1
  52. package/unifiedBalance.d.ts +223 -1
  53. package/unifiedBalance.mjs +742 -44
package/CHANGELOG.md CHANGED
@@ -1,5 +1,77 @@
1
1
  # @circle-fin/app-kit
2
2
 
3
+ ## 1.15.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Internal dependency updates. No user-facing changes.
8
+
9
+ ## 1.15.0
10
+
11
+ ### Minor Changes
12
+
13
+ - Add an `onramp` namespace and a `@circle-fin/app-kit/server` entry point. `kit.onramp` can fetch a session and mount the Arc Onramp widget (`mountIframe` / `openWindow`). `createAppServerKit` validates onramp credentials and mints sessions on the server.
14
+ - Add Arc mainnet (`Blockchain.Arc`, chainId 5042) as a supported chain. Arc is wired for CCTP v2 bridging (`BridgeChain.Arc`, domain 26) with Circle's Forwarding Service enabled for Arc as a destination, and for Gateway v1 (`UnifiedBalanceChain.Arc`).
15
+ - Add Arc mainnet (`Blockchain.Arc`, chainId 5042) as an EarnKit-selectable chain alongside Arc Testnet. `EarnChain.Arc` is now exposed for earn operations, and the Earn Service provider maps `Blockchain.Arc` to the `ARC` Earn API chain and reports it in `supportedChains`. App Kit re-exports this through its `earn` namespace, so `EarnChain.Arc` is selectable via App Kit as well.
16
+ - Add Arc mainnet as a destination for FAST cross-chain deposits. You can now call `depositFor` with a cross-chain source and Arc mainnet (`UnifiedBalanceChain.Arc`) as the destination; previously that destination was rejected as unsupported.
17
+ - Enable Arc mainnet swaps for USDC and EURC. `SwapChain.Arc` is accepted by swap operations, the Arc mainnet EURC token locator is registered, and Arc mainnet USDC EIP-2612 permit metadata (name "USDC", version "2") is included for gasless approvals.
18
+ - Bridge EURC between Base and Ethereum mainnet
19
+
20
+ App Kit now supports EURC transfers between Base and Ethereum mainnet through Circle's CCTPx protocol. Pass `EURC` as `token` on `bridge` and `estimateBridge`:
21
+
22
+ ```ts
23
+ import { AppKit } from "@circle-fin/app-kit";
24
+
25
+ const kit = new AppKit();
26
+
27
+ const result = await kit.bridge({
28
+ token: "EURC",
29
+ from: { adapter, chain: "Base" },
30
+ to: { adapter, chain: "Ethereum" },
31
+ amount: "100",
32
+ });
33
+ ```
34
+
35
+ CCTPx also supports `cirBTC`, `wETH`, `EURC`, and raw `bytes32` token ids on eligible testnet routes.
36
+
37
+ - Routed results support provider-defined token identifiers while bare `BridgeResult` and `EstimateResult` types remain USDC-specific for source compatibility.
38
+ - `bridge` and `estimateBridge` reject custom fees on non-USDC routes. CCTPx routes accept `feePayment` only when omitted or set to `'source'`, and `useForwarder` only when omitted or set to `true`.
39
+ - Route discovery continues to other providers when one provider's route check fails. If no provider supports the route, App Kit preserves retryable failures on the resulting error.
40
+
41
+ - Make Arc mainnet a CCTPx endpoint
42
+
43
+ Arc mainnet's chain definition gains `cctpx.serviceAddress`, pointing at the mainnet
44
+ CrossChainTokenService. `isCCTPXSupported(Chains.Arc)` becomes `true`, so Arc joins the
45
+ chains reported by `CCTPXBridgingProvider.getSupportedChains()`, and by Bridge Kit and App
46
+ Kit through it.
47
+
48
+ A chain being eligible does not by itself make a route usable: the token registry must list
49
+ the token with a deployment on both endpoints' CCTP domains.
50
+
51
+ - Enable CCTPx on Arbitrum, Avalanche, Optimism and Polygon mainnet
52
+
53
+ These four chain definitions gain `cctpx.serviceAddress`, pointing at the mainnet
54
+ CrossChainTokenService. They join Ethereum and Base in the chains reported by
55
+ `CCTPXBridgingProvider.getSupportedChains()`, and by Bridge Kit and App Kit through it.
56
+
57
+ A chain being eligible does not by itself make a route usable: the token registry must list
58
+ the token with a deployment on both endpoints' CCTP domains.
59
+
60
+ - Reuse an `estimate` quote when bridging (CCTPx)
61
+
62
+ Pass the `quote` returned by `estimateBridge` into `bridge` so the fee
63
+ you were quoted is the fee you pay. Treat the value as opaque and pass
64
+ it back unmodified.
65
+
66
+ Do not pass a quote into `estimateBridge`. If the supplied quote is
67
+ stale or does not match the requested fee token and speed, CCTPx
68
+ fetches a fresh quote and adds `QUOTE_NOT_REUSED` to `result.warnings`,
69
+ which means the fee paid may differ from the one quoted. A CCTPx quote
70
+ passed to a plain USDC bridge is ignored. Re-estimate whenever the
71
+ transfer changes.
72
+
73
+ - Enable Circle's Forwarding Service as a destination for Arc mainnet. The Forwarding Service now supports Gateway transaction types on Arc, so a Gateway `spend` with `useForwarder: true` to an Arc mainnet destination is now accepted instead of being rejected up front.
74
+
3
75
  ## 1.14.0
4
76
 
5
77
  ### Minor Changes
package/README.md CHANGED
@@ -65,8 +65,8 @@ The App Kit provides a **unified interface** for cross-chain transfers, same-cha
65
65
  - **🔧 Bring your own infrastructure**: Seamlessly integrate with your existing setup when needed
66
66
  - **🔒 Production-ready security**: Leverages Circle's CCTPv2 for bridging and trusted swap providers
67
67
  - **🚀 Developer experience**: Complete TypeScript support, comprehensive validation, and instant connectivity
68
- - **🌍 Multi-chain support**: Bridge across **51 chains** with **1250 total bridge routes** through Circle's CCTPv2
69
- - **Mainnet (25 chains)**: Arbitrum, Avalanche, Base, Codex, Cronos, Edge, Ethereum, HyperEVM, Injective, Ink, Linea, Monad, Morph, OP Mainnet, Pharos, Plasma, Plume, Polygon PoS, Sei, Solana, Sonic, Unichain, World Chain, XDC, X Layer
68
+ - **🌍 Multi-chain support**: Bridge across **52 chains** with **1300 total bridge routes** through Circle's CCTPv2
69
+ - **Mainnet (26 chains)**: Arbitrum, Arc, Avalanche, Base, Codex, Cronos, Edge, Ethereum, HyperEVM, Injective, Ink, Linea, Monad, Morph, OP Mainnet, Pharos, Plasma, Plume, Polygon PoS, Sei, Solana, Sonic, Unichain, World Chain, XDC, X Layer
70
70
  - **Testnet (26 chains)**: Arc Testnet, Arbitrum Sepolia, Avalanche Fuji, Base Sepolia, Codex Testnet, Cronos Testnet, Edge Testnet, Ethereum Sepolia, HyperEVM Testnet, Injective Testnet, Ink Testnet, Linea Sepolia, Monad Testnet, Morph Testnet, OP Sepolia, Pharos Atlantic, Plasma Testnet, Plume Testnet, Polygon PoS Amoy, Sei Testnet, Solana Devnet, Sonic Testnet, Unichain Sepolia, World Chain Sepolia, XDC Apothem, X Layer Testnet
71
71
  - **🔄 Swap support**: Same-chain token swaps powered by Circle's Stablecoin Service
72
72
  - **🏦 Earn support**: DeFi lending vault deposits, withdrawals, and reward claims via `kit.earn`
@@ -163,7 +163,7 @@ const result = await kit.bridge({
163
163
  })
164
164
  ```
165
165
 
166
- A curated subset of 37 CCTPv2-supported chains is available for import from App Kit.
166
+ A curated subset of 40 CCTPv2-supported chains is available for import from App Kit.
167
167
 
168
168
  ## Quick Start
169
169