@agenticprimitives/payments 0.0.0-alpha.42 → 0.0.0-alpha.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/entitlement/index.d.ts.map +1 -1
  2. package/dist/entitlement/index.js +10 -4
  3. package/dist/entitlement/index.js.map +1 -1
  4. package/dist/entitlement/voucher.d.ts +14 -1
  5. package/dist/entitlement/voucher.d.ts.map +1 -1
  6. package/dist/entitlement/voucher.js +20 -1
  7. package/dist/entitlement/voucher.js.map +1 -1
  8. package/dist/index.d.ts +7 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +2 -0
  11. package/dist/index.js.map +1 -1
  12. package/dist/mandate-sign.d.ts +42 -3
  13. package/dist/mandate-sign.d.ts.map +1 -1
  14. package/dist/mandate-sign.js +33 -2
  15. package/dist/mandate-sign.js.map +1 -1
  16. package/dist/mandate.d.ts +10 -2
  17. package/dist/mandate.d.ts.map +1 -1
  18. package/dist/mandate.js +9 -2
  19. package/dist/mandate.js.map +1 -1
  20. package/dist/ops.d.ts +45 -4
  21. package/dist/ops.d.ts.map +1 -1
  22. package/dist/ops.js +59 -10
  23. package/dist/ops.js.map +1 -1
  24. package/dist/rails/escrow.d.ts +11 -3
  25. package/dist/rails/escrow.d.ts.map +1 -1
  26. package/dist/rails/escrow.js +11 -2
  27. package/dist/rails/escrow.js.map +1 -1
  28. package/dist/rails/invoice.d.ts +6 -4
  29. package/dist/rails/invoice.d.ts.map +1 -1
  30. package/dist/rails/invoice.js +6 -5
  31. package/dist/rails/invoice.js.map +1 -1
  32. package/dist/rails/recurring.d.ts +7 -3
  33. package/dist/rails/recurring.d.ts.map +1 -1
  34. package/dist/rails/recurring.js +8 -5
  35. package/dist/rails/recurring.js.map +1 -1
  36. package/dist/rails/wallet.d.ts +8 -6
  37. package/dist/rails/wallet.d.ts.map +1 -1
  38. package/dist/rails/wallet.js +12 -9
  39. package/dist/rails/wallet.js.map +1 -1
  40. package/dist/rails/x402/executor.d.ts +124 -9
  41. package/dist/rails/x402/executor.d.ts.map +1 -1
  42. package/dist/rails/x402/executor.js +107 -13
  43. package/dist/rails/x402/executor.js.map +1 -1
  44. package/dist/rails/x402/index.d.ts +2 -2
  45. package/dist/rails/x402/index.d.ts.map +1 -1
  46. package/dist/rails/x402/index.js +1 -1
  47. package/dist/rails/x402/index.js.map +1 -1
  48. package/dist/rails/x402/wire.d.ts.map +1 -1
  49. package/dist/rails/x402/wire.js +18 -1
  50. package/dist/rails/x402/wire.js.map +1 -1
  51. package/dist/refund.d.ts +9 -2
  52. package/dist/refund.d.ts.map +1 -1
  53. package/dist/refund.js +10 -3
  54. package/dist/refund.js.map +1 -1
  55. package/dist/split.d.ts +7 -2
  56. package/dist/split.d.ts.map +1 -1
  57. package/dist/split.js +8 -3
  58. package/dist/split.js.map +1 -1
  59. package/dist/transfer.d.ts +24 -5
  60. package/dist/transfer.d.ts.map +1 -1
  61. package/dist/transfer.js +21 -5
  62. package/dist/transfer.js.map +1 -1
  63. package/dist/treasury.d.ts +50 -0
  64. package/dist/treasury.d.ts.map +1 -0
  65. package/dist/treasury.js +68 -0
  66. package/dist/treasury.js.map +1 -0
  67. package/package.json +5 -5
@@ -4,11 +4,111 @@ import { type PaymentMandate } from '../../index.js';
4
4
  import type { Hex32 } from './resource.js';
5
5
  import type { PaymentQuote } from './quote.js';
6
6
  import type { NonceReservationStore } from './nonce-store.js';
7
+ import { type TreasuryPort } from '../../treasury.js';
7
8
  /** x402-specific bits the mandate carries (PaymentMandate.railConfig). Binds the mandate to its quote. */
8
9
  export interface X402RailConfig {
9
10
  quoteId: Hex32;
10
11
  resourceHash: Hex32;
11
12
  }
