@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/index.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.
@@ -1564,7 +1566,7 @@ declare const ArcTestnet: {
1564
1566
  readonly chainId: 5042002;
1565
1567
  readonly isTestnet: true;
1566
1568
  readonly explorerUrl: "https://testnet.arcscan.app/tx/{hash}";
1567
- readonly rpcEndpoints: readonly ["https://rpc.testnet.arc.network/"];
1569
+ readonly rpcEndpoints: readonly ["https://rpc.testnet.arc.io"];
1568
1570
  readonly eurcAddress: "0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a";
1569
1571
  readonly usdcAddress: "0x3600000000000000000000000000000000000000";
1570
1572
  readonly usdtAddress: null;
@@ -2195,6 +2197,7 @@ declare const Cronos: {
2195
2197
  };
2196
2198
  readonly kitContracts: {
2197
2199
  readonly bridge: "0xB3FA262d0fB521cc93bE83d87b322b8A23DAf3F0";
2200
+ readonly adapter: "0x7FB8c7260b63934d8da38aF902f87ae6e284a845";
2198
2201
  };
2199
2202
  };
2200
2203
 
@@ -3043,6 +3046,7 @@ declare const Morph: {
3043
3046
  };
3044
3047
  readonly kitContracts: {
3045
3048
  readonly bridge: "0xB3FA262d0fB521cc93bE83d87b322b8A23DAf3F0";
3049
+ readonly adapter: "0x7FB8c7260b63934d8da38aF902f87ae6e284a845";
3046
3050
  };
3047
3051
  };
3048
3052
 
