@zkp2p/sdk 0.10.0-rc.1 → 0.10.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -265,6 +265,12 @@ OrchestratorV3 signals are ungated: the SDK encodes an empty gating signature
265
265
  and zero expiration without calling the curator signing endpoint. Existing
266
266
  OrchestratorV2 signaling remains gated.
267
267
 
268
+ An explicit `orchestratorAddress` is caller-pinned. The SDK honors it even when
269
+ the address is outside the client's configured deployment context, using the
270
+ OrchestratorV3 ABI for signal, cancel, and fulfill preparation. This lets
271
+ integrators snapshot the target when a payment is created and keep every
272
+ lifecycle transaction on that target across later SDK or deployment changes.
273
+
268
274
  Keeper writes are direct and prepareable:
269
275
 
270
276
  ```ts
package/dist/index.cjs CHANGED
@@ -76536,7 +76536,8 @@ var IntentOperations = class {
76536
76536
  const currentEscrow = this.config.getEscrowV2Address();
76537
76537
  const currentOrchestrator = this.config.getOrchestratorV2Address();
76538
76538
  const isOrchestratorV3 = orchestratorContext.version === "v3";
76539
- if (currentEscrow && escrowContext.address.toLowerCase() !== currentEscrow.toLowerCase()) {
76539
+ const hasPinnedV3Target = isOrchestratorV3 && params.orchestratorAddress !== void 0;
76540
+ if (!hasPinnedV3Target && currentEscrow && escrowContext.address.toLowerCase() !== currentEscrow.toLowerCase()) {
76540
76541
  throw new Error("signalIntent is only supported on the current EscrowV2 deployment");
76541
76542
  }
76542
76543
  if (!isOrchestratorV3 && currentOrchestrator && orchestratorContext.address.toLowerCase() !== currentOrchestrator.toLowerCase()) {
@@ -83064,10 +83065,13 @@ var Zkp2pClient = class {
83064
83065
  const explicit = this.getOrchestratorContextByAddress(options?.orchestratorAddress);
83065
83066
  if (explicit) return explicit;
83066
83067
  if (options?.orchestratorAddress) {
83067
- const addr = options.orchestratorAddress;
83068
- const abi = this.orchestratorV2Abi ?? this.orchestratorAbi;
83068
+ const abi = this.orchestratorV3Abi ?? this.orchestratorAbi ?? this.orchestratorV2Abi;
83069
83069
  if (!abi) throw new Error("Orchestrator not available");
83070
- return { address: addr, abi, version: "v2" };
83070
+ return {
83071
+ address: options.orchestratorAddress,
83072
+ abi,
83073
+ version: this.orchestratorV3Abi ? "v3" : "v2"
83074
+ };
83071
83075
  }
83072
83076
  if (options?.intentHash) {
83073
83077
  try {