13
+ /**
14
+ * Spec 445 / generation 4 / B1 — the generation-4 `PaymentEnforcer` revert surface, for decoding a failed
15
+ * settlement. New: `ZeroAmount()` (DLG-8b) and `NoRedemptionInFlight()` (DLG-8c — the enforcer reads the payer
16
+ * from `DelegationManager.redemptionRootDelegator()`; with no redemption in flight it writes no receipt).
17
+ * `PaymentSettled.payer` is the ROOT delegator of the redeemed chain; `mandateId` / `resourceHash` in
18
+ * `PaymentCharged` / `PaymentSettled` are the redeemer's assertions (unsigned args), never proven by the row.
19
+ */
20
+ export declare const paymentEnforcerGeneration4ErrorsAbi: readonly [{
21
+ readonly type: "error";
22
+ readonly name: "ZeroAmount";
23
+ readonly inputs: readonly [];
24
+ }, {
25
+ readonly type: "error";
26
+ readonly name: "NoRedemptionInFlight";
27
+ readonly inputs: readonly [];
28
+ }, {
29
+ readonly type: "error";
30
+ readonly name: "AggregateExceeded";
31
+ readonly inputs: readonly [{
32
+ readonly name: "spent";
33
+ readonly type: "uint256";
34
+ }, {
35
+ readonly name: "maxAggregate";
36
+ readonly type: "uint256";
37
+ }, {
38
+ readonly name: "amount";
39
+ readonly type: "uint256";
40
+ }];
41
+ }, {
42
+ readonly type: "error";
43
+ readonly name: "AssetMismatch";
44
+ readonly inputs: readonly [{
45
+ readonly name: "expectedAsset";
46
+ readonly type: "address";
47
+ }, {
48
+ readonly name: "target";
49
+ readonly type: "address";
50
+ }];
51
+ }, {
52
+ readonly type: "error";
53
+ readonly name: "ChargeExceedsMax";
54
+ readonly inputs: readonly [{
55
+ readonly name: "amount";
56
+ readonly type: "uint256";
57
+ }, {
58
+ readonly name: "maxAmountPerCharge";
59
+ readonly type: "uint256";
60
+ }];
61
+ }, {
62
+ readonly type: "error";
63
+ readonly name: "FrequencyExceeded";
64
+ readonly inputs: readonly [{
65
+ readonly name: "callsInWindow";
66
+ readonly type: "uint32";
67
+ }, {
68
+ readonly name: "maxRedemptionsPerWindow";
69
+ readonly type: "uint32";
70
+ }];
71
+ }, {
72
+ readonly type: "error";
73
+ readonly name: "InvalidTerms";
74
+ readonly inputs: readonly [];
75
+ }, {
76
+ readonly type: "error";
77
+ readonly name: "NonceReused";
78
+ readonly inputs: readonly [{
79
+ readonly name: "nonce";
80
+ readonly type: "bytes32";
81
+ }];
82
+ }, {
83
+ readonly type: "error";
84
+ readonly name: "NotDelegationManager";
85
+ readonly inputs: readonly [{
86
+ readonly name: "caller";
87
+ readonly type: "address";
88
+ }];
89
+ }, {
90
+ readonly type: "error";
91
+ readonly name: "NotTransferCall";
92
+ readonly inputs: readonly [];
93
+ }, {
94
+ readonly type: "error";
95
+ readonly name: "SettlementNotObserved";
96
+ readonly inputs: readonly [];
97
+ }, {
98
+ readonly type: "error";
99
+ readonly name: "ValueNotZero";
100
+ readonly inputs: readonly [];
101
+ }, {
102
+ readonly type: "error";
103
+ readonly name: "WrongRecipient";
104
+ readonly inputs: readonly [{
105
+ readonly name: "treasury";
106
+ readonly type: "address";
107
+ }, {
108
+ readonly name: "to";
109
+ readonly type: "address";
110
+ }];
111
+ }];
12
112
  /** PAY-RAIL-4 — the rail-scoped replay nullifier. */
