@zkp2p/sdk 0.14.10 → 0.15.0-rc.1

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.
@@ -1,6 +1,6 @@
1
+ import { Address, Hex, AccessList, AuthorizationList, Hash, PublicClient, WalletClient, Transport } from 'viem';
1
2
  import * as _zkp2p_indexer_schema from '@zkp2p/indexer-schema';
2
3
  import { Deposit, DepositStatus as DepositStatus$2, IntentStatus as IntentStatus$1, DepositPaymentMethod, MethodCurrency, Intent as Intent$1, MakerProfitSnapshot, RateManager, ManagerAggregateStats, RateManagerRate, ManagerStats, StakeLockStatus as StakeLockStatus$1, StakeActivityKind as StakeActivityKind$1, DepositFundActivity, DepositDailySnapshot, ManagerDailySnapshot } from '@zkp2p/indexer-schema';
3
- import { Address, Hex, AccessList, AuthorizationList, Hash, PublicClient, WalletClient, Transport } from 'viem';
4
4
  import { Abi } from 'abitype';
5
5
  import { IdentityPlatform, IdentityAttestationOutputFor as IdentityAttestationOutputFor$1, IdentityActionTypeByPlatform, IdentityParamsByPlatform, IdentityRequestPlatform } from '@zkp2p/zkp2p-attestation';
6
6
 
@@ -13,10 +13,13 @@ import { IdentityPlatform, IdentityAttestationOutputFor as IdentityAttestationOu
13
13
  * @module contracts
14
14
  */
15
15
 
16
+ declare const ORCHESTRATOR_V4_ABI: Abi;
17
+ declare const DISPUTE_PROTECTION_POLICY_V2_ABI: Abi;
16
18
  /** Reviewed OrchestratorV3 intent-lifecycle ABI. */
17
19
  declare const ORCHESTRATOR_V3_ABI: Abi;
18
20
  /** Reviewed StakeVault ledger ABI (stake/lock/claim/delegation). */
19
21
  declare const STAKE_VAULT_ABI: Abi;
22
+ declare const STAKE_VAULT_V2_ABI: Abi;
20
23
  /**
21
24
  * Reviewed DisputeProtectionPolicy ABI — the deployed StakeVault controller. Owns
22
25
  * per-payment-method risk windows, per-deposit dispute-protection enablement,
@@ -37,7 +40,8 @@ type V2ContractAddresses = {
37
40
  orchestrator?: `0x${string}`;
38
41
  /** OrchestratorV2 contract (queries EscrowV2 effective rates) */
39
42
  orchestratorV2?: `0x${string}`;
40
- /** OrchestratorV3 contract (native curator v3 intent lifecycle) */
43
+ /** Current deferred-payout orchestrator, when deployed. */
44
+ orchestratorV4?: `0x${string}`;
41
45
  orchestratorV3?: `0x${string}`;
42
46
  /** All supported orchestrator addresses for the current deployment */
43
47
  orchestratorAddresses?: `0x${string}`[];
@@ -72,12 +76,16 @@ type V2ContractAddresses = {
72
76
  intentGuardian?: `0x${string}`;
73
77
  /** AddressGroupRegistry contract */
74
78
  addressGroupRegistry?: `0x${string}`;
75
- /** WhitelistPolicy contract for deposit access policies */
79
+ /** Current deposit whitelist: WhitelistPolicyV4 when O4 is deployed, otherwise WhitelistPolicy. Missing V4 fails closed. */
76
80
  whitelistPolicy?: `0x${string}`;
77
81
  /** StakeVault contract for taker stake and delegation */
78
82
  stakeVault?: `0x${string}`;
79
83
  /** DisputeProtectionPolicy contract — the StakeVault controller for dispute-risk admission */
80
84
  disputeProtectionPolicy?: `0x${string}`;
85
+ /** Cascade settlement and deferred-payout policy. */
86
+ disputeProtectionPolicyV2?: Address;
87
+ /** Successor stake vault; independent of the canonical alias during rollout. */
88
+ stakeVaultV2?: Address;
81
89
  };
82
90
  /**
83
91
  * Contract ABIs for a specific deployment.
@@ -87,6 +95,7 @@ type V2ContractAbis = {
87
95
  escrowV2?: Abi;
88
96
  orchestrator?: Abi;
89
97
  orchestratorV2?: Abi;
98
+ orchestratorV4?: Abi;
90
99
  orchestratorV3?: Abi;
91
100
  unifiedPaymentVerifier?: Abi;
92
101
  protocolViewer?: Abi;
@@ -98,6 +107,8 @@ type V2ContractAbis = {
98
107
  addressGroupRegistry?: Abi;
99
108
  whitelistPolicy?: Abi;
100
109
  stakeVault?: Abi;
110
+ disputeProtectionPolicyV2?: Abi;
111
+ stakeVaultV2?: Abi;
101
112
  disputeProtectionPolicy?: Abi;
102
113
  };
103
114
  /**
@@ -213,6 +224,18 @@ declare function getDisputeProtectionPolicyContract(chainId: number, env?: Runti
213
224
  address: `0x${string}`;
214
225
  abi: Abi;
215
226
  };
227
+ declare function getOrchestratorV4Contract(chainId: number, env?: RuntimeEnv): {
228
+ address: Address;
229
+ abi: Abi;
230
+ };
231
+ declare function getDisputeProtectionPolicyV2Contract(chainId: number, env?: RuntimeEnv): {
232
+ address: Address;
233
+ abi: Abi;
234
+ };
235
+ declare function getStakeVaultV2Contract(chainId: number, env?: RuntimeEnv): {
236
+ address: Address;
237
+ abi: Abi;
238
+ };
216
239
 
217
240
  /**
218
241
  * Minimal fetch-based GraphQL client for the ZKP2P indexer.
@@ -244,6 +267,142 @@ declare class IndexerClient {
244
267
  type DeploymentEnv = 'PRODUCTION' | 'PREPRODUCTION' | 'STAGING' | 'DEV' | 'LOCAL';
245
268
  declare function defaultIndexerEndpoint(env?: DeploymentEnv): string;
246
269
 
270
+ declare enum DisputeProtectionIntentStatusV2 {
271
+ NONE = 0,
272
+ SETTLED = 1,
273
+ RELEASED = 2,
274
+ DISPUTED = 3
275
+ }
276
+ declare enum CollateralSource {
277
+ NONE = 0,
278
+ STAKE = 1,
279
+ DEFERRED_PAYOUT = 2
280
+ }
281
+ declare enum PayoutState {
282
+ /** No policy record. Treat as paid only once fulfilment has succeeded. */
283
+ NOT_PROTECTED = "NOT_PROTECTED",
284
+ PAID = "PAID",
285
+ HELD = "HELD",
286
+ CLAIMABLE = "CLAIMABLE",
287
+ CLAIMED = "CLAIMED",
288
+ RELEASED_TO_STAKE = "RELEASED_TO_STAKE",
289
+ DISPUTED = "DISPUTED"
290
+ }
291
+ type DisputeProtectionIntentV2 = {
292
+ taker: Address;
293
+ recipient: Address;
294
+ stakeOwner: Address;
295
+ depositor: Address;
296
+ paymentMethod: Hex;
297
+ status: DisputeProtectionIntentStatusV2;
298
+ collateralSource: CollateralSource;
299
+ releaseEligibleAt: bigint;
300
+ lockedAmount: bigint;
301
+ claimedAmount: bigint;
302
+ };
303
+ declare function parseDisputeProtectionIntentV2(value: unknown): DisputeProtectionIntentV2 | null;
304
+ type PayoutStatus = Pick<DisputeProtectionIntentV2, 'collateralSource' | 'recipient' | 'taker' | 'lockedAmount' | 'claimedAmount' | 'releaseEligibleAt'> & {
305
+ state: PayoutState;
306
+ claimable: bigint;
307
+ };
308
+ type DeferredPayout = {
309
+ intentHash: Hex;
310
+ recipient: Address;
311
+ amount: bigint;
312
+ vault?: Address;
313
+ releaseEligibleAt?: bigint;
314
+ };
315
+ type DeferredPayoutLog = {
316
+ address: Address;
317
+ data: Hex;
318
+ topics: readonly Hex[];
319
+ };
320
+ type PayoutSettlement = {
321
+ collateralSource: CollateralSource;
322
+ /** Derived from O4's IntentFulfilled event, never from the V2 policy event. */
323
+ isManualRelease: boolean;
324
+ };
325
+ /** Classify logs from a successful O4 fulfil receipt, including paths with no stored record. */
326
+ declare function parsePayoutSettlementFromLogs(logs: readonly DeferredPayoutLog[], intentHash: Hex, resolved: {
327
+ disputeProtectionPolicyV2Address?: Address;
328
+ orchestratorV4Address?: Address;
329
+ }): PayoutSettlement | null;
330
+ declare function parseDeferredPayoutFromLogs(logs: readonly DeferredPayoutLog[], intentHash: Hex, resolved: {
331
+ disputeProtectionPolicyV2Address?: Address;
332
+ orchestratorV4Address?: Address;
333
+ }): DeferredPayout | null;
334
+
335
+ type ActiveDisputeProtectionStack = {
336
+ /** Present only on the draining August/O3 stack. */
337
+ lifecycleHook?: Address;
338
+ disputeProtectionPolicy: Address;
339
+ stakeVault: Address;
340
+ };
341
+
342
+ interface EscrowContractContext {
343
+ address: Address;
344
+ abi: Abi;
345
+ orchestratorAddress?: Address;
346
+ orchestratorAbi?: Abi;
347
+ version: 'v2';
348
+ }
349
+ interface OrchestratorContractContext {
350
+ address: Address;
351
+ abi: Abi;
352
+ version: 'v2' | 'v3' | 'v4';
353
+ }
354
+ interface ContractRouterConfig {
355
+ escrowAddress: Address;
356
+ escrowAbi: Abi;
357
+ escrowV2Address?: Address;
358
+ escrowV2Abi?: Abi;
359
+ escrowAddresses: Address[];
360
+ orchestratorAddress?: Address;
361
+ orchestratorAbi?: Abi;
362
+ orchestratorV2Address?: Address;
363
+ orchestratorV2Abi?: Abi;
364
+ orchestratorV4Address?: Address;
365
+ orchestratorV4Abi?: Abi;
366
+ orchestratorV3Address?: Address;
367
+ orchestratorV3Abi?: Abi;
368
+ orchestratorAddresses: Address[];
369
+ }
370
+ declare class ContractRouter {
371
+ private readonly _escrowContextsByAddress;
372
+ private readonly _orchestratorContextsByAddress;
373
+ readonly escrowAddress: Address;
374
+ readonly escrowAbi: Abi;
375
+ readonly escrowV2Address?: Address;
376
+ readonly escrowV2Abi?: Abi;
377
+ readonly escrowAddresses: Address[];
378
+ readonly orchestratorAddress?: Address;
379
+ readonly orchestratorAbi?: Abi;
380
+ readonly orchestratorV2Address?: Address;
381
+ readonly orchestratorV2Abi?: Abi;
382
+ readonly orchestratorV4Address?: Address;
383
+ readonly orchestratorV4Abi?: Abi;
384
+ readonly orchestratorV3Address?: Address;
385
+ readonly orchestratorV3Abi?: Abi;
386
+ readonly orchestratorAddresses: Address[];
387
+ constructor(config: ContractRouterConfig);
388
+ private _registerContexts;
389
+ getEscrowContextByAddress(address?: Address): EscrowContractContext | undefined;
390
+ getOrchestratorContextByAddress(address?: Address): OrchestratorContractContext | undefined;
391
+ resolveEscrowContext(options?: {
392
+ escrowAddress?: Address;
393
+ depositId?: bigint | number | string;
394
+ }): EscrowContractContext;
395
+ getEscrowContexts(): EscrowContractContext[];
396
+ resolveOrchestratorForEscrow(escrowAddress?: Address): OrchestratorContractContext | undefined;
397
+ buildProtocolViewerContexts(options?: {
398
+ escrowAddress?: Address;
399
+ orchestratorAddress?: Address;
400
+ }): Array<{
401
+ escrow: Address;
402
+ orchestrator: Address;
403
+ }>;
404
+ }
405
+
247
406
  /**
248
407
  * Type definitions for the ZKP2P indexer GraphQL schema
249
408
  */
