@circle-fin/app-kit 1.16.0 → 1.18.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.
Files changed (52) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/borrow.cjs +150 -32
  3. package/borrow.d.cts +38 -9
  4. package/borrow.d.mts +38 -9
  5. package/borrow.d.ts +38 -9
  6. package/borrow.mjs +150 -32
  7. package/bridge.cjs +454 -53
  8. package/bridge.d.cts +38 -9
  9. package/bridge.d.mts +38 -9
  10. package/bridge.d.ts +38 -9
  11. package/bridge.mjs +454 -53
  12. package/chains.cjs +10 -6
  13. package/chains.d.cts +1 -1
  14. package/chains.d.mts +1 -1
  15. package/chains.d.ts +1 -1
  16. package/chains.mjs +10 -6
  17. package/context.d.cts +38 -9
  18. package/context.d.mts +38 -9
  19. package/context.d.ts +38 -9
  20. package/earn.cjs +830 -43
  21. package/earn.d.cts +38 -9
  22. package/earn.d.mts +38 -9
  23. package/earn.d.ts +38 -9
  24. package/earn.mjs +830 -43
  25. package/estimateBridge.cjs +454 -53
  26. package/estimateBridge.d.cts +38 -9
  27. package/estimateBridge.d.mts +38 -9
  28. package/estimateBridge.d.ts +38 -9
  29. package/estimateBridge.mjs +454 -53
  30. package/estimateSwap.cjs +265 -45
  31. package/estimateSwap.d.cts +86 -9
  32. package/estimateSwap.d.mts +86 -9
  33. package/estimateSwap.d.ts +86 -9
  34. package/estimateSwap.mjs +265 -45
  35. package/index.cjs +1019 -73
  36. package/index.d.cts +373 -210
  37. package/index.d.mts +373 -210
  38. package/index.d.ts +373 -210
  39. package/index.mjs +1019 -73
  40. package/package.json +8 -8
  41. package/server.cjs +35 -9
  42. package/server.d.cts +29 -10
  43. package/server.d.mts +29 -10
  44. package/server.d.ts +29 -10
  45. package/server.mjs +35 -9
  46. package/swap.cjs +265 -45
  47. package/swap.d.cts +86 -9
  48. package/swap.d.mts +86 -9
  49. package/swap.d.ts +86 -9
  50. package/swap.mjs +265 -45
  51. package/unifiedBalance.cjs +139 -20
  52. package/unifiedBalance.mjs +139 -20
