@owney/sdk 0.7.27-beta.1 → 0.7.27-beta.2

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/dist/index.d.cts CHANGED
@@ -224,7 +224,7 @@ type SwapOrderStatus = "pending" | "executed" | "expired" | "cancelled" | "refun
224
224
  */
225
225
  type SwapStage = "withdrawing" | "withdrawn"
226
226
  /** Withdrawal incomplete or unconfirmed; no swap was submitted. */
227
- | "withdrawal-incomplete" | "quoting" | "wrapping" | "wrapped" | "approving" | "building" | "signing" | "swapping" | "swapped" | "depositing" | "refunding" | "refunded";
227
+ | "withdrawal-incomplete" | "swap-unknown" | "swap-partial" | "swap-not-started" | "quoting" | "wrapping" | "wrapped" | "approving" | "building" | "signing" | "swapping" | "swapped" | "depositing" | "refunding" | "refunded";
228
228
  /**
229
229
  * Which way the funds travel, which decides what each side may be.
230
230
  *
@@ -386,7 +386,9 @@ interface IAgent {
386
386
  */
387
387
  applyOrgPolicy?(state: ConnectionState, chainId: number, policy: OrgAgentConfig): Promise<void>;
388
388
  deposit(state: ConnectionState, chainId: number, amount: string, asset: OwneySupportedTokens, depositCallback?: DepositCallback, onProgress?: FundingProgress, onBeforeSubmission?: (evidence: FundingEvidence) => void | Promise<void>): Promise<OwneyDepositResult>;
389
- withdraw(state: ConnectionState, chainId: number, token: OwneySupportedTokens, amount?: string, onProgress?: FundingProgress, gasMode?: "auto" | "sponsored" | "paid", onBeforeSubmission?: FundingProgress): Promise<AgentWithdrawResult>;
389
+ withdraw(state: ConnectionState, chainId: number, token: OwneySupportedTokens, amount?: string, onProgress?: FundingProgress, gasMode?: "auto" | "sponsored" | "paid", onBeforeSubmission?: FundingProgress, assertCurrent?: () => void): Promise<AgentWithdrawResult>;
390
+ /** Read-only MAX proof at the owner payout block; never sends another withdrawal. */
391
+ verifyWithdrawalCompletion?(state: ConnectionState, evidence: FundingEvidence): Promise<WithdrawalCompletion>;
390
392
  /** A newly observed pool allocation invalidates this asset's portfolio cache only. */
391
393
  invalidateAllocationRead?(state: ConnectionState, chainId: number, asset: OwneySupportedTokens): void;
392
394
  /** Invalidate only the confirmed asset. This hook must not sign or submit transactions. */
@@ -500,6 +502,9 @@ type HistoryOptions = {
500
502
  filters?: HistoryFilters;
501
503
  };
