@agenticprimitives/payments 0.0.0-alpha.41 → 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.
- package/dist/entitlement/index.d.ts.map +1 -1
- package/dist/entitlement/index.js +10 -4
- package/dist/entitlement/index.js.map +1 -1
- package/dist/entitlement/voucher.d.ts +14 -1
- package/dist/entitlement/voucher.d.ts.map +1 -1
- package/dist/entitlement/voucher.js +20 -1
- package/dist/entitlement/voucher.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/mandate-sign.d.ts +42 -3
- package/dist/mandate-sign.d.ts.map +1 -1
- package/dist/mandate-sign.js +33 -2
- package/dist/mandate-sign.js.map +1 -1
- package/dist/mandate.d.ts +10 -2
- package/dist/mandate.d.ts.map +1 -1
- package/dist/mandate.js +9 -2
- package/dist/mandate.js.map +1 -1
- package/dist/ops.d.ts +45 -4
- package/dist/ops.d.ts.map +1 -1
- package/dist/ops.js +59 -10
- package/dist/ops.js.map +1 -1
- package/dist/rails/escrow.d.ts +11 -3
- package/dist/rails/escrow.d.ts.map +1 -1
- package/dist/rails/escrow.js +11 -2
- package/dist/rails/escrow.js.map +1 -1
- package/dist/rails/invoice.d.ts +6 -4
- package/dist/rails/invoice.d.ts.map +1 -1
- package/dist/rails/invoice.js +6 -5
- package/dist/rails/invoice.js.map +1 -1
- package/dist/rails/recurring.d.ts +7 -3
- package/dist/rails/recurring.d.ts.map +1 -1
- package/dist/rails/recurring.js +8 -5
- package/dist/rails/recurring.js.map +1 -1
- package/dist/rails/wallet.d.ts +8 -6
- package/dist/rails/wallet.d.ts.map +1 -1
- package/dist/rails/wallet.js +12 -9
- package/dist/rails/wallet.js.map +1 -1
- package/dist/rails/x402/executor.d.ts +124 -9
- package/dist/rails/x402/executor.d.ts.map +1 -1
- package/dist/rails/x402/executor.js +107 -13
- package/dist/rails/x402/executor.js.map +1 -1
- package/dist/rails/x402/index.d.ts +2 -2
- package/dist/rails/x402/index.d.ts.map +1 -1
- package/dist/rails/x402/index.js +1 -1
- package/dist/rails/x402/index.js.map +1 -1
- package/dist/rails/x402/wire.d.ts.map +1 -1
- package/dist/rails/x402/wire.js +18 -1
- package/dist/rails/x402/wire.js.map +1 -1
- package/dist/refund.d.ts +9 -2
- package/dist/refund.d.ts.map +1 -1
- package/dist/refund.js +10 -3
- package/dist/refund.js.map +1 -1
- package/dist/split.d.ts +7 -2
- package/dist/split.d.ts.map +1 -1
- package/dist/split.js +8 -3
- package/dist/split.js.map +1 -1
- package/dist/transfer.d.ts +24 -5
- package/dist/transfer.d.ts.map +1 -1
- package/dist/transfer.js +21 -5
- package/dist/transfer.js.map +1 -1
- package/dist/treasury.d.ts +50 -0
- package/dist/treasury.d.ts.map +1 -0
- package/dist/treasury.js +68 -0
- package/dist/treasury.js.map +1 -0
- 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":"AAMA,OAAO,EAA6D,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AACzG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAA4D,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC/G,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,KAAK,EAAE,qBAAqB,EAAkB,MAAM,kBAAkB,CAAC;
|
|
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 !==
|
|
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
|
-
|
|
186
|
-
|
|
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;
|
|
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"}
|
package/dist/rails/x402/index.js
CHANGED
|
@@ -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":"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;
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/rails/x402/wire.ts"],"names":[],"mappings":"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"}
|
package/dist/rails/x402/wire.js
CHANGED
|
@@ -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
|
-
|
|
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
|
package/dist/refund.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refund.d.ts","sourceRoot":"","sources":["../src/refund.ts"],"names":[],"mappings":"AAAA
|
|
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 {
|
|
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:
|
|
22
|
+
plan: encodeErc20Transfer(input.asset, input.payer, input.amount),
|
|
16
23
|
provenance: { refunds: input.originalMandateId },
|
|
17
24
|
};
|
|
18
25
|
}
|
package/dist/refund.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refund.js","sourceRoot":"","sources":["../src/refund.ts"],"names":[],"mappings":"AAAA
|
|
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"}
|