@tokenops/sdk 2.0.0-alpha.3 → 2.0.0-alpha.4

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 (151) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +71 -35
  3. package/SUPPORT.md +1 -1
  4. package/dist/{chunk-NGU4JYIR.js → chunk-2ND7US2I.js} +1 -1
  5. package/dist/{chunk-U3TBQRT7.js → chunk-3ZSPRHR3.js} +55 -12
  6. package/dist/{chunk-BXX5TETM.js → chunk-67Q6KSVV.js} +4114 -3267
  7. package/dist/{chunk-JVNJSDQ4.cjs → chunk-6AYJRUGP.cjs} +7 -50
  8. package/dist/{chunk-AHU2HMNE.cjs → chunk-6FUHF73F.cjs} +5 -5
  9. package/dist/{chunk-NWFMBLSQ.js → chunk-7KY4K4PH.js} +1 -1
  10. package/dist/{chunk-YABHXJNH.cjs → chunk-ARZ5C3FS.cjs} +7 -7
  11. package/dist/{chunk-4IB4IY5Y.js → chunk-AX6MQAWU.js} +2 -2
  12. package/dist/{chunk-BPIVVCSQ.js → chunk-BSXEX2SH.js} +3 -3
  13. package/dist/{chunk-PK6Q6J5F.js → chunk-CHGY6B7L.js} +34 -81
  14. package/dist/{chunk-GKYZQJGP.cjs → chunk-DFK5GCJP.cjs} +55 -72
  15. package/dist/{chunk-4AWQJQXY.cjs → chunk-E4IV4M4E.cjs} +4126 -3279
  16. package/dist/{chunk-6HCT4QIX.js → chunk-GHGF65LN.js} +16 -13
  17. package/dist/{chunk-TWT3STIX.js → chunk-K3R27WX4.js} +8 -46
  18. package/dist/{chunk-GCJFAY4X.js → chunk-KJUNBOJQ.js} +52 -71
  19. package/dist/{chunk-6XOAYDC6.cjs → chunk-PO3A2AQX.cjs} +4 -4
  20. package/dist/{chunk-TND5NDV7.cjs → chunk-QHDMPT7I.cjs} +64 -19
  21. package/dist/{chunk-IEKTGJ4J.cjs → chunk-S47IBDTA.cjs} +36 -83
  22. package/dist/{chunk-UG5RKLU2.cjs → chunk-SUYBAF27.cjs} +1 -1
  23. package/dist/{chunk-WRWRA4TN.js → chunk-TWU7L5H7.js} +5 -48
  24. package/dist/{chunk-WJLECC22.cjs → chunk-UUSSWOPR.cjs} +9 -47
  25. package/dist/{chunk-YTIYTV4K.cjs → chunk-VHKMWWBA.cjs} +319 -40
  26. package/dist/{chunk-PG3WXT3K.cjs → chunk-YAL6JSAZ.cjs} +16 -13
  27. package/dist/{chunk-LEYYG4RF.js → chunk-YMWMIWBP.js} +315 -42
  28. package/dist/core/addresses.d.ts +4 -4
  29. package/dist/core/errors.d.ts +1 -1
  30. package/dist/core/index.d.ts +1 -0
  31. package/dist/core/pending.d.ts +57 -0
  32. package/dist/core/version.d.ts +1 -1
  33. package/dist/fhe/operators.d.ts +6 -5
  34. package/dist/fhe/types.d.ts +1 -1
  35. package/dist/fhe-airdrop/abis/airdrop-base.d.ts +81 -4
  36. package/dist/fhe-airdrop/abis/ecdsa.d.ts +101 -4
  37. package/dist/fhe-airdrop/abis/factory.d.ts +222 -4
  38. package/dist/fhe-airdrop/abis/merkle.d.ts +100 -4
  39. package/dist/fhe-airdrop/advanced/index.cjs +8 -4
  40. package/dist/fhe-airdrop/advanced/index.d.cts +1 -0
  41. package/dist/fhe-airdrop/advanced/index.d.ts +1 -0
  42. package/dist/fhe-airdrop/advanced/index.js +1 -1
  43. package/dist/fhe-airdrop/advanced/react/index.cjs +121 -143
  44. package/dist/fhe-airdrop/advanced/react/index.js +55 -77
  45. package/dist/fhe-airdrop/advanced/react/useClearCompliancePolicy.d.ts +3 -1
  46. package/dist/fhe-airdrop/advanced/react/useDisableCustomFee.d.ts +3 -1
  47. package/dist/fhe-airdrop/advanced/react/useFactoryComplianceDelegate.d.ts +2 -4
  48. package/dist/fhe-airdrop/advanced/react/useSetComplianceDelegate.d.ts +7 -7
  49. package/dist/fhe-airdrop/advanced/react/useSetComplianceManagerImpl.d.ts +3 -1
  50. package/dist/fhe-airdrop/advanced/react/useSetCompliancePolicy.d.ts +2 -1
  51. package/dist/fhe-airdrop/advanced/react/useSetCustomFee.d.ts +3 -1
  52. package/dist/fhe-airdrop/advanced/react/useSetDefaultDelegateToCompliance.d.ts +5 -4
  53. package/dist/fhe-airdrop/advanced/react/useSetDefaultGasFee.d.ts +3 -1
  54. package/dist/fhe-airdrop/advanced/react/useSetMaxGasFee.d.ts +7 -3
  55. package/dist/fhe-airdrop/airdrop-base.d.ts +95 -10
  56. package/dist/fhe-airdrop/campaign.d.ts +37 -73
  57. package/dist/fhe-airdrop/compliance-clone.d.ts +21 -0
  58. package/dist/fhe-airdrop/constants.d.ts +3 -1
  59. package/dist/fhe-airdrop/ecdsa.d.ts +67 -27
  60. package/dist/fhe-airdrop/encryption.d.ts +19 -6
  61. package/dist/fhe-airdrop/errors.d.ts +77 -2
  62. package/dist/fhe-airdrop/factory-params.d.ts +2361 -0
  63. package/dist/fhe-airdrop/factory.d.ts +142 -68
  64. package/dist/fhe-airdrop/guards.d.ts +110 -31
  65. package/dist/fhe-airdrop/index.cjs +79 -59
  66. package/dist/fhe-airdrop/index.d.cts +11 -9
  67. package/dist/fhe-airdrop/index.d.ts +11 -9
  68. package/dist/fhe-airdrop/index.js +5 -5
  69. package/dist/fhe-airdrop/merkle-tree.d.ts +9 -9
  70. package/dist/fhe-airdrop/merkle.d.ts +32 -11
  71. package/dist/fhe-airdrop/react/_shared.d.ts +12 -6
  72. package/dist/fhe-airdrop/react/index.cjs +294 -258
  73. package/dist/fhe-airdrop/react/index.d.cts +16 -9
  74. package/dist/fhe-airdrop/react/index.d.ts +16 -9
  75. package/dist/fhe-airdrop/react/index.js +114 -110
  76. package/dist/fhe-airdrop/react/keys.d.ts +46 -7
  77. package/dist/fhe-airdrop/react/useAccessEcdsaClaimAmount.d.ts +6 -3
  78. package/dist/fhe-airdrop/react/useAccessMerkleClaimAmount.d.ts +2 -2
  79. package/dist/fhe-airdrop/react/useAirdropConfig.d.ts +8 -3
  80. package/dist/fhe-airdrop/react/useAirdropPause.d.ts +5 -0
  81. package/dist/fhe-airdrop/react/useBuildMerkleCampaign.d.ts +4 -6
  82. package/dist/fhe-airdrop/react/useComplianceManager.d.ts +2 -2
  83. package/dist/fhe-airdrop/react/useComplianceManagerOf.d.ts +1 -2
  84. package/dist/fhe-airdrop/react/useCreateAndFundEcdsaAirdrop.d.ts +16 -11
  85. package/dist/fhe-airdrop/react/useCreateAndFundMerkleAirdrop.d.ts +23 -7
  86. package/dist/fhe-airdrop/react/useCreateEcdsaAirdrop.d.ts +13 -8
  87. package/dist/fhe-airdrop/react/useCreateMerkleAirdrop.d.ts +27 -7
  88. package/dist/fhe-airdrop/react/useDedupMode.d.ts +16 -0
  89. package/dist/fhe-airdrop/react/useDiscloseHandleToParty.d.ts +4 -3
  90. package/dist/fhe-airdrop/react/useEcdsaClaim.d.ts +6 -4
  91. package/dist/fhe-airdrop/react/useEcdsaClaimAndUnwrap.d.ts +15 -8
  92. package/dist/fhe-airdrop/react/useEcdsaDomain.d.ts +1 -1
  93. package/dist/fhe-airdrop/react/useEncryptCampaignAmounts.d.ts +5 -7
  94. package/dist/fhe-airdrop/react/useExtendClaimWindow.d.ts +4 -1
  95. package/dist/fhe-airdrop/react/useFundAirdrop.d.ts +3 -4
  96. package/dist/fhe-airdrop/react/useGrantInstanceRoles.d.ts +2 -1
  97. package/dist/fhe-airdrop/react/useIsSignatureValid.d.ts +5 -4
  98. package/dist/fhe-airdrop/react/useMerkleClaim.d.ts +4 -1
  99. package/dist/fhe-airdrop/react/useMerkleClaimAndUnwrap.d.ts +14 -3
  100. package/dist/fhe-airdrop/react/usePlanMerkleCampaign.d.ts +18 -3
  101. package/dist/fhe-airdrop/react/usePreflightClaim.d.ts +1 -1
  102. package/dist/fhe-airdrop/react/usePreflightCreateAirdrop.d.ts +34 -13
  103. package/dist/fhe-airdrop/react/useRescueERC20.d.ts +3 -3
  104. package/dist/fhe-airdrop/react/useRescueNativeToken.d.ts +23 -0
  105. package/dist/fhe-airdrop/react/useRotateMerkleRoot.d.ts +5 -2
  106. package/dist/fhe-airdrop/react/useSignClaimAuthorization.d.ts +4 -0
  107. package/dist/fhe-airdrop/react/useTokenOf.d.ts +29 -0
  108. package/dist/fhe-airdrop/react/useUnwrapRequest.d.ts +25 -0
  109. package/dist/fhe-airdrop/react/useWithdrawConfidential.d.ts +4 -0
  110. package/dist/fhe-airdrop/roles.d.ts +82 -7
  111. package/dist/fhe-airdrop/types.d.ts +109 -14
  112. package/dist/fhe-disperse/errors.d.ts +3 -3
  113. package/dist/fhe-disperse/index.cjs +22 -22
  114. package/dist/fhe-disperse/index.d.cts +2 -1
  115. package/dist/fhe-disperse/index.d.ts +2 -1
  116. package/dist/fhe-disperse/index.js +3 -3
  117. package/dist/fhe-disperse/react/index.cjs +27 -25
  118. package/dist/fhe-disperse/react/index.d.cts +2 -1
  119. package/dist/fhe-disperse/react/index.d.ts +2 -1
  120. package/dist/fhe-disperse/react/index.js +8 -6
  121. package/dist/fhe-disperse/react/useDisperse.d.ts +6 -2
  122. package/dist/fhe-disperse/react/useRegister.d.ts +9 -3
  123. package/dist/fhe-disperse/react/useSingletonWithdrawTokenFee.d.ts +7 -2
  124. package/dist/fhe-disperse/react/useWithdrawTokenFee.d.ts +7 -2
  125. package/dist/fhe-disperse/singleton.d.ts +33 -19
  126. package/dist/fhe-disperse/types.d.ts +48 -8
  127. package/dist/fhe-vesting/advanced/index.cjs +6 -6
  128. package/dist/fhe-vesting/advanced/index.js +4 -4
  129. package/dist/fhe-vesting/advanced/react/index.cjs +9 -9
  130. package/dist/fhe-vesting/advanced/react/index.js +6 -6
  131. package/dist/fhe-vesting/factory.d.ts +31 -8
  132. package/dist/fhe-vesting/index.cjs +23 -23
  133. package/dist/fhe-vesting/index.d.cts +3 -2
  134. package/dist/fhe-vesting/index.d.ts +3 -2
  135. package/dist/fhe-vesting/index.js +4 -4
  136. package/dist/fhe-vesting/manager.d.ts +27 -2
  137. package/dist/fhe-vesting/react/index.cjs +126 -126
  138. package/dist/fhe-vesting/react/index.d.cts +3 -2
  139. package/dist/fhe-vesting/react/index.d.ts +3 -2
  140. package/dist/fhe-vesting/react/index.js +5 -5
  141. package/dist/fhe-vesting/react/useCreateManager.d.ts +16 -9
  142. package/dist/fhe-vesting/react/useCreateManagerAndGetAddress.d.ts +9 -5
  143. package/dist/fhe-vesting/react/useSplitVesting.d.ts +9 -3
  144. package/dist/index.cjs +18 -18
  145. package/dist/index.js +1 -1
  146. package/dist/testnet-faucet/faucet.d.ts +3 -0
  147. package/dist/testnet-faucet/index.cjs +15 -15
  148. package/dist/testnet-faucet/index.js +3 -3
  149. package/dist/testnet-faucet/react/index.cjs +9 -9
  150. package/dist/testnet-faucet/react/index.js +4 -4
  151. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { type UseMutationResult } from "@tanstack/react-query";