502
504
  type WithdrawOptions = {
505
+ /** Internal orchestration observation deadline; never retries a send. */
506
+ observationDeadline?: number;
507
+ assertCurrent?: () => void;
503
508
  /** Yieldseeker V2 only. "auto" requests sponsorship for a verified V2 wallet. */
504
509
  gasMode?: "auto" | "sponsored" | "paid";
505
510
  /** Exclude unresolved providers from aggregate withdrawals; direct agent requests are unchanged. */
@@ -575,6 +580,18 @@ type DepositOptions = {
575
580
  };
576
581
 
577
582
  type FundingStage = "pending" | "confirmed" | "unknown" | "failed" | "not-applicable";
583
+ /** Vault inventory retained before the MAX payout. No signatures or secrets. */
584
+ type WithdrawalCompletionContext = {
585
+ vaults: string[];
586
+ userId: string;
587
+ agentId: string;
588
+ inventoryComplete: boolean;
589
+ };
590
+ type WithdrawalCompletion = {
591
+ status: "complete" | "remaining" | "unavailable";
592
+ reason?: string;
593
+ checkedVaults?: number;
594
+ };
578
595
  /** Hash-bound v0.6 recovery metadata. Deliberately excludes the owner signature. */
579
596
  type UnsignedUserOperationEvidence = {
580
597
  sender: string;
@@ -595,6 +612,8 @@ interface FundingEvidence {
595
612
  token: OwneySupportedTokens;
596
613
  walletAddress: string;
597
614
  agentWallet?: string;
615
+ maxCompletion?: WithdrawalCompletionContext;
616
+ maxCompletionCheck?: WithdrawalCompletion;
598
617
  intendedAmount: string;
599
618
  confirmedAmount?: string;
600
619
  /** Receipt delivery and fulfillment of a typed requested amount are separate facts. */
@@ -980,41 +999,30 @@ declare class AgentChainIncompatibleError extends OwneyError {
980
999
  }>, connectedChainId: number);
981
1000
  }
982
1001
 
983
- /**
984
- * Withdrawal swaps the user has walked away from, and how they ended.
985
- *
986
- * The deposit side has `swap.pending-deposit.ts` for the same shape of
987
- * problem, but the two are not symmetrical. A pending deposit is a JOB: the
988
- * money is in the wallet and an ordinary deposit finishes it. This is a
989
- * WATCH — the funds are in escrow, nothing the user does moves them along,
990
- * and the only question is where they ended up.
991
- *
992
- * That is the whole reason this exists. `withdrawAndSwap` used to hold the
993
- * screen for the entire escrow lifecycle, which on a slow mainnet fill is
994
- * minutes of a modal the user cannot leave (ROUT-242). Backgrounding it means
995
- * the outcome arrives after the UI that started it has gone, so the outcome
996
- * has to be written down somewhere the next render can find it.
997
- *
998
- * Only cross-chain swaps are recorded. A same-chain classic swap is one
999
- * transaction and resolves in seconds; a same-chain fusion order has no stored
1000
- * preimages, so there would be nothing for a reloaded session to resume and
1001
- * the record would sit at `swapping` for ever.
1002
- *
1003
- * Kept deliberately separate from the secret store. Secrets are retired the
1004
- * moment an order reaches a verdict — that is a safety property, not a display
1005
- * one — and the record has to outlive them so the user can still be told what
1006
- * happened after they come back.
1007
- */
1008
- /**
1009
- * `swapping` is the only non-terminal state. `unknown` is what a watch that
1010
- * gave up looks like: we stopped polling before the order spoke, so the order
1011
- * may well have filled. It is not a failure, and it must never be shown as
1012
- * one.
1013
- */
1014
- type WithdrawSwapStatus = "swapping" | "landed" | "refunded" | "unknown";
1002
+ /** Durable intent and evidence, including the gap before an order exists. */
1003
+ type WithdrawalSwapRecovery = {
1004
+ attemptId: string;
1005
+ phase: "withdrawing" | "verifying" | "ready" | "submitted" | "incomplete";
1006
+ baseline: string;
1007
+ baselineBlock: string;
1008
+ submittedAt: number;
1009
+ deadline: number;
1010
+ requested?: string;
1011
+ agentId?: AgentId;
1012
+ results?: Record<string, AgentWithdrawResult>;
1013
+ evidence: Record<string, FundingEvidence>;
1014
+ reason?: string;
1015
+ };
1016
+ /** Unknown and partial outcomes remain recoverable until settlement is verified. */
1017
+ type WithdrawSwapStatus = "swapping" | "landed" | "refunded" | "unknown" | "refund-pending" | "partially-filled" | "withdrawal-pending" | "withdrawal-incomplete" | "ready" | "not-swapped";
1015
1018
  type WithdrawSwapRecord = {
1016
1019
  /** Identity. One record per Fusion+ order. */
1017
1020
  orderHash: string;
1021
+ walletAddress?: string;
1022
+ txHash?: string;
1023
+ recovery?: WithdrawalSwapRecovery;
1024
+ spent?: string;
1025
+ dismissed?: boolean;
1018
1026
  status: WithdrawSwapStatus;
1019
1027
  /**
1020
1028
  * What actually left the agent, smallest unit of the SOURCE asset.
@@ -1051,7 +1059,7 @@ declare function subscribeWithdrawSwaps(listener: () => void): () => void;
1051
1059
  * Not after the swap resolves: the point is to survive the gap between submit
1052
1060
  * and settle, which is exactly when the user closes the tab.
1053
1061
  */
1054
- declare function saveWithdrawSwap(record: WithdrawSwapRecord): void;
1062
+ declare function saveWithdrawSwap(record: WithdrawSwapRecord): boolean;
1055
1063
  /**
1056
1064
  * Move a record to its outcome.
1057
1065
  *
@@ -1065,8 +1073,8 @@ declare function saveWithdrawSwap(record: WithdrawSwapRecord): void;
1065
1073
  declare function updateWithdrawSwap(orderHash: string, patch: Partial<Omit<WithdrawSwapRecord, "orderHash">>): void;
1066
1074
  /** The user has read the outcome. Only they do this. */
1067
1075
  declare function clearWithdrawSwap(orderHash: string): void;
1068
- /** Every record, newest first, sweeping anything past MAX_AGE_MS. */
1069
- declare function listWithdrawSwaps(now?: number): WithdrawSwapRecord[];
1076
+ /** Visible records, newest first. Only verified terminal records expire by age. */
1077
+ declare function listWithdrawSwaps(now?: number, includeDismissed?: boolean): WithdrawSwapRecord[];
1070
1078
 
1071
1079
  /**
1072
1080
  * Swaps that landed but were never deposited.
@@ -1251,10 +1259,10 @@ declare class OwneySDK {
1251
1259
  * Invokes `agent.deposit` with the resolved sponsored callback, composing
1252
1260
  * two independent auto-recovery mechanisms:
1253
1261
  *
1254
- * 1. Missing Permit2 allowance outside the atomic Base-USDC path: when the
1262
+ * 1. Missing Permit2 allowance outside the sponsored ERC-2612 path: when the
1255
1263
  * app did not supply its own callback and the attempt fails with
1256
1264
  * `PERMIT2_APPROVAL_REQUIRED`, this is the wallet's first Permit2 deposit
1257
- * for that token. Base USDC bundles a gasless ERC-2612 approval inside
1265
+ * for that token. Native Base/Arbitrum USDC uses gasless ERC-2612 approval in
1258
1266
  * its sponsored deposit and never reaches this branch. Other tokens send
1259
1267
  * the one-time user-paid Permit2 approval via `approvePermit2()` and
1260
1268
  * retry the SAME sponsored attempt once. Bounded to one approval attempt
@@ -1378,29 +1386,11 @@ declare class OwneySDK {
1378
1386
  /** How much of `token` the wallet has already approved Permit2 to move. */
1379
1387
  private readTokenPermit2Allowance;
1380
1388
  /**
1381
- * How much of a landed swap to actually deposit.
1382
- *
1383
- * The swap reports what ARRIVED, and the deposit used to be handed that
1384
- * figure directly. It is the entire arrival, so there is no slack: anything
1385
- * that spends the target asset between the two fails the deposit outright.
1386
- *
1387
- * Something does. A first WETH deposit needs a one-time Permit2 approval,
1388
- * and that approval is a transaction. A wallet holding no native gas token -
1389
- * the normal state of someone who just swapped everything INTO WETH - pays
1390
- * for it out of the WETH. The deposit then asked for ~2e12 wei more than was
1391
- * left and refused with DEPOSIT_INSUFFICIENT_BALANCE, under a wrapper saying
1392
- * the funds were safe but unadded (ROUT-242).
1393
- *
1394
- * So the approval happens here, before the amount is settled, and the amount
1395
- * comes from a read taken after it. Two things this deliberately is not:
1396
- *
1397
- * - It is not a balance sweep. `received` is a DELTA over the pre-swap
1398
- * balance, so a wallet already holding WETH reads far above it; depositing
1399
- * the balance would move funds the user never offered. The arrival is the
1400
- * ceiling and the balance is only ever allowed to lower it.
1401
- * - It does not touch USDC, which moves on signed typed data and so spends
1402
- * nothing of the user's in between, nor a paymaster-configured client,
1403
- * where the sponsor covers the transfer and Permit2 never applies.
1389
+ * Finish any user-paid Permit2 approval before measuring the deposit.
1390
+ * Wallets can charge approval gas in the received token (ROUT-242/544).
1391
+ * Cap the result at the swap arrival to preserve pre-existing wallet funds.
1392
+ * Native Base/Arbitrum USDC uses sponsored ERC-2612; configured paymaster
1393
+ * wallet calls also cover approval without spending the received tokens.
1404
1394
  */
1405
1395
  private settleSwapDepositAmount;
1406
1396
  private walletSeesBalance;
@@ -1473,11 +1463,12 @@ declare class OwneySDK {
1473
1463
  * Every order is attempted even if an earlier one throws: they are unrelated
1474
1464
  * escrows, and one ending badly must not abandon the next one's secrets.
1475
1465
  * `unfinished` is not a verdict — the order may still settle, so unless the
1476
- * chain has said refunded or cancelled its preimages are kept.
1466
+ * provider has confirmed full settlement or refund, its preimages are kept.
1477
1467
  */
1478
1468
  resumePendingSwaps(options?: {
1479
1469
  onStage?: (orderHash: string, stage: SwapStage) => void;
1480
1470
  timeoutMs?: number;
1471
+ orderHash?: string;
1481
1472
  }): Promise<{
1482
1473
  orderHash: string;
1483
1474
  status: "completed" | "unfinished";
@@ -1609,6 +1600,20 @@ declare class OwneySDK {
1609
1600
  */
1610
1601
  deposited: string;
1611
1602
  }>;
1603
+ /** Read-only confirmation of a saved pre-swap withdrawal. Never withdraws or swaps. */
1604
+ recheckWithdrawalSwap(id: string): Promise<WithdrawSwapRecord>;
1605
+ /** Explicit foreground continuation: spends verified payouts, never withdraws again. */
1606
+ continueWithdrawalSwap(id: string, callbacks?: Pick<Parameters<OwneySDK["withdrawAndSwap"]>[0], "onSwapProgress" | "onOrderSubmitted" | "onWithdrawalProgress" | "assertCurrent">): Promise<{
1607
+ withdraw: OwneyWithdrawResult | AgentWithdrawResult;
1608
+ /** What actually arrived in the wallet, smallest unit of the agent's asset. */
1609
+ withdrawn: string;
1610
+ swap: {
1611
+ received: string;
1612
+ spent?: string;
1613
+ orderHash?: string;
1614
+ txHash?: string;
1615
+ };
1616
+ }>;
1612
1617
  /**
1613
1618
  * Withdraw from an agent and swap the proceeds into whatever the user wants
1614
1619
  * to hold, delivered to their own wallet.
@@ -1643,6 +1648,7 @@ declare class OwneySDK {
1643
1648
  to: {
1644
1649
  chainId: number;
1645
1650
  symbol: string;
1651
+ decimals?: number;
1646
1652
  };
1647
1653
  /** Human units ("10.5"). Omit to withdraw the full agent balance. */
1648
1654
  amount?: string;
@@ -1677,15 +1683,22 @@ declare class OwneySDK {
1677
1683
  withdrawn: string;
1678
1684
  /** Smallest unit of the destination — the auction's start, not its floor. */
1679
1685
  expected: string;
1686
+ spent?: string;
1687
+ durable?: boolean;
1680
1688
  }) => void;
1681
1689
  /** How long to wait for the withdrawal to land before giving up on the swap. */
1682
1690
  arrivalTimeoutMs?: number;
1691
+ /** UI ownership fence, checked before each financial continuation. */
1692
+ assertCurrent?: () => void;
1693
+ /** Used only by explicit continueWithdrawalSwap; it never sends another withdrawal. */
1694
+ recoveryId?: string;
1683
1695
  }): Promise<{
1684
1696
  withdraw: OwneyWithdrawResult | AgentWithdrawResult;
1685
1697
  /** What actually arrived in the wallet, smallest unit of the agent's asset. */
1686
1698
  withdrawn: string;
1687
1699
  swap: {
1688
1700
  received: string;
1701
+ spent?: string;
1689
1702
  orderHash?: string;
1690
1703
  txHash?: string;
1691
1704
  };
@@ -1889,6 +1902,7 @@ declare class YieldseekerAgent implements IAgent {
1889
1902
  private readonly pendingReads;
1890
1903
  private readGeneration;
1891
1904
  private readonly portfolioVersions;
1905
+ private readonly liquidityVersions;
1892
1906
  private readonly snapshotFailures;
1893
1907
  private readonly standardReadFailures;
1894
1908
  private readonly reconcileUntil;
@@ -1896,8 +1910,8 @@ declare class YieldseekerAgent implements IAgent {
1896
1910
  private readonly activityRefreshUntil;
1897
1911
  private readonly snapshotMovements;
1898
1912
  private readonly movementEpochs;
1899
- private readonly yieldOptions;
1900
- private readonly pendingYieldOptions;
1913
+ private readonly vaultOptions;
1914
+ private readonly pendingVaultOptions;
1901
1915
  constructor(owneyApiKey: string, options?: YieldseekerAgentOptions);
1902
1916
  private getReceiptClient;
1903
1917
  /** Reads the actual proxy implementation; Yieldseeker's API walletType is not a version check. */
@@ -1911,10 +1925,12 @@ declare class YieldseekerAgent implements IAgent {
1911
1925
  disconnect(): Promise<void>;
1912
1926
  activateAgent(state: ConnectionState, chainId: number, asset?: OwneySupportedTokens): Promise<void>;
1913
1927
  deposit(state: ConnectionState, chainId: number, amount: string, asset: OwneySupportedTokens, depositCallback?: DepositCallback, onProgress?: FundingProgress, onBeforeSubmission?: (evidence: FundingEvidence) => void | Promise<void>): Promise<OwneyDepositResult>;
1914
- withdraw(state: ConnectionState, chainId: number, asset: OwneySupportedTokens, amount?: string, onProgress?: FundingProgress, gasMode?: "auto" | "sponsored" | "paid", onBeforeSubmission?: FundingProgress): Promise<AgentWithdrawResult>;
1928
+ withdraw(state: ConnectionState, chainId: number, asset: OwneySupportedTokens, amount?: string, onProgress?: FundingProgress, gasMode?: "auto" | "sponsored" | "paid", onBeforeSubmission?: FundingProgress, assertOperation?: () => void): Promise<AgentWithdrawResult>;
1915
1929
  private withdrawInternal;
1916
1930
  /** Fresh position amounts for withdrawal planning, net of reserved fees. */
1917
1931
  getWithdrawableBalance(state: ConnectionState, chainId: number, asset: OwneySupportedTokens, minimumAmount?: bigint): Promise<bigint>;
1932
+ /** Recheck MAX without re-unwinding, paying out, or requesting a signature. */
1933
+ verifyWithdrawalCompletion(state: ConnectionState, evidence: FundingEvidence): Promise<WithdrawalCompletion>;
1918
1934
  private readVaultShares;
1919
1935
  private validateWithdrawalPositions;
1920
1936
  private withdrawalVaultHints;
@@ -1933,7 +1949,7 @@ declare class YieldseekerAgent implements IAgent {
1933
1949
  getHistory(state: ConnectionState, chainId: number, options?: HistoryFilters): Promise<OwneyAgentHistory>;
1934
1950
  getUserProfile(state: ConnectionState, chainId: number): Promise<AgentUserProfile>;
1935
1951
  getAgentApy(days: DailyApyDays, options?: AgentApyOptions): Promise<AgentApy>;
1936
- private loadYieldOptions;
1952
+ private loadVaultOptions;
1937
1953
  private userKey;
1938
1954
  private contextKey;
1939
1955
  private assertSession;
@@ -2036,6 +2052,7 @@ declare function createOwneySIWX(config: OwneySIWXConfig): SIWXConfig;
2036
2052
  */
2037
2053
  type StoredOrder = {
2038
2054
  orderHash: string;
2055
+ walletAddress?: string;
2039
2056
  /** Preimages, one per fill. Index matters — fill N needs secret N. */
2040
2057
  secrets: string[];
2041
2058
  /** Chain the funds left from, so a resumed session can report it. */
@@ -2045,13 +2062,13 @@ type StoredOrder = {
2045
2062
  dstSymbol: string;
2046
2063
  dstChainId: number;
2047
2064
  amount: string;
2048
- /** Epoch ms. Used to drop orders far past any plausible timelock. */
2065
+ /** Epoch ms, for ordering recovery records. */
2049
2066
  createdAt: number;
2050
2067
  };
2051
2068
  /**
2052
- * Every stored order, newest first, dropping anything past MAX_AGE_MS.
2069
+ * Every unresolved stored order, newest first.
2053
2070
  * Used on mount to resume orders the user left in flight.
2054
2071
  */
2055
- declare function listOrders(now?: number): StoredOrder[];
2072
+ declare function listOrders(_now?: number): StoredOrder[];
2056
2073
 
2057
- export { type AccountAgentApy, type AccountApyOptions, type AccountDailyEarnings, type AgentApy, type AgentApyDetails, type AgentBalance, AgentChainIncompatibleError, type AgentEarnings, type AgentHistoryEntry, type AgentHistoryPosition, type AgentId, AgentNotFoundError, type AgentSupportedAsset, type AgentSupportedAssets, type AgentUserProfile, type AgentWithdrawResult, type AgentsApyOptions, type AllocationAgentApy, type AllocationApyOptions, type ApyByChainAndAsset, type ApyHistoryPoint, type Asset, type AssetDailyEarnings, type AssetReadMetadata, type AvailableAgent, type AvailableAgentsOptions, type ConnectionState, type DailyApyDays, type DailyEarningsOptions, type DailyEarningsPoint, type DepositCallback, type DepositOptions, type FundingEvidence, type FundingProgress, type FundingStage, type HistoryAction, type HistoryFilters, type HistoryOptions, type HistoryTransaction, type IAgent, InvalidHistoryCursorError, type LookbackDays, NotConnectedError, type OwneyAccountApy, type OwneyAgentApy, type OwneyAgentHistory, type OwneyAllocationApy, type OwneyBalances, type OwneyDepositResult, type OwneyEarnings, OwneyError, type OwneyErrorCode, type OwneyMultiDepositResult, type OwneyPosition, OwneySDK, type OwneySDKConfig, type OwneySIWXConfig, type OwneySupportedChainId, type OwneySupportedChains, type OwneySupportedTokens, type OwneyToken, type OwneyUserProfile, type OwneyWithdrawResult, type PendingDeposit, type RebalanceLog, type RpcUrlsConfig, type SwapChainTokens, type SwapDirection, type SwapOrderStatus, type SwapQuote, type SwapQuoteParams, type SwapRail, type SwapStage, type SwapTokenInfo, type SwapTokenSearchResult, type UnsignedUserOperationEvidence, type WithdrawOptions, type WithdrawSwapRecord, type WithdrawSwapStatus, YieldseekerAgent, type YieldseekerWalletStatus, type ZyfaiRpcUrlsConfig, clearWithdrawSwap, createOwneySIWX, listPendingDeposits, listOrders as listPendingSwaps, listWithdrawSwaps, saveWithdrawSwap, setOwneyDebug, subscribeWithdrawSwaps, updateWithdrawSwap };
2074
+ export { type AccountAgentApy, type AccountApyOptions, type AccountDailyEarnings, type AgentApy, type AgentApyDetails, type AgentBalance, AgentChainIncompatibleError, type AgentEarnings, type AgentHistoryEntry, type AgentHistoryPosition, type AgentId, AgentNotFoundError, type AgentSupportedAsset, type AgentSupportedAssets, type AgentUserProfile, type AgentWithdrawResult, type AgentsApyOptions, type AllocationAgentApy, type AllocationApyOptions, type ApyByChainAndAsset, type ApyHistoryPoint, type Asset, type AssetDailyEarnings, type AssetReadMetadata, type AvailableAgent, type AvailableAgentsOptions, type ConnectionState, type DailyApyDays, type DailyEarningsOptions, type DailyEarningsPoint, type DepositCallback, type DepositOptions, type FundingEvidence, type FundingProgress, type FundingStage, type HistoryAction, type HistoryFilters, type HistoryOptions, type HistoryTransaction, type IAgent, InvalidHistoryCursorError, type LookbackDays, NotConnectedError, type OwneyAccountApy, type OwneyAgentApy, type OwneyAgentHistory, type OwneyAllocationApy, type OwneyBalances, type OwneyDepositResult, type OwneyEarnings, OwneyError, type OwneyErrorCode, type OwneyMultiDepositResult, type OwneyPosition, OwneySDK, type OwneySDKConfig, type OwneySIWXConfig, type OwneySupportedChainId, type OwneySupportedChains, type OwneySupportedTokens, type OwneyToken, type OwneyUserProfile, type OwneyWithdrawResult, type PendingDeposit, type RebalanceLog, type RpcUrlsConfig, type SwapChainTokens, type SwapDirection, type SwapOrderStatus, type SwapQuote, type SwapQuoteParams, type SwapRail, type SwapStage, type SwapTokenInfo, type SwapTokenSearchResult, type UnsignedUserOperationEvidence, type WithdrawOptions, type WithdrawSwapRecord, type WithdrawSwapStatus, type WithdrawalCompletion, type WithdrawalCompletionContext, type WithdrawalSwapRecovery, YieldseekerAgent, type YieldseekerWalletStatus, type ZyfaiRpcUrlsConfig, clearWithdrawSwap, createOwneySIWX, listPendingDeposits, listOrders as listPendingSwaps, listWithdrawSwaps, saveWithdrawSwap, setOwneyDebug, subscribeWithdrawSwaps, updateWithdrawSwap };