package/bridge.d.cts CHANGED
@@ -899,10 +899,10 @@ declare enum Blockchain {
899
899
  *
900
900
  * Unlike the full {@link Blockchain} enum, SwapChain includes mainnet
901
901
  * networks and explicitly whitelisted testnets (e.g., {@link Arc_Testnet})
902
- * where adapter contracts are deployed (CCTPv2 support).
902
+ * where Adapter contracts are deployed.
903
903
  *
904
904
  * Dynamic validation via {@link isSwapSupportedChain} ensures chains
905
- * automatically work when adapter contracts and supported tokens are deployed.
905
+ * automatically work when Adapter contracts and supported tokens are deployed.
906
906
  *
907
907
  * @example
908
908
  * ```typescript
@@ -942,20 +942,22 @@ declare enum SwapChain {
942
942
  HyperEVM = "HyperEVM",
943
943
  Monad = "Monad",
944
944
  Arc = "Arc",
945
+ Cronos = "Cronos",
946
+ Morph = "Morph",
945
947
  Arc_Testnet = "Arc_Testnet"
946
948
  }
947
949
  /**
948
950
  * Chain definition that supports swap operations.
949
951
  *
950
952
  * @remarks
951
- * Expanded from 4 to ~18 supported chains based on:
952
- * - CCTPv2 support (adapter contract deployed)
953
+ * Expanded from 4 to supported mainnets and whitelisted testnets based on:
954
+ * - A deployed Adapter contract, configured directly or through CCTP v2
953
955
  * - Mainnet chains plus whitelisted testnets (e.g., Arc Testnet)
954
956
  *
955
957
  * Use `isSwapSupportedChain()` for runtime validation.
956
958
  */
957
959
  type SwapChainDefinition = ChainDefinition & {
958
- chain: Blockchain.Ethereum | Blockchain.Base | Blockchain.Polygon | Blockchain.Solana | Blockchain.Arbitrum | Blockchain.Optimism | Blockchain.Avalanche | Blockchain.Linea | Blockchain.Ink | Blockchain.World_Chain | Blockchain.Unichain | Blockchain.Plume | Blockchain.Sei | Blockchain.Sonic | Blockchain.XDC | Blockchain.HyperEVM | Blockchain.Monad | Blockchain.Arc | Blockchain.Arc_Testnet;
960
+ chain: Blockchain.Ethereum | Blockchain.Base | Blockchain.Polygon | Blockchain.Solana | Blockchain.Arbitrum | Blockchain.Optimism | Blockchain.Avalanche | Blockchain.Linea | Blockchain.Ink | Blockchain.World_Chain | Blockchain.Unichain | Blockchain.Plume | Blockchain.Sei | Blockchain.Sonic | Blockchain.XDC | Blockchain.HyperEVM | Blockchain.Monad | Blockchain.Arc | Blockchain.Cronos | Blockchain.Morph | Blockchain.Arc_Testnet;
959
961
  };
960
962
  /**
961
963
  * Chain identifier accepted by swap operations.
@@ -6975,7 +6977,7 @@ interface ServiceSwapConfig {
6975
6977
  *
6976
6978
  * @defaultValue true
6977
6979
  */
6978
- batchTransactions?: boolean;
6980
+ batchTransactions?: boolean | undefined;
6979
6981
  }
6980
6982
  /**
6981
6983
  * Parameters for initiating a swap operation through the Stablecoin Service.
@@ -7439,6 +7441,33 @@ interface SwapConfig {
7439
7441
  * `apiKey` is omitted, and `apiKey` takes precedence when both are set.
7440
7442
  */
7441
7443
  kitKey?: string;
7444
+ /**
7445
+ * Enable or disable atomic batched execution of the approval and swap.
7446
+ *
7447
+ * When `true` (or omitted), an EVM swap that needs an on-chain ERC-20
7448
+ * approval submits the approval and the swap as one atomic batch if the
7449
+ * connected wallet supports it (EIP-5792, or a signing strategy that
7450
+ * declares atomic batching). Set to `false` to force the sequential
7451
+ * approve-then-swap flow.
7452
+ *
7453
+ * @remarks
7454
+ * Has no effect on the gasless permit path, native-token swaps, or Solana,
7455
+ * which already execute as a single transaction. USDT input always uses the
7456
+ * sequential path because its allowance must be reset to zero first. The
7457
+ * batched path relies on the wallet's own gas estimation for the swap call;
7458
+ * set `false` if your wallet under-estimates gas for complex routes or
7459
+ * rejects batched calls.
7460
+ *
7461
+ * @defaultValue `undefined` (batching attempted when the wallet supports it)
7462
+ *
7463
+ * @example
7464
+ * ```typescript
7465
+ * const config: SwapConfig = {
7466
+ * batchTransactions: false, // force sequential approve → swap
7467
+ * }
7468
+ * ```
7469
+ */
7470
+ batchTransactions?: boolean | undefined;
7442
7471
  }
7443
7472
  /**
7444
7473
  * Resolved parameters for swap operations after validation and normalization.
@@ -8425,11 +8454,11 @@ interface AppKitContext {
8425
8454
  */
8426
8455
  actions: Record<'bridge' | 'earn' | 'borrow', Record<string, ((payload: unknown) => void)[]>>;
8427
8456
  /**
8428
- * Disable success analytics for the underlying EarnKit, SwapKit,
8457
+ * Disable success analytics for the underlying BridgeKit, EarnKit, SwapKit,
8429
8458
  * BorrowKit, and UnifiedBalanceKit.
8430
8459
  *
8431
- * When `true`, completed earn, swap, borrow, and unified balance operations
8432
- * will not POST analytics events. This does not disable error reporting; use
8460
+ * When `true`, completed bridge, earn, swap, borrow, and unified balance
8461
+ * operations will not POST analytics events. This does not disable error reporting; use
8433
8462
  * {@link AppKitContext.disableErrorReporting} for that. Defaults to `false`.
8434
8463
  *
8435
8464
  * @defaultValue false
package/bridge.d.mts CHANGED
@@ -899,10 +899,10 @@ declare enum Blockchain {
899
899
  *
900
900
  * Unlike the full {@link Blockchain} enum, SwapChain includes mainnet
901
901
  * networks and explicitly whitelisted testnets (e.g., {@link Arc_Testnet})
902
- * where adapter contracts are deployed (CCTPv2 support).
902
+ * where Adapter contracts are deployed.
903
903
  *
904
904
  * Dynamic validation via {@link isSwapSupportedChain} ensures chains
905
- * automatically work when adapter contracts and supported tokens are deployed.
905
+ * automatically work when Adapter contracts and supported tokens are deployed.
906
906
  *
907
907
  * @example
908
908
  * ```typescript
@@ -942,20 +942,22 @@ declare enum SwapChain {
942
942
  HyperEVM = "HyperEVM",
943
943
  Monad = "Monad",
944
944
  Arc = "Arc",
945
+ Cronos = "Cronos",
946
+ Morph = "Morph",
945
947
  Arc_Testnet = "Arc_Testnet"
946
948
  }
947
949
  /**
948
950
  * Chain definition that supports swap operations.
949
951
  *
950
952
  * @remarks
951
- * Expanded from 4 to ~18 supported chains based on:
952
- * - CCTPv2 support (adapter contract deployed)
953
+ * Expanded from 4 to supported mainnets and whitelisted testnets based on:
954
+ * - A deployed Adapter contract, configured directly or through CCTP v2
953
955
  * - Mainnet chains plus whitelisted testnets (e.g., Arc Testnet)
954
956
  *
955
957
  * Use `isSwapSupportedChain()` for runtime validation.
956
958
  */
957
959
  type SwapChainDefinition = ChainDefinition & {
958
- chain: Blockchain.Ethereum | Blockchain.Base | Blockchain.Polygon | Blockchain.Solana | Blockchain.Arbitrum | Blockchain.Optimism | Blockchain.Avalanche | Blockchain.Linea | Blockchain.Ink | Blockchain.World_Chain | Blockchain.Unichain | Blockchain.Plume | Blockchain.Sei | Blockchain.Sonic | Blockchain.XDC | Blockchain.HyperEVM | Blockchain.Monad | Blockchain.Arc | Blockchain.Arc_Testnet;
960
+ chain: Blockchain.Ethereum | Blockchain.Base | Blockchain.Polygon | Blockchain.Solana | Blockchain.Arbitrum | Blockchain.Optimism | Blockchain.Avalanche | Blockchain.Linea | Blockchain.Ink | Blockchain.World_Chain | Blockchain.Unichain | Blockchain.Plume | Blockchain.Sei | Blockchain.Sonic | Blockchain.XDC | Blockchain.HyperEVM | Blockchain.Monad | Blockchain.Arc | Blockchain.Cronos | Blockchain.Morph | Blockchain.Arc_Testnet;
959
961
  };
960
962
  /**
961
963
  * Chain identifier accepted by swap operations.
@@ -6975,7 +6977,7 @@ interface ServiceSwapConfig {
6975
6977
  *
6976
6978
  * @defaultValue true
6977
6979
  */
6978
- batchTransactions?: boolean;
6980
+ batchTransactions?: boolean | undefined;
6979
6981
  }