@@ -1356,7 +1515,7 @@ type QuoteSingleResponse = {
1356
1515
  takerReferralFeeAmountFormatted?: string;
1357
1516
  whitelistEnabled: boolean;
1358
1517
  allowedGroupIds: string[];
1359
- disputeProtectionOptedOut: boolean;
1518
+ /** Authoritative Curator per-taker flag; see mayRequireDisputeProtection for the V2 rule (positive rail window, USDC deposit, whitelist off, taker not a bypassing registered relayer). */
1360
1519
  disputeProtectionRequiresStake: boolean;
1361
1520
  /**
1362
1521
  * Whether the maker's seller automation is live for this quote — active
@@ -1776,7 +1935,7 @@ type OrderbookEntry = {
1776
1935
  telegramUsername?: string;
1777
1936
  whitelistEnabled: boolean;
1778
1937
  allowedGroupIds: string[];
1779
- disputeProtectionOptedOut: boolean;
1938
+ /** Authoritative Curator per-taker flag; see mayRequireDisputeProtection for the V2 rule (positive rail window, USDC deposit, whitelist off, taker not a bypassing registered relayer). */
1780
1939
  disputeProtectionRequiresStake: boolean;
1781
1940
  };
1782
1941
  type GetOrderbookResponse = {
@@ -1821,7 +1980,7 @@ type OrderbookTableRow = {
1821
1980
  sellerAutomatedReleaseEnabled: boolean;
1822
1981
  whitelistEnabled: boolean;
1823
1982
  allowedGroupIds: string[];
1824
- disputeProtectionOptedOut: boolean;
1983
+ /** Authoritative Curator per-taker flag; see mayRequireDisputeProtection for the V2 rule (positive rail window, USDC deposit, whitelist off, taker not a bypassing registered relayer). */
1825
1984
  disputeProtectionRequiresStake: boolean;
1826
1985
  isPrivate: boolean;
1827
1986
  updatedAt: string;
@@ -1901,8 +2060,8 @@ declare class AccessPolicyUnsupportedError extends Error {
1901
2060
  constructor(contract: 'WhitelistPolicy' | 'AddressGroupRegistry');
1902
2061
  }
1903
2062
  /**
1904
- * Historical reads and narrowly scoped writes for `WhitelistPolicy` and
1905
- * `AddressGroupRegistry`.
2063
+ * Reads and narrowly scoped writes for the current orchestrator's deposit whitelist
2064
+ * (`WhitelistPolicyV4` for O4, otherwise `WhitelistPolicy`) and `AddressGroupRegistry`.
1906
2065
  *
1907
2066
  * Writes are depositor-only at the contract level: `onlyDepositor` resolves the
1908
2067
  * escrow's recorded depositor, so a deposit delegate is rejected. Callers must
@@ -2042,6 +2201,7 @@ declare function classifyIntentGuardianError(error: unknown): IntentGuardianErro
2042
2201
 
2043
2202
  type StakeVaultWriteFunction = 'depositStake' | 'withdrawStake' | 'claim' | 'setTakerAuthorization' | 'selectStakeOwner' | 'clearStakeOwner';
2044
2203
  type StakeWriteBase = {
2204
+ stakeVaultAddress?: Address;
2045
2205
  txOverrides?: TxOverrides;
2046
2206
  };
2047
2207
  type StakeVaultWriteParams = {
@@ -2067,8 +2227,7 @@ type StakeVaultWriteParams = {
2067
2227
  * `selectedStakeOwner` is the raw selection, which is only meaningful while
2068
2228
  * `selectionAuthorized` remains true. The two must never be conflated: a
2069
2229
  * stale selection falls back to self-stake on the contract side.
2070
- * `admissionsPaused` comes from the vault's DisputeProtectionPolicy controller and
2071
- * blocks new dispute-protected admissions while true.
2230
+ * `admissionsPaused` is present only for the August/O3 policy. V2 has no pause.
2072
2231
  */
2073
2232
  type StakeVaultState = {
2074
2233
  staker: Address;
@@ -2081,7 +2240,7 @@ type StakeVaultState = {
2081
2240
  locked: bigint;
2082
2241
  free: bigint;
2083
2242
  claimable: bigint;
2084
- admissionsPaused: boolean;
2243
+ admissionsPaused?: boolean;
2085
2244
  };
2086
2245
 
2087
2246
  type PV_ReferralFee = {
@@ -2140,7 +2299,9 @@ type PV_Intent = {
2140
2299
  fiatCurrency: string;
2141
2300
  conversionRate: bigint;
2142
2301
  referralFees: PV_ReferralFee[];
2143
- postIntentHook: string;
2302
+ /** O3 only; absent on O4. */
2303
+ postIntentHook?: string;
2304
+ payeeId?: string;
2144
2305
  data: string;
2145
2306
  };
2146
2307
  type PV_IntentView = {
@@ -2670,6 +2831,9 @@ declare class IndexerStakingService {
2670
2831
  }
2671
2832
 
2672
2833
  type InactiveReadinessState = 'recognized_predecessor' | 'passive_successor' | 'verified_no_hook';
2834
+ declare enum DisputeProtectionVerifiedStack {
2835
+ Manifest = "manifest"
2836
+ }
2673
2837
  type KnownReadinessBase = {
2674
2838
  asOfBlock: bigint;
2675
2839
  manifestNetwork: 'base' | 'base_staging';
@@ -2679,6 +2843,7 @@ type KnownReadinessBase = {
2679
2843
  orchestratorPaused: boolean;
2680
2844
  allowMultipleIntents: boolean;
2681
2845
  policyAdmissionsPaused: boolean | null;
2846
+ verifiedStack: DisputeProtectionVerifiedStack;
2682
2847
  };
2683
2848
  type KnownReadinessResult = KnownReadinessBase & ({
2684
2849
  state: InactiveReadinessState;
@@ -2710,9 +2875,10 @@ type ReadDisputeAttestationConfigParams = {
2710
2875
  publicClient: PublicClient;
2711
2876
  chainId: number;
2712
2877
  environment?: RuntimeEnv;
2878
+ policyAddress?: Address;
2713
2879
  };
2714
2880
  /** Read the canonical dispute addresses and live attestation trust roots at one block. */
2715
- declare function readDisputeAttestationConfig({ publicClient, chainId, environment, }: ReadDisputeAttestationConfigParams): Promise<DisputeAttestationConfig>;
2881
+ declare function readDisputeAttestationConfig({ publicClient, chainId, environment, policyAddress, }: ReadDisputeAttestationConfigParams): Promise<DisputeAttestationConfig>;
2716
2882
 
2717
2883
  type FulfillmentRecord = {
2718
2884
  id: string;
@@ -2737,6 +2903,27 @@ type FulfillmentAndPaymentResponse = {
2737
2903
  };
2738
2904
  declare function fetchFulfillmentAndPayment(client: IndexerClient, intentHash: string): Promise<FulfillmentAndPaymentResponse>;
2739
2905
 
2906
+ declare enum DisputeProtectionIntentStatus {
2907
+ None = 0,
2908
+ Pending = 1,
2909
+ Cancelled = 2,
2910
+ Settled = 3,
2911
+ Released = 4,
2912
+ Disputed = 5
2913
+ }
2914
+ type DisputeProtectionIntent = {
2915
+ taker: Address;
2916
+ stakeOwner: Address;
2917
+ depositor: Address;
2918
+ paymentMethod: Hex;
2919
+ status: DisputeProtectionIntentStatus;
2920
+ riskWindow: bigint;
2921
+ releaseEligibleAt: bigint;
2922
+ releaseAmount: bigint;
2923
+ };
2924
+ /** Accept viem's named or positional struct representation, validating the on-chain field widths. */
2925
+ declare function parseDisputeProtectionIntent(value: unknown): DisputeProtectionIntent | null;
2926
+
2740
2927
  type ICloudMailSellerPlatform = 'paypal' | 'venmo' | 'xmoney';
2741
2928
  type UploadICloudMailSellerCredentialParams = {
2742
2929
  /** Registered maker hash used in the Curator route. */
@@ -2892,12 +3079,12 @@ type SignalIntentMethodParams = {
2892
3079
  referrerFee?: bigint | string;
2893
3080
  /** Optional referrer fee configuration for redirect-flow integrations */
2894
3081
  referrerFeeConfig?: ReferrerFeeConfig;
2895
- /** Optional hook contract to call after signaling */
3082
+ /** O3-only post-intent hook; O4 rejects nonzero addresses */
2896
3083
  postIntentHook?: Address;
2897
3084
  /** Optional data for pre-intent hook (defaults to '0x') */
2898
3085
  preIntentHookData?: `0x${string}`;
2899
- /** Optional data to pass to the hook */
2900
- data?: `0x${string}`;
3086
+ /** O3-only configuration passed unchanged to the post-intent hook; O4 rejects non-empty data. */
3087
+ data?: Hex;
2901
3088
  /** Optional escrow override (auto-routes orchestrator when provided) */
2902
3089
  escrowAddress?: Address;
2903
3090
  /**
@@ -2951,7 +3138,7 @@ type FulfillIntentMethodParams = {
2951
3138
  * in the configured deployment; an unrecognized address throws.
2952
3139
  */
2953
3140
  orchestratorAddress?: Address;
2954
- /** Data to pass to post-intent hook */
3141
+ /** O3-only post-intent hook data; O4 rejects non-empty data. */
2955
3142
  postIntentHookData?: `0x${string}`;
2956
3143
  /** Optional viem transaction overrides */
2957
3144
  txOverrides?: TxOverrides;
@@ -3080,6 +3267,8 @@ declare class Zkp2pClient {
3080
3267
  /** OrchestratorV2 ABI */
3081
3268
  readonly orchestratorV2Abi?: Abi;
3082
3269
  /** OrchestratorV3 address (if deployed) */
3270
+ readonly orchestratorV4Address?: Address;
3271
+ readonly orchestratorV4Abi?: Abi;
3083
3272
  readonly orchestratorV3Address?: Address;
3084
3273
  /** OrchestratorV3 ABI */
3085
3274
  readonly orchestratorV3Abi?: Abi;
@@ -3097,9 +3286,9 @@ declare class Zkp2pClient {
3097
3286
  readonly addressGroupRegistryAddress?: Address;
3098
3287
  /** AddressGroupRegistry ABI */
3099
3288
  readonly addressGroupRegistryAbi?: Abi;
3100
- /** WhitelistPolicy contract address (undefined where not deployed) */
3289
+ /** Current deposit whitelist: WhitelistPolicyV4 for O4, otherwise WhitelistPolicy; undefined if missing. */
3101
3290
  readonly whitelistPolicyAddress?: Address;
3102
- /** WhitelistPolicy ABI */
3291
+ /** ABI of the current orchestrator's deposit whitelist. */
3103
3292
  readonly whitelistPolicyAbi?: Abi;
3104
3293
  /** DepositRateManagerRegistryV1 contract address */
3105
3294
  readonly rateManagerRegistryAddress?: Address;
@@ -3155,6 +3344,7 @@ declare class Zkp2pClient {
3155
3344
  private readonly _pvReader;
3156
3345
  private readonly _vaultOps;
3157
3346
  private readonly _stakeOps;
3347
+ private readonly _liveDisputeProtection;
3158
3348
  private readonly _disputeProtectionReadinessReader;
3159
3349
  private readonly _intentGuardianOps;
3160
3350
  private readonly _intentOps;
@@ -3225,6 +3415,7 @@ declare class Zkp2pClient {
3225
3415
  private prepareResolvedOrchestratorTransaction;
3226
3416
  private prepareContractTransaction;
3227
3417
  private buildContractMethod;
3418
+ private resolveStakeContract;
3228
3419
  private buildStakeVaultMethod;
3229
3420
  private buildDisputeProtectionPolicyMethod;
3230
3421
  private buildIntentGuardianMethod;
@@ -3564,19 +3755,65 @@ declare class Zkp2pClient {
3564
3755
  hash?: Hash;
3565
3756
  }>;
3566
3757
  /**
3567
- * Return the resolved StakeVault coordinates for advanced wallet, relayer,
3568
- * or reactive read integrations.
3758
+ * Return bundle/canonical StakeVault coordinates when no address is supplied,
3759
+ * or validate and return an explicit known vault. This synchronous getter
3760
+ * does not discover the live stack. Use getActiveStakeVaultContract() for the
3761
+ * vault the live policy locks from, used by every implicit stake read and write.
3569
3762
  */
3570
- getStakeVaultContract(): {
3763
+ getStakeVaultContract(options?: {
3764
+ stakeVaultAddress?: Address;
3765
+ }): {
3571
3766
  address: Address;
3572
3767
  abi: Abi;
3573
3768
  stakeToken: Address;
3574
3769
  };
3770
+ /** Resolve an explicit vault through the trusted live stack, cached per client. */
3771
+ resolveStakeVaultContract(options: {
3772
+ stakeVaultAddress: Address;
3773
+ }): Promise<{
3774
+ address: `0x${string}`;
3775
+ abi: Abi;
3776
+ stakeToken: `0x${string}`;
3777
+ }>;
3778
+ getKnownStakeVaults(): {
3779
+ address: `0x${string}`;
3780
+ abi: Abi;
3781
+ stakeToken: `0x${string}`;
3782
+ }[];
3783
+ getActiveDisputeProtectionStack(): Promise<ActiveDisputeProtectionStack | null>;
3784
+ getActiveStakeVaultContract(): Promise<{
3785
+ address: `0x${string}`;
3786
+ abi: Abi;
3787
+ stakeToken: `0x${string}`;
3788
+ }>;
3789
+ getDisputeProtectionStacks(): Promise<{
3790
+ current: ActiveDisputeProtectionStack | null;
3791
+ draining: ActiveDisputeProtectionStack | null;
3792
+ }>;
3793
+ getCurrentOrchestratorContract(): {
3794
+ address: Address;
3795
+ abi: Abi;
3796
+ };
3797
+ resolveIntentOrchestrator(intentHash: Hex): Promise<OrchestratorContractContext>;
3798
+ getPayoutStatuses(hashes: readonly Hex[]): Promise<PayoutStatus[]>;
3799
+ /** NONE means NOT_PROTECTED; after successful fulfilment it means paid, including whitelist bypass. */
3800
+ getPayoutStatus(intentHash: Hex): Promise<PayoutStatus>;
3801
+ parseDeferredPayoutFromLogs(logs: readonly DeferredPayoutLog[], intentHash: Hex): DeferredPayout | null;
3802
+ readonly claimFor: PrepareableMethod<{
3803
+ intentHash: Hex;
3804
+ disputeProtectionPolicyAddress?: Address;
3805
+ txOverrides?: TxOverrides;
3806
+ }, `0x${string}`>;
3575
3807
  /** Return the resolved OrchestratorV3 coordinates for advanced integrations. */
3576
3808
  getOrchestratorV3Contract(): {
3577
3809
  address: Address;
3578
3810
  abi: Abi;
3579
3811
  };
3812
+ /** The unchanged tuple getter also supports historical intents on the canonical policy. */
3813
+ getDisputeProtectionIntent(intentHash: Hex, options?: {
3814
+ disputeProtectionPolicyAddress?: Address;
3815
+ blockNumber?: bigint;
3816
+ }): Promise<DisputeProtectionIntent>;
3580
3817
  /** Return the resolved DisputeProtectionPolicy coordinates for keeper integrations. */
3581
3818
  getDisputeProtectionPolicyContract(): {
3582
3819
  address: Address;
@@ -3587,6 +3824,7 @@ declare class Zkp2pClient {
3587
3824
  * If an approval is submitted, wait for it to confirm before depositing.
3588
3825
  */
3589
3826
  ensureStakeAllowance(params: {
3827
+ stakeVaultAddress?: Address;
3590
3828
  amount: bigint;
3591
3829
  maxApprove?: boolean;
3592
3830
  txOverrides?: TxOverrides;
@@ -3596,22 +3834,26 @@ declare class Zkp2pClient {
3596
3834
  }>;
3597
3835
  /** Deposit USDC stake owned by the transaction sender. */
3598
3836
  readonly depositStake: PrepareableMethod<{
3837
+ stakeVaultAddress?: Address;
3599
3838
  txOverrides?: TxOverrides;
3600
3839
  } & {
3601
3840
  amount: bigint;
3602
3841
  }, `0x${string}`>;
3603
3842
  /** Withdraw the sender's free stake immediately; locked stake cannot move. */
3604
3843
  readonly withdrawStake: PrepareableMethod<{
3844
+ stakeVaultAddress?: Address;
3605
3845
  txOverrides?: TxOverrides;
3606
3846
  } & {
3607
3847
  amount: bigint;
3608
3848
  }, `0x${string}`>;
3609
3849
  /** Withdraw the sender's complete claimable USDC balance. */
3610
3850
  readonly claim: PrepareableMethod<{
3851
+ stakeVaultAddress?: Address;
3611
3852
  txOverrides?: TxOverrides;
3612
3853
  }, `0x${string}`>;
3613
3854
  /** Grant or revoke a taker's access to the sender's stake. */
3614
3855
  readonly setTakerAuthorization: PrepareableMethod<{
3856
+ stakeVaultAddress?: Address;
3615
3857
  txOverrides?: TxOverrides;
3616
3858
  } & {
3617
3859
  taker: Address;
@@ -3619,45 +3861,80 @@ declare class Zkp2pClient {
3619
3861
  }, `0x${string}`>;
3620
3862
  /** Select the authorizing stake owner that backs the connected taker. */
3621
3863
  readonly selectStakeOwner: PrepareableMethod<{
3864
+ stakeVaultAddress?: Address;
3622
3865
  txOverrides?: TxOverrides;
3623
3866
  } & {
3624
3867
  stakeOwner: Address;
3625
3868
  }, `0x${string}`>;
3626
3869
  /** Clear the connected taker's selection and return to self-stake. */
3627
3870
  readonly clearStakeOwner: PrepareableMethod<{
3871
+ stakeVaultAddress?: Address;
3628
3872
  txOverrides?: TxOverrides;
3629
3873
  }, `0x${string}`>;
3630
3874
  /** Read total stake owned by an address directly from StakeVault. */
3631
- getStakeBalance(stakeOwner: Address): Promise<bigint>;
3875
+ getStakeBalance(stakeOwner: Address, options?: {
3876
+ stakeVaultAddress?: Address;
3877
+ }): Promise<bigint>;
3632
3878
  /** Read stake committed to active StakeVault locks. */
3633
- getLockedStake(stakeOwner: Address): Promise<bigint>;
3879
+ getLockedStake(stakeOwner: Address, options?: {
3880
+ stakeVaultAddress?: Address;
3881
+ }): Promise<bigint>;
3634
3882
  /** Read stake available for immediate withdrawal or a new lock. */
3635
- getFreeStake(stakeOwner: Address): Promise<bigint>;
3883
+ getFreeStake(stakeOwner: Address, options?: {
3884
+ stakeVaultAddress?: Address;
3885
+ }): Promise<bigint>;
3636
3886
  /** Read the non-stake USDC withdrawable by a beneficiary with `claim()`. */
3637
- getClaimable(beneficiary: Address): Promise<bigint>;
3887
+ getClaimable(beneficiary: Address, options?: {
3888
+ stakeVaultAddress?: Address;
3889
+ }): Promise<bigint>;
3638
3890
  /** Resolve the effective stake owner backing a taker. */
3639
- getStakeOwner(taker: Address): Promise<Address>;
3891
+ getStakeOwner(taker: Address, options?: {
3892
+ stakeVaultAddress?: Address;
3893
+ }): Promise<Address>;
3640
3894
  /** Read a taker's raw selection, which is stale once authorization is revoked. */
3641
- getSelectedStakeOwner(taker: Address): Promise<Address>;
3895
+ getSelectedStakeOwner(taker: Address, options?: {
3896
+ stakeVaultAddress?: Address;
3897
+ }): Promise<Address>;
3642
3898
  /** Read whether a stake owner currently authorizes a taker. */
3643
- getTakerAuthorization(stakeOwner: Address, taker: Address): Promise<boolean>;
3899
+ getTakerAuthorization(stakeOwner: Address, taker: Address, options?: {
3900
+ stakeVaultAddress?: Address;
3901
+ }): Promise<boolean>;
3644
3902
  /** Read the complete authoritative StakeVault state needed by a staking UI. */
3645
3903
  getStakeVaultState(params: {
3646
3904
  staker: Address;
3647
3905
  taker?: Address;
3906
+ stakeVaultAddress?: Address;
3648
3907
  }): Promise<StakeVaultState>;
3649
- /** Read whether the DisputeProtectionPolicy is refusing new dispute-protected admissions. */
3650
- getAdmissionsPaused(): Promise<boolean>;
3908
+ /** August/O3 only: read whether new protected admissions are paused. */
3909
+ getAdmissionsPaused(options?: {
3910
+ disputeProtectionPolicyAddress?: Address;
3911
+ }): Promise<boolean>;
3651
3912
  /** Prove the exact packaged dispute-protection deployment at one block. */
3652
3913
  getDisputeProtectionReadiness(options?: DisputeProtectionReadinessOptions): Promise<DisputeProtectionReadinessResult>;
3653
3914
  /**
3654
- * Read a payment method's minimum collateral lock window in seconds. Zero
3915
+ * August/O3 only: read a payment method's collateral lock window in seconds. Zero
3655
3916
  * means the method admits unbonded — no stake is locked at admission.
3656
3917
  */
3657
- getRiskWindow(paymentMethodHash: `0x${string}`): Promise<bigint>;
3658
- /** Read whether an escrow deposit has opted into dispute protection. */
3659
- isDisputeProtectionEnabled(escrow: Address, depositId: bigint, paymentMethod: Hex): Promise<boolean>;
3660
- /** Enable or disable dispute protection for one deposit. */
3918
+ getRiskWindow(paymentMethodHash: `0x${string}`, options?: {
3919
+ disputeProtectionPolicyAddress?: Address;
3920
+ }): Promise<bigint>;
3921
+ /** August V1 only: read dispute-protection enablement on the OrchestratorV3 stack. */
3922
+ isDisputeProtectionEnabled(escrow: Address, depositId: bigint, paymentMethod: Hex, options?: {
3923
+ disputeProtectionPolicyAddress?: Address;
3924
+ }): Promise<boolean>;
3925
+ /** V2 only: read the deposit-wide relayer-bypass opt-out (false by default). */
3926
+ isDepositOptedOutForRelayerBypass(params: {
3927
+ escrow: Address;
3928
+ depositId: bigint;
3929
+ }): Promise<boolean>;
3930
+ /** V2 only: the depositor (not a delegate) can opt out of relayer bypass after creation. */
3931
+ readonly setDepositOptOutForRelayerBypass: PrepareableMethod<{
3932
+ escrow: Address;
3933
+ depositId: bigint;
3934
+ optOut: boolean;
3935
+ txOverrides?: TxOverrides;
3936
+ }, `0x${string}`>;
3937
+ /** August V1 only: enable or disable protection on the OrchestratorV3 stack. */
3661
3938
  readonly setDisputeProtectionEnabled: PrepareableMethod<{
3662
3939
  escrow: Address;
3663
3940
  depositId: bigint;
@@ -3722,11 +3999,12 @@ declare class Zkp2pClient {
3722
3999
  *
3723
4000
  * Call `ensureAllowance()` first to approve USDC spending.
3724
4001
  *
3725
- * By default, Venmo and PayPal methods enable the trusted group bypass: after
3726
- * the deposit mines, one `WhitelistPolicy.configureDeposit` transaction per
3727
- * such method adds the environment's Peer Pay merchant group, whose members
3728
- * then skip dispute-protection staking. Other takers still stake, and until
3729
- * that transaction mines, merchants stake too.
4002
+ * The trusted-group whitelist is opt-in via `enableTrustedGroupBypass: true`
4003
+ * (defaults to false). When enabled, after the deposit mines, one current-whitelist `configureDeposit`
4004
+ * transaction per Venmo/PayPal method adds the environment's Peer Pay merchant
4005
+ * group, whose members skip dispute-protection staking. On OrchestratorV4 an
4006
+ * enabled whitelist makes the deposit private: it rejects every taker outside
4007
+ * the Peer Pay merchant group.
3730
4008
  *
3731
4009
  * @param params.token - Token address (USDC)
3732
4010
  * @param params.amount - Total deposit amount in token units (6 decimals for USDC)
@@ -3738,15 +4016,15 @@ declare class Zkp2pClient {
3738
4016
  * @param params.delegate - Optional delegate address that can manage the deposit
3739
4017
  * @param params.intentGuardian - Guardian for intent approval. Defaults to the paid guardian deployed for the client's environment.
3740
4018
  * @param params.retainOnEmpty - Keep deposit active when balance reaches zero
3741
- * @param params.enableTrustedGroupBypass - Let the Peer Pay merchant group skip staking on Venmo/PayPal methods. Defaults to true.
4019
+ * @param params.enableTrustedGroupBypass - Enable the Peer Pay merchant-group whitelist on Venmo/PayPal methods. Defaults to false.
3742
4020
  * @param params.txOverrides - Optional viem transaction overrides
3743
4021
  * @returns The deposit details posted to API (empty when payee registration is skipped), the transaction hash, and the confirmed trusted-group policy transaction hashes
3744
4022
  *
3745
4023
  * @throws Error if processorNames, payeeData, and conversionRates lengths don't match
3746
4024
  * @throws Error if payeeData is missing and neither payeeDetailsHashes nor full payment method overrides are provided
3747
4025
  * @throws Error if a currency is not supported by the specified processor
3748
- * @throws AccessPolicyUnsupportedError before sending if a Venmo/PayPal deposit targets an environment without WhitelistPolicy
3749
- * @throws ContractError with `details.hash` if the deposit was sent but the trusted group bypass was not confirmed
4026
+ * @throws AccessPolicyUnsupportedError only when enableTrustedGroupBypass is true, before sending a Venmo/PayPal deposit without its current whitelist deployed
4027
+ * @throws ContractError with `details.hash` only when enableTrustedGroupBypass is true and the deposit was sent but the trusted group bypass was not confirmed
3750
4028
  *
3751
4029
  * @example
3752
4030
  * ```typescript
@@ -3793,7 +4071,10 @@ declare class Zkp2pClient {
3793
4071
  escrowAddress?: Address;
3794
4072
  /** Peer referral code (six alphanumeric characters) for deposit attribution. */
3795
4073
  referralCode?: string;
3796
- /** Let the Peer Pay merchant group skip staking on Venmo/PayPal methods (default true). */
4074
+ /**
4075
+ * Opt-in Venmo/PayPal whitelist (default false). On OrchestratorV4 it makes the
4076
+ * deposit private: only Peer Pay merchant-group members can signal.
4077
+ */
3797
4078
  enableTrustedGroupBypass?: boolean;
3798
4079
  txOverrides?: TxOverrides;
3799
4080
  }): Promise<{
@@ -4343,8 +4624,8 @@ declare class Zkp2pClient {
4343
4624
  * @param params.referralFees - Optional referral fee recipients and fee amounts
4344
4625
  * @param params.referrer - Deprecated legacy single-referrer address
4345
4626
  * @param params.referrerFee - Deprecated legacy single-referrer fee amount
4346
- * @param params.postIntentHook - Optional hook contract to call after signaling
4347
- * @param params.data - Optional data to pass to the hook
4627
+ * @param params.postIntentHook - O3-only post-intent hook; O4 rejects nonzero addresses
4628
+ * @param params.data - O3-only configuration passed unchanged to the post-intent hook; O4 rejects non-empty data
4348
4629
  * @param params.gatingServiceSignature - Pre-obtained signature (if not auto-fetching)
4349
4630
  * @param params.signatureExpiration - Signature expiration timestamp
4350
4631
  * @param params.txOverrides - Optional viem transaction overrides
@@ -4438,11 +4719,10 @@ declare class Zkp2pClient {
4438
4719
  txOverrides?: TxOverrides;
4439
4720
  }, Hash>;
4440
4721
  /**
4441
- * Deposit access policies and verified address groups.
4722
+ * Current deposit whitelist (WhitelistPolicyV4 for O4, otherwise WhitelistPolicy) and address groups.
4442
4723
  *
4443
4724
  * `accessPolicy.isSupported` is false wherever the contracts are not
4444
- * deployed. Writes are depositor-only, and saving a policy configures storage
4445
- * rather than enforcing admission.
4725
+ * deployed. Writes are depositor-only; O4 enforces the whitelist for new intents.
4446
4726
  */
4447
4727
  get accessPolicy(): AccessPolicyOperations;
4448
4728
  /**
@@ -4508,7 +4788,7 @@ declare class Zkp2pClient {
4508
4788
  * @param params.proof - Buyer TEE payment proof input
4509
4789
  * @param params.timestampBufferMs - Allowed timestamp variance (default: 300000ms)
4510
4790
  * @param params.attestationServiceUrl - Override attestation service URL
4511
- * @param params.postIntentHookData - Data to pass to post-intent hook
4791
+ * @param params.postIntentHookData - O3-only data to pass to the post-intent hook
4512
4792
  * @param params.txOverrides - Optional viem transaction overrides
4513
4793
  * @param params.callbacks - Lifecycle callbacks for UI updates
4514
4794
  * @returns Transaction hash
@@ -4779,6 +5059,9 @@ declare class Zkp2pClient {
4779
5059
  orchestrator?: Address;
4780
5060
  orchestratorV2?: Address;
4781
5061
  orchestratorV3?: Address;
5062
+ orchestratorV4?: Address;
5063
+ disputeProtectionPolicyV2?: Address;
5064
+ stakeVaultV2?: Address;
4782
5065
  orchestratorAddresses: Address[];
4783
5066
  protocolViewer?: Address;
4784
5067
  protocolViewerEntries: Address[];
@@ -4870,4 +5153,4 @@ type SendBatchFn = (txs: Array<{
4870
5153
  value?: bigint;
4871
5154
  }>) => Promise<string>;
4872
5155
 
4873
- export { type ReferralBearerWriteOptions as $, type AttestationServiceIdentityResponse as A, type BuyerTeeVerifyPaymentBody as B, type CuratorSellerCredentialUploadResponse as C, type DepositWithRelations as D, type GetOwnerDepositsRequest as E, type GetOwnerDepositsResponse as F, type GoogleOAuthSellerCredentialPlatform as G, type GetDepositBundleParams as H, type IntentEntity as I, type GetDepositBundleResponse as J, type GetOrderbookParams as K, type GetOrderbookResponse as L, type MicrosoftOAuthSellerCredentialUploadBodyByPlatform as M, type GetOrderbookTableResponse as N, type QuoteRequest as O, type PostDepositDetailsRequest as P, type QuotesBestByPlatformRequest as Q, type ReferrerFeeConfig as R, type SellerCredentialBundle as S, type QuoteResponse as T, type UploadSellerCredentialBundleParams as U, type ValidatePayeeDetailsRequest as V, type CuratorMetadata as W, type CurrencyType as X, type PaymentMethodCatalog as Y, type TxOverrides as Z, Zkp2pClient as _, type IdentityAttestationRequestBody as a, type ApiIntentStatus as a$, type ReferralReadOptions as a0, type ReferralSignatureOptions as a1, type RedeemReferralCodeSignatureOptions as a2, type SignalIntentReferralFee as a3, type SignalIntentMethodParams as a4, type FulfillIntentMethodParams as a5, type CancelIntentMethodParams as a6, type UpdateReferralCodeSignatureOptions as a7, type Zkp2pNextOptions as a8, type StakeVaultState as a9, type BestByPlatformResponseObject as aA, type GetBestByPlatformResponse as aB, type GetBestByPlatformResponseObject as aC, type GetPlatformQuote as aD, type PlatformQuote as aE, type QuotePreference as aF, type GetNearbyQuote as aG, type GetNearbySuggestions as aH, type GetQuoteResponse as aI, type GetQuoteResponseObject as aJ, type GetQuoteSingleResponse as aK, type QuoteResponseObject as aL, type QuoteMakerIdentity as aM, type QuoteSingleResponse as aN, type QuoteIntentResponse as aO, type QuoteFeesResponse as aP, type FiatResponse as aQ, type TokenResponse as aR, type NearbyQuote as aS, type NearbySuggestions as aT, type ApiDeposit as aU, type DepositVerifier as aV, type DepositVerifierCurrency as aW, type DepositStatus$1 as aX, type GetDepositByIdRequest as aY, type GetDepositByIdResponse as aZ, type Intent as a_, type StakeVaultWriteFunction as aa, type StakeVaultWriteParams as ab, readDisputeAttestationConfig as ac, type DisputeAttestationConfig as ad, type DisputeProtectionReadinessOptions as ae, type DisputeProtectionReadinessResult as af, type ReadDisputeAttestationConfigParams as ag, type IntentGuardianPolicy as ah, type IntentGuardianQuote as ai, type IntentGuardianWriteFunction as aj, type IntentGuardianWriteParams as ak, type IntentGuardianErrorCode as al, classifyIntentGuardianError as am, type AuthorizationTokenProvider as an, type TimeoutConfig as ao, type ActionCallback as ap, type ReferralRedemption as aq, type ReferralSignatureBody as ar, type CreateDepositParams as as, type CreateDepositConversionRate as at, type Range as au, type WithdrawDepositParams as av, type SignalIntentParams as aw, type FulfillIntentParams as ax, type ReleaseFundsToPayerParams as ay, type CancelIntentParams as az, type AttestationServiceSellerVerifyResponse as b, type OrderStats as b$, type GetOwnerIntentsRequest as b0, type GetOwnerIntentsResponse as b1, type GetIntentsByDepositRequest as b2, type GetIntentsByDepositResponse as b3, type GetIntentByHashRequest as b4, type GetIntentByHashResponse as b5, type RegisterPayeeDetailsRequest as b6, type RegisterPayeeDetailsResponse as b7, type AmazonPayCredentialUploadInput as b8, type AmazonPayIdentityAttestationOutput as b9, type SellerCredentialProbeResponse as bA, type FulfillIntentAttestationResponse as bB, type AttestationServiceSellerCredentialProbeResponse as bC, type BuyerTeePaymentParams as bD, type BuyerTeePaymentProofInput as bE, type BuyerTeeSessionMaterial as bF, type CuratorSellerVerifyResponse as bG, type RegisteredSellerCredentialPlatform as bH, type UploadSellerCredentialParams as bI, type RegisteredUploadSellerCredentialParams as bJ, type UploadSellerCredentialOptions as bK, type GetSellerCredentialStatusParams as bL, type UploadPayPalGoogleOAuthSellerCredentialParams as bM, type UploadVenmoGoogleOAuthSellerCredentialParams as bN, type UploadXMoneyGoogleOAuthSellerCredentialParams as bO, type UploadGoogleOAuthSellerCredentialParams as bP, type UploadMicrosoftOAuthSellerCredentialParams as bQ, type VerifySellerPaymentParams as bR, type IdentityAttestationActionType as bS, type IdentityAttestationOutput as bT, type IdentityAttestationOutputFor as bU, type IdentityAttestationParams as bV, type MakerIdentityAttestationRequestBody as bW, type MakerIdentityPlatform as bX, type OnchainCurrency as bY, type DepositVerifierData as bZ, type PreparedTransaction as b_, type VenmoSessionMaterial as ba, type CashAppSessionMaterial as bb, type WiseSessionMaterial as bc, type WiseProfileInfo as bd, type WiseProfileSelectionRequired as be, type WiseProfileNotFound as bf, type PayPalGoogleOAuthSellerCredentialUploadBody as bg, type VenmoGoogleOAuthSellerCredentialUploadBody as bh, type XMoneyGoogleOAuthSellerCredentialUploadBody as bi, type VenmoCredentialUploadInput as bj, type CashAppCredentialUploadInput as bk, type WiseCredentialUploadInput as bl, type SellerCredentialUploadInputByPlatform as bm, type SellerCiphertextBundle as bn, type SellerSignedCiphertextBundle as bo, type SellerVerifyIntentDetails as bp, type SellerVerifyInput as bq, type SellerProbeInput as br, type SellerCredentialBundleUpload as bs, type SellerCredentialStatusValue as bt, type SellerCredentialStatus as bu, type SellerVerifyProxyBody as bv, type SellerTypedDataField as bw, type SellerTypedDataSpec as bx, type SellerPaymentTypedDataValue as by, type SellerAttestationOutput as bz, type SellerCredentialUploadInput as c, type FulfillmentAndPaymentResponse as c$, type DepositIntentStatistics as c0, type UsdcAmount as c1, type StakeEnvironment as c2, type TakerStakeBalances as c3, type OrderbookEntry as c4, type OrderbookTableRow as c5, IndexerClient as c6, defaultIndexerEndpoint as c7, IndexerDepositService as c8, IndexerRateManagerService as c9, type IndexedPage as cA, type IndexedPageAsOf as cB, type IndexedRiskWindow as cC, type IndexedStakeActivity as cD, type IndexedStakeTotals as cE, type IndexedStakeLock as cF, type IndexedStakingRowFreshness as cG, type IndexedStakingState as cH, type IndexedStakingStateParams as cI, type IndexedTakerAuthorization as cJ, type IndexedTakerStakeAuthorization as cK, type StakeActivityPageParams as cL, type StakeLockPageParams as cM, type StakingEntityIds as cN, type TakerStakeAuthorizationPageParams as cO, type DepositFilter as cP, type PaginationOptions as cQ, type DepositOrderField as cR, type OrderDirection$1 as cS, type RateManagerFilter as cT, type RateManagerPaginationOptions as cU, type RateManagerDelegationPaginationOptions as cV, type RateManagerOrderField as cW, type OrderDirection as cX, type DeploymentEnv as cY, type FulfillmentRecord as cZ, type PaymentVerifiedRecord as c_, compareEventCursorIdsByRecency as ca, buildStakingEntityIds as cb, IndexerStakingService as cc, fetchFulfillmentAndPayment as cd, type DepositEntity as ce, type IntentFulfilledEntity as cf, type IntentFulfillmentAmountsEntity as cg, type DepositPaymentMethodEntity as ch, type MethodCurrencyEntity as ci, type IntentStatus as cj, type RateManagerEntity as ck, type RateManagerRateEntity as cl, type RateManagerDelegationEntity as cm, type ManagerAggregateStatsEntity as cn, type ManagerStatsEntity as co, type ManagerDailySnapshotEntity as cp, type RateManagerListItem as cq, type RateManagerDetail as cr, type ManualRateUpdateEntity as cs, type OracleConfigUpdateEntity as ct, type DepositFundActivityEntity as cu, type DepositDailySnapshotEntity as cv, type DepositFundActivityType as cw, type DisputeProtectionIntentPage as cx, type DisputeProtectionIntentPageParams as cy, type IndexedDisputeProtectionIntent as cz, type SellerCredentialUploadPlatform as d, PAYMENT_PLATFORMS as d0, type PaymentPlatformType as d1, Currency as d2, currencyInfo as d3, getCurrencyInfoFromHash as d4, getCurrencyInfoFromCountryCode as d5, getCurrencyCodeFromHash as d6, isSupportedCurrencyHash as d7, mapConversionRatesToOnchainMinRate as d8, type CurrencyData as d9, type PV_Intent as dA, ZERO_RATE_MANAGER_ID as dB, isZeroRateManagerId as dC, normalizeRateManagerId as dD, normalizeRegistry as dE, getDelegationRoute as dF, classifyDelegationState as dG, type DelegationRoute as dH, type DelegationState as dI, type DelegationDepositTarget as dJ, type BatchResult as dK, type SendTransactionFn as dL, type SendBatchFn as dM, AccessPolicyOperations as dN, AccessPolicyUnsupportedError as dO, ICloudMailCredentialError as dP, isMailboxSellerCredentialType as dQ, type ICloudMailCredentialErrorReason as dR, type ICloudMailSellerPlatform as dS, type UploadICloudMailSellerCredentialOptions as dT, type UploadICloudMailSellerCredentialParams as dU, ZERO_ADDRESS as dV, asErrorMessage as dW, assertDelegationMethodSupport as dX, getContracts as da, getIntentGuardianContract as db, hasIntentGuardian as dc, getRateManagerContracts as dd, getStakeVaultContract as de, getOrchestratorV3Contract as df, getDisputeProtectionPolicyContract as dg, getPaymentMethodsCatalog as dh, getGatingServiceAddress as di, ORCHESTRATOR_V3_ABI as dj, DISPUTE_PROTECTION_POLICY_ABI as dk, STAKE_VAULT_ABI as dl, type RuntimeEnv as dm, type V2ContractAddresses as dn, type V2ContractAbis as dp, parseDepositView as dq, parseIntentView as dr, enrichPvDepositView as ds, enrichPvIntentView as dt, type PV_DepositView as du, type PV_Deposit as dv, type PV_PaymentMethodData as dw, type PV_Currency as dx, type PV_ReferralFee as dy, type PV_IntentView as dz, type SellerCredentialAttestationRuntime as e, type AttestationServiceSellerCredentialUploadResponse as f, type BuyerTeeSessionMaterialEncryptionInput as g, type CreateReferralCodeRequest as h, type ApiAdapterOptions as i, type CreateReferralCodeResponse as j, type ReferralReadRequest as k, type ReferralDashboardResponse as l, type ReferralEarningsResponse as m, type ReferralCodeLookupResponse as n, type RedeemReferralCodeRequest as o, type RedeemReferralCodeResponse as p, type UpdateReferralCodeRequest as q, type UpdateReferralCodeResponse as r, type GoogleOAuthSellerCredentialUploadBodyByPlatform as s, type SellerPlatform as t, type CuratorSellerCredentialStatusResponse as u, type BestByPlatformResponse as v, type ValidatePayeeDetailsResponse as w, type PostDepositDetailsResponse as x, type GetPayeeDetailsRequest as y, type GetPayeeDetailsResponse as z };
5156
+ export { type RuntimeEnv as $, type AttestationServiceIdentityResponse as A, type BuyerTeeVerifyPaymentBody as B, type CuratorSellerCredentialUploadResponse as C, type DepositWithRelations as D, type GetPayeeDetailsResponse as E, type GetOwnerDepositsRequest as F, type GoogleOAuthSellerCredentialPlatform as G, type GetOwnerDepositsResponse as H, IndexerClient as I, type GetDepositBundleParams as J, type GetDepositBundleResponse as K, type GetOrderbookParams as L, type MicrosoftOAuthSellerCredentialUploadBodyByPlatform as M, type GetOrderbookResponse as N, type GetOrderbookTableResponse as O, type PostDepositDetailsRequest as P, type QuotesBestByPlatformRequest as Q, type ReferrerFeeConfig as R, type SellerCredentialBundle as S, type QuoteRequest as T, type UploadSellerCredentialBundleParams as U, type ValidatePayeeDetailsRequest as V, type QuoteResponse as W, type CuratorMetadata as X, type CurrencyType as Y, type PaymentMethodCatalog as Z, type TxOverrides as _, type IntentEntity as a, type NearbyQuote as a$, type DisputeProtectionIntentV2 as a0, type DisputeProtectionIntent as a1, Zkp2pClient as a2, type ReferralBearerWriteOptions as a3, type ReferralReadOptions as a4, type ReferralSignatureOptions as a5, type RedeemReferralCodeSignatureOptions as a6, type SignalIntentReferralFee as a7, type SignalIntentMethodParams as a8, type FulfillIntentMethodParams as a9, type ReferralSignatureBody as aA, type CreateDepositParams as aB, type CreateDepositConversionRate as aC, type Range as aD, type WithdrawDepositParams as aE, type SignalIntentParams as aF, type FulfillIntentParams as aG, type ReleaseFundsToPayerParams as aH, type CancelIntentParams as aI, type BestByPlatformResponseObject as aJ, type GetBestByPlatformResponse as aK, type GetBestByPlatformResponseObject as aL, type GetPlatformQuote as aM, type PlatformQuote as aN, type QuotePreference as aO, type GetNearbyQuote as aP, type GetNearbySuggestions as aQ, type GetQuoteResponse as aR, type GetQuoteResponseObject as aS, type GetQuoteSingleResponse as aT, type QuoteResponseObject as aU, type QuoteMakerIdentity as aV, type QuoteSingleResponse as aW, type QuoteIntentResponse as aX, type QuoteFeesResponse as aY, type FiatResponse as aZ, type TokenResponse as a_, type CancelIntentMethodParams as aa, type UpdateReferralCodeSignatureOptions as ab, type Zkp2pNextOptions as ac, type StakeVaultState as ad, type StakeVaultWriteFunction as ae, type StakeVaultWriteParams as af, readDisputeAttestationConfig as ag, type DisputeAttestationConfig as ah, DisputeProtectionVerifiedStack as ai, type DisputeProtectionReadinessOptions as aj, type DisputeProtectionReadinessResult as ak, type ReadDisputeAttestationConfigParams as al, type IntentGuardianPolicy as am, type IntentGuardianQuote as an, type IntentGuardianWriteFunction as ao, type IntentGuardianWriteParams as ap, type IntentGuardianErrorCode as aq, classifyIntentGuardianError as ar, ContractRouter as as, type EscrowContractContext as at, type OrchestratorContractContext as au, type ContractRouterConfig as av, type AuthorizationTokenProvider as aw, type TimeoutConfig as ax, type ActionCallback as ay, type ReferralRedemption as az, type IdentityAttestationRequestBody as b, type IdentityAttestationActionType as b$, type NearbySuggestions as b0, type ApiDeposit as b1, type DepositVerifier as b2, type DepositVerifierCurrency as b3, type DepositStatus$1 as b4, type GetDepositByIdRequest as b5, type GetDepositByIdResponse as b6, type Intent as b7, type ApiIntentStatus as b8, type GetOwnerIntentsRequest as b9, type SellerProbeInput as bA, type SellerCredentialBundleUpload as bB, type SellerCredentialStatusValue as bC, type SellerCredentialStatus as bD, type SellerVerifyProxyBody as bE, type SellerTypedDataField as bF, type SellerTypedDataSpec as bG, type SellerPaymentTypedDataValue as bH, type SellerAttestationOutput as bI, type SellerCredentialProbeResponse as bJ, type FulfillIntentAttestationResponse as bK, type AttestationServiceSellerCredentialProbeResponse as bL, type BuyerTeePaymentParams as bM, type BuyerTeePaymentProofInput as bN, type BuyerTeeSessionMaterial as bO, type CuratorSellerVerifyResponse as bP, type RegisteredSellerCredentialPlatform as bQ, type UploadSellerCredentialParams as bR, type RegisteredUploadSellerCredentialParams as bS, type UploadSellerCredentialOptions as bT, type GetSellerCredentialStatusParams as bU, type UploadPayPalGoogleOAuthSellerCredentialParams as bV, type UploadVenmoGoogleOAuthSellerCredentialParams as bW, type UploadXMoneyGoogleOAuthSellerCredentialParams as bX, type UploadGoogleOAuthSellerCredentialParams as bY, type UploadMicrosoftOAuthSellerCredentialParams as bZ, type VerifySellerPaymentParams as b_, type GetOwnerIntentsResponse as ba, type GetIntentsByDepositRequest as bb, type GetIntentsByDepositResponse as bc, type GetIntentByHashRequest as bd, type GetIntentByHashResponse as be, type RegisterPayeeDetailsRequest as bf, type RegisterPayeeDetailsResponse as bg, type AmazonPayCredentialUploadInput as bh, type AmazonPayIdentityAttestationOutput as bi, type VenmoSessionMaterial as bj, type CashAppSessionMaterial as bk, type WiseSessionMaterial as bl, type WiseProfileInfo as bm, type WiseProfileSelectionRequired as bn, type WiseProfileNotFound as bo, type PayPalGoogleOAuthSellerCredentialUploadBody as bp, type VenmoGoogleOAuthSellerCredentialUploadBody as bq, type XMoneyGoogleOAuthSellerCredentialUploadBody as br, type VenmoCredentialUploadInput as bs, type CashAppCredentialUploadInput as bt, type WiseCredentialUploadInput as bu, type SellerCredentialUploadInputByPlatform as bv, type SellerCiphertextBundle as bw, type SellerSignedCiphertextBundle as bx, type SellerVerifyIntentDetails as by, type SellerVerifyInput as bz, type AttestationServiceSellerVerifyResponse as c, type RateManagerFilter as c$, type IdentityAttestationOutput as c0, type IdentityAttestationOutputFor as c1, type IdentityAttestationParams as c2, type MakerIdentityAttestationRequestBody as c3, type MakerIdentityPlatform as c4, type OnchainCurrency as c5, type DepositVerifierData as c6, type PreparedTransaction as c7, type OrderStats as c8, type DepositIntentStatistics as c9, type ManualRateUpdateEntity as cA, type OracleConfigUpdateEntity as cB, type DepositFundActivityEntity as cC, type DepositDailySnapshotEntity as cD, type DepositFundActivityType as cE, type DisputeProtectionIntentPage as cF, type DisputeProtectionIntentPageParams as cG, type IndexedDisputeProtectionIntent as cH, type IndexedPage as cI, type IndexedPageAsOf as cJ, type IndexedRiskWindow as cK, type IndexedStakeActivity as cL, type IndexedStakeTotals as cM, type IndexedStakeLock as cN, type IndexedStakingRowFreshness as cO, type IndexedStakingState as cP, type IndexedStakingStateParams as cQ, type IndexedTakerAuthorization as cR, type IndexedTakerStakeAuthorization as cS, type StakeActivityPageParams as cT, type StakeLockPageParams as cU, type StakingEntityIds as cV, type TakerStakeAuthorizationPageParams as cW, type DepositFilter as cX, type PaginationOptions as cY, type DepositOrderField as cZ, type OrderDirection$1 as c_, type UsdcAmount as ca, type StakeEnvironment as cb, type TakerStakeBalances as cc, type OrderbookEntry as cd, type OrderbookTableRow as ce, defaultIndexerEndpoint as cf, IndexerDepositService as cg, IndexerRateManagerService as ch, compareEventCursorIdsByRecency as ci, buildStakingEntityIds as cj, IndexerStakingService as ck, fetchFulfillmentAndPayment as cl, type DepositEntity as cm, type IntentFulfilledEntity as cn, type IntentFulfillmentAmountsEntity as co, type DepositPaymentMethodEntity as cp, type MethodCurrencyEntity as cq, type IntentStatus as cr, type RateManagerEntity as cs, type RateManagerRateEntity as ct, type RateManagerDelegationEntity as cu, type ManagerAggregateStatsEntity as cv, type ManagerStatsEntity as cw, type ManagerDailySnapshotEntity as cx, type RateManagerListItem as cy, type RateManagerDetail as cz, type SellerCredentialUploadInput as d, type UploadICloudMailSellerCredentialParams as d$, type RateManagerPaginationOptions as d0, type RateManagerDelegationPaginationOptions as d1, type RateManagerOrderField as d2, type OrderDirection as d3, type DeploymentEnv as d4, type FulfillmentRecord as d5, type PaymentVerifiedRecord as d6, type FulfillmentAndPaymentResponse as d7, PAYMENT_PLATFORMS as d8, type PaymentPlatformType as d9, enrichPvIntentView as dA, type PV_DepositView as dB, type PV_Deposit as dC, type PV_PaymentMethodData as dD, type PV_Currency as dE, type PV_ReferralFee as dF, type PV_IntentView as dG, type PV_Intent as dH, ZERO_RATE_MANAGER_ID as dI, isZeroRateManagerId as dJ, normalizeRateManagerId as dK, normalizeRegistry as dL, getDelegationRoute as dM, classifyDelegationState as dN, type DelegationRoute as dO, type DelegationState as dP, type DelegationDepositTarget as dQ, type BatchResult as dR, type SendTransactionFn as dS, type SendBatchFn as dT, AccessPolicyOperations as dU, AccessPolicyUnsupportedError as dV, ICloudMailCredentialError as dW, isMailboxSellerCredentialType as dX, type ICloudMailCredentialErrorReason as dY, type ICloudMailSellerPlatform as dZ, type UploadICloudMailSellerCredentialOptions as d_, Currency as da, currencyInfo as db, getCurrencyInfoFromHash as dc, getCurrencyInfoFromCountryCode as dd, getCurrencyCodeFromHash as de, isSupportedCurrencyHash as df, mapConversionRatesToOnchainMinRate as dg, type CurrencyData as dh, getContracts as di, getIntentGuardianContract as dj, hasIntentGuardian as dk, getRateManagerContracts as dl, getStakeVaultContract as dm, getOrchestratorV3Contract as dn, getDisputeProtectionPolicyContract as dp, getPaymentMethodsCatalog as dq, getGatingServiceAddress as dr, ORCHESTRATOR_V3_ABI as ds, DISPUTE_PROTECTION_POLICY_ABI as dt, STAKE_VAULT_ABI as du, type V2ContractAddresses as dv, type V2ContractAbis as dw, parseDepositView as dx, parseIntentView as dy, enrichPvDepositView as dz, type SellerCredentialUploadPlatform as e, DisputeProtectionIntentStatus as e0, parseDisputeProtectionIntent as e1, type ActiveDisputeProtectionStack as e2, DisputeProtectionIntentStatusV2 as e3, CollateralSource as e4, PayoutState as e5, parseDisputeProtectionIntentV2 as e6, parseDeferredPayoutFromLogs as e7, parsePayoutSettlementFromLogs as e8, type PayoutStatus as e9, type PayoutSettlement as ea, type DeferredPayout as eb, type DeferredPayoutLog as ec, getOrchestratorV4Contract as ed, getDisputeProtectionPolicyV2Contract as ee, getStakeVaultV2Contract as ef, STAKE_VAULT_V2_ABI as eg, ORCHESTRATOR_V4_ABI as eh, DISPUTE_PROTECTION_POLICY_V2_ABI as ei, ZERO_ADDRESS as ej, asErrorMessage as ek, assertDelegationMethodSupport as el, type SellerCredentialAttestationRuntime as f, type AttestationServiceSellerCredentialUploadResponse as g, type BuyerTeeSessionMaterialEncryptionInput as h, type CreateReferralCodeRequest as i, type ApiAdapterOptions as j, type CreateReferralCodeResponse as k, type ReferralReadRequest as l, type ReferralDashboardResponse as m, type ReferralEarningsResponse as n, type ReferralCodeLookupResponse as o, type RedeemReferralCodeRequest as p, type RedeemReferralCodeResponse as q, type UpdateReferralCodeRequest as r, type UpdateReferralCodeResponse as s, type GoogleOAuthSellerCredentialUploadBodyByPlatform as t, type SellerPlatform as u, type CuratorSellerCredentialStatusResponse as v, type BestByPlatformResponse as w, type ValidatePayeeDetailsResponse as x, type PostDepositDetailsResponse as y, type GetPayeeDetailsRequest as z };