2
2
  import type { Account, Address } from "viem";
3
3
  import { type EncryptorSource } from "../encryption.js";
4
- import { type EncryptedInput, type WithdrawTokenFeeResult } from "../types.js";
4
+ import { type EncryptedInput, type PendingWithdrawTokenFeeResult, type WithdrawTokenFeeResult } from "../types.js";
5
5
  import { type DisperseHookOptions } from "./_shared.js";
6
6
  /**
7
7
  * Hook-level args. The hook accepts an {@link EncryptorSource} (eager OR lazy),
@@ -30,6 +30,11 @@ export interface UseSingletonWithdrawTokenFeeArgs {
30
30
  encryptedInput?: EncryptedInput;
31
31
  /** Override signer account. Falls back to `walletClient.account`. */
32
32
  account?: Account | Address;
33
+ /**
34
+ * See {@link ReceiptMode}. With `false` the mutation resolves to a
35
+ * {@link PendingWithdrawTokenFeeResult}.
36
+ */
37
+ waitForReceipt?: boolean | undefined;
33
38
  }
34
39
  /**
35
40
  * Fee-collector: withdraw accumulated encrypted token fees. The plaintext
@@ -53,4 +58,4 @@ export interface UseSingletonWithdrawTokenFeeArgs {
53
58
  * const withdraw = useSingletonWithdrawTokenFee({ encryptor: () => useZamaSDK().relayer });
54
59
  * withdraw.mutate({ token, to: collector, amount: 1_000_000n });
55
60
  */