6980
6982
  /**
6981
6983
  * Parameters for initiating a swap operation through the Stablecoin Service.
@@ -7439,6 +7441,33 @@ interface SwapConfig {
7439
7441
  * `apiKey` is omitted, and `apiKey` takes precedence when both are set.
7440
7442
  */
7441
7443
  kitKey?: string;
7444
+ /**
7445
+ * Enable or disable atomic batched execution of the approval and swap.
7446
+ *
7447
+ * When `true` (or omitted), an EVM swap that needs an on-chain ERC-20
7448
+ * approval submits the approval and the swap as one atomic batch if the
7449
+ * connected wallet supports it (EIP-5792, or a signing strategy that
7450
+ * declares atomic batching). Set to `false` to force the sequential
7451
+ * approve-then-swap flow.
7452
+ *
7453
+ * @remarks
7454
+ * Has no effect on the gasless permit path, native-token swaps, or Solana,
7455
+ * which already execute as a single transaction. USDT input always uses the
7456
+ * sequential path because its allowance must be reset to zero first. The
7457
+ * batched path relies on the wallet's own gas estimation for the swap call;
7458
+ * set `false` if your wallet under-estimates gas for complex routes or
7459
+ * rejects batched calls.
7460
+ *
7461
+ * @defaultValue `undefined` (batching attempted when the wallet supports it)
7462
+ *
7463
+ * @example
7464
+ * ```typescript
7465
+ * const config: SwapConfig = {
7466
+ * batchTransactions: false, // force sequential approve → swap
7467
+ * }
7468
+ * ```
7469
+ */
7470
+ batchTransactions?: boolean | undefined;
7442
7471
  }
