@stellar-agent/x402-client 0.4.4 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -1
- package/dist/index.d.ts +51 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +186 -19
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -20,9 +20,31 @@ stellar-agent pay x402 http://127.0.0.1:PORT/paid-report --allow-localhost-demo
|
|
|
20
20
|
## Safety
|
|
21
21
|
|
|
22
22
|
- This package is for local Testnet demos.
|
|
23
|
-
-
|
|
23
|
+
- `verifyX402PaymentProof` validates local x402 proofs against Testnet payment evidence: amount, asset, destination, source, resource, nonce, freshness, success, and replay state.
|
|
24
|
+
- Use Horizon-backed verification for real Testnet settlement checks. Mock verification is only for CI-safe demos and local examples.
|
|
25
|
+
- Production facilitator-backed x402 support is intentionally out of scope for this release.
|
|
24
26
|
- Payment policy and receipts are handled by the CLI flow before and after Testnet payment submission.
|
|
25
27
|
|
|
28
|
+
## Server Verification
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
import { verifyX402PaymentProof } from "@stellar-agent/x402-client";
|
|
32
|
+
|
|
33
|
+
const acceptedTransactions = new Set<string>();
|
|
34
|
+
const verification = await verifyX402PaymentProof({
|
|
35
|
+
proof,
|
|
36
|
+
requirement,
|
|
37
|
+
acceptedTransactions,
|
|
38
|
+
horizonUrl: "https://horizon-testnet.stellar.org"
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
if (!verification.ok) {
|
|
42
|
+
// Return HTTP 402 with verification.error.
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
The helper fails closed when Horizon evidence is unavailable or when the transaction does not contain a matching payment operation.
|
|
47
|
+
|
|
26
48
|
## Links
|
|
27
49
|
|
|
28
50
|
- GitHub: https://github.com/someone-in-texas/Stellar-Agent
|
package/dist/index.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ export interface X402PaymentRequirement {
|
|
|
10
10
|
recipient: string;
|
|
11
11
|
resource: string;
|
|
12
12
|
nonce: string;
|
|
13
|
+
issuedAt?: string;
|
|
14
|
+
expiresAt?: string;
|
|
13
15
|
memo?: string;
|
|
14
16
|
}
|
|
15
17
|
export interface X402PaymentProof {
|
|
@@ -23,7 +25,36 @@ export interface X402PaymentProof {
|
|
|
23
25
|
amount: string;
|
|
24
26
|
resource: string;
|
|
25
27
|
nonce: string;
|
|
28
|
+
submittedAt?: string;
|
|
26
29
|
}
|
|
30
|
+
export interface X402VerifiedPaymentOperation {
|
|
31
|
+
source: string;
|
|
32
|
+
destination: string;
|
|
33
|
+
asset: string;
|
|
34
|
+
amount: string;
|
|
35
|
+
}
|
|
36
|
+
export interface X402VerifiedPayment {
|
|
37
|
+
transactionHash: string;
|
|
38
|
+
successful: boolean;
|
|
39
|
+
ledger?: number;
|
|
40
|
+
createdAt?: string;
|
|
41
|
+
memo?: string;
|
|
42
|
+
operations: X402VerifiedPaymentOperation[];
|
|
43
|
+
}
|
|
44
|
+
export type X402PaymentLoader = (proof: X402PaymentProof) => Promise<X402VerifiedPayment | null>;
|
|
45
|
+
export type X402PaymentVerification = {
|
|
46
|
+
ok: true;
|
|
47
|
+
settlement: {
|
|
48
|
+
mode: "horizon" | "mock";
|
|
49
|
+
transactionHash: string;
|
|
50
|
+
ledger?: number;
|
|
51
|
+
createdAt?: string;
|
|
52
|
+
operation: X402VerifiedPaymentOperation;
|
|
53
|
+
};
|
|
54
|
+
} | {
|
|
55
|
+
ok: false;
|
|
56
|
+
error: "invalid_payment_proof" | "payment_nonce_expired" | "payment_proof_replayed" | "payment_settlement_unavailable" | "payment_not_successful" | "payment_operation_mismatch";
|
|
57
|
+
};
|
|
27
58
|
export interface X402PaymentResult {
|
|
28
59
|
firstStatus: number;
|
|
29
60
|
finalStatus: number;
|
|
@@ -55,12 +86,32 @@ export declare function runX402Payment(args: {
|
|
|
55
86
|
}): Promise<X402PaymentResult>;
|
|
56
87
|
export declare function parseX402Requirement(response: Response): Promise<X402PaymentRequirement>;
|
|
57
88
|
export declare function validateRequirement(value: unknown): X402PaymentRequirement;
|
|
89
|
+
export declare function verifyX402PaymentProof(args: {
|
|
90
|
+
proof: X402PaymentProof;
|
|
91
|
+
requirement: X402PaymentRequirement;
|
|
92
|
+
acceptedTransactions?: Set<string>;
|
|
93
|
+
mode?: "horizon" | "mock";
|
|
94
|
+
now?: Date;
|
|
95
|
+
maxChallengeAgeMs?: number;
|
|
96
|
+
horizonUrl?: string | null;
|
|
97
|
+
fetchImpl?: typeof fetch;
|
|
98
|
+
loadPayment?: X402PaymentLoader;
|
|
99
|
+
}): Promise<X402PaymentVerification>;
|
|
100
|
+
export declare function x402ChallengeMemo(requirement: Pick<X402PaymentRequirement, "nonce" | "resource">): string;
|
|
101
|
+
export declare function loadX402PaymentFromHorizon(args: {
|
|
102
|
+
transactionHash: string;
|
|
103
|
+
horizonUrl?: string | null;
|
|
104
|
+
fetchImpl?: typeof fetch;
|
|
105
|
+
}): Promise<X402VerifiedPayment | null>;
|
|
58
106
|
export declare function startPaidApiDemo(args: {
|
|
59
107
|
recipient: string;
|
|
60
108
|
amount?: string;
|
|
61
109
|
asset?: string;
|
|
62
110
|
port?: number;
|
|
63
111
|
host?: string;
|
|
112
|
+
verificationMode?: "mock" | "horizon";
|
|
113
|
+
horizonUrl?: string | null;
|
|
114
|
+
loadPayment?: X402PaymentLoader;
|
|
64
115
|
}): Promise<{
|
|
65
116
|
url: string;
|
|
66
117
|
close(): Promise<void>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,cAAc,EAEd,aAAa,EAGd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,0BAA0B,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,0BAA0B,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,4BAA4B,EAAE,CAAC;CAC5C;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;AAEjG,MAAM,MAAM,uBAAuB,GAC/B;IACE,EAAE,EAAE,IAAI,CAAC;IACT,UAAU,EAAE;QACV,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,4BAA4B,CAAC;KACzC,CAAC;CACH,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EACD,uBAAuB,GACvB,uBAAuB,GACvB,wBAAwB,GACxB,gCAAgC,GAChC,wBAAwB,GACxB,4BAA4B,CAAC;CAClC,CAAC;AAEN,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,sBAAsB,CAAC;IACpC,cAAc,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;IAC1D,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACtE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,WAAW,CAAC;CACtC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA4H7B;AAgBD,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAQ9F;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CA2C1E;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,KAAK,EAAE,gBAAgB,CAAC;IACxB,WAAW,EAAE,sBAAsB,CAAC;IACpC,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAiEnC;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,EAAE,OAAO,GAAG,UAAU,CAAC,GAAG,MAAM,CAEzG;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE;IACrD,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA6BtC;AAwCD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC,GAAG,OAAO,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC,CA6FD"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { StellarAgentError, makeId, parseAmount } from "@stellar-agent/core";
|
|
1
|
+
import { TESTNET_PROFILE, StellarAgentError, makeId, parseAmount } from "@stellar-agent/core";
|
|
2
2
|
import { appendEvent, writeReceipt } from "@stellar-agent/ledger-logger";
|
|
3
3
|
import { evaluatePaymentRequest } from "@stellar-agent/policy";
|
|
4
4
|
import { sendPayment } from "@stellar-agent/stellar";
|
|
5
|
+
import { createHash } from "node:crypto";
|
|
5
6
|
import { createServer } from "node:http";
|
|
6
7
|
export async function runX402Payment(args) {
|
|
7
8
|
const fetchImpl = args.fetchImpl ?? fetch;
|
|
@@ -78,6 +79,7 @@ export async function runX402Payment(args) {
|
|
|
78
79
|
amount: parseAmount(requirement.amount).value,
|
|
79
80
|
resource: requirement.resource,
|
|
80
81
|
nonce: requirement.nonce,
|
|
82
|
+
submittedAt: new Date().toISOString(),
|
|
81
83
|
...(transaction.ledger === undefined ? {} : { ledger: transaction.ledger })
|
|
82
84
|
};
|
|
83
85
|
const paid = await fetchResource(fetchImpl, args.url, {
|
|
@@ -164,6 +166,17 @@ export function validateRequirement(value) {
|
|
|
164
166
|
});
|
|
165
167
|
}
|
|
166
168
|
parseAmount(candidate.amount, candidate.asset);
|
|
169
|
+
const expectedMemo = x402ChallengeMemo({
|
|
170
|
+
resource: candidate.resource,
|
|
171
|
+
nonce: candidate.nonce
|
|
172
|
+
});
|
|
173
|
+
if (candidate.memo !== undefined && candidate.memo !== expectedMemo) {
|
|
174
|
+
throw new StellarAgentError({
|
|
175
|
+
code: "INVALID_INPUT",
|
|
176
|
+
message: "HTTP 402 response included an x402 memo that was not bound to the challenge.",
|
|
177
|
+
docs: "docs/x402-and-mpp.md#local-x402-demo"
|
|
178
|
+
});
|
|
179
|
+
}
|
|
167
180
|
return {
|
|
168
181
|
protocol: "stellar-agent-local-x402",
|
|
169
182
|
version: 1,
|
|
@@ -173,7 +186,147 @@ export function validateRequirement(value) {
|
|
|
173
186
|
asset: candidate.asset,
|
|
174
187
|
resource: candidate.resource,
|
|
175
188
|
nonce: candidate.nonce,
|
|
176
|
-
...(candidate.
|
|
189
|
+
...(candidate.issuedAt === undefined ? {} : { issuedAt: candidate.issuedAt }),
|
|
190
|
+
...(candidate.expiresAt === undefined ? {} : { expiresAt: candidate.expiresAt }),
|
|
191
|
+
memo: expectedMemo
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
export async function verifyX402PaymentProof(args) {
|
|
195
|
+
const expectedAmount = parseAmount(args.requirement.amount, args.requirement.asset).value;
|
|
196
|
+
let proofAmount;
|
|
197
|
+
try {
|
|
198
|
+
proofAmount = parseAmount(args.proof.amount, args.proof.asset).value;
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
return { ok: false, error: "invalid_payment_proof" };
|
|
202
|
+
}
|
|
203
|
+
if (args.proof.protocol !== args.requirement.protocol ||
|
|
204
|
+
args.proof.version !== args.requirement.version ||
|
|
205
|
+
!/^[a-f0-9]{64}$/i.test(args.proof.transactionHash) ||
|
|
206
|
+
!args.proof.payer ||
|
|
207
|
+
args.requirement.network !== "testnet" ||
|
|
208
|
+
args.proof.recipient !== args.requirement.recipient ||
|
|
209
|
+
args.proof.asset !== args.requirement.asset ||
|
|
210
|
+
proofAmount !== expectedAmount ||
|
|
211
|
+
args.proof.resource !== args.requirement.resource ||
|
|
212
|
+
args.proof.nonce !== args.requirement.nonce) {
|
|
213
|
+
return { ok: false, error: "invalid_payment_proof" };
|
|
214
|
+
}
|
|
215
|
+
if (isExpiredRequirement(args.requirement, args.now ?? new Date(), args.maxChallengeAgeMs ?? 5 * 60 * 1000)) {
|
|
216
|
+
return { ok: false, error: "payment_nonce_expired" };
|
|
217
|
+
}
|
|
218
|
+
if (args.acceptedTransactions?.has(args.proof.transactionHash)) {
|
|
219
|
+
return { ok: false, error: "payment_proof_replayed" };
|
|
220
|
+
}
|
|
221
|
+
const mode = args.mode ?? "horizon";
|
|
222
|
+
const payment = args.loadPayment
|
|
223
|
+
? await args.loadPayment(args.proof)
|
|
224
|
+
: mode === "mock"
|
|
225
|
+
? mockVerifiedPayment(args.proof)
|
|
226
|
+
: await loadX402PaymentFromHorizon({
|
|
227
|
+
transactionHash: args.proof.transactionHash,
|
|
228
|
+
horizonUrl: args.horizonUrl ?? TESTNET_PROFILE.horizonUrl,
|
|
229
|
+
...(args.fetchImpl === undefined ? {} : { fetchImpl: args.fetchImpl })
|
|
230
|
+
});
|
|
231
|
+
if (!payment)
|
|
232
|
+
return { ok: false, error: "payment_settlement_unavailable" };
|
|
233
|
+
if (!payment.successful)
|
|
234
|
+
return { ok: false, error: "payment_not_successful" };
|
|
235
|
+
const operation = payment.operations.find((candidate) => candidate.source === args.proof.payer &&
|
|
236
|
+
candidate.destination === args.requirement.recipient &&
|
|
237
|
+
candidate.asset === args.requirement.asset &&
|
|
238
|
+
parseAmount(candidate.amount, candidate.asset).value === expectedAmount);
|
|
239
|
+
if (!operation)
|
|
240
|
+
return { ok: false, error: "payment_operation_mismatch" };
|
|
241
|
+
if (payment.memo !== x402ChallengeMemo(args.requirement)) {
|
|
242
|
+
return { ok: false, error: "payment_operation_mismatch" };
|
|
243
|
+
}
|
|
244
|
+
args.acceptedTransactions?.add(args.proof.transactionHash);
|
|
245
|
+
return {
|
|
246
|
+
ok: true,
|
|
247
|
+
settlement: {
|
|
248
|
+
mode,
|
|
249
|
+
transactionHash: payment.transactionHash,
|
|
250
|
+
...(payment.ledger === undefined ? {} : { ledger: payment.ledger }),
|
|
251
|
+
...(payment.createdAt === undefined ? {} : { createdAt: payment.createdAt }),
|
|
252
|
+
operation
|
|
253
|
+
}
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
export function x402ChallengeMemo(requirement) {
|
|
257
|
+
return `x402:${createHash("sha256").update(`${requirement.nonce}\0${requirement.resource}`).digest("hex").slice(0, 22)}`;
|
|
258
|
+
}
|
|
259
|
+
export async function loadX402PaymentFromHorizon(args) {
|
|
260
|
+
if (!args.horizonUrl)
|
|
261
|
+
return null;
|
|
262
|
+
const fetchImpl = args.fetchImpl ?? fetch;
|
|
263
|
+
const baseUrl = args.horizonUrl.replace(/\/$/, "");
|
|
264
|
+
const transaction = await fetchJson(fetchImpl, `${baseUrl}/transactions/${args.transactionHash}`);
|
|
265
|
+
if (!transaction)
|
|
266
|
+
return null;
|
|
267
|
+
const operationsUrl = `${baseUrl}/transactions/${args.transactionHash}/operations?limit=200`;
|
|
268
|
+
const operations = await fetchJson(fetchImpl, operationsUrl);
|
|
269
|
+
const records = Array.isArray(operations?._embedded?.records) ? operations._embedded.records : [];
|
|
270
|
+
return {
|
|
271
|
+
transactionHash: String(transaction.hash ?? args.transactionHash),
|
|
272
|
+
successful: transaction.successful === true,
|
|
273
|
+
...(typeof transaction.ledger === "number" ? { ledger: transaction.ledger } : {}),
|
|
274
|
+
...(typeof transaction.created_at === "string" ? { createdAt: transaction.created_at } : {}),
|
|
275
|
+
...(typeof transaction.memo === "string" ? { memo: transaction.memo } : {}),
|
|
276
|
+
operations: records.flatMap((record) => {
|
|
277
|
+
if (record?.type !== "payment")
|
|
278
|
+
return [];
|
|
279
|
+
const asset = record.asset_type === "native" ? "XLM" : `${record.asset_code}:${record.asset_issuer}`;
|
|
280
|
+
if (!record.from || !record.to || !record.amount)
|
|
281
|
+
return [];
|
|
282
|
+
return [
|
|
283
|
+
{
|
|
284
|
+
source: String(record.from),
|
|
285
|
+
destination: String(record.to),
|
|
286
|
+
asset,
|
|
287
|
+
amount: String(record.amount)
|
|
288
|
+
}
|
|
289
|
+
];
|
|
290
|
+
})
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
async function fetchJson(fetchImpl, url) {
|
|
294
|
+
try {
|
|
295
|
+
const response = await fetchImpl(url);
|
|
296
|
+
if (!response.ok)
|
|
297
|
+
return null;
|
|
298
|
+
return response.json();
|
|
299
|
+
}
|
|
300
|
+
catch {
|
|
301
|
+
return null;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
function isExpiredRequirement(requirement, now, maxChallengeAgeMs) {
|
|
305
|
+
if (requirement.expiresAt && Number.isFinite(Date.parse(requirement.expiresAt)) && Date.parse(requirement.expiresAt) < now.getTime()) {
|
|
306
|
+
return true;
|
|
307
|
+
}
|
|
308
|
+
if (!requirement.issuedAt)
|
|
309
|
+
return false;
|
|
310
|
+
const issuedAt = Date.parse(requirement.issuedAt);
|
|
311
|
+
if (!Number.isFinite(issuedAt))
|
|
312
|
+
return true;
|
|
313
|
+
return now.getTime() - issuedAt > maxChallengeAgeMs;
|
|
314
|
+
}
|
|
315
|
+
function mockVerifiedPayment(proof) {
|
|
316
|
+
return {
|
|
317
|
+
transactionHash: proof.transactionHash,
|
|
318
|
+
successful: true,
|
|
319
|
+
...(proof.ledger === undefined ? {} : { ledger: proof.ledger }),
|
|
320
|
+
...(proof.submittedAt === undefined ? {} : { createdAt: proof.submittedAt }),
|
|
321
|
+
memo: x402ChallengeMemo(proof),
|
|
322
|
+
operations: [
|
|
323
|
+
{
|
|
324
|
+
source: proof.payer,
|
|
325
|
+
destination: proof.recipient,
|
|
326
|
+
asset: proof.asset,
|
|
327
|
+
amount: proof.amount
|
|
328
|
+
}
|
|
329
|
+
]
|
|
177
330
|
};
|
|
178
331
|
}
|
|
179
332
|
export async function startPaidApiDemo(args) {
|
|
@@ -181,9 +334,10 @@ export async function startPaidApiDemo(args) {
|
|
|
181
334
|
const amount = args.amount ?? "0.0000001";
|
|
182
335
|
const asset = args.asset ?? "XLM";
|
|
183
336
|
parseAmount(amount, asset);
|
|
184
|
-
const
|
|
337
|
+
const maxChallengeAgeMs = 5 * 60 * 1000;
|
|
338
|
+
const issuedRequirements = new Map();
|
|
185
339
|
const acceptedTransactions = new Set();
|
|
186
|
-
const server = createServer((request, response) => {
|
|
340
|
+
const server = createServer(async (request, response) => {
|
|
187
341
|
if (request.url?.startsWith("/health")) {
|
|
188
342
|
writeJson(response, 200, { ok: true });
|
|
189
343
|
return;
|
|
@@ -195,6 +349,7 @@ export async function startPaidApiDemo(args) {
|
|
|
195
349
|
const proofHeader = request.headers["x-payment"];
|
|
196
350
|
if (!proofHeader) {
|
|
197
351
|
const resource = paidResource(host, server);
|
|
352
|
+
const issuedAt = new Date();
|
|
198
353
|
const requirement = {
|
|
199
354
|
protocol: "stellar-agent-local-x402",
|
|
200
355
|
version: 1,
|
|
@@ -203,9 +358,12 @@ export async function startPaidApiDemo(args) {
|
|
|
203
358
|
amount,
|
|
204
359
|
recipient: args.recipient,
|
|
205
360
|
resource,
|
|
206
|
-
nonce,
|
|
207
|
-
|
|
361
|
+
nonce: makeId("x402_req"),
|
|
362
|
+
issuedAt: issuedAt.toISOString(),
|
|
363
|
+
expiresAt: new Date(issuedAt.getTime() + maxChallengeAgeMs).toISOString()
|
|
208
364
|
};
|
|
365
|
+
requirement.memo = x402ChallengeMemo(requirement);
|
|
366
|
+
issuedRequirements.set(requirement.nonce, requirement);
|
|
209
367
|
const encoded = JSON.stringify(requirement);
|
|
210
368
|
response.setHeader("Payment-Required", encoded);
|
|
211
369
|
response.setHeader("X-Payment-Required", encoded);
|
|
@@ -213,17 +371,7 @@ export async function startPaidApiDemo(args) {
|
|
|
213
371
|
return;
|
|
214
372
|
}
|
|
215
373
|
const proof = parseProofHeader(proofHeader);
|
|
216
|
-
|
|
217
|
-
if (!proof ||
|
|
218
|
-
proof.protocol !== "stellar-agent-local-x402" ||
|
|
219
|
-
proof.version !== 1 ||
|
|
220
|
-
!proof.transactionHash ||
|
|
221
|
-
!proof.payer ||
|
|
222
|
-
proof.recipient !== args.recipient ||
|
|
223
|
-
proof.asset !== asset ||
|
|
224
|
-
proof.amount !== parseAmount(amount, asset).value ||
|
|
225
|
-
proof.resource !== resource ||
|
|
226
|
-
proof.nonce !== nonce) {
|
|
374
|
+
if (!proof) {
|
|
227
375
|
writeJson(response, 402, { ok: false, error: "invalid_payment_proof" });
|
|
228
376
|
return;
|
|
229
377
|
}
|
|
@@ -231,7 +379,25 @@ export async function startPaidApiDemo(args) {
|
|
|
231
379
|
writeJson(response, 402, { ok: false, error: "payment_proof_replayed" });
|
|
232
380
|
return;
|
|
233
381
|
}
|
|
234
|
-
|
|
382
|
+
const issuedRequirement = proof.nonce ? issuedRequirements.get(proof.nonce) : undefined;
|
|
383
|
+
if (!issuedRequirement) {
|
|
384
|
+
writeJson(response, 402, { ok: false, error: "payment_nonce_not_issued" });
|
|
385
|
+
return;
|
|
386
|
+
}
|
|
387
|
+
const verification = await verifyX402PaymentProof({
|
|
388
|
+
proof,
|
|
389
|
+
requirement: issuedRequirement,
|
|
390
|
+
acceptedTransactions,
|
|
391
|
+
mode: args.verificationMode ?? "mock",
|
|
392
|
+
maxChallengeAgeMs,
|
|
393
|
+
...(args.horizonUrl === undefined ? {} : { horizonUrl: args.horizonUrl }),
|
|
394
|
+
...(args.loadPayment === undefined ? {} : { loadPayment: args.loadPayment })
|
|
395
|
+
});
|
|
396
|
+
if (!verification.ok) {
|
|
397
|
+
writeJson(response, 402, { ok: false, error: verification.error });
|
|
398
|
+
return;
|
|
399
|
+
}
|
|
400
|
+
issuedRequirements.delete(issuedRequirement.nonce);
|
|
235
401
|
writeJson(response, 200, {
|
|
236
402
|
ok: true,
|
|
237
403
|
id: makeId("paid_report"),
|
|
@@ -239,7 +405,8 @@ export async function startPaidApiDemo(args) {
|
|
|
239
405
|
paid: {
|
|
240
406
|
transactionHash: proof.transactionHash,
|
|
241
407
|
amount: proof.amount,
|
|
242
|
-
asset: proof.asset
|
|
408
|
+
asset: proof.asset,
|
|
409
|
+
verifier: verification.settlement.mode
|
|
243
410
|
}
|
|
244
411
|
});
|
|
245
412
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stellar-agent/x402-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "Local Testnet x402-style payment demo client and server helpers for Stellar Agent Bridge.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
"test": "vitest run"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@stellar-agent/core": "0.
|
|
36
|
-
"@stellar-agent/ledger-logger": "0.
|
|
37
|
-
"@stellar-agent/policy": "0.
|
|
38
|
-
"@stellar-agent/stellar": "0.
|
|
35
|
+
"@stellar-agent/core": "0.5.1",
|
|
36
|
+
"@stellar-agent/ledger-logger": "0.5.1",
|
|
37
|
+
"@stellar-agent/policy": "0.5.1",
|
|
38
|
+
"@stellar-agent/stellar": "0.5.1"
|
|
39
39
|
}
|
|
40
40
|
}
|