@circle-fin/app-kit 1.16.0 → 1.17.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/context.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.
@@ -6733,7 +6735,7 @@ interface ServiceSwapConfig {
6733
6735
  *
6734
6736
  * @defaultValue true
6735
6737
  */
6736
- batchTransactions?: boolean;
6738
+ batchTransactions?: boolean | undefined;
6737
6739
  }
6738
6740
  /**
6739
6741
  * Parameters for initiating a swap operation through the Stablecoin Service.
@@ -7197,6 +7199,33 @@ interface SwapConfig {
7197
7199
  * `apiKey` is omitted, and `apiKey` takes precedence when both are set.
7198
7200
  */
7199
7201
  kitKey?: string;
7202
+ /**
7203
+ * Enable or disable atomic batched execution of the approval and swap.
7204
+ *
7205
+ * When `true` (or omitted), an EVM swap that needs an on-chain ERC-20
7206
+ * approval submits the approval and the swap as one atomic batch if the
7207
+ * connected wallet supports it (EIP-5792, or a signing strategy that
7208
+ * declares atomic batching). Set to `false` to force the sequential
7209
+ * approve-then-swap flow.
7210
+ *
7211
+ * @remarks
7212
+ * Has no effect on the gasless permit path, native-token swaps, or Solana,
7213
+ * which already execute as a single transaction. USDT input always uses the
7214
+ * sequential path because its allowance must be reset to zero first. The
7215
+ * batched path relies on the wallet's own gas estimation for the swap call;
7216
+ * set `false` if your wallet under-estimates gas for complex routes or
7217
+ * rejects batched calls.
7218
+ *
7219
+ * @defaultValue `undefined` (batching attempted when the wallet supports it)
7220
+ *
7221
+ * @example
7222
+ * ```typescript
7223
+ * const config: SwapConfig = {
7224
+ * batchTransactions: false, // force sequential approve → swap
7225
+ * }
7226
+ * ```
7227
+ */
7228
+ batchTransactions?: boolean | undefined;
7200
7229
  }
7201
7230
  /**
7202
7231
  * Resolved parameters for swap operations after validation and normalization.
package/context.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.
@@ -6733,7 +6735,7 @@ interface ServiceSwapConfig {
6733
6735
  *
6734
6736
  * @defaultValue true
6735
6737
  */
6736
- batchTransactions?: boolean;
6738
+ batchTransactions?: boolean | undefined;
6737
6739
  }
6738
6740
  /**
6739
6741
  * Parameters for initiating a swap operation through the Stablecoin Service.
@@ -7197,6 +7199,33 @@ interface SwapConfig {
7197
7199
  * `apiKey` is omitted, and `apiKey` takes precedence when both are set.
7198
7200
  */
7199
7201
  kitKey?: string;
7202
+ /**
7203
+ * Enable or disable atomic batched execution of the approval and swap.
7204
+ *
7205
+ * When `true` (or omitted), an EVM swap that needs an on-chain ERC-20
7206
+ * approval submits the approval and the swap as one atomic batch if the
7207
+ * connected wallet supports it (EIP-5792, or a signing strategy that
7208
+ * declares atomic batching). Set to `false` to force the sequential
7209
+ * approve-then-swap flow.
7210
+ *
7211
+ * @remarks
7212
+ * Has no effect on the gasless permit path, native-token swaps, or Solana,
7213
+ * which already execute as a single transaction. USDT input always uses the
7214
+ * sequential path because its allowance must be reset to zero first. The
7215
+ * batched path relies on the wallet's own gas estimation for the swap call;
7216
+ * set `false` if your wallet under-estimates gas for complex routes or
7217
+ * rejects batched calls.
7218
+ *
7219
+ * @defaultValue `undefined` (batching attempted when the wallet supports it)
7220
+ *
7221
+ * @example
7222
+ * ```typescript
7223
+ * const config: SwapConfig = {
7224
+ * batchTransactions: false, // force sequential approve → swap
7225
+ * }
7226
+ * ```
7227
+ */
7228
+ batchTransactions?: boolean | undefined;
7200
7229
  }
7201
7230
  /**
7202
7231
  * Resolved parameters for swap operations after validation and normalization.