7443
7472
  /**
7444
7473
  * Resolved parameters for swap operations after validation and normalization.
@@ -8425,11 +8454,11 @@ interface AppKitContext {
8425
8454
  */
8426
8455
  actions: Record<'bridge' | 'earn' | 'borrow', Record<string, ((payload: unknown) => void)[]>>;
8427
8456
  /**
8428
- * Disable success analytics for the underlying EarnKit, SwapKit,
8457
+ * Disable success analytics for the underlying BridgeKit, EarnKit, SwapKit,
8429
8458
  * BorrowKit, and UnifiedBalanceKit.
8430
8459
  *
8431
- * When `true`, completed earn, swap, borrow, and unified balance operations
8432
- * will not POST analytics events. This does not disable error reporting; use
8460
+ * When `true`, completed bridge, earn, swap, borrow, and unified balance
8461
+ * operations will not POST analytics events. This does not disable error reporting; use
8433
8462
  * {@link AppKitContext.disableErrorReporting} for that. Defaults to `false`.
8434
8463
  *
8435
8464
  * @defaultValue false
package/bridge.d.ts CHANGED
@@ -899,10 +899,10 @@ declare enum Blockchain {
899
899
  *
900
900
  * Unlike the full {@link Blockchain} enum, SwapChain includes mainnet
901
901
  * networks and explicitly whitelisted testnets (e.g., {@link Arc_Testnet})
902
- * where adapter contracts are deployed (CCTPv2 support).
902
+ * where Adapter contracts are deployed.
903
903
  *
904
904
  * Dynamic validation via {@link isSwapSupportedChain} ensures chains
905
- * automatically work when adapter contracts and supported tokens are deployed.
905
+ * automatically work when Adapter contracts and supported tokens are deployed.
906
906
  *
907
907
  * @example
908
908
  * ```typescript
@@ -942,20 +942,22 @@ declare enum SwapChain {
942
942
  HyperEVM = "HyperEVM",
943
943
  Monad = "Monad",
944
944
  Arc = "Arc",
945
+ Cronos = "Cronos",
946
+ Morph = "Morph",
945
947
  Arc_Testnet = "Arc_Testnet"
946
948
  }
947
949
  /**
948
950
  * Chain definition that supports swap operations.
949
951
  *
950
952
  * @remarks
951
- * Expanded from 4 to ~18 supported chains based on:
952
- * - CCTPv2 support (adapter contract deployed)
953
+ * Expanded from 4 to supported mainnets and whitelisted testnets based on:
954
+ * - A deployed Adapter contract, configured directly or through CCTP v2
953
955
  * - Mainnet chains plus whitelisted testnets (e.g., Arc Testnet)
954
956
  *
955
957
  * Use `isSwapSupportedChain()` for runtime validation.
956
958
  */