56
- export declare function useSingletonWithdrawTokenFee(options?: DisperseHookOptions): UseMutationResult<WithdrawTokenFeeResult, Error, UseSingletonWithdrawTokenFeeArgs>;
61
+ export declare function useSingletonWithdrawTokenFee(options?: DisperseHookOptions): UseMutationResult<WithdrawTokenFeeResult | PendingWithdrawTokenFeeResult, Error, UseSingletonWithdrawTokenFeeArgs>;
@@ -1,7 +1,7 @@
1
1
  import { type UseMutationResult } from "@tanstack/react-query";
2
2
  import type { Account, Address } from "viem";
3
3
  import { type EncryptorSource } from "../encryption.js";
4
- import { type EncryptedInput, type WithdrawTokenFeeResult } from "../types.js";
4
+ import { type EncryptedInput, type PendingWithdrawTokenFeeResult, type WithdrawTokenFeeResult } from "../types.js";
5
5
  import { type DisperseHookOptions } from "./_shared.js";
6
6
  interface WithdrawTokenFeeCommon {
7
7
  /** ERC-7984 token whose accumulated fee reserve to withdraw from. */
@@ -10,6 +10,11 @@ interface WithdrawTokenFeeCommon {
10
10
  to: Address;
11
11
  /** Override signer account. Falls back to `walletClient.account`. */
12
12
  account?: Account | Address;
13
+ /**
14
+ * See `ReceiptMode`. With `false` the mutation resolves to a
15
+ * {@link PendingWithdrawTokenFeeResult}.
16
+ */
17
+ waitForReceipt?: boolean | undefined;
13
18
  }
14
19
  /** Plaintext path: SDK encrypts `amount` before submission. */
15
20
  export interface UseWithdrawTokenFeePlaintextArgs extends WithdrawTokenFeeCommon {
@@ -72,5 +77,5 @@ export type UseWithdrawTokenFeeArgs = UseWithdrawTokenFeePlaintextArgs | UseWith
72
77
  * // Pre-encrypted path — no encryptor needed at call time.
73
78
  * withdraw.mutate({ token, to: collector, encryptedInput });
74
79
  */
75
- export declare function useWithdrawTokenFee(options?: DisperseHookOptions): UseMutationResult<WithdrawTokenFeeResult, Error, UseWithdrawTokenFeeArgs>;
80
+ export declare function useWithdrawTokenFee(options?: DisperseHookOptions): UseMutationResult<WithdrawTokenFeeResult | PendingWithdrawTokenFeeResult, Error, UseWithdrawTokenFeeArgs>;
76
81
  export {};
@@ -1,8 +1,9 @@
1
1
  import type { Account, Address, Hex, PublicClient, WalletClient } from "viem";
2
2
  import { type TxHash } from "../core/brands.js";
3
+ import type { ReceiptMode } from "../core/pending.js";
3
4
  import { type SdkTelemetry } from "../core/telemetry.js";
4
- import { type Encryptor, type EncryptorSource } from "./encryption.js";
5
- import { type BatchLimits, type CalculateFeeArgs, type CalculatedFee, type CustomFee, type DisperseArgs, type DisperseResult, type DisclosureResult, type BatchDiscloseHandlesArgs, type DiscloseHandleArgs, type EncryptedInput, type EncryptedViewResult, type FeeConfig, type GetEncryptedFeeReserveArgs, type PreflightDisperseArgs, type PreflightReport, type RegisterResult, type SubwalletApprovalState, type UserFees, type WithdrawTokenFeeResult } from "./types.js";
5
+ import { type EncryptorSource } from "./encryption.js";
6
+ import { type BatchLimits, type CalculateFeeArgs, type CalculatedFee, type CustomFee, type DisperseArgs, type DisperseResult, type DisclosureResult, type BatchDiscloseHandlesArgs, type DiscloseHandleArgs, type EncryptedViewResult, type FeeConfig, type GetEncryptedFeeReserveArgs, type PendingDisperseResult, type PendingRegisterResult, type PendingWithdrawTokenFeeResult, type PreflightDisperseArgs, type PreflightReport, type RegisterArgs, type RegisterResult, type SubwalletApprovalState, type UserFees, type WithdrawTokenFeeArgs, type WithdrawTokenFeeResult } from "./types.js";
6
7
  export interface ConfidentialDisperseClientConfig {
7
8
  /** viem public client for read calls. */
8
9
  publicClient: PublicClient;
@@ -58,6 +59,11 @@ export interface ConfidentialDisperseClientConfig {
58
59
  * wired to a specific chain's singleton address, either by explicit `address`
59
60
  * override or via `DEPLOYED_ADDRESSES.fheDisperse.disperseConfidentialSingleton[chainId]`.
60
61
  *
62
+ * Safe / multisig signers: `register`, `disperse` and `withdrawTokenFee` take
63
+ * `waitForReceipt: false`. `getEncryptedFeeReserve` and the disclosure methods
64
+ * do not, because their handle is only useful to an account that can
65
+ * user-decrypt in-session (an EOA or a delegate).
66
+ *
61
67
  * @example
62
68
  * // On Sepolia or mainnet the singleton address auto-resolves from
63
69
  * // `DEPLOYED_ADDRESSES.fheDisperse.disperseConfidentialSingleton[chainId]`;
@@ -183,7 +189,8 @@ export declare class ConfidentialDisperseClient {
183
189
  *
184
190
  * Internally composes:
185
191
  * - `isRegistered` + `getWallets` / `predictWallets`
186
- * - `hasApprovedSubwallets` (wallet modes) or `isOperator(sender, singleton)` (direct mode)
192
+ * - `isOperator(sender, singleton)` (every mode: each one pulls from the sender) and,
193
+ * for the wallet modes, `hasApprovedSubwallets` as well
187
194
  * - `calculateFee` / `getBatchLimits`
188
195
  * - Structural recipient + amount validation
189
196
  *
@@ -201,13 +208,15 @@ export declare class ConfidentialDisperseClient {
201
208
  * Deploys two deterministic ERC-1167 wallet clones and approves them for `token`.
202
209
  * Can only be called once per user — subsequent calls revert with `UserAlreadyRegistered`.
203
210
  *
204
- * @returns `{ hash, wallets }` — `wallets` is parsed from the `UserRegistered` event.
211
+ * @returns `{ hash, wallets }` - `wallets` is parsed from the `UserRegistered` event. With
212
+ * `waitForReceipt: false`, a {@link PendingRegisterResult}.
205
213
  * @throws {DisperseSubwalletNotFoundError} if no `UserRegistered` event matching the singleton is found.
206
214
  */
207
- register(args: {
208
- token: Address;
209
- account?: Account | Address;
210
- }): Promise<RegisterResult>;
215
+ register(args: RegisterArgs & ReceiptMode<true>): Promise<RegisterResult>;
216
+ /** With `waitForReceipt: false`: returns on submission, before the receipt exists. */
217
+ register(args: RegisterArgs & ReceiptMode<false>): Promise<PendingRegisterResult>;
218
+ /** With a runtime `boolean`: either result, narrowed by `pending`. */
219
+ register(args: RegisterArgs & ReceiptMode): Promise<RegisterResult | PendingRegisterResult>;
211
220
  /**
212
221
  * Approve the caller's existing registered wallets as ERC-7984 operators for `token`.
213
222
  *
@@ -263,6 +272,12 @@ export declare class ConfidentialDisperseClient {
263
272
  * 4. Computes `msg.value` for gas-fee modes; `0` for token-fee mode.
264
273
  * 5. Dispatches to the correct contract function based on `mode`.
265
274
  *
275
+ * **Operator prerequisite.** Every mode pulls from the caller with
276
+ * `confidentialTransferFrom(msg.sender, ...)`, so the caller must have approved this
277
+ * singleton as an ERC-7984 operator on `token` (`setOperator` / `ensureOperator` from
278
+ * `@tokenops/sdk/fhe`). Those wait for their receipt by default; a Safe / multisig signer
279
+ * passes `waitForReceipt: false` to them as well.
280
+ *
266
281
  * **Silent-zero transfers.** ERC-7984 transfers do not revert when the sender's encrypted balance is insufficient — the transfer succeeds and moves an encrypted zero instead. This is by design: reverting would leak balance information. The transaction receipt alone cannot tell you whether value actually moved.
267
282
  *
268
283
  * **Amount units:** TokenOps confidential (ERC-7984) tokens use a 6-decimals
@@ -275,7 +290,11 @@ export declare class ConfidentialDisperseClient {
275
290
  * @throws {TokenOpsSdkError} on input validation failure (first deterministic error).
276
291
  * @throws {TokenOpsSdkError} if no encryptor is available at call time.
277
292
  */
278
- disperse(args: DisperseArgs): Promise<DisperseResult>;
293
+ disperse(args: DisperseArgs & ReceiptMode<true>): Promise<DisperseResult>;
294
+ /** With `waitForReceipt: false`: returns on submission, before the receipt exists. */
295
+ disperse(args: DisperseArgs & ReceiptMode<false>): Promise<PendingDisperseResult>;
296
+ /** With a runtime `boolean`: either result, narrowed by `pending`. */
297
+ disperse(args: DisperseArgs & ReceiptMode): Promise<DisperseResult | PendingDisperseResult>;
279
298
  /**
280
299
  * **This is a write transaction, not a free view. It costs gas.**
281
300
  *
@@ -394,16 +413,11 @@ export declare class ConfidentialDisperseClient {
394
413
  * revert with a generic verification failure. The plaintext `amount`
395
414
  * path is safer when the caller / chain isn't fixed yet.
396
415
  */
397
- withdrawTokenFee(args: {
398
- token: Address;
399
- to: Address;
400
- /** Plaintext amount. Mutually exclusive with `encryptedInput` — supply exactly one. */
401
- amount?: bigint;
402
- encryptor?: Encryptor;
403
- /** Pre-encrypted input. Mutually exclusive with `amount`. */
404
- encryptedInput?: EncryptedInput;
405
- account?: Account | Address;
406
- }): Promise<WithdrawTokenFeeResult>;
416
+ withdrawTokenFee(args: WithdrawTokenFeeArgs & ReceiptMode<true>): Promise<WithdrawTokenFeeResult>;
417
+ /** With `waitForReceipt: false`: returns on submission, before the receipt exists. */
418
+ withdrawTokenFee(args: WithdrawTokenFeeArgs & ReceiptMode<false>): Promise<PendingWithdrawTokenFeeResult>;
419
+ /** With a runtime `boolean`: either result, narrowed by `pending`. */
420
+ withdrawTokenFee(args: WithdrawTokenFeeArgs & ReceiptMode): Promise<WithdrawTokenFeeResult | PendingWithdrawTokenFeeResult>;
407
421
  /**
408
422
  * Rescue accidentally-sent ERC-7984 confidential tokens from the singleton.
409
423
  * Requires WITHDRAWER_ROLE.
@@ -1,6 +1,7 @@
1
1
  import type { Account, Address, Hex } from "viem";
2
2
  import type { EncryptedHandle, TxHash } from "../core/brands.js";
3
3
  import { TokenOpsSdkError } from "../core/errors.js";
4
+ import type { MinedWrite, PendingWrite } from "../core/pending.js";
4
5
  import type { EncryptedInput, EncryptedInputs, EncryptedViewResult } from "../fhe/types.js";
5
6
  import type { Encryptor } from "./encryption.js";
6
7
  export type { EncryptedInput, EncryptedInputs, EncryptedViewResult };
@@ -106,17 +107,18 @@ export interface PreflightReport {
106
107
  * registration state.
107
108
  */
108
109
  predictedWallets: [Address, Address];
109
- /** Per-wallet approval state for the given token. Only relevant for wallet modes. */
110
+ /** Per-wallet approval state for the given token. Only relevant for wallet modes, alongside {@link hasApprovedSingleton}. */
110
111
  hasApprovedSubwallets: {
111
112
  wallet0: boolean;
112
113
  wallet1: boolean;
113
114
  both: boolean;
114
115
  };
115
116
  /**
116
- * For `"direct"` mode: whether the sender itself has approved the singleton as operator.
117
- * `null` for wallet modes (approval is on the subwallets, not the sender).
117
+ * Whether the sender has approved the singleton as operator on the token. Required in
118
+ * every mode: each disperse entrypoint, and the wallet-token-fee fee pull, transfers
119
+ * from the sender. The wallet modes need {@link hasApprovedSubwallets} in addition.
118
120
  */
119
- hasApprovedSingleton: boolean | null;
121
+ hasApprovedSingleton: boolean;
120
122
  /** ETH to attach as `msg.value`. */
121
123
  feeEth: bigint;
122
124
  /** Token BPS fee amount. Defined only for `"wallet-token-fee"` mode. */
@@ -164,12 +166,22 @@ export interface SubwalletApprovalState {
164
166
  both: boolean;
165
167
  }
166
168
  /** Result of `register()`. */
167
- export interface RegisterResult {
169
+ export interface RegisterResult extends MinedWrite {
168
170
  /** Transaction hash. */
169
171
  hash: TxHash;
170
172
  /** The two subwallet addresses parsed from the `UserRegistered` event. */
171
173
  wallets: [Address, Address];
172
174
  }
175
+ /**
176
+ * What `register()` returns with `waitForReceipt: false`: the submission hash only. Read the
177
+ * subwallets from the executed transaction's `UserRegistered` log.
178
+ */
179
+ export interface PendingRegisterResult extends PendingWrite {
180
+ /** What the wallet returned for the submission; from a Safe, the `safeTxHash`. */
181
+ hash: TxHash;
182
+ /** Unknown until the registration executes. */
183
+ wallets: undefined;
184
+ }
173
185
  /**
174
186
  * Per-wallet (wallet modes) or single (direct mode) distribution row, parsed
175
187
  * from a `WalletDistribution` / `DirectDistribution` event in the disperse
@@ -197,7 +209,7 @@ export interface DisperseDistribution {
197
209
  transferred: Hex[];
198
210
  }
199
211
  /** Result of `disperse()`. */
200
- export interface DisperseResult {
212
+ export interface DisperseResult extends MinedWrite {
201
213
  /** Transaction hash. */
202
214
  hash: Hex;
203
215
  /**
@@ -208,8 +220,19 @@ export interface DisperseResult {
208
220
  */
209
221
  distributions: DisperseDistribution[];
210
222
  }
223
+ /**
224
+ * What `disperse()` returns with `waitForReceipt: false`: the submission hash only. Read the
225
+ * `WalletDistribution` / `DirectDistribution` logs of the executed transaction once owners
226
+ * co-sign.
227
+ */
228
+ export interface PendingDisperseResult extends PendingWrite {
229
+ /** What the wallet returned for the submission; from a Safe, the `safeTxHash`. */
230
+ hash: Hex;
231
+ /** Unknown until the disperse executes. */
232
+ distributions: undefined;
233
+ }
211
234
  /** Result of `withdrawTokenFee()`. */
212
- export interface WithdrawTokenFeeResult {
235
+ export interface WithdrawTokenFeeResult extends MinedWrite {
213
236
  /** Transaction hash. */
214
237
  hash: Hex;
215
238
  /**
@@ -222,6 +245,16 @@ export interface WithdrawTokenFeeResult {
222
245
  */
223
246
  transferredHandle?: Hex;
224
247
  }
248
+ /**
249
+ * What `withdrawTokenFee()` returns with `waitForReceipt: false`: the submission hash only.
250
+ * Read the handle from the executed transaction's `TokenFeeWithdrawn` log.
251
+ */
252
+ export interface PendingWithdrawTokenFeeResult extends PendingWrite {
253
+ /** What the wallet returned for the submission; from a Safe, the `safeTxHash`. */
254
+ hash: Hex;
255
+ /** Unknown until the withdrawal executes. */
256
+ transferredHandle: undefined;
257
+ }
225
258
  /** Result of `discloseHandleToParty()` / `batchDiscloseHandlesToParty()`. */
226
259
  export interface DisclosureResult {
227
260
  /** Transaction hash. */
@@ -248,6 +281,13 @@ export interface DisperseArgs {
248
281
  /** Override signer account. Falls back to `walletClient.account`. */
249
282
  account?: Account | Address | undefined;
250
283
  }
284
+ /** Arguments for `register()`. */
285
+ export interface RegisterArgs {
286
+ /** ERC-7984 token to approve the new subwallets for. */
287
+ token: Address;
288
+ /** Override signer account. Falls back to `walletClient.account`. */
289
+ account?: Account | Address | undefined;
290
+ }
251
291
  /** Arguments for `getEncryptedFeeReserve()`. */
252
292
  export interface GetEncryptedFeeReserveArgs {
253
293
  /** ERC-7984 token to query the fee reserve for. */
@@ -271,7 +311,7 @@ export interface BatchDiscloseHandlesArgs {
271
311
  party: Address;
272
312
  account?: Account | Address | undefined;
273
313
  }
274
- /** Common fields for {@link WithdrawTokenFeeArgs} — discriminated below. */
314
+ /** Common fields for {@link WithdrawTokenFeeArgs} - discriminated below. */
275
315
  interface WithdrawTokenFeeArgsCommon {
276
316
  token: Address;
277
317
  to: Address;
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunk6XOAYDC6_cjs = require('../../chunk-6XOAYDC6.cjs');
4
- require('../../chunk-JVNJSDQ4.cjs');
5
- require('../../chunk-UG5RKLU2.cjs');
3
+ var chunkPO3A2AQX_cjs = require('../../chunk-PO3A2AQX.cjs');
4
+ require('../../chunk-6AYJRUGP.cjs');
5
+ require('../../chunk-SUYBAF27.cjs');
6
6
  require('../../chunk-MVDQMV25.cjs');
7
- require('../../chunk-PG3WXT3K.cjs');
7
+ require('../../chunk-YAL6JSAZ.cjs');
8
8
  require('../../chunk-JK4XMMKM.cjs');
9
9
  require('../../chunk-66IHPTOK.cjs');
10
10
  require('../../chunk-67OV5CX2.cjs');
@@ -14,9 +14,9 @@ require('../../chunk-VJKZWYYJ.cjs');
14
14
 
15
15
  Object.defineProperty(exports, "ConfidentialVestingFactoryAdvancedClient", {
16
16
  enumerable: true,
17
- get: function () { return chunk6XOAYDC6_cjs.ConfidentialVestingFactoryAdvancedClient; }
17
+ get: function () { return chunkPO3A2AQX_cjs.ConfidentialVestingFactoryAdvancedClient; }
18
18
  });
19
19
  Object.defineProperty(exports, "createConfidentialVestingFactoryAdvancedClient", {
20
20
  enumerable: true,
21
- get: function () { return chunk6XOAYDC6_cjs.createConfidentialVestingFactoryAdvancedClient; }
21
+ get: function () { return chunkPO3A2AQX_cjs.createConfidentialVestingFactoryAdvancedClient; }
22
22
  });
@@ -1,8 +1,8 @@
1
- export { ConfidentialVestingFactoryAdvancedClient, createConfidentialVestingFactoryAdvancedClient } from '../../chunk-NGU4JYIR.js';
2
- import '../../chunk-WRWRA4TN.js';
3
- import '../../chunk-NWFMBLSQ.js';
1
+ export { ConfidentialVestingFactoryAdvancedClient, createConfidentialVestingFactoryAdvancedClient } from '../../chunk-2ND7US2I.js';
2
+ import '../../chunk-TWU7L5H7.js';
3
+ import '../../chunk-7KY4K4PH.js';
4
4
  import '../../chunk-4RAAATVY.js';
5
- import '../../chunk-6HCT4QIX.js';
5
+ import '../../chunk-GHGF65LN.js';
6
6
  import '../../chunk-ZA673I3O.js';
7
7
  import '../../chunk-KWFFIJYX.js';
8
8
  import '../../chunk-QBJ7O2B4.js';
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var chunkYABHXJNH_cjs = require('../../../chunk-YABHXJNH.cjs');
4
- require('../../../chunk-WJLECC22.cjs');
3
+ var chunkARZ5C3FS_cjs = require('../../../chunk-ARZ5C3FS.cjs');
4
+ require('../../../chunk-UUSSWOPR.cjs');
5
5
  require('../../../chunk-TEBM66WA.cjs');
6
6
  require('../../../chunk-3QHNYEQD.cjs');
7
7
  require('../../../chunk-FAXIIH5R.cjs');
8
8
  require('../../../chunk-FWHYQZ5E.cjs');
9
- var chunk6XOAYDC6_cjs = require('../../../chunk-6XOAYDC6.cjs');
10
- require('../../../chunk-JVNJSDQ4.cjs');
11
- require('../../../chunk-UG5RKLU2.cjs');
9
+ var chunkPO3A2AQX_cjs = require('../../../chunk-PO3A2AQX.cjs');
10
+ require('../../../chunk-6AYJRUGP.cjs');
11
+ require('../../../chunk-SUYBAF27.cjs');
12
12
  require('../../../chunk-MVDQMV25.cjs');
13
- var chunkPG3WXT3K_cjs = require('../../../chunk-PG3WXT3K.cjs');
13
+ var chunkYAL6JSAZ_cjs = require('../../../chunk-YAL6JSAZ.cjs');
14
14
  require('../../../chunk-JK4XMMKM.cjs');
15
15
  require('../../../chunk-66IHPTOK.cjs');
16
16
  require('../../../chunk-67OV5CX2.cjs');
@@ -37,12 +37,12 @@ function usePredictManagerAddress(args = {}) {
37
37
  ...chainId !== void 0 ? { chainId } : {}
38
38
  });
39
39
  const resolvedChainId = chainId ?? resolvedPublicClient?.chain?.id;
40
- const resolvedAddress = address ?? (resolvedChainId === void 0 ? void 0 : chunkPG3WXT3K_cjs.DEPLOYED_ADDRESSES.fheVesting?.confidentialVestingFactory?.[resolvedChainId] ?? void 0);
40
+ const resolvedAddress = address ?? (resolvedChainId === void 0 ? void 0 : chunkYAL6JSAZ_cjs.DEPLOYED_ADDRESSES.fheVesting?.confidentialVestingFactory?.[resolvedChainId] ?? void 0);
41
41
  react.useRef(void 0);
42
42
  const client = react.useMemo(() => {
43
43
  if (!resolvedPublicClient) return void 0;
44
44
  if (!resolvedAddress) return void 0;
45
- return chunk6XOAYDC6_cjs.createConfidentialVestingFactoryAdvancedClient({
45
+ return chunkPO3A2AQX_cjs.createConfidentialVestingFactoryAdvancedClient({
46
46
  publicClient: resolvedPublicClient,
47
47
  ...walletClient ? { walletClient } : {},
48
48
  address: resolvedAddress,
@@ -50,7 +50,7 @@ function usePredictManagerAddress(args = {}) {
50
50
  });
51
51
  }, [resolvedPublicClient, walletClient, resolvedAddress, resolvedChainId]);
52
52
  return reactQuery.useQuery({
53
- queryKey: chunkYABHXJNH_cjs.buildQueryKey(
53
+ queryKey: chunkARZ5C3FS_cjs.buildQueryKey(
54
54
  "factory:predictManagerAddress",
55
55
  resolvedChainId,
56
56
  resolvedAddress,
@@ -1,14 +1,14 @@
1
- import { buildQueryKey } from '../../../chunk-BPIVVCSQ.js';
2
- import '../../../chunk-TWT3STIX.js';
1
+ import { buildQueryKey } from '../../../chunk-BSXEX2SH.js';
2
+ import '../../../chunk-K3R27WX4.js';
3
3
  import '../../../chunk-WMACINXO.js';
4
4
  import '../../../chunk-6GNR22OV.js';
5
5
  import '../../../chunk-ZWXJTBZO.js';
6
6
  import '../../../chunk-7VELUOMI.js';
7
- import { createConfidentialVestingFactoryAdvancedClient } from '../../../chunk-NGU4JYIR.js';
8
- import '../../../chunk-WRWRA4TN.js';
9
- import '../../../chunk-NWFMBLSQ.js';
7
+ import { createConfidentialVestingFactoryAdvancedClient } from '../../../chunk-2ND7US2I.js';
8
+ import '../../../chunk-TWU7L5H7.js';
9
+ import '../../../chunk-7KY4K4PH.js';
10
10
  import '../../../chunk-4RAAATVY.js';
11
- import { DEPLOYED_ADDRESSES } from '../../../chunk-6HCT4QIX.js';
11
+ import { DEPLOYED_ADDRESSES } from '../../../chunk-GHGF65LN.js';
12
12
  import '../../../chunk-ZA673I3O.js';
13
13
  import '../../../chunk-KWFFIJYX.js';
14
14
  import '../../../chunk-QBJ7O2B4.js';
@@ -1,5 +1,6 @@
1
1
  import type { Account, Address, Hex, PublicClient, WalletClient } from "viem";
2
2
  import { type TxHash } from "../core/brands.js";
3
+ import type { MinedWrite, PendingWrite, ReceiptMode } from "../core/pending.js";
3
4
  import { type SdkTelemetry } from "../core/telemetry.js";
4
5
  import type { FeeType } from "./types.js";
5
6
  import { type CustomFee } from "./types.js";
@@ -74,12 +75,23 @@ export interface PredictManagerArgs {
74
75
  * Branded `hash: TxHash` and `manager: Address` so consumers can't accidentally
75
76
  * swap them at the destructure site.
76
77
  */
77
- export interface CreateManagerResult {
78
+ export interface CreateManagerResult extends MinedWrite {
78
79
  /** Transaction hash of the deploy. */
79
80
  hash: TxHash;
80
81
  /** Address of the deployed clone, parsed from the `ManagerCreated` event. */
81
82
  manager: Address;
82
83
  }
84
+ /**
85
+ * What {@link ConfidentialVestingFactoryClient.createManager} returns with
86
+ * `waitForReceipt: false` ({@link ReceiptMode}): the submission hash only. Resolve the
87
+ * manager address from the executed transaction's `ManagerCreated` log.
88
+ */
89
+ export interface PendingCreateManagerResult extends PendingWrite {
90
+ /** What the wallet returned for the submission; from a Safe, the `safeTxHash`. */
91
+ hash: TxHash;
92
+ /** Unknown until the deploy executes; read its `ManagerCreated` log. */
93
+ manager: undefined;
94
+ }
83
95
  /**
84
96
  * Typed wrapper around the deployed `ConfidentialVestingFactory`. Mirrors the
85
97
  * Solidity interface 1:1 — the only "abstraction" is plumbing viem clients and
@@ -87,7 +99,7 @@ export interface CreateManagerResult {
87
99
  *
88
100
  * @example
89
101
  * const factory = createConfidentialVestingFactoryClient({ publicClient, walletClient });
90
- * const hash = await factory.createManager({ token, userSalt });
102
+ * const { hash, manager } = await factory.createManager({ token, userSalt });
91
103
  */
92
104
  export declare class ConfidentialVestingFactoryClient {
93
105
  #private;
@@ -99,10 +111,10 @@ export declare class ConfidentialVestingFactoryClient {
99
111
  * Deploy a new `ConfidentialVestingManager` clone via the factory and return
100
112
  * its address, parsed from the `ManagerCreated` event in the tx receipt.
101
113
  *
102
- * **This is the headline factory entry point.** It returns one rich-return
103
- * shape: the address is only knowable after the tx mines (the factory packs
104
- * `block.number` into the clone's immutable args), so a hash-only variant
105
- * would force consumers to re-derive what the SDK already had to compute.
114
+ * **This is the headline factory entry point.** By default it returns the
115
+ * rich shape: the address is only knowable after the tx mines (the factory
116
+ * packs `block.number` into the clone's immutable args). The hash-only result
117
+ * exists only for signers that cannot wait, through `waitForReceipt: false`.
106
118
  *
107
119
  * Calls `createManagerWithOptions` when `splitEnabled` or `pausableEnabled`
108
120
  * is provided; otherwise calls the simpler `createManager` entry point.
@@ -110,6 +122,9 @@ export declare class ConfidentialVestingFactoryClient {
110
122
  * Internally: `writeContract` → {@link PublicClient.waitForTransactionReceipt} →
111
123
  * `parseEventLogs({ eventName: "ManagerCreated" })`.
112
124
  *
125
+ * Safe / multisig signers pass `waitForReceipt: false` ({@link ReceiptMode}) and get a
126
+ * {@link PendingCreateManagerResult}.
127
+ *
113
128
  * Pre-mine prediction is exposed only on
114
129
  * `ConfidentialVestingFactoryAdvancedClient` from
115
130
  * `@tokenops/sdk/fhe-vesting/advanced` — predict at block N, mine at N+1,
@@ -121,7 +136,11 @@ export declare class ConfidentialVestingFactoryClient {
121
136
  * userSalt: "0x0000000000000000000000000000000000000000000000000000000000000001",
122
137
  * });
123
138
  */
124
- createManager(args: CreateManagerArgs): Promise<CreateManagerResult>;
139
+ createManager(args: CreateManagerArgs & ReceiptMode<true>): Promise<CreateManagerResult>;
140
+ /** With `waitForReceipt: false`: returns on submission, before the receipt exists. */
141
+ createManager(args: CreateManagerArgs & ReceiptMode<false>): Promise<PendingCreateManagerResult>;
142
+ /** With a runtime `boolean`: either result, narrowed by `pending`. */
143
+ createManager(args: CreateManagerArgs & ReceiptMode): Promise<CreateManagerResult | PendingCreateManagerResult>;
125
144
  /**
126
145
  * Deploy a new manager clone and return its address, parsed from the
127
146
  * `ManagerCreated` event in the tx receipt.
@@ -141,7 +160,11 @@ export declare class ConfidentialVestingFactoryClient {
141
160
  * token, userSalt,
142
161
  * });
143
162
  */
144
- createManagerAndGetAddress(args: CreateManagerArgs): Promise<CreateManagerResult>;
163
+ createManagerAndGetAddress(args: CreateManagerArgs & ReceiptMode<true>): Promise<CreateManagerResult>;
164
+ /** With `waitForReceipt: false`: returns on submission, before the receipt exists. */
165
+ createManagerAndGetAddress(args: CreateManagerArgs & ReceiptMode<false>): Promise<PendingCreateManagerResult>;
166
+ /** With a runtime `boolean`: either result, narrowed by `pending`. */
167
+ createManagerAndGetAddress(args: CreateManagerArgs & ReceiptMode): Promise<CreateManagerResult | PendingCreateManagerResult>;
145
168
  /**
146
169
  * Set the factory-wide default gas fee (in wei). Factory admin only.
147
170
  *
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var chunkWJLECC22_cjs = require('../chunk-WJLECC22.cjs');
3
+ var chunkUUSSWOPR_cjs = require('../chunk-UUSSWOPR.cjs');
4
4
  require('../chunk-TEBM66WA.cjs');
5
5
  var chunk3QHNYEQD_cjs = require('../chunk-3QHNYEQD.cjs');
6
6
  require('../chunk-FAXIIH5R.cjs');
7
7
  var chunkFWHYQZ5E_cjs = require('../chunk-FWHYQZ5E.cjs');
8
- var chunkJVNJSDQ4_cjs = require('../chunk-JVNJSDQ4.cjs');
9
- require('../chunk-UG5RKLU2.cjs');
8
+ var chunk6AYJRUGP_cjs = require('../chunk-6AYJRUGP.cjs');
9
+ require('../chunk-SUYBAF27.cjs');
10
10
  require('../chunk-MVDQMV25.cjs');
11
- require('../chunk-PG3WXT3K.cjs');
11
+ require('../chunk-YAL6JSAZ.cjs');
12
12
  require('../chunk-JK4XMMKM.cjs');
13
13
  require('../chunk-66IHPTOK.cjs');
14
14
  var chunk67OV5CX2_cjs = require('../chunk-67OV5CX2.cjs');
@@ -18,55 +18,55 @@ require('../chunk-VJKZWYYJ.cjs');
18
18
 
19
19
  Object.defineProperty(exports, "ClaimLockedError", {
20
20
  enumerable: true,
21
- get: function () { return chunkWJLECC22_cjs.ClaimLockedError; }
21
+ get: function () { return chunkUUSSWOPR_cjs.ClaimLockedError; }
22
22
  });
23
23
  Object.defineProperty(exports, "ConfidentialVestingManagerClient", {
24
24
  enumerable: true,
25
- get: function () { return chunkWJLECC22_cjs.ConfidentialVestingManagerClient; }
25
+ get: function () { return chunkUUSSWOPR_cjs.ConfidentialVestingManagerClient; }
26
26
  });
27
27
  Object.defineProperty(exports, "NoPendingTransferError", {
28
28
  enumerable: true,
29
- get: function () { return chunkWJLECC22_cjs.NoPendingTransferError; }
29
+ get: function () { return chunkUUSSWOPR_cjs.NoPendingTransferError; }
30
30
  });
31
31
  Object.defineProperty(exports, "NotPendingRecipientError", {
32
32
  enumerable: true,
33
- get: function () { return chunkWJLECC22_cjs.NotPendingRecipientError; }
33
+ get: function () { return chunkUUSSWOPR_cjs.NotPendingRecipientError; }
34
34
  });
35
35
  Object.defineProperty(exports, "NotVestingRecipientError", {
36
36
  enumerable: true,
37
- get: function () { return chunkWJLECC22_cjs.NotVestingRecipientError; }
37
+ get: function () { return chunkUUSSWOPR_cjs.NotVestingRecipientError; }
38
38
  });
39
39
  Object.defineProperty(exports, "TransferAlreadyPendingError", {
40
40
  enumerable: true,
41
- get: function () { return chunkWJLECC22_cjs.TransferAlreadyPendingError; }
41
+ get: function () { return chunkUUSSWOPR_cjs.TransferAlreadyPendingError; }
42
42
  });
43
43
  Object.defineProperty(exports, "TransferExpiredError", {
44
44
  enumerable: true,
45
- get: function () { return chunkWJLECC22_cjs.TransferExpiredError; }
45
+ get: function () { return chunkUUSSWOPR_cjs.TransferExpiredError; }
46
46
  });
47
47
  Object.defineProperty(exports, "VestingExpiredError", {
48
48
  enumerable: true,
49
- get: function () { return chunkWJLECC22_cjs.VestingExpiredError; }
49
+ get: function () { return chunkUUSSWOPR_cjs.VestingExpiredError; }
50
50
  });
51
51
  Object.defineProperty(exports, "VestingNotFoundError", {
52
52
  enumerable: true,
53
- get: function () { return chunkWJLECC22_cjs.VestingNotFoundError; }
53
+ get: function () { return chunkUUSSWOPR_cjs.VestingNotFoundError; }
54
54
  });
55
55
  Object.defineProperty(exports, "VestingNotRevocableError", {
56
56
  enumerable: true,
57
- get: function () { return chunkWJLECC22_cjs.VestingNotRevocableError; }
57
+ get: function () { return chunkUUSSWOPR_cjs.VestingNotRevocableError; }
58
58
  });
59
59
  Object.defineProperty(exports, "VestingRevokedError", {
60
60
  enumerable: true,
61
- get: function () { return chunkWJLECC22_cjs.VestingRevokedError; }
61
+ get: function () { return chunkUUSSWOPR_cjs.VestingRevokedError; }
62
62
  });
63
63
  Object.defineProperty(exports, "confidentialVestingManagerAbi", {
64
64
  enumerable: true,
65
- get: function () { return chunkWJLECC22_cjs.confidentialVestingManagerAbi; }
65
+ get: function () { return chunkUUSSWOPR_cjs.confidentialVestingManagerAbi; }
66
66
  });
67
67
  Object.defineProperty(exports, "createConfidentialVestingManagerClient", {
68
68
  enumerable: true,
69
- get: function () { return chunkWJLECC22_cjs.createConfidentialVestingManagerClient; }
69
+ get: function () { return chunkUUSSWOPR_cjs.createConfidentialVestingManagerClient; }
70
70
  });
71
71
  Object.defineProperty(exports, "FHE_SPLIT_DENOMINATOR", {
72
72
  enumerable: true,
@@ -98,27 +98,27 @@ Object.defineProperty(exports, "erc7984OperatorAbi", {
98
98
  });
99
99
  Object.defineProperty(exports, "ConfidentialVestingFactoryClient", {
100
100
  enumerable: true,
101
- get: function () { return chunkJVNJSDQ4_cjs.ConfidentialVestingFactoryClient; }
101
+ get: function () { return chunk6AYJRUGP_cjs.ConfidentialVestingFactoryClient; }
102
102
  });
103
103
  Object.defineProperty(exports, "DisclosureType", {
104
104
  enumerable: true,
105
- get: function () { return chunkJVNJSDQ4_cjs.DisclosureType; }
105
+ get: function () { return chunk6AYJRUGP_cjs.DisclosureType; }
106
106
  });
107
107
  Object.defineProperty(exports, "FeeType", {
108
108
  enumerable: true,
109
- get: function () { return chunkJVNJSDQ4_cjs.FeeType; }
109
+ get: function () { return chunk6AYJRUGP_cjs.FeeType; }
110
110
  });
111
111
  Object.defineProperty(exports, "confidentialVestingFactoryAbi", {
112
112
  enumerable: true,
113
- get: function () { return chunkJVNJSDQ4_cjs.confidentialVestingFactoryAbi; }
113
+ get: function () { return chunk6AYJRUGP_cjs.confidentialVestingFactoryAbi; }
114
114
  });
115
115
  Object.defineProperty(exports, "createConfidentialVestingFactoryClient", {
116
116
  enumerable: true,
117
- get: function () { return chunkJVNJSDQ4_cjs.createConfidentialVestingFactoryClient; }
117
+ get: function () { return chunk6AYJRUGP_cjs.createConfidentialVestingFactoryClient; }
118
118
  });
119
119
  Object.defineProperty(exports, "feeTypeName", {
120
120
  enumerable: true,
121
- get: function () { return chunkJVNJSDQ4_cjs.feeTypeName; }
121
+ get: function () { return chunk6AYJRUGP_cjs.feeTypeName; }
122
122
  });
123
123
  Object.defineProperty(exports, "AccessDeniedError", {
124
124
  enumerable: true,
@@ -1,9 +1,10 @@
1
- export { ConfidentialVestingFactoryClient, createConfidentialVestingFactoryClient, type ConfidentialVestingFactoryClientConfig, type CreateManagerArgs, type CreateManagerResult, } from "./factory.js";
2
- export { ConfidentialVestingManagerClient, createConfidentialVestingManagerClient, type BatchCreateVestingArgs, type BatchDiscloseToPartyResult, type ClaimArgs, type ConfidentialVestingManagerClientConfig, type CreateVestingArgs, type DiscloseArgs, type DiscloseToPartyResult, type EncryptedViewResult, type InitiateTransferArgs, type PartialClaimArgs, type SplitVestingArgs, type SplitVestingResult, } from "./manager.js";
1
+ export { ConfidentialVestingFactoryClient, createConfidentialVestingFactoryClient, type ConfidentialVestingFactoryClientConfig, type CreateManagerArgs, type CreateManagerResult, type PendingCreateManagerResult, } from "./factory.js";
2
+ export { ConfidentialVestingManagerClient, createConfidentialVestingManagerClient, type BatchCreateVestingArgs, type BatchDiscloseToPartyResult, type ClaimArgs, type ConfidentialVestingManagerClientConfig, type CreateVestingArgs, type DiscloseArgs, type DiscloseToPartyResult, type EncryptedViewResult, type InitiateTransferArgs, type PartialClaimArgs, type SplitVestingArgs, type PendingSplitVestingResult, type SplitVestingResult, } from "./manager.js";
3
3
  export { encryptUint64, encryptUint64Batch, resolveEncryptor, type Encryptor, type EncryptorSource, type EncryptUint64Args, type EncryptUint64BatchArgs, type FheValueInput, } from "./encryption.js";
4
4
  export { DisclosureType, FeeType, feeTypeName, type CreateVestingPreflightReport, type CustomFee, type EncryptedInput, type EncryptedInputs, type PendingTransfer, type VestingInfo, type VestingParams, } from "./types.js";
5
5
  export { confidentialVestingFactoryAbi, confidentialVestingManagerAbi, erc7984OperatorAbi, } from "./abis/index.js";
6
6
  export { TokenOpsSdkError, isTokenOpsSdkError, DeploymentAddressUnavailableError, UnsupportedChainError, MissingAccountError, MissingClientError, MissingEncryptorError, MissingPublicClientError, MissingWalletClientError, InvalidArgumentError, ReceiptEventAmbiguousError, ReceiptEventNotFoundError, TokenOpsValidationError, ContractRevertError, TokenOpsContractError, PausedError, AccessDeniedError, OperatorNotApprovedError, InsufficientFeeError, InsufficientBalanceError, BatchTooLargeError, FeatureDisabledError, TransferFailedError, FheHandleNotAllowedError, AlreadyInitializedError, ReentrancyError, InvalidSignatureError, WalletRejectedError, WalletChainMismatchError, NetworkError, InsufficientGasFundsError, UnknownWriteFailureError, UserRejectedSignatureError, SigningFailedError, RelayerUnreachableError, EncryptionFailedError, DecryptionFailedError, UserDecryptNotAllowedError, type DeploymentAddressUnavailableReason, type TokenOpsSdkErrorCode, } from "../core/errors.js";
7
7
  export { type PreflightResult } from "../core/preflight.js";
8
+ export type { MinedWrite, PendingWrite, ReceiptMode } from "../core/pending.js";
8
9
  export { VestingNotFoundError, NotVestingRecipientError, ClaimLockedError, VestingRevokedError, VestingNotRevocableError, VestingExpiredError, TransferAlreadyPendingError, NoPendingTransferError, NotPendingRecipientError, TransferExpiredError, } from "./errors.js";
9
10
  export { FHE_SPLIT_DENOMINATOR, scaleRatio, share, type ScaleRatioArgs, type ScaleRatioWidth, type ScaledRatio, } from "../fhe/scale-ratio.js";