@ftptech/canton-agent-wallet 0.1.15 → 0.1.17

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.
@@ -38,6 +38,16 @@ interface DecodedNode {
38
38
  kind?: NodeKind | undefined;
39
39
  /** For exercise nodes: the choice id + chosen value (money-critical args). */
40
40
  exercise?: DecodedExercise | undefined;
41
+ /** For create nodes: the created template's `module:entity` qualified name
42
+ * (package-id dropped — it changes across upgrades) + the raw `Create.argument`
43
+ * Value bytes. Lets an arm pin a NUMERIC (non-party) field of a CONSEQUENCE
44
+ * create — e.g. the `amount` recorded on a created `X402Escrow` — which the
45
+ * party-leaf backstop cannot see. undefined for non-create nodes / a create
46
+ * carrying no decodable template / argument. */
47
+ create?: {
48
+ templateQualifiedName?: string | undefined;
49
+ argument?: Uint8Array | undefined;
50
+ } | undefined;
41
51
  /** node_id references this node declares as its children (Exercise.children /
42
52
  * Rollback.children). Used to prove reachability from the single root so no
43
53
  * orphan (extra-leg) node can hide in DamlTransaction.nodes. */
@@ -165,6 +175,17 @@ export declare class PreparedTransferMismatchError extends Error {
165
175
  * even though the numeric value is identical. Pure string math (no float) so
166
176
  * large amounts keep full precision. A non-numeric input is returned as-is, so
167
177
  * it still mismatches (fail-closed).
178
+ *
179
+ * UNIT-BY-SCHEME invariant: BOTH sides of every amount compare here are
180
+ * on-ledger Daml **Decimals** — `t.amount` is decoded from the prepared tx's
181
+ * `Value.numeric` (always a ledger Decimal) and `expect.amount` is the caller's
182
+ * INTENDED ledger Decimal (the relay/agent path sources `opts.amount` as the
183
+ * Decimal, never the x402 wire atomic value). `canonicalAmount` therefore only
184
+ * pads Decimals; it must NEVER be fed an atomic integer (an atomic "1" would
185
+ * canonicalize to "1.0000000000" and silently mis-compare against the ledger
186
+ * "0.0000000001"). If a future caller ever sources `expect.amount` from an
187
+ * atomic-scheme wire, it MUST first convert via
188
+ * `wireAmountToLedgerDecimal(scheme, amount)` from @ftptech/x402-canton-core.
168
189
  */
169
190
  export declare function canonicalAmount(raw: string): string;
170
191
  export declare function assertPreparedTransferMatches(preparedTransactionB64: string, expect: PreparedTransferExpectation): void;
@@ -259,6 +280,216 @@ export interface PreparedAcceptExpectation {
259
280
  * the agent throws.
260
281
  */
261
282
  export declare function assertPreparedAcceptMatches(preparedTransactionB64: string, expect: PreparedAcceptExpectation): void;
283
+ interface ExtractedAllocation {
284
+ sender: string;
285
+ receiver: string;
286
+ amount: string;
287
+ instrumentAdmin: string;
288
+ instrumentId: string;
289
+ executor: string;
290
+ /** Decimal-string of the Value.timestamp varint (µs since epoch), or
291
+ * undefined if not present as a timestamp leaf. */
292
+ allocateBefore?: string;
293
+ settleBefore?: string;
294
+ }
295
+ /**
296
+ * Extract the allocation's money/escrow-critical leaves from the
297
+ * `AllocationFactory_Allocate` choice argument, BY TYPE at each Daml
298
+ * DECLARATION-ORDER POSITION (what the participant binds), NOT by label — with
299
+ * the same label/position-divergence guard the cip56/v1 arms use. Fails closed
300
+ * on any wrong-type / missing money-critical field.
301
+ */
302
+ export declare function extractAllocation(chosenValue: Uint8Array): ExtractedAllocation;
303
+ /** Caller-intent expectation for an `AllocationFactory_Allocate`. Every field is
304
+ * CALLER INTENT — none is taken from the relay's resolve response. */
305
+ export interface PreparedAllocationExpectation {
306
+ /** The agent's own party — must be the transferLeg.sender. */
307
+ sender: string;
308
+ /**
309
+ * OWN-PARTY PIN (hardening). The agent's OWN party id, known independently of
310
+ * the relay (the wallet's party). The `AllocationFactory_Allocate` controller
311
+ * IS the sender, so the extracted `transferLeg.sender` MUST equal this value.
312
+ *
313
+ * This is asserted FIRST — before the positional `sender` pin and the foreign-
314
+ * party backstop — and is the load-bearing defense against a sender/receiver
315
+ * TRANSPOSITION: `transferLeg.sender` and `transferLeg.receiver` are BOTH Party
316
+ * leaves at ADJACENT declaration-order positions (field order CONFIRMED against
317
+ * canonical Splice source — see the field-order authority note above
318
+ * `extractAllocation`). If a malicious relay transposes those two leaves, it
319
+ * could otherwise present the agent as
320
+ * the RECEIVER while a position-pin alone might still line up. Pinning the
321
+ * extracted sender to the agent's own party fails CLOSED on ANY such transposition
322
+ * or wrong-position sender, REGARDLESS of field order — defense-in-depth, without
323
+ * needing the live vector. REQUIRED: callers thread `wallet.party` here.
324
+ */
325
+ expectedSender: string;
326
+ /** The intended recipient (merchant payTo from the 402). */
327
+ receiver: string;
328
+ /** The EXACT amount string the agent asked to pay. */
329
+ amount: string;
330
+ /** The instrument id the agent expects (e.g. "Amulet"). Caller intent. */
331
+ instrumentId: string;
332
+ /** The facilitator party that MUST be settlement.executor (extra.executor =
333
+ * extra.facilitatorParty). Pinned by exact equality, fail-closed. This is the
334
+ * escrow-trust anchor: only the executor (+ baked-in sender/receiver auth) can
335
+ * later move the locked funds, so a relay naming an ATTACKER executor must be
336
+ * refused. */
337
+ executor: string;
338
+ /** Optional, independently-trusted instrument admin (DSO) to pin AND exclude
339
+ * from the foreign-party backstop outside its root position. */
340
+ instrumentAdmin?: string;
341
+ /** Optional, caller-intent synchronizer id. Pins SIGNED Metadata.synchronizer_id. */
342
+ synchronizerId?: string;
343
+ /** Optional, caller-intent template `module:entity` of the AllocationFactory. */
344
+ templateQualifiedName?: string;
345
+ /** Optional, caller-intent contract id of the AllocationFactory the exercise
346
+ * targets. Pins Exercise.contract_id (resolve→prepare TOCTOU). */
347
+ expectedContractId?: string;
348
+ /** Inject Date.now() for testability of the timing sanity checks. */
349
+ nowMs?: number;
350
+ }
351
+ /**
352
+ * Assert the relay-returned `preparedTransaction` encodes EXACTLY the
353
+ * `AllocationFactory_Allocate` the agent intended. Throws
354
+ * `PreparedTransferMismatchError` on any mismatch and `PreparedDecodeError` if
355
+ * the bytes are not a decodable PreparedTransaction carrying a single allocate
356
+ * exercise. Call BEFORE signing the hash. Fail-closed: anything not positively
357
+ * proven to match the intent throws.
358
+ */
359
+ export declare function assertPreparedAllocationMatches(preparedTransactionB64: string, expect: PreparedAllocationExpectation): void;
360
+ /** Caller-intent expectation for an `Allocation_Withdraw` (reclaim) prepare. */
361
+ export interface PreparedAllocationWithdrawExpectation {
362
+ /** The agent's own party — must be the authoritative submitter (act_as) AND
363
+ * the choice's sole controller (allocation.transferLeg.sender). The ONLY
364
+ * party permitted anywhere in the signed transaction. */
365
+ selfParty: string;
366
+ /** Caller intent: the AmuletAllocation cid being reclaimed. The root
367
+ * exercise's `Exercise.contract_id` MUST equal this — REQUIRED (not optional
368
+ * as in the pay arms), so the relay cannot point the withdraw at a different
369
+ * contract than the one the caller resolved (resolve→prepare TOCTOU). */
370
+ allocationCid: string;
371
+ /** Inject Date.now() for testability of the timing sanity checks. */
372
+ nowMs?: number;
373
+ /** CALLER-INTENT reference parties that legitimately appear in a lock-expiry
374
+ * withdraw but are NOT the sender: the allocation's executor / lock holder
375
+ * (the facilitator) and the instrument admin (DSO). When the choice-context
376
+ * carries `expire-lock`, the unlock + disclosed AmuletRules/round reference
377
+ * these two parties, so they must be permitted — but ONLY as caller-pinned
378
+ * values (never relay-derived), so a relay cannot smuggle a foreign recipient
379
+ * by aliasing it to one of these. Omit on the empty-context (no-lock) path. */
380
+ facilitator?: string;
381
+ instrumentAdmin?: string;
382
+ /** CALLER-INTENT allocation RECEIVER (the merchant). In a "Design B" DIRECT
383
+ * allocation the receiver is the MERCHANT (not the facilitator, as in the
384
+ * "Design A" escrow where receiver == executor == facilitator), so the
385
+ * legitimate on-ledger `Allocation_Withdraw` expire-lock choice-context
386
+ * references the merchant party. When supplied, EXACTLY this one party is
387
+ * added to the allowed-party set for the withdraw backstop (alongside
388
+ * self/facilitator/instrumentAdmin) — never a wildcard. It MUST be pinned to
389
+ * the allocation's known receiver by the caller (`reclaimAllocation`), never
390
+ * taken from the relay, so a relay cannot smuggle a foreign recipient by
391
+ * aliasing it to this value. Omit for Design A (receiver == facilitator) /
392
+ * the empty-context (no-lock) path — behavior is then exactly as before. */
393
+ receiver?: string;
394
+ }
395
+ /**
396
+ * Assert the relay-returned `preparedTransaction` for the reclaim path encodes
397
+ * EXACTLY a single `Allocation_Withdraw` exercise, on the caller's own
398
+ * allocation cid, submitted by the agent — and is NOT a different (value-moving)
399
+ * choice, a withdraw of a different contract, an outbound drain, or a
400
+ * foreign-party submission. Throws `PreparedTransferMismatchError` on any
401
+ * mismatch and `PreparedDecodeError` if the bytes are not a decodable
402
+ * PreparedTransaction. Call BEFORE signing the hash. Fail-closed: anything not
403
+ * positively proven to be a self-withdraw of the caller's own allocation throws.
404
+ */
405
+ export declare function assertPreparedAllocationWithdrawMatches(preparedTransactionB64: string, expect: PreparedAllocationWithdrawExpectation): void;
406
+ /** Caller-intent expectation for an `X402EscrowOffer_Accept` (escrow ACCEPT). */
407
+ export interface PreparedEscrowAcceptExpectation {
408
+ /** The agent's own party — the SENDER. Must be the authoritative submitter
409
+ * (act_as) AND the choice's sole controller. Also an allowed escrow party. */
410
+ selfParty: string;
411
+ /** Caller intent: the `X402EscrowOffer` cid being accepted. The root exercise's
412
+ * `Exercise.contract_id` MUST equal this — REQUIRED (not optional as in the pay
413
+ * arms): the relay cannot point the accept at a different offer than the one the
414
+ * caller resolved (resolve→prepare TOCTOU). */
415
+ offerCid: string;
416
+ /** Caller intent: the facilitator party. The created `X402Escrow` is signed by
417
+ * {facilitator, sender}; the facilitator is the party that later settles the
418
+ * allocation ALONE, so a relay-substituted facilitator could steer settlement
419
+ * to an attacker. Pinned by exact equality and added to the allowed-party set;
420
+ * a different facilitator anywhere is rejected. REQUIRED. */
421
+ facilitator: string;
422
+ /** Optional caller intent: the merchant party recorded (reference-only) on the
423
+ * created `X402Escrow`. When the honest offer/escrow names a distinct merchant
424
+ * party, the create's argument carries it — supply it so the backstop allows it;
425
+ * omit it only when merchant == facilitator/sender (Design A collapses roles).
426
+ * A relay cannot widen the allowed set with it: it is pinned to caller intent. */
427
+ merchant?: string;
428
+ /** Optional caller intent: the instrument admin (DSO) recorded (reference-only)
429
+ * on the created `X402Escrow`. Supply the independently-trusted DSO so the
430
+ * create's instrumentAdmin field is allowed; omit when it coincides with an
431
+ * already-allowed party. Never taken from the relay. */
432
+ instrumentAdmin?: string;
433
+ /** Optional caller intent: the Decimal `amount` the sender intends the escrow to
434
+ * settle. When supplied, the created `X402Escrow`'s recorded `amount` (a Numeric
435
+ * the party-leaf backstop CANNOT see) is pinned by canonical equality — closing
436
+ * the amount-swap bypass where a malicious/buggy facilitator authored the offer
437
+ * with an inflated amount and the sender blind-signs the accept, durably
438
+ * authorizing an escrow that `X402Escrow_Settle` later settles at the larger
439
+ * value (the on-ledger settle pins `leg.amount == escrow.amount`). Omit only when
440
+ * the caller has no intended amount to assert. Never taken from the relay. */
441
+ amount?: string;
442
+ /** Optional caller-intent template `module:entity` of the `X402EscrowOffer`
443
+ * (e.g. "X402Escrow:X402EscrowOffer"). Pins Exercise.template_id. */
444
+ templateQualifiedName?: string;
445
+ /** Optional caller-intent synchronizer id. Pins SIGNED Metadata.synchronizer_id. */
446
+ synchronizerId?: string;
447
+ /** Inject Date.now() for testability of the timing sanity checks. */
448
+ nowMs?: number;
449
+ }
450
+ /**
451
+ * Assert the relay-returned `preparedTransaction` for the escrow-accept path
452
+ * encodes EXACTLY a single `X402EscrowOffer_Accept` exercise, on the caller's own
453
+ * offer cid, submitted by the agent (sender) — and is NOT a different
454
+ * (value-moving) choice, an accept of a different contract, an outbound drain, or
455
+ * a foreign-party submission, and creates an `X402Escrow` only among the
456
+ * caller-intended parties. Throws `PreparedTransferMismatchError` on any mismatch
457
+ * and `PreparedDecodeError` if the bytes are not a decodable PreparedTransaction.
458
+ * Call BEFORE signing the hash. Fail-closed: anything not positively proven to be
459
+ * a self-submitted accept of the caller's own offer throws.
460
+ */
461
+ export declare function assertPreparedEscrowAcceptMatches(preparedTransactionB64: string, expect: PreparedEscrowAcceptExpectation): void;
462
+ /** Caller-intent expectation for a `SenderConsent` / `MerchantConsent` create. */
463
+ export interface PreparedConsentCreateExpectation {
464
+ /** The agent's own party — the SIGNING party (sole signatory + sole submitter).
465
+ * The created consent's [0] self-party (sender for SenderConsent, merchant for
466
+ * MerchantConsent) MUST equal this; it is also the ONLY non-facilitator party
467
+ * allowed anywhere. */
468
+ selfParty: string;
469
+ /** Caller intent: the facilitator party the consent names (its [1] field +
470
+ * observer). A relay-substituted facilitator could later mint a both-party
471
+ * consent and settle the agent's allocations, so it is pinned by exact equality
472
+ * and is the only OTHER allowed party. REQUIRED. */
473
+ facilitator: string;
474
+ /** Which standing consent this is — selects the created-template qualified-name
475
+ * pin and the [0] self-party field label ("sender" | "merchant"). */
476
+ consent: "sender" | "merchant";
477
+ /** Optional caller-intent synchronizer id. Pins SIGNED Metadata.synchronizer_id. */
478
+ synchronizerId?: string;
479
+ /** Inject Date.now() for testability of the timing sanity checks. */
480
+ nowMs?: number;
481
+ }
482
+ /**
483
+ * Assert the relay-returned `preparedTransaction` for the x402-direct consent-create
484
+ * path encodes EXACTLY a single `SenderConsent` / `MerchantConsent` create, signed
485
+ * by the agent, naming {selfParty, facilitator} — and is NOT a value-moving choice,
486
+ * a second leg, a relay-substituted facilitator, or a foreign-party submission.
487
+ * Throws `PreparedTransferMismatchError` on any mismatch and `PreparedDecodeError`
488
+ * if the bytes are not a decodable PreparedTransaction. Call BEFORE signing. Fail-
489
+ * closed: anything not positively proven to be a self-submitted consent create among
490
+ * exactly {selfParty, facilitator} throws.
491
+ */
492
+ export declare function assertPreparedConsentCreateMatches(preparedTransactionB64: string, expect: PreparedConsentCreateExpectation): void;
262
493
  /**
263
494
  * How to bind the relay-returned `hash` to the `preparedTransaction` bytes the
264
495
  * agent just structurally validated. Exactly one of these must hold for a
@@ -1 +1 @@
1
- {"version":3,"file":"verify-prepared.d.ts","sourceRoot":"","sources":["../src/verify-prepared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-prepared.d.ts","sourceRoot":"","sources":["../src/verify-prepared.ts"],"names":[],"mappings":"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"}