957
959
  type SwapChainDefinition = ChainDefinition & {
958
- chain: Blockchain.Ethereum | Blockchain.Base | Blockchain.Polygon | Blockchain.Solana | Blockchain.Arbitrum | Blockchain.Optimism | Blockchain.Avalanche | Blockchain.Linea | Blockchain.Ink | Blockchain.World_Chain | Blockchain.Unichain | Blockchain.Plume | Blockchain.Sei | Blockchain.Sonic | Blockchain.XDC | Blockchain.HyperEVM | Blockchain.Monad | Blockchain.Arc | Blockchain.Arc_Testnet;
960
+ chain: Blockchain.Ethereum | Blockchain.Base | Blockchain.Polygon | Blockchain.Solana | Blockchain.Arbitrum | Blockchain.Optimism | Blockchain.Avalanche | Blockchain.Linea | Blockchain.Ink | Blockchain.World_Chain | Blockchain.Unichain | Blockchain.Plume | Blockchain.Sei | Blockchain.Sonic | Blockchain.XDC | Blockchain.HyperEVM | Blockchain.Monad | Blockchain.Arc | Blockchain.Cronos | Blockchain.Morph | Blockchain.Arc_Testnet;
959
961
  };
960
962
  /**
961
963
  * Chain identifier accepted by swap operations.
@@ -6975,7 +6977,7 @@ interface ServiceSwapConfig {
6975
6977
  *
6976
6978
  * @defaultValue true
6977
6979
  */
6978
- batchTransactions?: boolean;
6980
+ batchTransactions?: boolean | undefined;
6979
6981
  }
6980
6982
  /**
6981
6983
  * Parameters for initiating a swap operation through the Stablecoin Service.
@@ -7439,6 +7441,33 @@ interface SwapConfig {
7439
7441
  * `apiKey` is omitted, and `apiKey` takes precedence when both are set.
7440
7442
  */
7441
7443
  kitKey?: string;
7444
+ /**
7445
+ * Enable or disable atomic batched execution of the approval and swap.
7446
+ *
7447
+ * When `true` (or omitted), an EVM swap that needs an on-chain ERC-20
7448
+ * approval submits the approval and the swap as one atomic batch if the
7449
+ * connected wallet supports it (EIP-5792, or a signing strategy that
7450
+ * declares atomic batching). Set to `false` to force the sequential
7451
+ * approve-then-swap flow.
7452
+ *
7453
+ * @remarks
7454
+ * Has no effect on the gasless permit path, native-token swaps, or Solana,
7455
+ * which already execute as a single transaction. USDT input always uses the
7456
+ * sequential path because its allowance must be reset to zero first. The
7457
+ * batched path relies on the wallet's own gas estimation for the swap call;
7458
+ * set `false` if your wallet under-estimates gas for complex routes or
7459
+ * rejects batched calls.
7460
+ *
7461
+ * @defaultValue `undefined` (batching attempted when the wallet supports it)
7462
+ *
7463
+ * @example
7464
+ * ```typescript
7465
+ * const config: SwapConfig = {
7466
+ * batchTransactions: false, // force sequential approve → swap
7467
+ * }
7468
+ * ```
7469
+ */
7470
+ batchTransactions?: boolean | undefined;
7442
7471
  }
7443
7472
  /**
7444
7473
  * Resolved parameters for swap operations after validation and normalization.
@@ -8425,11 +8454,11 @@ interface AppKitContext {
8425
8454
  */
8426
8455
  actions: Record<'bridge' | 'earn' | 'borrow', Record<string, ((payload: unknown) => void)[]>>;
8427
8456
  /**
8428
- * Disable success analytics for the underlying EarnKit, SwapKit,
8457
+ * Disable success analytics for the underlying BridgeKit, EarnKit, SwapKit,
8429
8458
  * BorrowKit, and UnifiedBalanceKit.
8430
8459
  *
8431
- * When `true`, completed earn, swap, borrow, and unified balance operations
8432
- * will not POST analytics events. This does not disable error reporting; use
8460
+ * When `true`, completed bridge, earn, swap, borrow, and unified balance
8461
+ * operations will not POST analytics events. This does not disable error reporting; use
8433
8462
  * {@link AppKitContext.disableErrorReporting} for that. Defaults to `false`.
8434
8463
  *
8435
8464
  * @defaultValue false