@@ -8834,7 +8838,7 @@ declare const ServiceError: {
8834
8838
  * between input errors (fix your request) and service errors (retry later).
8835
8839
  *
8836
8840
  * Error code ranges:
8837
- * - 1100-1106: INPUT errors — invalid, unsupported, or stale request state
8841
+ * - 1100-1107: INPUT errors — invalid, unsupported, or stale request state
8838
8842
  * - 8100-8105: SERVICE errors — retryable backend/provider failures
8839
8843
  *
8840
8844
  * @example
@@ -8903,6 +8907,16 @@ declare const EarnError: {
8903
8907
  readonly name: "EARN_BRIDGE_QUOTE_EXPIRED";
8904
8908
  readonly type: ErrorType;
8905
8909
  };
8910
+ /**
8911
+ * The wallet's vault shares are inside the vault's share lock period, which
8912
+ * starts at deposit. Surfaced as FATAL rather than RETRYABLE because the
8913
+ * lock can last hours, so an immediate retry fails the same way.
8914
+ */
8915
+ readonly SHARES_LOCKED: {
8916
+ readonly code: 1107;
8917
+ readonly name: "EARN_SHARES_LOCKED";
8918
+ readonly type: ErrorType;
8919
+ };
8906
8920
  /** The proxy signing call failed — retryable. */
8907
8921
  readonly SIGNING_FAILED: {
8908
8922
  readonly code: 8100;
@@ -13226,6 +13240,25 @@ interface CCTPXTokenDeployment {
13226
13240
  * the same reason as {@link CCTPXTokenDeployment.tokenAddress}.
13227
13241
  */
13228
13242
  tokenManagerAddress: string;
13243
+ /**
13244
+ * Operator-controlled per-chain kill switch, surfaced by IRIS as of CCTPE-3979.
13245
+ *
13246
+ * - `true` or absent → the deployment is routable (back-compat with older IRIS
13247
+ * versions that do not return the field).
13248
+ * - `false` → an operator has disabled this `(tokenId, domainId)` for CCTPx
13249
+ * transfer quotes. {@link findCCTPXDeployment} skips the row, so bridging
13250
+ * providers treat the chain as un-deployed for route-selection purposes.
13251
+ *
13252
+ * This field is purely informational for SDK consumers — route gating is
13253
+ * applied internally. Expect it to flip without warning in response to
13254
+ * incidents or operator policy; cache it with the same lifetime as the
13255
+ * registry response, not longer.
13256
+ *
13257
+ * The `| undefined` in the type is required by `exactOptionalPropertyTypes`
13258
+ * so Zod's `z.boolean().optional()` inferred shape assigns through this
13259
+ * interface without a cast.
13260
+ */
13261
+ enabled?: boolean | undefined;
13229
13262
  }
13230
13263
  /** One CCTPx token from the IRIS registry, including all its per-chain deployments. */
13231
13264
  interface CCTPXToken {
@@ -15871,6 +15904,20 @@ declare class CCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> imp
15871
15904
  * ```
15872
15905
  */
15873
15906
  bridge<TFromAdapterCapabilities extends AdapterCapabilities, TToAdapterCapabilities extends AdapterCapabilities>(params: CCTPV2BridgeParams<TFromAdapterCapabilities, TToAdapterCapabilities>): Promise<BridgeResult>;
15907
+ /**
15908
+ * Reject a forwarded transfer to Solana whose amount does not exceed the fee.
15909
+ *
15910
+ * CCTP v2 reverts a burn whose `maxFee` is not less than its amount, and the Solana
15911
+ * forwarding fee includes the recipient token account rent. Checking before the
15912
+ * approval avoids sending a transaction that can never be followed by a burn.
15913
+ * Skipped when the caller provides `config.maxFee`.
15914
+ *
15915
+ * @param params - The validated CCTP v2 bridge parameters.
15916
+ * @returns A promise that resolves when the amount covers the fee.
15917
+ * @throws {KitError} INPUT_INVALID_AMOUNT (FATAL) when the fee is greater than or equal
15918
+ * to the amount.
15919
+ */
15920
+ private assertAmountCoversRecipientSetupFee;
15874
15921
  /**
15875
15922
  * Retry a failed or incomplete CCTP v2 bridge operation.
15876
15923
  *
@@ -16278,6 +16325,9 @@ declare class CCTPV2BridgingProvider extends BridgingProvider<CCTPV2Actions> imp
16278
16325
  * | FAST | true | No | maxFee = calculatedBurnFee + forwardingFee |
16279
16326
  * | FAST | true | Yes | maxFee = config.maxFee |
16280
16327
  *
16328
+ * For forwarded burns to Solana, the forwarding fee includes the rent for creating the
16329
+ * recipient's token account. A caller-provided `maxFee` must cover it too.
16330
+ *
16281
16331
  * @param params - The bridge parameters object containing:
16282
16332
  * - `source`: The source wallet context with chain definition and adapter
16283
16333
  * - `destination`: The destination wallet context with chain definition and adapter
@@ -16570,6 +16620,18 @@ interface BridgeKitConfig<TExtraProviders extends FlexibleBridgingProvider[] = [
16570
16620
  * @defaultValue false
16571
16621
  */
16572
16622
  disableErrorReporting?: boolean;
16623
+ /**
16624
+ * Disable success analytics.
16625
+ *
16626
+ * When `true`, the SDK will not POST an event when `bridge()` or `retry()`
16627
+ * completes a transfer. The event carries the source and destination
16628
+ * chains, token, amount, and source transaction hash. It never includes
16629
+ * wallet addresses or keys. This does not disable error reporting; use
16630
+ * {@link BridgeKitConfig.disableErrorReporting} for that.
16631
+ *
16632
+ * @defaultValue false
16633
+ */
16634
+ disableAnalytics?: boolean;
16573
16635
  /**
16574
16636
  * Custom HTTP headers forwarded with the default providers' attestation
16575
16637
  * (Iris) API requests — both `CCTPV2BridgingProvider` (USDC routes) and
@@ -16757,6 +16819,11 @@ declare class BridgeKit<TExtraProviders extends FlexibleBridgingProvider[] = []>
16757
16819
  private readonly disableErrorReporting;
16758
16820
  /** Per-kit telemetry identity for shared helpers. */
16759
16821
  private readonly telemetryConfig;
16822
+ /**
16823
+ * Per-kit telemetry identity for success events. Gated by `disableAnalytics`
16824
+ * independently of `disableErrorReporting`.
16825
+ */
16826
+ private readonly analyticsTelemetryConfig;
16760
16827
  /**
16761
16828
  * Create a new BridgeKit instance.
16762
16829
  *
@@ -17249,6 +17316,229 @@ declare class BridgeKit<TExtraProviders extends FlexibleBridgingProvider[] = []>
17249
17316
  removeCustomFeePolicy(): void;
17250
17317
  }
17251
17318
 
17319
+ /** Token metadata for one side of a swap route step. */
17320
+ interface SwapRouteToken {
17321
+ readonly symbol: string;
17322
+ readonly address: string;
17323
+ readonly decimals: number;
17324
+ }
17325
+ /** Amount estimates for a swap route step, expressed in base units. */
17326
+ interface SwapRouteStepEstimate {
17327
+ readonly fromAmount: string;
17328
+ readonly toAmount: string;
17329
+ readonly gasCostUSD?: string;
17330
+ }
17331
+ /** A single swap or bridge hop selected by the route provider. */
17332
+ interface SwapRouteStep {
17333
+ /** Hop kind, for example `swap` or `bridge`. */
17334
+ readonly type: string;
17335
+ /** Protocol identifier, for example `cctp-v2`. */
17336
+ readonly tool: string;
17337
+ /** Display name for {@link SwapRouteStep.tool}. */
17338
+ readonly toolName: string;
17339
+ readonly fromToken: SwapRouteToken;
17340
+ readonly toToken: SwapRouteToken;
17341
+ readonly estimate: SwapRouteStepEstimate;
17342
+ /** Provider-specific details that are not part of the stable step shape. */
17343
+ readonly metadata?: Readonly<Record<string, unknown>>;
17344
+ }
17345
+ /** Provider and executable hops selected for a swap. */
17346
+ interface SwapRoute {
17347
+ /**
17348
+ * Provider that routed the swap, for example `lifi` or `circle`. Treat as
17349
+ * an opaque identifier; new providers can appear without an SDK release.
17350
+ */
17351
+ readonly provider: string;
17352
+ readonly steps: readonly SwapRouteStep[];
17353
+ /** Provider-specific details that are not part of the stable route shape. */
17354
+ readonly metadata?: Readonly<Record<string, unknown>>;
17355
+ }
17356
+ /**
17357
+ * Latest cached USD rate for a single (chain, token) pair, as written by the
17358
+ * Stablecoin Service's `token-rate-update` cron.
17359
+ *
17360
+ * @remarks
17361
+ * The cron refreshes entries once per minute and they expire after 15 minutes
17362
+ * of staleness. Inspect {@link TokenRate.fetchedAt} when freshness matters —
17363
+ * a value older than a few minutes likely means the upstream provider was
17364
+ * unreachable on the most recent run.
17365
+ *
17366
+ * @example
17367
+ * ```typescript
17368
+ * const rate: TokenRate = { priceUSD: '1.0001', fetchedAt: 1716240000000 }
17369
+ * const ageMs = Date.now() - rate.fetchedAt
17370
+ * ```
17371
+ */
17372
+ interface TokenRate {
17373
+ /**
17374
+ * USD price as reported by the upstream provider.
17375
+ *
17376
+ * Returned as a string to preserve precision — parse with `Number` or a
17377
+ * decimal library depending on how much precision callers need.
17378
+ */
17379
+ readonly priceUSD: string;
17380
+ /**
17381
+ * Unix timestamp in milliseconds at which the price was fetched from the
17382
+ * upstream provider.
17383
+ */
17384
+ readonly fetchedAt: number;
17385
+ /**
17386
+ * On-chain decimal precision of the token, when the upstream provider
17387
+ * reports it. Absent for tokens the provider has not catalogued.
17388
+ *
17389
+ * Use it to convert a raw base-unit balance into a human amount before
17390
+ * multiplying by `priceUSD`: `balance / 10 ** decimals * Number(priceUSD)`.
17391
+ */
17392
+ readonly decimals?: number;
17393
+ }
17394
+ /**
17395
+ * Response payload from `GET /v1/stablecoinKits/rates`.
17396
+ *
17397
+ * Nested map keyed first by chain name (matching the `Blockchain` enum), then
17398
+ * by token address. Address keys preserve the service's canonical casing:
17399
+ * EVM hex addresses are lowercased, Solana base58 mints are case-preserved.
17400
+ *
17401
+ * @remarks
17402
+ * - A successful call always returns a `rates` object, but it may be empty
17403
+ * when no cached entries are found.
17404
+ * - When `addresses` was supplied, missing addresses are simply absent —
17405
+ * there is no 404 for partial lookups.
17406
+ *
17407
+ * @example
17408
+ * ```typescript
17409
+ * const response: GetTokenRatesResponse = {
17410
+ * rates: {
17411
+ * Ethereum: {
17412
+ * '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48': {
17413
+ * priceUSD: '1.0001',
17414
+ * fetchedAt: 1716240000000,
17415
+ * },
17416
+ * },
17417
+ * },
17418
+ * }
17419
+ * ```
17420
+ */
17421
+ interface GetTokenRatesResponse {
17422
+ /**
17423
+ * Nested map of token rates keyed by `[chain][address]`.
17424
+ *
17425
+ * Always present; may be an empty object when no rates are found.
17426
+ */
17427
+ readonly rates: Readonly<Record<string, Readonly<Record<string, TokenRate>>>>;
17428
+ }
17429
+
17430
+ /**
17431
+ * MOVED, not new. Lifted from providers/earn-service/src/validations/, where the
17432
+ * same mapper existed; borrow-service uses it instead of adding a second copy.
17433
+ */
17434
+
17435
+ /**
17436
+ * A single claimed (or claimable) reward token amount.
17437
+ *
17438
+ * @example
17439
+ * ```typescript
17440
+ * import type { ClaimedAmount } from '@core/service-client'
17441
+ *
17442
+ * const reward: ClaimedAmount = {
17443
+ * address: '0x9994E35Db50125E0DF82e4c2dde62496CE330999',
17444
+ * symbol: 'MORPHO',
17445
+ * amount: Amount.fromJSON({ raw: '12500000000000000000', decimals: 18 }),
17446
+ * }
17447
+ * ```
17448
+ */
17449
+ interface ClaimedAmount$1 {
17450
+ /** Reward token contract address. */
17451
+ readonly address: string;
17452
+ /** Reward token symbol. */
17453
+ readonly symbol: string;
17454
+ /** Claimed (or claimable) amount. */
17455
+ readonly amount: Amount;
17456
+ }
17457
+
17458
+ /**
17459
+ * MOVED, not new. The claim-rewards result types previously declared
17460
+ * identically in providers/earn-service/src/types.ts and
17461
+ * providers/borrow-service/src/types.ts. Both now re-export from here.
17462
+ */
17463
+ /**
17464
+ * Provider-level result types for the claim-rewards contract.
17465
+ *
17466
+ * The claim-rewards contract returns the same shapes to every kit that
17467
+ * consumes it, so these are declared once here rather than per service.
17468
+ *
17469
+ * @packageDocumentation
17470
+ */
17471
+
17472
+ /**
17473
+ * Result returned when no rewards were claimable.
17474
+ *
17475
+ * No transaction is submitted in this case, so there is no hash to report.
17476
+ */
17477
+ interface NoClaimableRewardsResult {
17478
+ /** Discriminant: nothing was claimable. */
17479
+ readonly status: 'no_rewards';
17480
+ /** Always empty. */
17481
+ readonly rewards: readonly [];
17482
+ }
17483
+ /**
17484
+ * Result returned after claimable rewards were submitted on-chain.
17485
+ *
17486
+ * The reward element type is parameterized so a service whose own claimed
17487
+ * amount carries more than the contract-defined fields (e.g.
17488
+ * `@circle-fin/provider-earn-service`, whose `ClaimedAmount` also has
17489
+ * `type`/`status`) can reuse this shape without narrowing `rewards`.
17490
+ *
17491
+ * @typeParam TClaimedAmount - Element type of `rewards`. Defaults to the
17492
+ * contract-defined {@link ClaimedAmount}.
17493
+ *
17494
+ * @example
17495
+ * ```typescript
17496
+ * // Contract-defined rewards.
17497
+ * const claimed: ClaimedRewardsResult = {
17498
+ * status: 'claimed',
17499
+ * rewards: [],
17500
+ * txHash: '0xabc',
17501
+ * explorerUrl: 'https://example.com/tx/0xabc',
17502
+ * }
17503
+ * ```
17504
+ */
17505
+ interface ClaimedRewardsResult$1<TClaimedAmount = ClaimedAmount$1> {
17506
+ /** Discriminant: rewards were claimed. */
17507
+ readonly status: 'claimed';
17508
+ /** Reward token amounts that were claimed. */
17509
+ readonly rewards: readonly TClaimedAmount[];
17510
+ /** Hash of the confirmed claim transaction. */
17511
+ readonly txHash: string;
17512
+ /** Block-explorer URL for {@link ClaimedRewardsResult.txHash}. */
17513
+ readonly explorerUrl: string;
17514
+ }
17515
+ /**
17516
+ * Result of a claim-rewards operation, discriminated on `status`.
17517
+ *
17518
+ * @typeParam TClaimedAmount - Element type of the claimed `rewards`. Defaults
17519
+ * to the contract-defined {@link ClaimedAmount}.
17520
+ *
17521
+ * @example
17522
+ * ```typescript
17523
+ * declare const result: ClaimRewardsResult
17524
+ * if (result.status === 'claimed') {
17525
+ * console.log(result.txHash)
17526
+ * }
17527
+ * ```
17528
+ */
17529
+ type ClaimRewardsResult$1<TClaimedAmount = ClaimedAmount$1> = NoClaimableRewardsResult | ClaimedRewardsResult$1<TClaimedAmount>;
17530
+ /**
17531
+ * Read-only claimable-rewards quote.
17532
+ *
17533
+ * Services may extend this with their own optional fields (e.g. EarnKit
17534
+ * carries an always-empty `gasFees` for symmetry with its other quotes); the
17535
+ * `rewards` list itself is contract-defined and identical everywhere.
17536
+ */
17537
+ interface ClaimRewardsQuoteInfo$1 {
17538
+ /** Reward tokens currently available for claiming. */
17539
+ readonly rewards: readonly ClaimedAmount$1[];
17540
+ }
17541
+
17252
17542
  /**
17253
17543
  * Represents a token amount with its symbol and value.
17254
17544
  *
@@ -17447,7 +17737,7 @@ interface ServiceSwapConfig {
17447
17737
  *
17448
17738
  * @defaultValue true
17449
17739
  */
17450
- batchTransactions?: boolean;
17740
+ batchTransactions?: boolean | undefined;
17451
17741
  }
17452
17742
  /**
17453
17743
  * Parameters for initiating a swap operation through the Stablecoin Service.
@@ -17600,6 +17890,14 @@ interface ServiceSwapFee {
17600
17890
  * addresses are not available from the proxy response.
17601
17891
  */
17602
17892
  readonly recipientAddress?: string;
17893
+ /** Provider-defined fee component (for example `FORWARD`). */
17894
+ readonly component?: string;
17895
+ /**
17896
+ * Chain on which the fee is charged, as reported by the service
17897
+ * (a `Blockchain` value such as `'Ethereum'`). Not validated
17898
+ * against the `Blockchain` enum.
17899
+ */
17900
+ readonly chain?: string;
17603
17901
  }
17604
17902
  /**
17605
17903
  * Result from estimating a swap operation through the Stablecoin Service.
@@ -17662,6 +17960,8 @@ interface EstimateResult {
17662
17960
  * and kit fees (if configured). Amounts are in decimal format for display.
17663
17961
  */
17664
17962
  readonly fees?: readonly ServiceSwapFee[];
17963
+ /** Provider and executable hops selected for the swap. */
17964
+ readonly route?: SwapRoute;
17665
17965
  }
17666
17966
  /**
17667
17967
  * Individual executed transaction in a swap operation.
@@ -17799,6 +18099,8 @@ interface SwapResult$1 {
17799
18099
  * fees (charged by the DEX aggregator/protocol) and kit fees.
17800
18100
  */
17801
18101
  readonly fees?: readonly ServiceSwapFee[];
18102
+ /** Provider and executable hops selected for the swap. */
18103
+ readonly route?: SwapRoute;
17802
18104
  /**
17803
18105
  * Lifecycle snapshot: `status`, `substatus`, and `substatusMessage`.
17804
18106
  *
@@ -17985,192 +18287,6 @@ interface SwappingProvider {
17985
18287
  swap<TFromAdapterCapabilities extends AdapterCapabilities>(params: ServiceSwapParams<TFromAdapterCapabilities>): Promise<SwapResult$1>;
17986
18288
  }
17987
18289
 
17988
- /**
17989
- * Latest cached USD rate for a single (chain, token) pair, as written by the
17990
- * Stablecoin Service's `token-rate-update` cron.
17991
- *
17992
- * @remarks
17993
- * The cron refreshes entries once per minute and they expire after 15 minutes
17994
- * of staleness. Inspect {@link TokenRate.fetchedAt} when freshness matters —
17995
- * a value older than a few minutes likely means the upstream provider was
17996
- * unreachable on the most recent run.
17997
- *
17998
- * @example
17999
- * ```typescript
18000
- * const rate: TokenRate = { priceUSD: '1.0001', fetchedAt: 1716240000000 }
18001
- * const ageMs = Date.now() - rate.fetchedAt
18002
- * ```
18003
- */
18004
- interface TokenRate {
18005
- /**
18006
- * USD price as reported by the upstream provider.
18007
- *
18008
- * Returned as a string to preserve precision — parse with `Number` or a
18009
- * decimal library depending on how much precision callers need.
18010
- */
18011
- readonly priceUSD: string;
18012
- /**
18013
- * Unix timestamp in milliseconds at which the price was fetched from the
18014
- * upstream provider.
18015
- */
18016
- readonly fetchedAt: number;
18017
- /**
18018
- * On-chain decimal precision of the token, when the upstream provider
18019
- * reports it. Absent for tokens the provider has not catalogued.
18020
- *
18021
- * Use it to convert a raw base-unit balance into a human amount before
18022
- * multiplying by `priceUSD`: `balance / 10 ** decimals * Number(priceUSD)`.
18023
- */
18024
- readonly decimals?: number;
18025
- }
18026
- /**
18027
- * Response payload from `GET /v1/stablecoinKits/rates`.
18028
- *
18029
- * Nested map keyed first by chain name (matching the `Blockchain` enum), then
18030
- * by token address. Address keys preserve the service's canonical casing:
18031
- * EVM hex addresses are lowercased, Solana base58 mints are case-preserved.
18032
- *
18033
- * @remarks
18034
- * - A successful call always returns a `rates` object, but it may be empty
18035
- * when no cached entries are found.
18036
- * - When `addresses` was supplied, missing addresses are simply absent —
18037
- * there is no 404 for partial lookups.
18038
- *
18039
- * @example
18040
- * ```typescript
18041
- * const response: GetTokenRatesResponse = {
18042
- * rates: {
18043
- * Ethereum: {
18044
- * '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48': {
18045
- * priceUSD: '1.0001',
18046
- * fetchedAt: 1716240000000,
18047
- * },
18048
- * },
18049
- * },
18050
- * }
18051
- * ```
18052
- */
18053
- interface GetTokenRatesResponse {
18054
- /**
18055
- * Nested map of token rates keyed by `[chain][address]`.
18056
- *
18057
- * Always present; may be an empty object when no rates are found.
18058
- */
18059
- readonly rates: Readonly<Record<string, Readonly<Record<string, TokenRate>>>>;
18060
- }
18061
-
18062
- /**
18063
- * MOVED, not new. Lifted from providers/earn-service/src/validations/, where the
18064
- * same mapper existed; borrow-service uses it instead of adding a second copy.
18065
- */
18066
-
18067
- /**
18068
- * A single claimed (or claimable) reward token amount.
18069
- *
18070
- * @example
18071
- * ```typescript
18072
- * import type { ClaimedAmount } from '@core/service-client'
18073
- *
18074
- * const reward: ClaimedAmount = {
18075
- * address: '0x9994E35Db50125E0DF82e4c2dde62496CE330999',
18076
- * symbol: 'MORPHO',
18077
- * amount: Amount.fromJSON({ raw: '12500000000000000000', decimals: 18 }),
18078
- * }
18079
- * ```
18080
- */
18081
- interface ClaimedAmount$1 {
18082
- /** Reward token contract address. */
18083
- readonly address: string;
18084
- /** Reward token symbol. */
18085
- readonly symbol: string;
18086
- /** Claimed (or claimable) amount. */
18087
- readonly amount: Amount;
18088
- }
18089
-
18090
- /**
18091
- * MOVED, not new. The claim-rewards result types previously declared
18092
- * identically in providers/earn-service/src/types.ts and
18093
- * providers/borrow-service/src/types.ts. Both now re-export from here.
18094
- */
18095
- /**
18096
- * Provider-level result types for the claim-rewards contract.
18097
- *
18098
- * The claim-rewards contract returns the same shapes to every kit that
18099
- * consumes it, so these are declared once here rather than per service.
18100
- *
18101
- * @packageDocumentation
18102
- */
18103
-
18104
- /**
18105
- * Result returned when no rewards were claimable.
18106
- *
18107
- * No transaction is submitted in this case, so there is no hash to report.
18108
- */
18109
- interface NoClaimableRewardsResult {
18110
- /** Discriminant: nothing was claimable. */
18111
- readonly status: 'no_rewards';
18112
- /** Always empty. */
18113
- readonly rewards: readonly [];
18114
- }
18115
- /**
18116
- * Result returned after claimable rewards were submitted on-chain.
18117
- *
18118
- * The reward element type is parameterized so a service whose own claimed
18119
- * amount carries more than the contract-defined fields (e.g.
18120
- * `@circle-fin/provider-earn-service`, whose `ClaimedAmount` also has
18121
- * `type`/`status`) can reuse this shape without narrowing `rewards`.
18122
- *
18123
- * @typeParam TClaimedAmount - Element type of `rewards`. Defaults to the
18124
- * contract-defined {@link ClaimedAmount}.
18125
- *
18126
- * @example
18127
- * ```typescript
18128
- * // Contract-defined rewards.
18129
- * const claimed: ClaimedRewardsResult = {
18130
- * status: 'claimed',
18131
- * rewards: [],
18132
- * txHash: '0xabc',
18133
- * explorerUrl: 'https://example.com/tx/0xabc',
18134
- * }
18135
- * ```
18136
- */
18137
- interface ClaimedRewardsResult$1<TClaimedAmount = ClaimedAmount$1> {
18138
- /** Discriminant: rewards were claimed. */
18139
- readonly status: 'claimed';
18140
- /** Reward token amounts that were claimed. */
18141
- readonly rewards: readonly TClaimedAmount[];
18142
- /** Hash of the confirmed claim transaction. */
18143
- readonly txHash: string;
18144
- /** Block-explorer URL for {@link ClaimedRewardsResult.txHash}. */
18145
- readonly explorerUrl: string;
18146
- }
18147
- /**
18148
- * Result of a claim-rewards operation, discriminated on `status`.
18149
- *
18150
- * @typeParam TClaimedAmount - Element type of the claimed `rewards`. Defaults
18151
- * to the contract-defined {@link ClaimedAmount}.
18152
- *
18153
- * @example
18154
- * ```typescript
18155
- * declare const result: ClaimRewardsResult
18156
- * if (result.status === 'claimed') {
18157
- * console.log(result.txHash)
18158
- * }
18159
- * ```
18160
- */
18161
- type ClaimRewardsResult$1<TClaimedAmount = ClaimedAmount$1> = NoClaimableRewardsResult | ClaimedRewardsResult$1<TClaimedAmount>;
18162
- /**
18163
- * Read-only claimable-rewards quote.
18164
- *
18165
- * Services may extend this with their own optional fields (e.g. EarnKit
18166
- * carries an always-empty `gasFees` for symmetry with its other quotes); the
18167
- * `rewards` list itself is contract-defined and identical everywhere.
18168
- */
18169
- interface ClaimRewardsQuoteInfo$1 {
18170
- /** Reward tokens currently available for claiming. */
18171
- readonly rewards: readonly ClaimedAmount$1[];
18172
- }
18173
-
18174
18290
  /**
18175
18291
  * A type alias that enables flexible provider type handling.
18176
18292
  *
@@ -18543,6 +18659,33 @@ interface SwapConfig {
18543
18659
  * `apiKey` is omitted, and `apiKey` takes precedence when both are set.
18544
18660
  */
18545
18661
  kitKey?: string;
18662
+ /**
18663
+ * Enable or disable atomic batched execution of the approval and swap.
18664
+ *
18665
+ * When `true` (or omitted), an EVM swap that needs an on-chain ERC-20
18666
+ * approval submits the approval and the swap as one atomic batch if the
18667
+ * connected wallet supports it (EIP-5792, or a signing strategy that
18668
+ * declares atomic batching). Set to `false` to force the sequential
18669
+ * approve-then-swap flow.
18670
+ *
18671
+ * @remarks
18672
+ * Has no effect on the gasless permit path, native-token swaps, or Solana,
18673
+ * which already execute as a single transaction. USDT input always uses the
18674
+ * sequential path because its allowance must be reset to zero first. The
18675
+ * batched path relies on the wallet's own gas estimation for the swap call;
18676
+ * set `false` if your wallet under-estimates gas for complex routes or
18677
+ * rejects batched calls.
18678
+ *
18679
+ * @defaultValue `undefined` (batching attempted when the wallet supports it)
18680
+ *
18681
+ * @example
18682
+ * ```typescript
18683
+ * const config: SwapConfig = {
18684
+ * batchTransactions: false, // force sequential approve → swap
18685
+ * }
18686
+ * ```
18687
+ */
18688
+ batchTransactions?: boolean | undefined;
18546
18689
  }
18547
18690
  /**
18548
18691
  * Estimation result for a swap operation.
@@ -18655,6 +18798,8 @@ interface SwapEstimate {
18655
18798
  * and kit fees (if configured). Amounts are in decimal format for display.
18656
18799
  */
18657
18800
  readonly fees?: readonly ServiceSwapFee[];
18801
+ /** Provider and executable hops selected for the swap. */
18802
+ readonly route?: SwapRoute;
18658
18803
  }
18659
18804
  /**
18660
18805
  * Configuration for swap results.
@@ -18795,6 +18940,8 @@ interface SwapResult {
18795
18940
  * fees (charged by the DEX aggregator/protocol) and kit fees.
18796
18941
  */
18797
18942
  fees?: readonly ServiceSwapFee[];
18943
+ /** Provider and executable hops selected for the swap. */
18944
+ readonly route?: SwapRoute;
18798
18945
  /**
18799
18946
  * Lifecycle snapshot: `status`, `substatus`, and `substatusMessage`.
18800
18947
  *
@@ -47287,6 +47434,8 @@ type OnrampEventEnvelope = OnrampInitializationErrorEnvelope | OnrampInitializat
47287
47434
  * re-mint.
47288
47435
  * - `traceId` — the trace id the server stamped when minting. Echoed
47289
47436
  * back so the client can tag widget events with the same id.
47437
+ * - `metadata`: string map echoed on the create response, when the API
47438
+ * sends one. Forwarded to the browser with the rest of the session.
47290
47439
  */
47291
47440
  interface OnrampSession {
47292
47441
  /**
@@ -47340,6 +47489,18 @@ interface OnrampSession {
47340
47489
  * id.
47341
47490
  */
47342
47491
  readonly traceId?: string;
47492
+ /**
47493
+ * Request `metadata` as the Onramp API echoed it on the create response.
47494
+ *
47495
+ * @remarks
47496
+ * Present only for a well-formed echo, never copied from the request
47497
+ * params, so absence means the API did not echo it. Returned once: not
47498
+ * sealed into the session token or delivered on later events. A host
47499
+ * that forwards the session to the browser (including via
47500
+ * `createSessionRouteHandler`) also forwards this field, so do not put
47501
+ * server-only values in it.
47502
+ */
47503
+ readonly metadata?: Readonly<Record<string, string>>;
47343
47504
  /**
47344
47505
  * Index signature keeping the type tolerant of additive fields.
47345
47506
  *
@@ -47712,9 +47873,8 @@ type OnrampWindowResult = {
47712
47873
  * contract.
47713
47874
  *
47714
47875
  * Validation is intentionally conservative: only the fields the kit
47715
- * actually consumes (or rejects on shape grounds) are checked. Free-
47716
- * form fields like `metadata` pass through so wallets-api can layer
47717
- * its own validation on top without the SDK lagging behind.
47876
+ * actually consumes (or rejects on shape grounds) are checked.
47877
+ * `metadata` is a string map. The Onramp API owns its limits.
47718
47878
  *
47719
47879
  * @packageDocumentation
47720
47880
  */
@@ -47806,7 +47966,7 @@ declare const onrampSessionRequestSchema: z.ZodObject<{
47806
47966
  chain: string;
47807
47967
  }[] | undefined;
47808
47968
  }>>;
47809
- metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
47969
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
47810
47970
  }, "strip", z.ZodTypeAny, {
47811
47971
  appUserId: string;
47812
47972
  destinationAddress: string;
@@ -47822,7 +47982,7 @@ declare const onrampSessionRequestSchema: z.ZodObject<{
47822
47982
  chain: string;
47823
47983
  }[] | undefined;
47824
47984
  } | undefined;
47825
- metadata?: Record<string, unknown> | undefined;
47985
+ metadata?: Record<string, string> | undefined;
47826
47986
  }, {
47827
47987
  appUserId: string;
47828
47988
  destinationAddress: string;
@@ -47838,7 +47998,7 @@ declare const onrampSessionRequestSchema: z.ZodObject<{
47838
47998
  chain: string;
47839
47999
  }[] | undefined;
47840
48000
  } | undefined;
47841
- metadata?: Record<string, unknown> | undefined;
48001
+ metadata?: Record<string, string> | undefined;
47842
48002
  }>;
47843
48003
  /**
47844
48004
  * A single token↔chain pair a host app wants to offer.
@@ -47893,8 +48053,11 @@ type OnrampAssetSelection = z.infer<typeof onrampAssetSelectionSchema>;
47893
48053
  * - `assets`: optional host-app scoping for the asset selector (which
47894
48054
  * token/chain pairs the widget offers). See {@link OnrampAssetSelection}.
47895
48055
  * Baked into the launch URL at mint time; never forwarded to wallets-api.
47896
- * - `metadata`: free-form passthrough — useful for re-stitching the
47897
- * session back to the host's order ledger.
48056
+ * - `metadata`: optional string map. The Onramp API rejects more than 20
48057
+ * keys, keys over 64 characters, values over 1024 characters, and
48058
+ * control characters. It is echoed once on the create response (see
48059
+ * {@link OnrampSession.metadata}) and is not delivered on later widget
48060
+ * events, so use `appUserId` to correlate the user.
47898
48061
  *
47899
48062
  * Note: the embedding-domain allowlist entry (`referrerDomain`) is **not**
47900
48063
  * part of this request. It is a server-only concern configured on
@@ -51408,11 +51571,11 @@ interface AppKitContext {
51408
51571
  */
51409
51572
  actions: Record<'bridge' | 'earn' | 'borrow', Record<string, ((payload: unknown) => void)[]>>;
51410
51573
  /**
51411
- * Disable success analytics for the underlying EarnKit, SwapKit,
51574
+ * Disable success analytics for the underlying BridgeKit, EarnKit, SwapKit,
51412
51575
  * BorrowKit, and UnifiedBalanceKit.
51413
51576
  *
51414
- * When `true`, completed earn, swap, borrow, and unified balance operations
51415
- * will not POST analytics events. This does not disable error reporting; use
51577
+ * When `true`, completed bridge, earn, swap, borrow, and unified balance
51578
+ * operations will not POST analytics events. This does not disable error reporting; use
51416
51579
  * {@link AppKitContext.disableErrorReporting} for that. Defaults to `false`.
51417
51580
  *
51418
51581
  * @defaultValue false
@@ -52857,11 +53020,11 @@ type AppKitConfig = CreateContextParams & {
52857
53020
  /** Optional config forwarded to the underlying {@link UnifiedBalanceKit}. */
52858
53021
  unifiedBalance?: UnifiedBalanceKitConfig;
52859
53022
  /**
52860
- * Disable success analytics for the underlying EarnKit, SwapKit, and
52861
- * UnifiedBalanceKit.
53023
+ * Disable success analytics for the underlying BridgeKit, EarnKit, SwapKit,
53024
+ * BorrowKit, and UnifiedBalanceKit.
52862
53025
  *
52863
- * When `true`, completed earn, swap, and unified balance operations will not
52864
- * POST analytics events. This does not disable error reporting; use
53026
+ * When `true`, completed bridge, earn, swap, borrow, and unified balance
53027
+ * operations will not POST analytics events. This does not disable error reporting; use
52865
53028
  * {@link AppKitConfig.disableErrorReporting} for that. Defaults to `false`.
52866
53029
  *
52867
53030
  * @defaultValue false
@@ -53737,4 +53900,4 @@ declare function isTokenAddress(token: string, chain: ChainDefinition): token is
53737
53900
  declare function validateToken(token: string, chain: ChainDefinition): TokenValidationResult;
53738
53901
 
53739
53902
  export { AppKit, AppKitUnifiedBalance, BalanceError, Blockchain, BorrowChain, BorrowError, BorrowKit, BorrowServiceProvider, BridgeChain, EARN_EXECUTE_REVIEW_KIND, EarnChain, EarnError, EarnKit, InputError, KitError, NetworkError, OnchainError, QUOTE_NOT_REUSED_WARNING_CODE, RateLimitError, RpcError, SPEED_DOWNGRADED_WARNING_CODE, ServiceError, SwapChain, TOKEN_ALIASES, TransferSpeed, UnifiedBalanceChain, anyDepositParamsSchema, assertBorrowParams, addCollateral as borrowAddCollateral, addCollateralParamsSchema as borrowAddCollateralParamsSchema, addCollateralQuoteParamsSchema as borrowAddCollateralQuoteParamsSchema, borrow as borrowBorrow, claimRewards as borrowClaimRewards, claimRewardsParamsSchema as borrowClaimRewardsParamsSchema, closeLoan as borrowCloseLoan, closeLoanParamsSchema as borrowCloseLoanParamsSchema, closeLoanQuoteParamsSchema as borrowCloseLoanQuoteParamsSchema, exploreMarkets as borrowExploreMarkets, exploreMarketsIterator as borrowExploreMarketsIterator, exploreMarketsIteratorParamsSchema as borrowExploreMarketsIteratorParamsSchema, exploreMarketsParamsSchema as borrowExploreMarketsParamsSchema, getAddCollateralQuote as borrowGetAddCollateralQuote, getBorrowQuote as borrowGetBorrowQuote, getClaimRewardsQuote as borrowGetClaimRewardsQuote, getClaimRewardsQuoteParamsSchema as borrowGetClaimRewardsQuoteParamsSchema, getCloseLoanQuote as borrowGetCloseLoanQuote, getIntegratorConfig as borrowGetIntegratorConfig, getIntegratorConfigParamsSchema as borrowGetIntegratorConfigParamsSchema, getLoans as borrowGetLoans, getLoansParamsSchema as borrowGetLoansParamsSchema, getMarket as borrowGetMarket, getMarketParamsSchema as borrowGetMarketParamsSchema, getMaxBorrow as borrowGetMaxBorrow, getPosition as borrowGetPosition, getPositionParamsSchema as borrowGetPositionParamsSchema, getRepayQuote as borrowGetRepayQuote, getRequiredCollateral as borrowGetRequiredCollateral, getSupportedChains as borrowGetSupportedChains, getWithdrawCollateralRepayIfNeededQuote as borrowGetWithdrawCollateralRepayIfNeededQuote, borrowParamsSchema, borrowQuoteParamsSchema, registerWebhook as borrowRegisterWebhook, registerWebhookParamsSchema as borrowRegisterWebhookParamsSchema, repay as borrowRepay, repayParamsSchema as borrowRepayParamsSchema, repayQuoteParamsSchema as borrowRepayQuoteParamsSchema, requiredCollateralParamsSchema as borrowRequiredCollateralParamsSchema, setIntegratorConfig as borrowSetIntegratorConfig, setIntegratorConfigParamsSchema as borrowSetIntegratorConfigParamsSchema, withdrawCollateralParamsSchema as borrowWithdrawCollateralParamsSchema, withdrawCollateralQuoteParamsSchema as borrowWithdrawCollateralQuoteParamsSchema, withdrawCollateralRepayIfNeeded as borrowWithdrawCollateralRepayIfNeeded, claimRewardsParamsSchema$1 as claimRewardsParamsSchema, createBorrowKitContext, createEarnKitContext, depositParamsSchema, claimRewards$1 as earnClaimRewards, deposit as earnDeposit, exploreVaults as earnExploreVaults, exploreVaultsIterator as earnExploreVaultsIterator, getClaimRewardsQuote$1 as earnGetClaimRewardsQuote, getCrossChainDepositStatus as earnGetCrossChainDepositStatus, getCrossChainDepositStatusOutcome as earnGetCrossChainDepositStatusOutcome, getDepositQuote as earnGetDepositQuote, getPosition$1 as earnGetPosition, getSupportedChains$1 as earnGetSupportedChains, getVaults as earnGetVaults, getWithdrawalQuote as earnGetWithdrawalQuote, waitForCrossChainDeposit as earnWaitForCrossChainDeposit, withdraw as earnWithdraw, exploreVaultsIteratorParamsSchema, exploreVaultsParamsSchema, getClaimRewardsQuoteParamsSchema$1 as getClaimRewardsQuoteParamsSchema, getCrossChainDepositStatusParamsSchema, getDepositQuoteParamsSchema, getErrorCode, getErrorMessage, getPositionParamsSchema$1 as getPositionParamsSchema, getTokenDecimals, getVaultsParamsSchema, getWithdrawalQuoteParamsSchema, isBalanceError, isBorrowErrorTrace, isEarnExecuteReview, isFatalError, isInputError, isKitError, isNetworkError, isOnchainError, isRateLimitError, isResumableError, isRetryableError, isRpcError, isServiceError, isTerminalCrossChainDepositStatus as isTerminalEarnCrossChainDepositStatus, isTokenAddress, isTokenAlias, isUserCancellationError, maxBorrowParamsSchema, retryBorrow, setExternalPrefix, validateToken, waitForCrossChainDepositParamsSchema, withdrawParamsSchema };
53740
- export type { ActionHandler, AdapterContext, AllowanceStrategy$2 as AllowanceStrategy, AppKitActionName, AppKitActions, AppKitBorrowActions, AppKitBorrowOperations, AppKitBridgeActions, AppKitConfig, AppKitContext, AppKitCustomFeePolicy, AppKitCustomFeePolicyScope, AppKitEarnActions, AppKitEarnOperations, AppKitOnrampClientConfig, AppKitOnrampOperations, AppKitUnifiedBalanceActions, BaseChainDefinition, BorrowActionBase, BorrowActions, BorrowAdapterContext, AddCollateralParams as BorrowAddCollateralParams, AddCollateralQuote as BorrowAddCollateralQuote, AddCollateralQuoteParams as BorrowAddCollateralQuoteParams, AddCollateralResult as BorrowAddCollateralResult, BorrowAssetAmount, BorrowChainDefinition, BorrowChainIdentifier, ClaimRewardsParams as BorrowClaimRewardsParams, BorrowClaimRewardsQuoteInfo, BorrowClaimRewardsResult, BorrowClaimedAmount, BorrowClaimedRewardsResult, CloseLoanParams as BorrowCloseLoanParams, CloseLoanQuote as BorrowCloseLoanQuote, CloseLoanQuoteParams as BorrowCloseLoanQuoteParams, CloseLoanResult as BorrowCloseLoanResult, ConfirmedAddCollateralDetailsUnavailableResult as BorrowConfirmedAddCollateralDetailsUnavailableResult, ConfirmedAddCollateralResult as BorrowConfirmedAddCollateralResult, ConfirmedCloseLoanDetailsUnavailableResult as BorrowConfirmedCloseLoanDetailsUnavailableResult, ConfirmedCloseLoanResult as BorrowConfirmedCloseLoanResult, ConfirmedRepayDetailsUnavailableResult as BorrowConfirmedRepayDetailsUnavailableResult, ConfirmedRepayResult as BorrowConfirmedRepayResult, ConfirmedWithdrawCollateralDetailsUnavailableResult as BorrowConfirmedWithdrawCollateralDetailsUnavailableResult, ConfirmedWithdrawCollateralResult as BorrowConfirmedWithdrawCollateralResult, BorrowErrorTrace, BorrowExecutionParams, ExploreMarketsIteratorParams as BorrowExploreMarketsIteratorParams, ExploreMarketsParams as BorrowExploreMarketsParams, ExploreMarketsResult as BorrowExploreMarketsResult, BorrowFee, GetClaimRewardsQuoteParams as BorrowGetClaimRewardsQuoteParams, GetIntegratorConfigParams as BorrowGetIntegratorConfigParams, GetLoansParams as BorrowGetLoansParams, GetMarketParams as BorrowGetMarketParams, GetPositionParams as BorrowGetPositionParams, HealthFactorBand as BorrowHealthFactorBand, BorrowInstruction, IntegratorConfig as BorrowIntegratorConfig, BorrowKitConfig, BorrowKitContext, ListLoansResult as BorrowListLoansResult, Loan as BorrowLoan, LoanDataStatus as BorrowLoanDataStatus, LoanExecution as BorrowLoanExecution, BorrowLoanInfo, LoanStatus as BorrowLoanStatus, BorrowMarketAsset, MarketInfo as BorrowMarketInfo, MarketSortBy as BorrowMarketSortBy, BorrowMoreParams, BorrowMoreQuoteParams, NoClaimableRewardsResult as BorrowNoClaimableRewardsResult, OpenLoanParams as BorrowOpenLoanParams, OpenLoanQuoteParams as BorrowOpenLoanQuoteParams, BorrowOperationName, BorrowOperationResultBase, BorrowPagination, BorrowParams, BorrowPosition, BorrowProtocol, BorrowingProvider as BorrowProvider, BorrowQuote, BorrowQuoteGas, BorrowQuoteGasFee, BorrowQuoteParams, RegisterWebhookParams as BorrowRegisterWebhookParams, RegisterWebhookResult as BorrowRegisterWebhookResult, RepayParams as BorrowRepayParams, RepayQuote as BorrowRepayQuote, RepayQuoteParams as BorrowRepayQuoteParams, RepayResult as BorrowRepayResult, RequiredCollateralParams as BorrowRequiredCollateralParams, RequiredCollateralQuote as BorrowRequiredCollateralQuote, BorrowResult, BorrowRetryResult, BorrowServiceConfig, SetIntegratorConfigParams as BorrowSetIntegratorConfigParams, BorrowStep, BorrowStepBase, BorrowStepName, SubmittedAddCollateralResult as BorrowSubmittedAddCollateralResult, SubmittedCloseLoanResult as BorrowSubmittedCloseLoanResult, SubmittedRepayResult as BorrowSubmittedRepayResult, SubmittedWithdrawCollateralResult as BorrowSubmittedWithdrawCollateralResult, BorrowTokenRecipient, WithdrawCollateralExecution as BorrowWithdrawCollateralExecution, WithdrawCollateralParams as BorrowWithdrawCollateralParams, WithdrawCollateralQuote as BorrowWithdrawCollateralQuote, WithdrawCollateralQuoteParams as BorrowWithdrawCollateralQuoteParams, WithdrawCollateralResult as BorrowWithdrawCollateralResult, BridgeConfig, CustomFeePolicy$2 as BridgeCustomFeePolicy, BridgeEstimateResult, BridgeExecutionConfig, BridgeParams, BridgeResult, BridgeStep, BridgeSupportedChainsOptions, BridgeWarning, CCTPConfig, CCTPMergedConfig, CCTPSplitConfig, ChainDefinition, ConfirmedBorrowDetailsUnavailableResult, ConfirmedBorrowOperationResultBase, ConfirmedBorrowResult, ConfirmedDetailsUnavailableBorrowOperationResultBase, Currency, DecodedEarnTx, DelegateStatus, DepositForParams, DepositParams, DepositResult, DeveloperFeeHooks, EVMChainDefinition, EarnAccruedRewardInfo, EarnAdapterContext, AnyDepositParams as EarnAnyDepositParams, EarnAssetAmount, EarnBridgeCctpStatus, EarnBridgeHopStatus, EarnBridgeQuoteExpiry, ClaimRewardsParams$1 as EarnClaimRewardsParams, EarnClaimRewardsQuoteInfo, EarnClaimRewardsResult, EarnClaimedAmount, EarnClaimedRewardsResult, EarnConfig, EarnCrossChainDepositDestination, CrossChainDepositParams as EarnCrossChainDepositParams, EarnCrossChainDepositResult, EarnCrossChainDepositStatus, EarnCrossChainDepositWaitOutcome, EarnCrossChainDepositWaitResult, CrossChainGetDepositQuoteParams as EarnCrossChainGetDepositQuoteParams, EarnDepositOutcome, DepositParams$2 as EarnDepositParams, EarnDepositQuoteInfo, EarnDepositResult, EarnEncodedTransaction, EarnExecuteAuthorizationReview, EarnExecuteReview, ExploreVaultsIteratorParams as EarnExploreVaultsIteratorParams, ExploreVaultsPagination as EarnExploreVaultsPagination, ExploreVaultsParams as EarnExploreVaultsParams, EarnExploreVaultsResult, ExploreVaultsSortBy as EarnExploreVaultsSortBy, EarnGasFeeEstimate, EarnGasFeeEstimateBase, GetClaimRewardsQuoteParams$1 as EarnGetClaimRewardsQuoteParams, GetCrossChainDepositStatusParams as EarnGetCrossChainDepositStatusParams, GetDepositQuoteParams as EarnGetDepositQuoteParams, GetPositionParams$1 as EarnGetPositionParams, GetVaultsParams as EarnGetVaultsParams, EarnGetVaultsResult, GetWithdrawalQuoteParams as EarnGetWithdrawalQuoteParams, EarnKitConfig, EarnKitContext, EarnOperationParams, EarnPositionInfo, EarnPositionPnLInfo, EarningProvider as EarnProvider, SameChainDepositParams as EarnSameChainDepositParams, EarnSameChainDepositResult, SameChainGetDepositQuoteParams as EarnSameChainGetDepositQuoteParams, EarnServiceConfig, EarnVaultInfo, VaultQuery as EarnVaultQuery, WaitForCrossChainDepositParams as EarnWaitForCrossChainDepositParams, WithdrawParams as EarnWithdrawParams, EarnWithdrawResult, EarnWithdrawalQuoteInfo, ErrorDetails, EstimateResult$1 as EstimateResult, EstimateSpendResult, EstimatedGas, FeeOperationType, FetchOnrampSessionOptions, GetBalancesParams, GetBalancesResult, GetDelegateStatusParams, GetSupportedChainsOptions, GetSwapStatusParams, GetTokenRatesParams, GetTokenRatesResult, InitiateRemoveFundParams, InitiateRemoveFundResult, KitContractType, MaxBorrowParams, MaxBorrowQuote, MintedOnrampSession, NonEVMChainDefinition, OnrampAssetSelection, OnrampDepositInfo, OnrampDepositNotCompletedCode, OnrampDepositNotCompletedEnvelope, OnrampDepositSettledEnvelope, OnrampDepositSubmittedEnvelope, OnrampEventCode, OnrampEventEnvelope, OnrampEventType, OnrampIframeOptions, OnrampInitializationErrorCode, OnrampInitializationErrorEnvelope, OnrampInitializationSuccessEnvelope, OnrampLifecycleOptions, OnrampPaymentMethod, OnrampSession, OnrampSessionRequest, OnrampWidget, OnrampWidgetAnyHandler, OnrampWidgetEventHandler, OnrampWidgetLifecycle, OnrampWindowBlockedReason, OnrampWindowOptions, OnrampWindowResult, OperationParamsMap, OperationType, ReceiveExactEstimateResult, ReceiveExactFeeItem, Recoverability, RemoveFundParams, RemoveFundResult, RetryContext, SendParams, SpendDestination, SpendParams, SpendResult, SubmittedBorrowOperationResultBase, SubmittedBorrowResult, SwapConfig, CustomFeePolicy$1 as SwapCustomFeePolicy, SwapDestinationLeg, SwapEstimate, SwapFeeContext, SwapKitConfig, SwapKitContext, SwapParams, SwapProgress, SwapResult, SwapSourceLeg, SwapStatus, SwapStatusResult, SwapTerminalStatus, TokenChainPair, TokenInfo, TokenRate, UnifiedBalanceChainIdentifier, CustomFeePolicy as UnifiedBalanceCustomFeePolicy, FeeRecipientsConfig as UnifiedBalanceFeeRecipientsConfig, UnifiedBalanceKitConfig, SupportedToken as UnifiedBalanceSupportedToken, UpdateDelegateParams, UpdateDelegateResult, VersionConfig, WaitForSwapDiscreteParams, WaitForSwapParams, WaitForSwapResultParams };
53903
+ export type { ActionHandler, AdapterContext, AllowanceStrategy$2 as AllowanceStrategy, AppKitActionName, AppKitActions, AppKitBorrowActions, AppKitBorrowOperations, AppKitBridgeActions, AppKitConfig, AppKitContext, AppKitCustomFeePolicy, AppKitCustomFeePolicyScope, AppKitEarnActions, AppKitEarnOperations, AppKitOnrampClientConfig, AppKitOnrampOperations, AppKitUnifiedBalanceActions, BaseChainDefinition, BorrowActionBase, BorrowActions, BorrowAdapterContext, AddCollateralParams as BorrowAddCollateralParams, AddCollateralQuote as BorrowAddCollateralQuote, AddCollateralQuoteParams as BorrowAddCollateralQuoteParams, AddCollateralResult as BorrowAddCollateralResult, BorrowAssetAmount, BorrowChainDefinition, BorrowChainIdentifier, ClaimRewardsParams as BorrowClaimRewardsParams, BorrowClaimRewardsQuoteInfo, BorrowClaimRewardsResult, BorrowClaimedAmount, BorrowClaimedRewardsResult, CloseLoanParams as BorrowCloseLoanParams, CloseLoanQuote as BorrowCloseLoanQuote, CloseLoanQuoteParams as BorrowCloseLoanQuoteParams, CloseLoanResult as BorrowCloseLoanResult, ConfirmedAddCollateralDetailsUnavailableResult as BorrowConfirmedAddCollateralDetailsUnavailableResult, ConfirmedAddCollateralResult as BorrowConfirmedAddCollateralResult, ConfirmedCloseLoanDetailsUnavailableResult as BorrowConfirmedCloseLoanDetailsUnavailableResult, ConfirmedCloseLoanResult as BorrowConfirmedCloseLoanResult, ConfirmedRepayDetailsUnavailableResult as BorrowConfirmedRepayDetailsUnavailableResult, ConfirmedRepayResult as BorrowConfirmedRepayResult, ConfirmedWithdrawCollateralDetailsUnavailableResult as BorrowConfirmedWithdrawCollateralDetailsUnavailableResult, ConfirmedWithdrawCollateralResult as BorrowConfirmedWithdrawCollateralResult, BorrowErrorTrace, BorrowExecutionParams, ExploreMarketsIteratorParams as BorrowExploreMarketsIteratorParams, ExploreMarketsParams as BorrowExploreMarketsParams, ExploreMarketsResult as BorrowExploreMarketsResult, BorrowFee, GetClaimRewardsQuoteParams as BorrowGetClaimRewardsQuoteParams, GetIntegratorConfigParams as BorrowGetIntegratorConfigParams, GetLoansParams as BorrowGetLoansParams, GetMarketParams as BorrowGetMarketParams, GetPositionParams as BorrowGetPositionParams, HealthFactorBand as BorrowHealthFactorBand, BorrowInstruction, IntegratorConfig as BorrowIntegratorConfig, BorrowKitConfig, BorrowKitContext, ListLoansResult as BorrowListLoansResult, Loan as BorrowLoan, LoanDataStatus as BorrowLoanDataStatus, LoanExecution as BorrowLoanExecution, BorrowLoanInfo, LoanStatus as BorrowLoanStatus, BorrowMarketAsset, MarketInfo as BorrowMarketInfo, MarketSortBy as BorrowMarketSortBy, BorrowMoreParams, BorrowMoreQuoteParams, NoClaimableRewardsResult as BorrowNoClaimableRewardsResult, OpenLoanParams as BorrowOpenLoanParams, OpenLoanQuoteParams as BorrowOpenLoanQuoteParams, BorrowOperationName, BorrowOperationResultBase, BorrowPagination, BorrowParams, BorrowPosition, BorrowProtocol, BorrowingProvider as BorrowProvider, BorrowQuote, BorrowQuoteGas, BorrowQuoteGasFee, BorrowQuoteParams, RegisterWebhookParams as BorrowRegisterWebhookParams, RegisterWebhookResult as BorrowRegisterWebhookResult, RepayParams as BorrowRepayParams, RepayQuote as BorrowRepayQuote, RepayQuoteParams as BorrowRepayQuoteParams, RepayResult as BorrowRepayResult, RequiredCollateralParams as BorrowRequiredCollateralParams, RequiredCollateralQuote as BorrowRequiredCollateralQuote, BorrowResult, BorrowRetryResult, BorrowServiceConfig, SetIntegratorConfigParams as BorrowSetIntegratorConfigParams, BorrowStep, BorrowStepBase, BorrowStepName, SubmittedAddCollateralResult as BorrowSubmittedAddCollateralResult, SubmittedCloseLoanResult as BorrowSubmittedCloseLoanResult, SubmittedRepayResult as BorrowSubmittedRepayResult, SubmittedWithdrawCollateralResult as BorrowSubmittedWithdrawCollateralResult, BorrowTokenRecipient, WithdrawCollateralExecution as BorrowWithdrawCollateralExecution, WithdrawCollateralParams as BorrowWithdrawCollateralParams, WithdrawCollateralQuote as BorrowWithdrawCollateralQuote, WithdrawCollateralQuoteParams as BorrowWithdrawCollateralQuoteParams, WithdrawCollateralResult as BorrowWithdrawCollateralResult, BridgeConfig, CustomFeePolicy$2 as BridgeCustomFeePolicy, BridgeEstimateResult, BridgeExecutionConfig, BridgeParams, BridgeResult, BridgeStep, BridgeSupportedChainsOptions, BridgeWarning, CCTPConfig, CCTPMergedConfig, CCTPSplitConfig, ChainDefinition, ConfirmedBorrowDetailsUnavailableResult, ConfirmedBorrowOperationResultBase, ConfirmedBorrowResult, ConfirmedDetailsUnavailableBorrowOperationResultBase, Currency, DecodedEarnTx, DelegateStatus, DepositForParams, DepositParams, DepositResult, DeveloperFeeHooks, EVMChainDefinition, EarnAccruedRewardInfo, EarnAdapterContext, AnyDepositParams as EarnAnyDepositParams, EarnAssetAmount, EarnBridgeCctpStatus, EarnBridgeHopStatus, EarnBridgeQuoteExpiry, ClaimRewardsParams$1 as EarnClaimRewardsParams, EarnClaimRewardsQuoteInfo, EarnClaimRewardsResult, EarnClaimedAmount, EarnClaimedRewardsResult, EarnConfig, EarnCrossChainDepositDestination, CrossChainDepositParams as EarnCrossChainDepositParams, EarnCrossChainDepositResult, EarnCrossChainDepositStatus, EarnCrossChainDepositWaitOutcome, EarnCrossChainDepositWaitResult, CrossChainGetDepositQuoteParams as EarnCrossChainGetDepositQuoteParams, EarnDepositOutcome, DepositParams$2 as EarnDepositParams, EarnDepositQuoteInfo, EarnDepositResult, EarnEncodedTransaction, EarnExecuteAuthorizationReview, EarnExecuteReview, ExploreVaultsIteratorParams as EarnExploreVaultsIteratorParams, ExploreVaultsPagination as EarnExploreVaultsPagination, ExploreVaultsParams as EarnExploreVaultsParams, EarnExploreVaultsResult, ExploreVaultsSortBy as EarnExploreVaultsSortBy, EarnGasFeeEstimate, EarnGasFeeEstimateBase, GetClaimRewardsQuoteParams$1 as EarnGetClaimRewardsQuoteParams, GetCrossChainDepositStatusParams as EarnGetCrossChainDepositStatusParams, GetDepositQuoteParams as EarnGetDepositQuoteParams, GetPositionParams$1 as EarnGetPositionParams, GetVaultsParams as EarnGetVaultsParams, EarnGetVaultsResult, GetWithdrawalQuoteParams as EarnGetWithdrawalQuoteParams, EarnKitConfig, EarnKitContext, EarnOperationParams, EarnPositionInfo, EarnPositionPnLInfo, EarningProvider as EarnProvider, SameChainDepositParams as EarnSameChainDepositParams, EarnSameChainDepositResult, SameChainGetDepositQuoteParams as EarnSameChainGetDepositQuoteParams, EarnServiceConfig, EarnVaultInfo, VaultQuery as EarnVaultQuery, WaitForCrossChainDepositParams as EarnWaitForCrossChainDepositParams, WithdrawParams as EarnWithdrawParams, EarnWithdrawResult, EarnWithdrawalQuoteInfo, ErrorDetails, EstimateResult$1 as EstimateResult, EstimateSpendResult, EstimatedGas, FeeOperationType, FetchOnrampSessionOptions, GetBalancesParams, GetBalancesResult, GetDelegateStatusParams, GetSupportedChainsOptions, GetSwapStatusParams, GetTokenRatesParams, GetTokenRatesResult, InitiateRemoveFundParams, InitiateRemoveFundResult, KitContractType, MaxBorrowParams, MaxBorrowQuote, MintedOnrampSession, NonEVMChainDefinition, OnrampAssetSelection, OnrampDepositInfo, OnrampDepositNotCompletedCode, OnrampDepositNotCompletedEnvelope, OnrampDepositSettledEnvelope, OnrampDepositSubmittedEnvelope, OnrampEventCode, OnrampEventEnvelope, OnrampEventType, OnrampIframeOptions, OnrampInitializationErrorCode, OnrampInitializationErrorEnvelope, OnrampInitializationSuccessEnvelope, OnrampLifecycleOptions, OnrampPaymentMethod, OnrampSession, OnrampSessionRequest, OnrampWidget, OnrampWidgetAnyHandler, OnrampWidgetEventHandler, OnrampWidgetLifecycle, OnrampWindowBlockedReason, OnrampWindowOptions, OnrampWindowResult, OperationParamsMap, OperationType, ReceiveExactEstimateResult, ReceiveExactFeeItem, Recoverability, RemoveFundParams, RemoveFundResult, RetryContext, SendParams, SpendDestination, SpendParams, SpendResult, SubmittedBorrowOperationResultBase, SubmittedBorrowResult, SwapConfig, CustomFeePolicy$1 as SwapCustomFeePolicy, SwapDestinationLeg, SwapEstimate, SwapFeeContext, SwapKitConfig, SwapKitContext, SwapParams, SwapProgress, SwapResult, SwapRoute, SwapRouteStep, SwapRouteStepEstimate, SwapRouteToken, SwapSourceLeg, SwapStatus, SwapStatusResult, SwapTerminalStatus, TokenChainPair, TokenInfo, TokenRate, UnifiedBalanceChainIdentifier, CustomFeePolicy as UnifiedBalanceCustomFeePolicy, FeeRecipientsConfig as UnifiedBalanceFeeRecipientsConfig, UnifiedBalanceKitConfig, SupportedToken as UnifiedBalanceSupportedToken, UpdateDelegateParams, UpdateDelegateResult, VersionConfig, WaitForSwapDiscreteParams, WaitForSwapParams, WaitForSwapResultParams };