13
113
  export declare function computeNullifier(args: {
14
114
  rail: string;
@@ -26,30 +126,36 @@ export declare function computeNullifier(args: {
26
126
  */
27
127
  export declare function verifyMandate(mandate: PaymentMandate, quote: PaymentQuote, opts: {
28
128
  now: number;
129
+ chainId?: number;
29
130
  }): {
30
131
  valid: true;
31
132
  } | {
32
133
  valid: false;
33
134
  reason: string;
34
135
  };
35
- /**
36
- * PAY-RAIL-2 — build the redemption plan: DelegationManager.redeemDelegation(paymentDelegation,
37
- * USDC.transfer(treasury, amount)) with the PaymentEnforcer caveat's `args` filled with the mandate's
38
- * (mandateId, nonce, resourceHash) at REDEMPTION time. The caller submits `{to, value, data}` from the
39
- * service relayer as a sponsored UserOp.
40
- */
41
- export declare function buildRedemptionCalldata(args: {
136
+ export interface RedemptionArgs {
42
137
  mandate: PaymentMandate;
43
138
  delegation: Delegation;
44
139
  delegationManager: Address;
45
140
  paymentEnforcer: Address;
46
141
  asset: Address;
47
142
  resourceHash: Hex32;
48
- }): {
143
+ }
144
+ /**
145
+ * PAY-RAIL-2 — build the redemption plan: DelegationManager.redeemDelegation(paymentDelegation,
146
+ * USDC.transfer(treasury, amount)) with the PaymentEnforcer caveat's `args` filled with the mandate's
147
+ * (mandateId, nonce, resourceHash) at REDEMPTION time. The caller submits `{to, value, data}` from the
148
+ * service relayer as a sponsored UserOp.
149
+ *
150
+ * Spec 445 / ontology ONT-4: the mandate's payer and payee must be TREASURIES — `deps.isTreasury` is REQUIRED
151
+ * and a person or organization on either side throws `NotATreasuryError` (`PAYER_NOT_TREASURY` /
152
+ * `PAYEE_NOT_TREASURY`). The delegator is the payer (DLG-8c), so a payment delegation is a treasury's.
153
+ */
154
+ export declare function buildRedemptionCalldata(args: RedemptionArgs, deps: TreasuryPort): Promise<{
49
155
  to: Address;
50
156
  value: bigint;
51
157
  data: Hex;
52
- };
158
+ }>;
53
159
  export interface X402RailDeps {
54
160
  chainId: number;
55
161
  delegationManager: Address;
@@ -59,6 +165,15 @@ export interface X402RailDeps {
59
165
  /** Off-chain revocation read (the app wires `delegation.isRevoked`). Checked BEFORE settling; the DM
60
166
  * also enforces revocation on-chain (PAY-DEL-3). */
61
167
  isRevoked: (delegationHash: Hex32) => Promise<boolean>;
168
+ /** Spec 445 §3.3 (audit H-9): the EIP-712 hash of a delegation, as the DelegationManager computes it. The
169
+ * app wires `delegation.hashDelegation` (payments is type-only on that package). `settle` uses it to prove
170
+ * the delegation it is about to redeem is the one the payer's signed mandate names — without it a valid
171
+ * mandate from one account could spend another account's payment delegation. REQUIRED. */
172
+ delegationDigest: (delegation: Delegation) => Hex32 | Promise<Hex32>;
173
+ /** Spec 445 / ontology ONT-4: is this address a TREASURY? Assets live only in treasuries — a person or
174
+ * organization payer or payee is refused before anything is reserved. The app answers it from the agent's
175
+ * on-chain type record (`atl:agentType` = `treasury`). REQUIRED — absent, `settle` refuses every charge. */
176
+ isTreasury: TreasuryPort['isTreasury'];
62
177
  /** Submit the redemption (a sponsored UserOp from the service relayer, X402-D4). Injected by the app /
63
178
  * agent-account layer; returns the settlement tx hash. */
64
179
  submitRedemption: (plan: {
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/rails/x402/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/rails/x402/executor.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  import { encodeAbiParameters, encodeFunctionData, keccak256, toHex } from 'viem';
7
7
  import { assertContextBindingValid, assertClosedMandateInvariants } from '../../index.js';
8
8
  import { fromCaip2 } from './quote.js';
9
+ import { checkTreasuryParties, assertTreasuryParties } from '../../treasury.js';
9
10
  const TRANSFER_ABI = [
10
11
  {
11
12
  type: 'function',
@@ -52,6 +53,30 @@ const REDEEM_ABI = [
52
53
  outputs: [],
53
54
  },
54
55
  ];
56
+ /** `DelegationManager.ROOT_AUTHORITY` (= `delegation`'s `ROOT_AUTHORITY`; payments is type-only on that package). */
57
+ const ROOT_AUTHORITY = '0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff';
58
+ /**
59
+ * Spec 445 / generation 4 / B1 — the generation-4 `PaymentEnforcer` revert surface, for decoding a failed
60
+ * settlement. New: `ZeroAmount()` (DLG-8b) and `NoRedemptionInFlight()` (DLG-8c — the enforcer reads the payer
61
+ * from `DelegationManager.redemptionRootDelegator()`; with no redemption in flight it writes no receipt).
62
+ * `PaymentSettled.payer` is the ROOT delegator of the redeemed chain; `mandateId` / `resourceHash` in
63
+ * `PaymentCharged` / `PaymentSettled` are the redeemer's assertions (unsigned args), never proven by the row.
64
+ */
65
+ export const paymentEnforcerGeneration4ErrorsAbi = [
66
+ { type: 'error', name: 'ZeroAmount', inputs: [] },
67
+ { type: 'error', name: 'NoRedemptionInFlight', inputs: [] },
68
+ { type: 'error', name: 'AggregateExceeded', inputs: [{ name: 'spent', type: 'uint256' }, { name: 'maxAggregate', type: 'uint256' }, { name: 'amount', type: 'uint256' }] },
69
+ { type: 'error', name: 'AssetMismatch', inputs: [{ name: 'expectedAsset', type: 'address' }, { name: 'target', type: 'address' }] },
70
+ { type: 'error', name: 'ChargeExceedsMax', inputs: [{ name: 'amount', type: 'uint256' }, { name: 'maxAmountPerCharge', type: 'uint256' }] },
71
+ { type: 'error', name: 'FrequencyExceeded', inputs: [{ name: 'callsInWindow', type: 'uint32' }, { name: 'maxRedemptionsPerWindow', type: 'uint32' }] },
72
+ { type: 'error', name: 'InvalidTerms', inputs: [] },
73
+ { type: 'error', name: 'NonceReused', inputs: [{ name: 'nonce', type: 'bytes32' }] },
74
+ { type: 'error', name: 'NotDelegationManager', inputs: [{ name: 'caller', type: 'address' }] },
75
+ { type: 'error', name: 'NotTransferCall', inputs: [] },
76
+ { type: 'error', name: 'SettlementNotObserved', inputs: [] },
77
+ { type: 'error', name: 'ValueNotZero', inputs: [] },
78
+ { type: 'error', name: 'WrongRecipient', inputs: [{ name: 'treasury', type: 'address' }, { name: 'to', type: 'address' }] },
79
+ ];
55
80
  /** PAY-RAIL-4 — the rail-scoped replay nullifier. */
56
81
  export function computeNullifier(args) {
57
82
  return keccak256(encodeAbiParameters([
@@ -70,6 +95,19 @@ export function computeNullifier(args) {
70
95
  * reason (or null). The async checks (revocation, nonce-unused) run in the rail's settle() flow.
71
96
  */
72
97
  export function verifyMandate(mandate, quote, opts) {
98
+ // Spec 445 / audit DATA-15: the quote names a network; the rail settles on `deps.chainId`. Nothing compared
99
+ // them, so a quote for another chain passed verification and was then redeemed here. `settle` always passes
100
+ // `chainId`; a direct caller that omits it gets the quote↔mandate comparison only (documented, not silent).
101
+ let quoteChain;
102
+ try {
103
+ quoteChain = fromCaip2(quote.network);
104
+ }
105
+ catch {
106
+ return { valid: false, reason: 'quote names no supported network' };
107
+ }
108
+ if (opts.chainId !== undefined && quoteChain !== opts.chainId) {
109
+ return { valid: false, reason: 'quote is for another chain' };
110
+ }
73
111
  try {
74
112
  assertContextBindingValid(mandate.contextBinding);
75
113
  assertClosedMandateInvariants(mandate);
@@ -96,10 +134,16 @@ export function verifyMandate(mandate, quote, opts) {
96
134
  return { valid: false, reason: 'amount mismatch' };
97
135
  if (mandate.amountPolicy.asset.id.toLowerCase() !== quote.asset.toLowerCase())
98
136
  return { valid: false, reason: 'asset mismatch' };
99
- if (mandate.amountPolicy.chain !== fromCaip2(quote.network))
137
+ if (mandate.amountPolicy.chain !== quoteChain)
138
+ return { valid: false, reason: 'chain mismatch' };
139
+ // DATA-16: the two chain fields the mandate carries must agree (both are in the signed struct as of v2).
140
+ if (mandate.contextBinding.chain !== mandate.amountPolicy.chain)
100
141
  return { valid: false, reason: 'chain mismatch' };
101
142
  if (mandate.nonce !== quote.nonce)
102
143
  return { valid: false, reason: 'nonce mismatch' };
144
+ // A quote is a price for a while. The mandate's own window is the payer's; this is the seller's.
145
+ if (quote.expiresAt <= opts.now)
146
+ return { valid: false, reason: 'quote expired' };
103
147
  if (mandate.expiresAt <= opts.now)
104
148
  return { valid: false, reason: 'mandate expired' };
105
149
  if (mandate.validFrom > opts.now)
@@ -111,9 +155,33 @@ export function verifyMandate(mandate, quote, opts) {
111
155
  * USDC.transfer(treasury, amount)) with the PaymentEnforcer caveat's `args` filled with the mandate's
112
156
  * (mandateId, nonce, resourceHash) at REDEMPTION time. The caller submits `{to, value, data}` from the
113
157
  * service relayer as a sponsored UserOp.
158
+ *
159
+ * Spec 445 / ontology ONT-4: the mandate's payer and payee must be TREASURIES — `deps.isTreasury` is REQUIRED
160
+ * and a person or organization on either side throws `NotATreasuryError` (`PAYER_NOT_TREASURY` /
161
+ * `PAYEE_NOT_TREASURY`). The delegator is the payer (DLG-8c), so a payment delegation is a treasury's.
114
162
  */
115
- export function buildRedemptionCalldata(args) {
163
+ export async function buildRedemptionCalldata(args, deps) {
164
+ await assertTreasuryParties(deps, { payers: [args.mandate.payer], payees: [args.mandate.payee] });
165
+ return encodeRedemption(args);
166
+ }
167
+ /** The encoder behind `buildRedemptionCalldata` — `settle` calls it after checking the parties itself. */
168
+ function encodeRedemption(args) {
116
169
  const amount = args.mandate.amountPolicy.amount;
170
+ // Spec 445 / generation 4 / B1 (audit DLG-8b): the PaymentEnforcer reverts `ZeroAmount()` on a zero charge — a
171
+ // zero "payment" would otherwise burn a nonce and write a receipt for nothing. Refused before encoding.
172
+ if (typeof amount !== 'bigint' || amount <= 0n) {
173
+ throw new Error('buildRedemptionCalldata: the charge amount must be above zero (PaymentEnforcer ZeroAmount)');
174
+ }
175
+ // DLG-8c: the receipt's payer is the ROOT delegator of the redeemed chain. This rail redeems ONE link, so that
176
+ // link must be the root (the manager reverts any other single link `InvalidAuthority`) — and then its delegator,
177
+ // which `settle` has already matched to `mandate.payer`, is exactly the account the receipt names.
178
+ if (args.delegation.authority.toLowerCase() !== ROOT_AUTHORITY) {
179
+ throw new Error('buildRedemptionCalldata: the payment delegation must be a ROOT delegation (authority = ROOT_AUTHORITY) — its delegator is the payer the receipt names');
180
+ }
181
+ // DLG-2: the manager refuses a redemption whose call target is the root delegator (`SelfTargetedRedemption`).
182
+ if (args.asset.toLowerCase() === args.delegation.delegator.toLowerCase()) {
183
+ throw new Error('buildRedemptionCalldata: the call target is the delegator itself — a self-targeted redemption is refused (SelfTargetedRedemption)');
184
+ }
117
185
  const transferData = encodeFunctionData({
118
186
  abi: TRANSFER_ABI,
119
187
  functionName: 'transfer',
@@ -163,9 +231,14 @@ export function createX402Rail(deps) {
163
231
  const now = deps.now ?? (() => Math.floor(Date.now() / 1000));
164
232
  async function settle(input) {
165
233
  const { mandate, delegation, quote } = input;
166
- const v = verifyMandate(mandate, quote, { now: now() });
234
+ const v = verifyMandate(mandate, quote, { now: now(), chainId: deps.chainId });
167
235
  if (!v.valid)
168
236
  return { ok: false, reason: v.reason };
237
+ // Spec 445 / ontology ONT-4: value moves treasury → treasury. Refuse a person or organization on either side
238
+ // (distinct reasons) before the signature, the delegation or the nonce are touched. A missing port refuses.
239
+ const parties = await checkTreasuryParties(deps, { payers: [mandate.payer], payees: [mandate.payee] });
240
+ if (!parties.ok)
241
+ return { ok: false, reason: parties.reason };
169
242
  // PAY-H2 (seam audit): verifyMandate binds mandate.asset === quote.asset, but settlement transfers
170
243
  // against the RAIL's configured `deps.asset` (computeNullifier + buildRedemptionCalldata). If the rail
171
244
  // is wired for a different asset than the quote (e.g. USDC 6-dec vs an 18-dec token), it would move
@@ -182,9 +255,38 @@ export function createX402Rail(deps) {
182
255
  else if (!deps.allowUnsignedMandate) {
183
256
  return { ok: false, reason: 'no mandate-signature verifier and allowUnsignedMandate not set (EXT-PMT-2)' };
184
257
  }
185
- const delegationHash = mandate.delegationRef;
186
- if (delegationHash && (await deps.isRevoked(delegationHash)))
258
+ // Spec 445 §3.3 (audit H-9): the mandate and the delegation arrive as two inputs. The mandate signature
259
+ // proves the PAYER agreed to this charge; nothing so far proves the delegation being redeemed is the
260
+ // payer's. Bind them three ways before the nonce is reserved: the mandate must name a delegation (the
261
+ // name is inside the signed struct), the delegation presented must hash to that name, and its delegator
262
+ // must be the mandate's payer. Revocation is then asked about the hash we COMPUTED, never the one claimed.
263
+ if (!mandate.delegationRef)
264
+ return { ok: false, reason: 'mandate names no payment delegation (delegationRef required)' };
265
+ const delegationHash = await deps.delegationDigest(delegation);
266
+ if (delegationHash.toLowerCase() !== mandate.delegationRef.toLowerCase()) {
267
+ return { ok: false, reason: 'the delegation presented is not the one the mandate names' };
268
+ }
269
+ if (delegation.delegator.toLowerCase() !== mandate.payer.toLowerCase()) {
270
+ return { ok: false, reason: 'the payment delegation is not the mandate payer\'s' };
271
+ }
272
+ if (await deps.isRevoked(delegationHash))
187
273
  return { ok: false, reason: 'payment delegation revoked' };
274
+ // Spec 445 / B1: build (and so validate — zero amount, non-root link, self-target) BEFORE the nullifier is
275
+ // reserved, so a refused redemption never strands the one-shot mandate's reservation.
276
+ let plan;
277
+ try {
278
+ plan = encodeRedemption({
279
+ mandate,
280
+ delegation,
281
+ delegationManager: deps.delegationManager,
282
+ paymentEnforcer: deps.paymentEnforcer,
283
+ asset: deps.asset,
284
+ resourceHash: quote.resourceHash,
285
+ });
286
+ }
287
+ catch (e) {
288
+ return { ok: false, reason: e instanceof Error ? e.message : 'redemption refused' };
289
+ }
188
290
  const nullifier = computeNullifier({
189
291
  rail: 'x402',
190
292
  chainId: deps.chainId,
@@ -202,14 +304,6 @@ export function createX402Rail(deps) {
202
304
  }
203
305
  return { ok: false, reason: `duplicate settlement (${reserved.state})` };
204
306
  }
205
- const plan = buildRedemptionCalldata({
206
- mandate,
207
- delegation,
208
- delegationManager: deps.delegationManager,
209
- paymentEnforcer: deps.paymentEnforcer,
210
- asset: deps.asset,
211
- resourceHash: quote.resourceHash,
212
- });
213
307
  // PAY-RAIL-6 — simulate before burning the nonce: a reverting or over-gas settlement is
214
308
  // rejected as RETRYABLE so the one-shot mandate survives for a corrected resubmit.
215
309
  if (deps.simulate) {
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/rails/x402/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/rails/x402/executor.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,6 @@ export type { PaymentRequirements, PaymentRequiredBody, SettlementResponse, Paym
6
6
  export { X402_VERSION, HEADER_PAYMENT_REQUIRED, HEADER_PAYMENT_SIGNATURE, HEADER_PAYMENT_RESPONSE, ASSET_TRANSFER_METHOD, buildPaymentRequired, parsePaymentRequired, buildPaymentSignature, parsePaymentSignature, buildPaymentResponse, parsePaymentResponse, serializeMandate, deserializeMandate, } from './wire.js';
7
7
  export type { NonceReservationStore, NonceState, SettledReceipt, ReserveResult } from './nonce-store.js';
8
8
  export { createMemoryNonceStore } from './nonce-store.js';
9
- export type { X402RailConfig, X402RailDeps, SettleResult } from './executor.js';
10
- export { computeNullifier, verifyMandate, buildRedemptionCalldata, createX402Rail } from './executor.js';
9
+ export type { X402RailConfig, X402RailDeps, SettleResult, RedemptionArgs } from './executor.js';
10
+ export { computeNullifier, verifyMandate, buildRedemptionCalldata, createX402Rail, paymentEnforcerGeneration4ErrorsAbi } from './executor.js';
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rails/x402/index.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE/G,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAElG,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACvH,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAEnB,YAAY,EAAE,qBAAqB,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACzG,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rails/x402/index.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE/G,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAElG,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACvH,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAEnB,YAAY,EAAE,qBAAqB,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACzG,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,uBAAuB,EAAE,cAAc,EAAE,mCAAmC,EAAE,MAAM,eAAe,CAAC"}
@@ -4,5 +4,5 @@ export { ZERO_HASH, canonicalizePaymentResource, hashRequestBody, redactPaymentM
4
4
  export { computeQuoteId, buildPaymentQuote, quoteMismatch, toCaip2, fromCaip2 } from './quote.js';
5
5
  export { X402_VERSION, HEADER_PAYMENT_REQUIRED, HEADER_PAYMENT_SIGNATURE, HEADER_PAYMENT_RESPONSE, ASSET_TRANSFER_METHOD, buildPaymentRequired, parsePaymentRequired, buildPaymentSignature, parsePaymentSignature, buildPaymentResponse, parsePaymentResponse, serializeMandate, deserializeMandate, } from './wire.js';
6
6
  export { createMemoryNonceStore } from './nonce-store.js';
7
- export { computeNullifier, verifyMandate, buildRedemptionCalldata, createX402Rail } from './executor.js';
7
+ export { computeNullifier, verifyMandate, buildRedemptionCalldata, createX402Rail, paymentEnforcerGeneration4ErrorsAbi } from './executor.js';
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rails/x402/index.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,oFAAoF;AAGpF,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAG/G,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGlG,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rails/x402/index.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,oFAAoF;AAGpF,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAG/G,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGlG,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,uBAAuB,EAAE,cAAc,EAAE,mCAAmC,EAAE,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/rails/x402/wire.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/rails/x402/wire.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,YAAY,EAAG,CAAU,CAAC;AACvC,eAAO,MAAM,uBAAuB,qBAAqB,CAAC;AAC1D,eAAO,MAAM,wBAAwB,sBAAsB,CAAC;AAC5D,eAAO,MAAM,uBAAuB,qBAAqB,CAAC;AAC1D,eAAO,MAAM,qBAAqB,EAAG,oBAA6B,CAAC;AAEnE,uFAAuF;AACvF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,KAAK,EAAE;QACL,mBAAmB,EAAE,OAAO,qBAAqB,CAAC;QAClD,OAAO,EAAE,KAAK,CAAC;QACf,eAAe,EAAE;YAAE,YAAY,EAAE,KAAK,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KAC5E,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,OAAO,YAAY,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,KAAK,CAAC;IACvB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkBD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE3E;AACD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAoB/D;AAGD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,YAAY,EACnB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,mBAAmB,CAAA;CAAE,CAkB7E;AAED,uGAAuG;AACvG,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB,CAI7E;AAGD,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,OAAO,YAAY,CAAC;IACjC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,OAAO,EAAE;QAAE,OAAO,EAAE,cAAc,CAAA;KAAE,CAAC;CACtC;AAED,wDAAwD;AACxD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGpH;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE;IAAE,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAClF;IAAE,QAAQ,EAAE,mBAAmB,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,GAAG,IAAI,CAwBnE;AAGD,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAElF;AACD,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,CAE5E"}
@@ -12,6 +12,11 @@ function b64encode(obj) {
12
12
  return typeof btoa === 'function' ? btoa(json) : Buffer.from(json, 'utf8').toString('base64');
13
13
  }
14
14
  function b64decode(b64) {
15
+ // Spec 445 / audit DATA-24: `Buffer.from(…, 'base64')` skips characters outside the alphabet and `atob`
16
+ // tolerates missing padding, so many different header strings decoded to one body. Canonical base64 only.
17
+ if (typeof b64 !== 'string' || b64.length % 4 !== 0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(b64)) {
18
+ throw new Error('[x402] header is not canonical base64');
19
+ }
15
20
  const json = typeof atob === 'function' ? atob(b64) : Buffer.from(b64, 'base64').toString('utf8');
16
21
  return JSON.parse(json);
17
22
  }
@@ -88,6 +93,8 @@ export function parsePaymentSignature(headers) {
88
93
  catch {
89
94
  return null;
90
95
  }
96
+ if (body === null || typeof body !== 'object')
97
+ return null;
91
98
  if (body.x402Version !== X402_VERSION)
92
99
  return null;
93
100
  if (body.accepted?.scheme !== 'exact')
@@ -96,7 +103,17 @@ export function parsePaymentSignature(headers) {
96
103
  return null;
97
104
  if (!body.payload?.mandate)
98
105
  return null;
99
- return { accepted: body.accepted, mandate: deserializeMandate(body.payload.mandate) };
106
+ // Spec 445 / audit DATA-15: `deserializeMandate` runs `BigInt()` over client-supplied fields and reads
107
+ // `amountPolicy` / `contextBinding` as objects. A non-integer nonce or a missing `amountPolicy` raised
108
+ // SyntaxError / TypeError out of a function documented to return null — a 500 from one malformed header.
109
+ let mandate;
110
+ try {
111
+ mandate = deserializeMandate(body.payload.mandate);
112
+ }
113
+ catch {
114
+ return null;
115
+ }
116
+ return { accepted: body.accepted, mandate };
100
117
  }
101
118
  // ── PAY-WIRE-3: build the settlement response (a projection of the durable receipt) ──
102
119
  export function buildPaymentResponse(r) {
@@ -1 +1 @@
1
- {"version":3,"file":"wire.js","sourceRoot":"","sources":["../../../src/rails/x402/wire.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wire.js","sourceRoot":"","sources":["../../../src/rails/x402/wire.ts"],"names":[],"mappings":"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"}
package/dist/refund.d.ts CHANGED
@@ -5,16 +5,23 @@
5
5
  * pointing at the original charge's mandateId. It emits its OWN PaymentReceipt
6
6
  * (audit-equal evidence, 273 EXC-D3). Build the refund receipt with
7
7
  * `buildPaymentReceiptCredential({ ..., refundsMandateId })`.
8
+ *
9
+ * Spec 445 / ontology ONT-4: both sides are treasuries. The refund leaves the original payee TREASURY and returns
10
+ * to the original payer TREASURY; a person or organization address on either side is refused (`isTreasury`,
11
+ * REQUIRED).
8
12
  */
9
13
  import type { Address } from '@agenticprimitives/types';
10
14
  import { type TransferPlan } from './transfer.js';
15
+ import { type TreasuryPort } from './treasury.js';
11
16
  import type { Hex32 } from './index.js';
12
17
  export interface RefundInput {
13
18
  asset: Address;
14
19
  /** refund amount — MUST be ≤ the original charge (caller-enforced) */
15
20
  amount: bigint;
16
- /** where the refund returns — the original charge's payer */
21
+ /** where the refund returns — the original charge's payer TREASURY */
17
22
  payer: Address;
23
+ /** who refunds — the original charge's payee TREASURY, the SA that executes this plan */
24
+ payee: Address;
18
25
  /** the original charge this reverses (provenance) */
19
26
  originalMandateId: Hex32;
20
27
  }
@@ -25,5 +32,5 @@ export interface RefundPlan {
25
32
  };
26
33
  }
27
34
  /** Build the reverse leg: the treasury executes a transfer back to the original payer. */
28
- export declare function buildRefund(input: RefundInput): RefundPlan;
35
+ export declare function buildRefund(input: RefundInput, deps: TreasuryPort): Promise<RefundPlan>;
29
36
  //# sourceMappingURL=refund.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"refund.d.ts","sourceRoot":"","sources":["../src/refund.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,KAAK,EAAE,OAAO,CAAC;IACf,qDAAqD;IACrD,iBAAiB,EAAE,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE;QAAE,OAAO,EAAE,KAAK,CAAA;KAAE,CAAC;CAChC;AAED,0FAA0F;AAC1F,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU,CAM1D"}
1
+ {"version":3,"file":"refund.d.ts","sourceRoot":"","sources":["../src/refund.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,KAAK,EAAE,OAAO,CAAC;IACf,yFAAyF;IACzF,KAAK,EAAE,OAAO,CAAC;IACf,qDAAqD;IACrD,iBAAiB,EAAE,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE;QAAE,OAAO,EAAE,KAAK,CAAA;KAAE,CAAC;CAChC;AAED,0FAA0F;AAC1F,wBAAsB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAQ7F"}
package/dist/refund.js CHANGED
@@ -5,14 +5,21 @@
5
5
  * pointing at the original charge's mandateId. It emits its OWN PaymentReceipt
6
6
  * (audit-equal evidence, 273 EXC-D3). Build the refund receipt with
7
7
  * `buildPaymentReceiptCredential({ ..., refundsMandateId })`.
8
+ *
9
+ * Spec 445 / ontology ONT-4: both sides are treasuries. The refund leaves the original payee TREASURY and returns
10
+ * to the original payer TREASURY; a person or organization address on either side is refused (`isTreasury`,
11
+ * REQUIRED).
8
12
  */
9
- import { buildErc20Transfer } from './transfer.js';
13
+ import { encodeErc20Transfer } from './transfer.js';
14
+ import { assertTreasuryParties } from './treasury.js';
10
15
  /** Build the reverse leg: the treasury executes a transfer back to the original payer. */
11
- export function buildRefund(input) {
16
+ export async function buildRefund(input, deps) {
12
17
  if (input.amount <= 0n)
13
18
  throw new Error('[refund] amount must be > 0');
19
+ // The refund's money leaves the original payee and enters the original payer: both must be treasuries.
20
+ await assertTreasuryParties(deps, { payers: [input.payee], payees: [input.payer] });
14
21
  return {
15
- plan: buildErc20Transfer(input.asset, input.payer, input.amount),
22
+ plan: encodeErc20Transfer(input.asset, input.payer, input.amount),
16
23
  provenance: { refunds: input.originalMandateId },
17
24
  };
18
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"refund.js","sourceRoot":"","sources":["../src/refund.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,kBAAkB,EAAqB,MAAM,eAAe,CAAC;AAkBtE,0FAA0F;AAC1F,MAAM,UAAU,WAAW,CAAC,KAAkB;IAC5C,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACvE,OAAO;QACL,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;QAChE,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,iBAAiB,EAAE;KACjD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"refund.js","sourceRoot":"","sources":["../src/refund.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,mBAAmB,EAAqB,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAqB,MAAM,eAAe,CAAC;AAoBzE,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAkB,EAAE,IAAkB;IACtE,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACvE,uGAAuG;IACvG,MAAM,qBAAqB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpF,OAAO;QACL,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;QACjE,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,iBAAiB,EAAE;KACjD,CAAC;AACJ,CAAC"}