@oobe-protocol-labs/synapse-sap-sdk 0.9.2 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/constants/index.js +9 -1
- package/dist/cjs/constants/index.js.map +1 -1
- package/dist/cjs/constants/payments.js +87 -0
- package/dist/cjs/constants/payments.js.map +1 -0
- package/dist/cjs/constants/seeds.js +9 -1
- package/dist/cjs/constants/seeds.js.map +1 -1
- package/dist/cjs/idl/synapse_agent_sap.json +270 -2
- package/dist/cjs/modules/escrow-v2.js +10 -0
- package/dist/cjs/modules/escrow-v2.js.map +1 -1
- package/dist/cjs/modules/escrow.js +29 -4
- package/dist/cjs/modules/escrow.js.map +1 -1
- package/dist/cjs/pda/index.js +31 -1
- package/dist/cjs/pda/index.js.map +1 -1
- package/dist/cjs/plugin/index.js +3 -1
- package/dist/cjs/plugin/index.js.map +1 -1
- package/dist/cjs/registries/metaplex-bridge.js +236 -6
- package/dist/cjs/registries/metaplex-bridge.js.map +1 -1
- package/dist/cjs/utils/hash.js +52 -1
- package/dist/cjs/utils/hash.js.map +1 -1
- package/dist/esm/constants/index.js +2 -0
- package/dist/esm/constants/index.js.map +1 -1
- package/dist/esm/constants/payments.js +82 -0
- package/dist/esm/constants/payments.js.map +1 -0
- package/dist/esm/constants/seeds.js +9 -1
- package/dist/esm/constants/seeds.js.map +1 -1
- package/dist/esm/idl/synapse_agent_sap.json +270 -2
- package/dist/esm/modules/escrow-v2.js +11 -1
- package/dist/esm/modules/escrow-v2.js.map +1 -1
- package/dist/esm/modules/escrow.js +30 -5
- package/dist/esm/modules/escrow.js.map +1 -1
- package/dist/esm/pda/index.js +29 -0
- package/dist/esm/pda/index.js.map +1 -1
- package/dist/esm/plugin/index.js +3 -1
- package/dist/esm/plugin/index.js.map +1 -1
- package/dist/esm/registries/metaplex-bridge.js +236 -6
- package/dist/esm/registries/metaplex-bridge.js.map +1 -1
- package/dist/esm/utils/hash.js +50 -0
- package/dist/esm/utils/hash.js.map +1 -1
- package/dist/types/constants/index.d.ts +1 -0
- package/dist/types/constants/index.d.ts.map +1 -1
- package/dist/types/constants/payments.d.ts +78 -0
- package/dist/types/constants/payments.d.ts.map +1 -0
- package/dist/types/constants/seeds.d.ts +9 -1
- package/dist/types/constants/seeds.d.ts.map +1 -1
- package/dist/types/modules/escrow-v2.d.ts.map +1 -1
- package/dist/types/modules/escrow.d.ts +9 -1
- package/dist/types/modules/escrow.d.ts.map +1 -1
- package/dist/types/pda/index.d.ts +21 -0
- package/dist/types/pda/index.d.ts.map +1 -1
- package/dist/types/plugin/index.d.ts.map +1 -1
- package/dist/types/registries/index.d.ts +1 -1
- package/dist/types/registries/index.d.ts.map +1 -1
- package/dist/types/registries/metaplex-bridge.d.ts +224 -1
- package/dist/types/registries/metaplex-bridge.d.ts.map +1 -1
- package/dist/types/utils/hash.d.ts +27 -0
- package/dist/types/utils/hash.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/constants/index.ts +11 -1
- package/src/constants/payments.ts +92 -0
- package/src/constants/seeds.ts +9 -1
- package/src/idl/synapse_agent_sap.json +270 -2
- package/src/modules/escrow-v2.ts +15 -0
- package/src/modules/escrow.ts +36 -3
- package/src/pda/index.ts +39 -0
- package/src/plugin/index.ts +2 -0
- package/src/registries/index.ts +8 -0
- package/src/registries/metaplex-bridge.ts +464 -5
- package/src/utils/hash.ts +56 -0
|
@@ -176,6 +176,148 @@ export class MetaplexBridge {
|
|
|
176
176
|
return this.firstWeb3Ix(builder, "updateExternalPluginAdapterV1");
|
|
177
177
|
}
|
|
178
178
|
// ─────────────────────────────────────────────────────
|
|
179
|
+
// Write side — combined SAP × MPL register flows (v0.9.3)
|
|
180
|
+
// ─────────────────────────────────────────────────────
|
|
181
|
+
/**
|
|
182
|
+
* @name buildMintAndAttachIxs
|
|
183
|
+
* @description Build the two MPL Core instructions needed to mint a new
|
|
184
|
+
* asset for an existing SAP agent and immediately bind it via the
|
|
185
|
+
* `AgentIdentity` plugin (URI = canonical EIP-8004 URL).
|
|
186
|
+
*
|
|
187
|
+
* Flow:
|
|
188
|
+
* 1. Generate a fresh asset keypair (returned as `assetSecretKey`).
|
|
189
|
+
* 2. Build `mpl_core::create` with the new asset as signer.
|
|
190
|
+
* 3. Build `addExternalPluginAdapterV1` for the AgentIdentity URI.
|
|
191
|
+
*
|
|
192
|
+
* The returned `instructions` are deterministic order. The caller
|
|
193
|
+
* partial-signs the assembled transaction with `assetSecretKey` and the
|
|
194
|
+
* authority/payer wallet.
|
|
195
|
+
*
|
|
196
|
+
* @since v0.9.3
|
|
197
|
+
*/
|
|
198
|
+
async buildMintAndAttachIxs(opts) {
|
|
199
|
+
const { mplCore, umiBundle, umiCore } = await loadMplCore();
|
|
200
|
+
const umi = umiBundle.createUmi(opts.rpcUrl).use(mplCore.mplCore());
|
|
201
|
+
const [sapPda] = deriveAgent(opts.sapAgentOwner);
|
|
202
|
+
const registrationUrl = this.deriveRegistrationUrl(sapPda, opts.registrationBaseUrl);
|
|
203
|
+
const assetUmiSigner = umiCore.generateSigner(umi);
|
|
204
|
+
const assetAddress = new PublicKey(assetUmiSigner.publicKey.toString());
|
|
205
|
+
const assetSecretKey = assetUmiSigner.secretKey;
|
|
206
|
+
const authority = umiCore.createNoopSigner(umiCore.publicKey(opts.authority.toBase58()));
|
|
207
|
+
const payer = umiCore.createNoopSigner(umiCore.publicKey((opts.payer ?? opts.authority).toBase58()));
|
|
208
|
+
const ownerUmi = opts.owner
|
|
209
|
+
? umiCore.publicKey(opts.owner.toBase58())
|
|
210
|
+
: umiCore.publicKey(opts.authority.toBase58());
|
|
211
|
+
const createBuilder = mplCore.create(umi, {
|
|
212
|
+
asset: assetUmiSigner,
|
|
213
|
+
collection: opts.collection
|
|
214
|
+
? { publicKey: umiCore.publicKey(opts.collection.toBase58()) }
|
|
215
|
+
: undefined,
|
|
216
|
+
authority,
|
|
217
|
+
payer,
|
|
218
|
+
owner: ownerUmi,
|
|
219
|
+
name: opts.name,
|
|
220
|
+
uri: opts.metadataUri,
|
|
221
|
+
});
|
|
222
|
+
const mintIx = await this.firstWeb3Ix(createBuilder, "mpl_core::create");
|
|
223
|
+
const attachIx = await this.buildAddExternalPluginIx({
|
|
224
|
+
asset: assetAddress,
|
|
225
|
+
authority: opts.authority,
|
|
226
|
+
payer: opts.payer ?? opts.authority,
|
|
227
|
+
uri: registrationUrl,
|
|
228
|
+
rpcUrl: opts.rpcUrl,
|
|
229
|
+
});
|
|
230
|
+
return {
|
|
231
|
+
assetAddress,
|
|
232
|
+
assetSecretKey,
|
|
233
|
+
registrationUrl,
|
|
234
|
+
instructions: [mintIx, attachIx],
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* @name buildRegisterSapForMplOwnerIx
|
|
239
|
+
* @description Given an existing MPL Core asset, resolve its on-chain
|
|
240
|
+
* owner and build the SAP `registerAgent` instruction the owner must
|
|
241
|
+
* sign. Idempotent: if a SAP agent already exists for that owner the
|
|
242
|
+
* method returns `instruction: null` with `alreadyRegistered: true`.
|
|
243
|
+
*
|
|
244
|
+
* Use after a wallet has minted (or holds) an MPL Core agent NFT and
|
|
245
|
+
* wants to back-fill a SAP identity at the canonical PDA so the bridge's
|
|
246
|
+
* EIP-8004 URL becomes resolvable.
|
|
247
|
+
*
|
|
248
|
+
* @since v0.9.3
|
|
249
|
+
*/
|
|
250
|
+
async buildRegisterSapForMplOwnerIx(opts) {
|
|
251
|
+
const snap = await this.fetchMplSnapshot(opts.asset, opts.rpcUrl);
|
|
252
|
+
if (!snap) {
|
|
253
|
+
throw new Error(`buildRegisterSapForMplOwnerIx: MPL Core asset ${opts.asset.toBase58()} not readable`);
|
|
254
|
+
}
|
|
255
|
+
const [sapPda] = deriveAgent(snap.owner);
|
|
256
|
+
const existing = await this.fetchAgentNullable(sapPda);
|
|
257
|
+
if (existing) {
|
|
258
|
+
return {
|
|
259
|
+
assetOwner: snap.owner,
|
|
260
|
+
sapAgentPda: sapPda,
|
|
261
|
+
alreadyRegistered: true,
|
|
262
|
+
currentAgentIdentityUri: snap.agentIdentityUri,
|
|
263
|
+
instruction: null,
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
const ix = await this.buildRegisterAgentIx({
|
|
267
|
+
wallet: snap.owner,
|
|
268
|
+
args: opts.registerArgs,
|
|
269
|
+
});
|
|
270
|
+
return {
|
|
271
|
+
assetOwner: snap.owner,
|
|
272
|
+
sapAgentPda: sapPda,
|
|
273
|
+
alreadyRegistered: false,
|
|
274
|
+
currentAgentIdentityUri: snap.agentIdentityUri,
|
|
275
|
+
instruction: ix,
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* @name buildRegisterBothIxs
|
|
280
|
+
* @description Atomic 3-instruction bundle for a wallet that owns
|
|
281
|
+
* neither side: `[SAP registerAgent, MPL Core create, MPL AgentIdentity attach]`.
|
|
282
|
+
* Single transaction, single user signature (plus the ephemeral asset
|
|
283
|
+
* keypair returned in `assetSecretKey`).
|
|
284
|
+
*
|
|
285
|
+
* Throws if a SAP agent already exists for `wallet` — callers should
|
|
286
|
+
* fall through to {@link MetaplexBridge.buildMintAndAttachIxs} instead.
|
|
287
|
+
*
|
|
288
|
+
* @since v0.9.3
|
|
289
|
+
*/
|
|
290
|
+
async buildRegisterBothIxs(opts) {
|
|
291
|
+
const [sapPda] = deriveAgent(opts.wallet);
|
|
292
|
+
const existing = await this.fetchAgentNullable(sapPda);
|
|
293
|
+
if (existing) {
|
|
294
|
+
throw new Error(`buildRegisterBothIxs: SAP agent already exists at ${sapPda.toBase58()}; ` +
|
|
295
|
+
`use buildMintAndAttachIxs instead`);
|
|
296
|
+
}
|
|
297
|
+
const sapIx = await this.buildRegisterAgentIx({
|
|
298
|
+
wallet: opts.wallet,
|
|
299
|
+
args: opts.registerArgs,
|
|
300
|
+
});
|
|
301
|
+
const mint = await this.buildMintAndAttachIxs({
|
|
302
|
+
sapAgentOwner: opts.wallet,
|
|
303
|
+
authority: opts.wallet,
|
|
304
|
+
payer: opts.payer ?? opts.wallet,
|
|
305
|
+
owner: opts.wallet,
|
|
306
|
+
name: opts.mintName,
|
|
307
|
+
metadataUri: opts.mintMetadataUri,
|
|
308
|
+
registrationBaseUrl: opts.registrationBaseUrl,
|
|
309
|
+
rpcUrl: opts.rpcUrl,
|
|
310
|
+
collection: opts.collection,
|
|
311
|
+
});
|
|
312
|
+
return {
|
|
313
|
+
sapAgentPda: sapPda,
|
|
314
|
+
assetAddress: mint.assetAddress,
|
|
315
|
+
assetSecretKey: mint.assetSecretKey,
|
|
316
|
+
registrationUrl: mint.registrationUrl,
|
|
317
|
+
instructions: [sapIx, ...mint.instructions],
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
// ─────────────────────────────────────────────────────
|
|
179
321
|
// Read side
|
|
180
322
|
// ─────────────────────────────────────────────────────
|
|
181
323
|
/**
|
|
@@ -199,7 +341,7 @@ export class MetaplexBridge {
|
|
|
199
341
|
}
|
|
200
342
|
let mpl = null;
|
|
201
343
|
if (input.asset) {
|
|
202
|
-
mpl = await this.fetchMplSnapshot(input.asset, input.rpcUrl);
|
|
344
|
+
mpl = await this.fetchMplSnapshot(input.asset, input.rpcUrl, input.rpcHeaders);
|
|
203
345
|
if (!sapPda && mpl?.registration?.synapseAgent) {
|
|
204
346
|
try {
|
|
205
347
|
sapPda = new PublicKey(mpl.registration.synapseAgent);
|
|
@@ -263,7 +405,7 @@ export class MetaplexBridge {
|
|
|
263
405
|
};
|
|
264
406
|
}
|
|
265
407
|
// 2) MPL Core asset resolution
|
|
266
|
-
const mpl = await this.fetchMplSnapshot(asPubkey, input.rpcUrl);
|
|
408
|
+
const mpl = await this.fetchMplSnapshot(asPubkey, input.rpcUrl, input.rpcHeaders);
|
|
267
409
|
if (!mpl) {
|
|
268
410
|
return {
|
|
269
411
|
input: input.identifier,
|
|
@@ -296,7 +438,7 @@ export class MetaplexBridge {
|
|
|
296
438
|
* @since v0.9.0
|
|
297
439
|
*/
|
|
298
440
|
async verifyLink(args) {
|
|
299
|
-
const snap = await this.fetchMplSnapshot(args.asset, args.rpcUrl);
|
|
441
|
+
const snap = await this.fetchMplSnapshot(args.asset, args.rpcUrl, args.rpcHeaders);
|
|
300
442
|
if (!snap?.agentIdentityUri || !snap.registration)
|
|
301
443
|
return false;
|
|
302
444
|
const expectedSuffix = `/agents/${args.sapAgentPda.toBase58()}/eip-8004.json`;
|
|
@@ -304,6 +446,61 @@ export class MetaplexBridge {
|
|
|
304
446
|
return false;
|
|
305
447
|
return snap.registration.synapseAgent === args.sapAgentPda.toBase58();
|
|
306
448
|
}
|
|
449
|
+
/**
|
|
450
|
+
* @name tripleCheckLink
|
|
451
|
+
* @description Explicit 3-layer verification for explorer/host badges.
|
|
452
|
+
* Returns one struct enumerating each check independently so UIs can
|
|
453
|
+
* present partial trust states (e.g. "MPL plugin present, JSON pending").
|
|
454
|
+
*
|
|
455
|
+
* Layers:
|
|
456
|
+
* 1. **mplOnChain** — Asset + AgentIdentity URI fetched on-chain.
|
|
457
|
+
* 2. **eip8004Json** — JSON fetched and `synapseAgent` matches PDA.
|
|
458
|
+
* 3. **sapOnChain** — `AgentAccount` PDA exists on the SAP program.
|
|
459
|
+
*
|
|
460
|
+
* @since v0.9.3
|
|
461
|
+
*/
|
|
462
|
+
async tripleCheckLink(args) {
|
|
463
|
+
const snap = await this.fetchMplSnapshot(args.asset, args.rpcUrl, args.rpcHeaders);
|
|
464
|
+
if (!snap) {
|
|
465
|
+
const fallbackPda = args.expectedOwner
|
|
466
|
+
? deriveAgent(args.expectedOwner)[0]
|
|
467
|
+
: args.asset;
|
|
468
|
+
return {
|
|
469
|
+
asset: args.asset,
|
|
470
|
+
sapAgentPda: fallbackPda,
|
|
471
|
+
mplOnChain: false,
|
|
472
|
+
eip8004Json: false,
|
|
473
|
+
sapOnChain: false,
|
|
474
|
+
linked: false,
|
|
475
|
+
agentIdentityUri: null,
|
|
476
|
+
registration: null,
|
|
477
|
+
identity: null,
|
|
478
|
+
error: "MPL Core asset not readable on-chain",
|
|
479
|
+
};
|
|
480
|
+
}
|
|
481
|
+
const owner = args.expectedOwner ?? snap.owner;
|
|
482
|
+
const [sapPda] = deriveAgent(owner);
|
|
483
|
+
const expectedSuffix = `/agents/${sapPda.toBase58()}/eip-8004.json`;
|
|
484
|
+
const mplOnChain = !!snap.agentIdentityUri;
|
|
485
|
+
const eip8004Json = !!snap.registration &&
|
|
486
|
+
!!snap.agentIdentityUri &&
|
|
487
|
+
snap.agentIdentityUri.endsWith(expectedSuffix) &&
|
|
488
|
+
snap.registration.synapseAgent === sapPda.toBase58();
|
|
489
|
+
const identity = await this.fetchAgentNullable(sapPda);
|
|
490
|
+
const sapOnChain = !!identity;
|
|
491
|
+
return {
|
|
492
|
+
asset: args.asset,
|
|
493
|
+
sapAgentPda: sapPda,
|
|
494
|
+
mplOnChain,
|
|
495
|
+
eip8004Json,
|
|
496
|
+
sapOnChain,
|
|
497
|
+
linked: mplOnChain && eip8004Json && sapOnChain,
|
|
498
|
+
agentIdentityUri: snap.agentIdentityUri,
|
|
499
|
+
registration: snap.registration,
|
|
500
|
+
identity,
|
|
501
|
+
error: null,
|
|
502
|
+
};
|
|
503
|
+
}
|
|
307
504
|
// ═════════════════════════════════════════════════════
|
|
308
505
|
// Private — SAP fetching
|
|
309
506
|
// ═════════════════════════════════════════════════════
|
|
@@ -350,9 +547,17 @@ export class MetaplexBridge {
|
|
|
350
547
|
// ═════════════════════════════════════════════════════
|
|
351
548
|
// Private — MPL fetching
|
|
352
549
|
// ═════════════════════════════════════════════════════
|
|
353
|
-
async
|
|
354
|
-
const { mplCore, umiBundle
|
|
355
|
-
|
|
550
|
+
async buildUmi(rpcUrl, rpcHeaders) {
|
|
551
|
+
const { mplCore, umiBundle } = await loadMplCore();
|
|
552
|
+
// umi-bundle-defaults.createUmi accepts an options object with httpHeaders
|
|
553
|
+
// since umi 1.x — required for gated providers like Synapse RPC that
|
|
554
|
+
// enforce `x-api-key`. Without it `getAccountInfo` returns 401 silently.
|
|
555
|
+
const umi = umiBundle.createUmi(rpcUrl, rpcHeaders ? { httpHeaders: rpcHeaders } : undefined).use(mplCore.mplCore());
|
|
556
|
+
return umi;
|
|
557
|
+
}
|
|
558
|
+
async fetchMplSnapshot(asset, rpcUrl, rpcHeaders) {
|
|
559
|
+
const { mplCore, umiCore } = await loadMplCore();
|
|
560
|
+
const umi = await this.buildUmi(rpcUrl, rpcHeaders);
|
|
356
561
|
try {
|
|
357
562
|
const fetched = await mplCore.fetchAsset(umi, umiCore.publicKey(asset.toBase58()));
|
|
358
563
|
const owner = new PublicKey(fetched.owner.toString());
|
|
@@ -433,6 +638,31 @@ export class MetaplexBridge {
|
|
|
433
638
|
});
|
|
434
639
|
return this.firstWeb3Ix(builder, "addExternalPluginAdapterV1");
|
|
435
640
|
}
|
|
641
|
+
// ═════════════════════════════════════════════════════
|
|
642
|
+
// Private — SAP instruction building (v0.9.3)
|
|
643
|
+
// ═════════════════════════════════════════════════════
|
|
644
|
+
async buildRegisterAgentIx(args) {
|
|
645
|
+
// Lazy import to avoid a hard cycle with `pda/index.ts`.
|
|
646
|
+
const { deriveGlobalRegistry } = await import("../pda");
|
|
647
|
+
const { SystemProgram } = await import("@solana/web3.js");
|
|
648
|
+
const [agentPda] = deriveAgent(args.wallet);
|
|
649
|
+
const [statsPda] = deriveAgentStats(agentPda);
|
|
650
|
+
const [globalPda] = deriveGlobalRegistry();
|
|
651
|
+
const a = args.args;
|
|
652
|
+
// Cast to `any` to sidestep Anchor's deep generic IDL inference, which
|
|
653
|
+
// otherwise blows TS recursion budget here. Same pattern as BaseModule.
|
|
654
|
+
const methods = this.program.methods;
|
|
655
|
+
return await methods
|
|
656
|
+
.registerAgent(a.name, a.description, a.capabilities, a.pricing, a.protocols, a.agentId ?? null, a.agentUri ?? null, a.x402Endpoint ?? null)
|
|
657
|
+
.accounts({
|
|
658
|
+
wallet: args.wallet,
|
|
659
|
+
agent: agentPda,
|
|
660
|
+
agentStats: statsPda,
|
|
661
|
+
globalRegistry: globalPda,
|
|
662
|
+
systemProgram: SystemProgram.programId,
|
|
663
|
+
})
|
|
664
|
+
.instruction();
|
|
665
|
+
}
|
|
436
666
|
async firstWeb3Ix(builder, name) {
|
|
437
667
|
const items = builder.getInstructions();
|
|
438
668
|
const first = items[0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metaplex-bridge.js","sourceRoot":"","sources":["../../../src/registries/metaplex-bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"metaplex-bridge.js","sourceRoot":"","sources":["../../../src/registries/metaplex-bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/utils/hash.js
CHANGED
|
@@ -50,4 +50,54 @@ export const sha256 = (input) => {
|
|
|
50
50
|
* ```
|
|
51
51
|
*/
|
|
52
52
|
export const hashToArray = (hash) => Array.from(hash);
|
|
53
|
+
/**
|
|
54
|
+
* Compute the deterministic batch root used by `settle_batch` (v0.10.0).
|
|
55
|
+
*
|
|
56
|
+
* The on-chain program enforces:
|
|
57
|
+
* `batch_root == sha256(s_0 || s_1 || ... || s_{N-1})`
|
|
58
|
+
* where each `s_i` is a 32-byte service hash, in the same order as the
|
|
59
|
+
* `settlements: Settlement[]` array passed to the instruction.
|
|
60
|
+
*
|
|
61
|
+
* Use this helper to derive the seed for the {@link deriveSettlementReceipt}
|
|
62
|
+
* PDA when batching settlements.
|
|
63
|
+
*
|
|
64
|
+
* @name computeBatchRoot
|
|
65
|
+
* @param serviceHashes - Array of 32-byte service hashes (Buffer/Uint8Array/number[]).
|
|
66
|
+
* @returns {Uint8Array} 32-byte batch root.
|
|
67
|
+
* @throws If any `serviceHashes[i]` is not exactly 32 bytes long.
|
|
68
|
+
* @category Utils
|
|
69
|
+
* @since v0.10.0
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```ts
|
|
73
|
+
* import { computeBatchRoot, hashToArray } from "@synapse-sap/sdk/utils";
|
|
74
|
+
*
|
|
75
|
+
* const root = computeBatchRoot([h1, h2, h3]);
|
|
76
|
+
* await client.escrow.settleBatch(depositor, settlements, root);
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export const computeBatchRoot = (serviceHashes) => {
|
|
80
|
+
if (serviceHashes.length === 0) {
|
|
81
|
+
throw new Error("computeBatchRoot: serviceHashes must not be empty");
|
|
82
|
+
}
|
|
83
|
+
const hash = createHash("sha256");
|
|
84
|
+
for (let i = 0; i < serviceHashes.length; i++) {
|
|
85
|
+
const h = serviceHashes[i];
|
|
86
|
+
let buf;
|
|
87
|
+
if (h instanceof Uint8Array) {
|
|
88
|
+
buf = Buffer.from(h);
|
|
89
|
+
}
|
|
90
|
+
else if (Array.isArray(h)) {
|
|
91
|
+
buf = Buffer.from(h);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
throw new Error(`computeBatchRoot: serviceHashes[${i}] is undefined or unsupported type`);
|
|
95
|
+
}
|
|
96
|
+
if (buf.length !== 32) {
|
|
97
|
+
throw new Error(`computeBatchRoot: serviceHashes[${i}] must be 32 bytes, got ${buf.length}`);
|
|
98
|
+
}
|
|
99
|
+
hash.update(buf);
|
|
100
|
+
}
|
|
101
|
+
return new Uint8Array(hash.digest());
|
|
102
|
+
};
|
|
53
103
|
//# sourceMappingURL=hash.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../src/utils/hash.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAmC,EAAc,EAAE;IACxE,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CACT,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAChE,CAAC;IACF,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAgB,EAAY,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../src/utils/hash.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAmC,EAAc,EAAE;IACxE,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CACT,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAChE,CAAC;IACF,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAgB,EAAY,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,aAA4D,EAChD,EAAE;IACd,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC;YAC5B,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,mCAAmC,CAAC,oCAAoC,CACzE,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,mCAAmC,CAAC,2BAA2B,GAAG,CAAC,MAAM,EAAE,CAC5E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC"}
|
|
@@ -27,4 +27,5 @@ export { LIMITS, AGENT_VERSION, VAULT_PROTOCOL_VERSION, TOOL_CATEGORY_VALUES, HT
|
|
|
27
27
|
export { SapNetwork } from "./network";
|
|
28
28
|
export type { SapNetworkId } from "./network";
|
|
29
29
|
export { SAP_PROGRAM, SAP_UPGRADE_AUTHORITY, GLOBAL_REGISTRY_ADDRESS, GLOBAL_REGISTRY_BUMP, IDL_ACCOUNT_ADDRESS, PROGRAM_METADATA_PROGRAM, TOOL_CATEGORY_ADDRESSES, TOOL_CATEGORY_ADDRESS_LIST, } from "./addresses";
|
|
30
|
+
export { USDC_MINT_MAINNET, USDC_MINT_DEVNET, MIN_AGENT_STAKE_LAMPORTS, MAX_DELEGATE_DURATION_SECS, isAcceptedUsdcMint, isAcceptedPaymentToken, } from "./payments";
|
|
30
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,EACL,MAAM,EACN,aAAa,EACb,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,EACL,MAAM,EACN,aAAa,EACb,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module constants/payments
|
|
3
|
+
* @description Payment-token allowlist + agent stake collateral constants
|
|
4
|
+
* mirroring the on-chain v0.10.0 hardening.
|
|
5
|
+
*
|
|
6
|
+
* The on-chain program now accepts only:
|
|
7
|
+
* - **Native SOL** — signalled by `tokenMint = null` on escrow creation.
|
|
8
|
+
* - **USDC mainnet** — `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v`.
|
|
9
|
+
* - **USDC devnet** — `4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU`.
|
|
10
|
+
*
|
|
11
|
+
* Any other SPL mint passed to `createEscrow` / `createEscrowV2` is
|
|
12
|
+
* rejected on-chain with `PaymentTokenNotAllowed` (error code 6093).
|
|
13
|
+
*
|
|
14
|
+
* Additionally, the agent owner MUST have an `AgentStake` PDA with
|
|
15
|
+
* `staked_amount >= MIN_AGENT_STAKE_LAMPORTS` (0.1 SOL) BEFORE any
|
|
16
|
+
* client can create a new escrow against that agent. Use
|
|
17
|
+
* {@link StakingModule.initStake} + {@link StakingModule.deposit}
|
|
18
|
+
* to satisfy the requirement.
|
|
19
|
+
*
|
|
20
|
+
* @category Constants
|
|
21
|
+
* @since v0.10.0
|
|
22
|
+
*/
|
|
23
|
+
import { PublicKey } from "@solana/web3.js";
|
|
24
|
+
/**
|
|
25
|
+
* USDC mint on Solana mainnet-beta (Circle).
|
|
26
|
+
*
|
|
27
|
+
* @name USDC_MINT_MAINNET
|
|
28
|
+
* @category Constants
|
|
29
|
+
* @since v0.10.0
|
|
30
|
+
*/
|
|
31
|
+
export declare const USDC_MINT_MAINNET: PublicKey;
|
|
32
|
+
/**
|
|
33
|
+
* USDC mint on Solana devnet (Circle test mint).
|
|
34
|
+
*
|
|
35
|
+
* @name USDC_MINT_DEVNET
|
|
36
|
+
* @category Constants
|
|
37
|
+
* @since v0.10.0
|
|
38
|
+
*/
|
|
39
|
+
export declare const USDC_MINT_DEVNET: PublicKey;
|
|
40
|
+
/**
|
|
41
|
+
* Minimum agent stake required to gate escrow creation, expressed in lamports.
|
|
42
|
+
* Mirrors `AgentStake::MIN_STAKE` on-chain (`100_000_000` = 0.1 SOL).
|
|
43
|
+
*
|
|
44
|
+
* @name MIN_AGENT_STAKE_LAMPORTS
|
|
45
|
+
* @category Constants
|
|
46
|
+
* @since v0.10.0
|
|
47
|
+
*/
|
|
48
|
+
export declare const MIN_AGENT_STAKE_LAMPORTS: bigint;
|
|
49
|
+
/**
|
|
50
|
+
* Maximum delegate duration (seconds) accepted by `add_vault_delegate`.
|
|
51
|
+
* Mirrors `VaultDelegate::MAX_DELEGATE_DURATION_SECS` on-chain
|
|
52
|
+
* (`365 * 86_400` = 1 year).
|
|
53
|
+
*
|
|
54
|
+
* @name MAX_DELEGATE_DURATION_SECS
|
|
55
|
+
* @category Constants
|
|
56
|
+
* @since v0.10.0
|
|
57
|
+
*/
|
|
58
|
+
export declare const MAX_DELEGATE_DURATION_SECS: number;
|
|
59
|
+
/**
|
|
60
|
+
* Returns true when `mint` is an accepted USDC mint (mainnet or devnet).
|
|
61
|
+
*
|
|
62
|
+
* @name isAcceptedUsdcMint
|
|
63
|
+
* @param mint - Candidate SPL token mint.
|
|
64
|
+
* @category Constants
|
|
65
|
+
* @since v0.10.0
|
|
66
|
+
*/
|
|
67
|
+
export declare function isAcceptedUsdcMint(mint: PublicKey): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Returns true when the (optional) `tokenMint` is acceptable as escrow payment.
|
|
70
|
+
* `null` represents native SOL and is always accepted.
|
|
71
|
+
*
|
|
72
|
+
* @name isAcceptedPaymentToken
|
|
73
|
+
* @param tokenMint - The mint passed to `createEscrow*`. `null` = SOL.
|
|
74
|
+
* @category Constants
|
|
75
|
+
* @since v0.10.0
|
|
76
|
+
*/
|
|
77
|
+
export declare function isAcceptedPaymentToken(tokenMint: PublicKey | null): boolean;
|
|
78
|
+
//# sourceMappingURL=payments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payments.d.ts","sourceRoot":"","sources":["../../../src/constants/payments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,WAE7B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,WAE5B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,QAAsB,CAAC;AAE5D;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,QAAe,CAAC;AAEvD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAE3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAE3E"}
|
|
@@ -56,7 +56,15 @@ export declare const SEEDS: {
|
|
|
56
56
|
readonly SUBSCRIPTION: "sap_sub";
|
|
57
57
|
readonly SHARD: "sap_shard";
|
|
58
58
|
readonly INDEX_PAGE: "sap_idx_page";
|
|
59
|
-
/**
|
|
59
|
+
/**
|
|
60
|
+
* @since v0.10.0 — Anti-replay receipt PDA bound to (escrow, service_hash) or (escrow, batch_root).
|
|
61
|
+
* Created via `init` on every settle_calls / settle_batch / settle_calls_v2; replays fail.
|
|
62
|
+
*/
|
|
63
|
+
readonly SETTLEMENT_RECEIPT: "sap_recv";
|
|
64
|
+
/**
|
|
65
|
+
* @deprecated v0.10.0 — Was reserved for receipt batch merkle root (never used on-chain).
|
|
66
|
+
* Use {@link SEEDS.SETTLEMENT_RECEIPT} (`sap_recv`) instead. Will be removed in v0.11.0.
|
|
67
|
+
*/
|
|
60
68
|
readonly RECEIPT: "sap_receipt";
|
|
61
69
|
};
|
|
62
70
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seeds.d.ts","sourceRoot":"","sources":["../../../src/constants/seeds.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8BhB
|
|
1
|
+
{"version":3,"file":"seeds.d.ts","sourceRoot":"","sources":["../../../src/constants/seeds.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8BhB;;;OAGG;;IAEH;;;OAGG;;CAEK,CAAC;AAEX;;;;;;;;GAQG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escrow-v2.d.ts","sourceRoot":"","sources":["../../../src/modules/escrow-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"escrow-v2.d.ts","sourceRoot":"","sources":["../../../src/modules/escrow-v2.ts"],"names":[],"mappings":"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"}
|
|
@@ -117,15 +117,23 @@ export declare class EscrowModule extends BaseModule {
|
|
|
117
117
|
* @name settleBatch
|
|
118
118
|
* @description Batch settlement — process up to 10 settlements in a single
|
|
119
119
|
* transaction. Must be called by the agent owner wallet.
|
|
120
|
+
*
|
|
120
121
|
* @param depositorWallet - The wallet of the client who funded the escrow.
|
|
121
122
|
* @param settlements - Array of settlement entries (up to 10).
|
|
123
|
+
* @param batchRoot - Optional pre-computed batch root
|
|
124
|
+
* (`sha256(s_0 || s_1 || ... || s_{N-1})`). When omitted the SDK
|
|
125
|
+
* computes it from `settlements[*].serviceHash`. **Required on-chain
|
|
126
|
+
* since v0.10.0** to seed the anti-replay receipt PDA.
|
|
122
127
|
* @param splAccounts - Remaining accounts for SPL token transfers. Defaults to `[]`.
|
|
123
128
|
* @param opts - Optional {@link SettleOptions} for priority fees and RPC tuning.
|
|
124
129
|
* @returns {Promise<TransactionSignature>} The transaction signature.
|
|
130
|
+
*
|
|
125
131
|
* @since v0.1.0
|
|
126
132
|
* @updated v0.6.2 — Added optional `opts` parameter for priority fees.
|
|
133
|
+
* @updated v0.10.0 — Added `batchRoot` argument and required
|
|
134
|
+
* `settlementReceipt` PDA on-chain (anti-replay).
|
|
127
135
|
*/
|
|
128
|
-
settleBatch(depositorWallet: PublicKey, settlements: Settlement[], splAccounts?: AccountMeta[], opts?: SettleOptions): Promise<TransactionSignature>;
|
|
136
|
+
settleBatch(depositorWallet: PublicKey, settlements: Settlement[], batchRoot?: Uint8Array | number[] | null, splAccounts?: AccountMeta[], opts?: SettleOptions): Promise<TransactionSignature>;
|
|
129
137
|
/**
|
|
130
138
|
* @name fetch
|
|
131
139
|
* @description Fetch a deserialized `EscrowAccount`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escrow.d.ts","sourceRoot":"","sources":["../../../src/modules/escrow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"escrow.d.ts","sourceRoot":"","sources":["../../../src/modules/escrow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAQpC,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACX,MAAM,UAAU,CAAC;AAKlB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAG1C;;;;;;;;OAQG;IACH,YAAY,CACV,QAAQ,EAAE,SAAS,EACnB,SAAS,CAAC,EAAE,SAAS,GACpB,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAM/B;;;;;;;;;;;;;;OAcG;IACG,MAAM,CACV,WAAW,EAAE,SAAS,EACtB,IAAI,EAAE,gBAAgB,EACtB,WAAW,GAAE,WAAW,EAAO,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IAkChC;;;;;;;;OAQG;IACG,OAAO,CACX,WAAW,EAAE,SAAS,EACtB,MAAM,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EAC5B,WAAW,GAAE,WAAW,EAAO,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IAehC;;;;;;;;;;;;OAYG;IACG,MAAM,CACV,eAAe,EAAE,SAAS,EAC1B,aAAa,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EACnC,WAAW,EAAE,MAAM,EAAE,EACrB,WAAW,GAAE,WAAW,EAAO,EAC/B,IAAI,CAAC,EAAE,aAAa,GACnB,OAAO,CAAC,oBAAoB,CAAC;IA4BhC;;;;;;;;OAQG;IACG,QAAQ,CACZ,WAAW,EAAE,SAAS,EACtB,MAAM,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EAC5B,WAAW,GAAE,WAAW,EAAO,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IAehC;;;;;;OAMG;IACG,KAAK,CAAC,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAalE;;;;;;;;;;;;;;;;;;;OAmBG;IACG,WAAW,CACf,eAAe,EAAE,SAAS,EAC1B,WAAW,EAAE,UAAU,EAAE,EACzB,SAAS,CAAC,EAAE,UAAU,GAAG,MAAM,EAAE,GAAG,IAAI,EACxC,WAAW,GAAE,WAAW,EAAO,EAC/B,IAAI,CAAC,EAAE,aAAa,GACnB,OAAO,CAAC,oBAAoB,CAAC;IAsChC;;;;;;;;OAQG;IACG,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAKnF;;;;;;;;OAQG;IACG,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAKlG;;;;;;;;OAQG;IACG,UAAU,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAGnE"}
|
|
@@ -485,5 +485,26 @@ export declare const deriveIndexPage: (parentIndexPda: PublicKey, pageIndex: num
|
|
|
485
485
|
* @since v0.7.0
|
|
486
486
|
*/
|
|
487
487
|
export declare const deriveReceiptBatch: (escrowV2Pda: PublicKey, batchIndex: number, programId?: PublicKey) => PdaResult;
|
|
488
|
+
/**
|
|
489
|
+
* Derive the **SettlementReceipt** PDA (v0.10.0 anti-replay).
|
|
490
|
+
*
|
|
491
|
+
* Seeds: `["sap_recv", escrow_pda, service_hash_or_batch_root]`
|
|
492
|
+
*
|
|
493
|
+
* Created via `init` on every `settle_calls`, `settle_batch`, and
|
|
494
|
+
* `settle_calls_v2`. The PDA's existence after the first call blocks
|
|
495
|
+
* any future replay of the same `service_hash` (or `batch_root`)
|
|
496
|
+
* against the same escrow.
|
|
497
|
+
*
|
|
498
|
+
* @name deriveSettlementReceipt
|
|
499
|
+
* @description Compute the receipt PDA that gates settlement replay.
|
|
500
|
+
* @param escrowPda - Parent escrow PDA (V1 `EscrowAccount` or V2 `EscrowAccountV2`).
|
|
501
|
+
* @param receiptKey - 32-byte `service_hash` (single settle / V2 settle)
|
|
502
|
+
* or `batch_root = sha256(s_0 || ... || s_{N-1})` (settle_batch).
|
|
503
|
+
* @param programId - Override program ID.
|
|
504
|
+
* @returns {PdaResult} `[pda, bump]` tuple.
|
|
505
|
+
* @category PDA
|
|
506
|
+
* @since v0.10.0
|
|
507
|
+
*/
|
|
508
|
+
export declare const deriveSettlementReceipt: (escrowPda: PublicKey, receiptKey: Uint8Array | number[] | Buffer, programId?: PublicKey) => PdaResult;
|
|
488
509
|
export {};
|
|
489
510
|
//# sourceMappingURL=index.d.ts.map
|