@peac/adapter-x402 0.12.4 → 0.12.6

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.
@@ -0,0 +1,102 @@
1
+ /**
2
+ * x402 V2 semantic normalization (Layer B)
3
+ *
4
+ * V2 transport is JWS-primary with no EIP-712 placeholder semantics.
5
+ * Optional fields are truly optional in V2, so placeholder normalization
6
+ * (the core of V1 Layer B) is not needed.
7
+ *
8
+ * Instead, V2 normalization:
9
+ * 1. Flattens the transport structure (PaymentRequired -> per-offer)
10
+ * 2. Preserves all upstream fields including V2-specific ones
11
+ * (maxTimeoutSeconds, extra, resource metadata)
12
+ * 3. Produces V2-specific normalized types that carry forward all semantics
13
+ *
14
+ * These V2 normalized types are NOT forced into V1 NormalizedOfferPayload.
15
+ * Downstream mapping (map.ts) and verification (verify.ts) will handle
16
+ * the V1/V2 split explicitly. That work belongs in the full PR5.
17
+ */
18
+ import type { RawV2PaymentRequired, RawV2PaymentRequiredAccept, RawV2Resource, RawV2SettlementResponse } from './raw-v2.js';
19
+ /**
20
+ * V2 normalized offer (preserves all upstream semantics).
21
+ *
22
+ * Unlike V1 NormalizedOfferPayload, this carries V2-specific fields
23
+ * like maxTimeoutSeconds, extra, and resource metadata.
24
+ */
25
+ export interface NormalizedV2Offer {
26
+ /** Protocol version (always 2) */
27
+ version: 2;
28
+ /** Resource being offered */
29
+ resource: RawV2Resource;
30
+ /** Settlement scheme */
31
+ scheme: string;
32
+ /** CAIP-2 network identifier */
33
+ network: string;
34
+ /** Payment asset identifier */
35
+ asset: string;
36
+ /** Payment recipient address */
37
+ payTo: string;
38
+ /** Payment amount in minor units */
39
+ amount: string;
40
+ /**
41
+ * Maximum timeout for payment settlement in seconds.
42
+ * V2-specific: NOT an epoch timestamp (unlike V1 validUntil).
43
+ * Represents a duration, not an absolute time.
44
+ */
45
+ maxTimeoutSeconds: number;
46
+ /** Scheme-specific additional data (preserved from upstream) */
47
+ extra: Record<string, unknown>;
48
+ }
49
+ /**
50
+ * V2 normalized receipt (preserves all upstream semantics).
51
+ *
52
+ * The upstream SettlementResponse does not carry resourceUrl or issuedAt;
53
+ * those must be supplied by the caller from request context.
54
+ */
55
+ export interface NormalizedV2Receipt {
56
+ /** Protocol version (always 2) */
57
+ version: 2;
58
+ /** CAIP-2 network identifier */
59
+ network: string;
60
+ /** Payer address */
61
+ payer: string;
62
+ /** On-chain transaction hash (present on success) */
63
+ transaction?: string;
64
+ /** Resource URL (caller-supplied from request context) */
65
+ resourceUrl: string;
66
+ /** Receipt issuance timestamp in epoch seconds (caller-supplied from response timing) */
67
+ issuedAt: number;
68
+ }
69
+ /**
70
+ * Normalize a V2 PaymentRequired accept entry into a NormalizedV2Offer.
71
+ *
72
+ * V2 offers are per-accept-entry (each entry in accepts[] is one offer).
73
+ * All upstream fields are preserved, including maxTimeoutSeconds and extra.
74
+ *
75
+ * @param accept - A single accept entry from PaymentRequired.accepts[]
76
+ * @param resource - The PaymentRequired resource descriptor
77
+ * @returns Normalized V2 offer with all upstream semantics preserved
78
+ */
79
+ export declare function normalizeV2Offer(accept: RawV2PaymentRequiredAccept, resource: RawV2Resource): NormalizedV2Offer;
80
+ /**
81
+ * Normalize all offers from a V2 PaymentRequired challenge.
82
+ *
83
+ * @param challenge - The full V2 PaymentRequired object
84
+ * @returns Array of normalized V2 offers (one per accept entry)
85
+ */
86
+ export declare function normalizeV2Offers(challenge: RawV2PaymentRequired): NormalizedV2Offer[];
87
+ /**
88
+ * Normalize a V2 SettlementResponse into a NormalizedV2Receipt.
89
+ *
90
+ * Only successful settlements produce meaningful receipt payloads.
91
+ * Failed settlements should be handled as errors, not receipts.
92
+ *
93
+ * The upstream SettlementResponse does not carry resourceUrl or issuedAt;
94
+ * callers must supply these from request context and response timing.
95
+ *
96
+ * @param settlement - The V2 SettlementResponse (success or failure)
97
+ * @param resourceUrl - Resource URL from the original request context
98
+ * @param issuedAt - Receipt issuance timestamp (epoch seconds, from response timing)
99
+ * @returns Normalized V2 receipt, or null if settlement failed
100
+ */
101
+ export declare function normalizeV2Receipt(settlement: RawV2SettlementResponse, resourceUrl: string, issuedAt: number): NormalizedV2Receipt | null;
102
+ //# sourceMappingURL=normalize-v2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-v2.d.ts","sourceRoot":"","sources":["../src/normalize-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAC1B,aAAa,EACb,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAMrB;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,OAAO,EAAE,CAAC,CAAC;IACX,6BAA6B;IAC7B,QAAQ,EAAE,aAAa,CAAC;IACxB,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,OAAO,EAAE,CAAC,CAAC;IACX,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,yFAAyF;IACzF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,0BAA0B,EAClC,QAAQ,EAAE,aAAa,GACtB,iBAAiB,CAYnB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,oBAAoB,GAAG,iBAAiB,EAAE,CAEtF;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,uBAAuB,EACnC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,mBAAmB,GAAG,IAAI,CAa5B"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ /**
3
+ * x402 V2 semantic normalization (Layer B)
4
+ *
5
+ * V2 transport is JWS-primary with no EIP-712 placeholder semantics.
6
+ * Optional fields are truly optional in V2, so placeholder normalization
7
+ * (the core of V1 Layer B) is not needed.
8
+ *
9
+ * Instead, V2 normalization:
10
+ * 1. Flattens the transport structure (PaymentRequired -> per-offer)
11
+ * 2. Preserves all upstream fields including V2-specific ones
12
+ * (maxTimeoutSeconds, extra, resource metadata)
13
+ * 3. Produces V2-specific normalized types that carry forward all semantics
14
+ *
15
+ * These V2 normalized types are NOT forced into V1 NormalizedOfferPayload.
16
+ * Downstream mapping (map.ts) and verification (verify.ts) will handle
17
+ * the V1/V2 split explicitly. That work belongs in the full PR5.
18
+ */
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.normalizeV2Offer = normalizeV2Offer;
21
+ exports.normalizeV2Offers = normalizeV2Offers;
22
+ exports.normalizeV2Receipt = normalizeV2Receipt;
23
+ // ---------------------------------------------------------------------------
24
+ // V2 Offer Normalization
25
+ // ---------------------------------------------------------------------------
26
+ /**
27
+ * Normalize a V2 PaymentRequired accept entry into a NormalizedV2Offer.
28
+ *
29
+ * V2 offers are per-accept-entry (each entry in accepts[] is one offer).
30
+ * All upstream fields are preserved, including maxTimeoutSeconds and extra.
31
+ *
32
+ * @param accept - A single accept entry from PaymentRequired.accepts[]
33
+ * @param resource - The PaymentRequired resource descriptor
34
+ * @returns Normalized V2 offer with all upstream semantics preserved
35
+ */
36
+ function normalizeV2Offer(accept, resource) {
37
+ return {
38
+ version: 2,
39
+ resource,
40
+ scheme: accept.scheme,
41
+ network: accept.network,
42
+ asset: accept.asset,
43
+ payTo: accept.payTo,
44
+ amount: accept.amount,
45
+ maxTimeoutSeconds: accept.maxTimeoutSeconds,
46
+ extra: accept.extra,
47
+ };
48
+ }
49
+ /**
50
+ * Normalize all offers from a V2 PaymentRequired challenge.
51
+ *
52
+ * @param challenge - The full V2 PaymentRequired object
53
+ * @returns Array of normalized V2 offers (one per accept entry)
54
+ */
55
+ function normalizeV2Offers(challenge) {
56
+ return challenge.accepts.map((accept) => normalizeV2Offer(accept, challenge.resource));
57
+ }
58
+ // ---------------------------------------------------------------------------
59
+ // V2 Receipt Normalization
60
+ // ---------------------------------------------------------------------------
61
+ /**
62
+ * Normalize a V2 SettlementResponse into a NormalizedV2Receipt.
63
+ *
64
+ * Only successful settlements produce meaningful receipt payloads.
65
+ * Failed settlements should be handled as errors, not receipts.
66
+ *
67
+ * The upstream SettlementResponse does not carry resourceUrl or issuedAt;
68
+ * callers must supply these from request context and response timing.
69
+ *
70
+ * @param settlement - The V2 SettlementResponse (success or failure)
71
+ * @param resourceUrl - Resource URL from the original request context
72
+ * @param issuedAt - Receipt issuance timestamp (epoch seconds, from response timing)
73
+ * @returns Normalized V2 receipt, or null if settlement failed
74
+ */
75
+ function normalizeV2Receipt(settlement, resourceUrl, issuedAt) {
76
+ if (!settlement.success) {
77
+ return null;
78
+ }
79
+ return {
80
+ version: 2,
81
+ network: settlement.network,
82
+ payer: settlement.payer,
83
+ resourceUrl,
84
+ issuedAt,
85
+ ...(settlement.transaction && { transaction: settlement.transaction }),
86
+ };
87
+ }
88
+ //# sourceMappingURL=normalize-v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-v2.js","sourceRoot":"","sources":["../src/normalize-v2.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;AA+EH,4CAeC;AAQD,8CAEC;AAoBD,gDAiBC;AA5ED,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,SAAgB,gBAAgB,CAC9B,MAAkC,EAClC,QAAuB;IAEvB,OAAO;QACL,OAAO,EAAE,CAAC;QACV,QAAQ;QACR,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,SAA+B;IAC/D,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E;;;;;;;;;;;;;GAaG;AACH,SAAgB,kBAAkB,CAChC,UAAmC,EACnC,WAAmB,EACnB,QAAgB;IAEhB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,WAAW;QACX,QAAQ;QACR,GAAG,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC;KACvE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * x402 V2 raw HTTP transport types (Layer A)
3
+ *
4
+ * Exact mirror of upstream coinbase/x402 V2 HTTP transport spec at
5
+ * specs/transports-v2/http.md.
6
+ *
7
+ * V2 moves all protocol data to HTTP headers (Base64-encoded JSON):
8
+ * - PAYMENT-REQUIRED: challenge (server -> client)
9
+ * - PAYMENT-SIGNATURE: payment proof (client -> server)
10
+ * - PAYMENT-RESPONSE: settlement result (server -> client)
11
+ *
12
+ * These are decoded raw transport objects. Base64 header decoding is
13
+ * transport-boundary handling and is NOT part of these type definitions.
14
+ *
15
+ * Types in this file MUST match upstream V2 transport spec exactly.
16
+ * Do NOT rename fields, add PEAC-specific fields, or change types.
17
+ * Normalization belongs in Layer B (normalize-v2.ts, PR5).
18
+ *
19
+ * Upstream pin: coinbase/x402 specs/transports-v2/http.md
20
+ * Weekly drift CI: .github/workflows/x402-drift.yml
21
+ */
22
+ /**
23
+ * Resource descriptor (shared across challenge, payment, and response).
24
+ * Describes the resource being accessed behind the 402 paywall.
25
+ */
26
+ export interface RawV2Resource {
27
+ url: string;
28
+ description: string;
29
+ mimeType: string;
30
+ }
31
+ /**
32
+ * Accept entry in a V2 payment challenge.
33
+ * Each entry describes one acceptable payment method.
34
+ */
35
+ export interface RawV2PaymentRequiredAccept {
36
+ /** Payment scheme (e.g., "exact") */
37
+ scheme: string;
38
+ /** CAIP-2 network identifier (e.g., "eip155:84532") */
39
+ network: string;
40
+ /** Payment amount in minor units */
41
+ amount: string;
42
+ /** Token/asset identifier (e.g., hex token address) */
43
+ asset: string;
44
+ /** Payment recipient address */
45
+ payTo: string;
46
+ /** Maximum timeout for payment settlement in seconds */
47
+ maxTimeoutSeconds: number;
48
+ /** Scheme-specific additional data */
49
+ extra: Record<string, unknown>;
50
+ }
51
+ /**
52
+ * V2 PaymentRequired payload.
53
+ *
54
+ * Sent in the PAYMENT-REQUIRED header (Base64-encoded JSON) as part
55
+ * of a 402 Payment Required response. This is the challenge that tells
56
+ * the client what payment is needed.
57
+ */
58
+ export interface RawV2PaymentRequired {
59
+ /** Protocol version (V2: always 2) */
60
+ x402Version: 2;
61
+ /** Error message describing why payment is required */
62
+ error: string;
63
+ /** Resource being accessed */
64
+ resource: RawV2Resource;
65
+ /** Array of acceptable payment methods */
66
+ accepts: RawV2PaymentRequiredAccept[];
67
+ }
68
+ /**
69
+ * Authorization data within a V2 payment payload.
70
+ * Contains the on-chain authorization details for the payment.
71
+ */
72
+ export interface RawV2PaymentAuthorization {
73
+ /** Payer address */
74
+ from: string;
75
+ /** Payee address */
76
+ to: string;
77
+ /** Payment amount */
78
+ value: string;
79
+ /** Valid-after timestamp (unix) */
80
+ validAfter: string;
81
+ /** Valid-before timestamp (unix) */
82
+ validBefore: string;
83
+ /** Nonce (hex string) */
84
+ nonce: string;
85
+ }
86
+ /**
87
+ * Payment proof body within a V2 payment payload.
88
+ */
89
+ export interface RawV2PaymentProofBody {
90
+ /** Hex-encoded signature */
91
+ signature: string;
92
+ /** On-chain authorization details */
93
+ authorization: RawV2PaymentAuthorization;
94
+ }
95
+ /**
96
+ * V2 PaymentPayload.
97
+ *
98
+ * Sent in the PAYMENT-SIGNATURE header (Base64-encoded JSON) alongside
99
+ * the actual HTTP request. Contains the payment proof.
100
+ */
101
+ export interface RawV2PaymentPayload {
102
+ /** Protocol version (V2: always 2) */
103
+ x402Version: 2;
104
+ /** Resource being paid for */
105
+ resource: RawV2Resource;
106
+ /** The accepted payment method (single entry from accepts[]) */
107
+ accepted: RawV2PaymentRequiredAccept;
108
+ /** Payment proof data */
109
+ payload: RawV2PaymentProofBody;
110
+ }
111
+ /**
112
+ * V2 SettlementResponse (success).
113
+ *
114
+ * Sent in the PAYMENT-RESPONSE header (Base64-encoded JSON) when
115
+ * payment settlement succeeds.
116
+ */
117
+ export interface RawV2SettlementResponseSuccess {
118
+ success: true;
119
+ /** On-chain transaction hash */
120
+ transaction: string;
121
+ /** CAIP-2 network identifier */
122
+ network: string;
123
+ /** Payer address */
124
+ payer: string;
125
+ }
126
+ /**
127
+ * V2 SettlementResponse (failure).
128
+ *
129
+ * Sent in the PAYMENT-RESPONSE header when settlement fails.
130
+ */
131
+ export interface RawV2SettlementResponseFailure {
132
+ success: false;
133
+ /** Error reason (e.g., "insufficient_funds") */
134
+ errorReason: string;
135
+ /** Empty string on failure */
136
+ transaction: string;
137
+ /** CAIP-2 network identifier */
138
+ network: string;
139
+ /** Payer address */
140
+ payer: string;
141
+ }
142
+ /** Discriminated union of V2 settlement response outcomes */
143
+ export type RawV2SettlementResponse = RawV2SettlementResponseSuccess | RawV2SettlementResponseFailure;
144
+ /**
145
+ * V2 HTTP header names (lowercase for case-insensitive matching).
146
+ * All carry Base64-encoded JSON payloads.
147
+ */
148
+ export declare const X402_V2_HEADERS: {
149
+ /** Server challenge header (402 response) */
150
+ readonly PAYMENT_REQUIRED: "payment-required";
151
+ /** Client payment proof header (request) */
152
+ readonly PAYMENT_SIGNATURE: "payment-signature";
153
+ /** Server settlement result header (response) */
154
+ readonly PAYMENT_RESPONSE: "payment-response";
155
+ };
156
+ //# sourceMappingURL=raw-v2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-v2.d.ts","sourceRoot":"","sources":["../src/raw-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,sCAAsC;IACtC,WAAW,EAAE,CAAC,CAAC;IACf,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,0CAA0C;IAC1C,OAAO,EAAE,0BAA0B,EAAE,CAAC;CACvC;AAMD;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,aAAa,EAAE,yBAAyB,CAAC;CAC1C;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,WAAW,EAAE,CAAC,CAAC;IACf,8BAA8B;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,gEAAgE;IAChE,QAAQ,EAAE,0BAA0B,CAAC;IACrC,yBAAyB;IACzB,OAAO,EAAE,qBAAqB,CAAC;CAChC;AAMD;;;;;GAKG;AACH,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,IAAI,CAAC;IACd,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,KAAK,CAAC;IACf,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,6DAA6D;AAC7D,MAAM,MAAM,uBAAuB,GAC/B,8BAA8B,GAC9B,8BAA8B,CAAC;AAMnC;;;GAGG;AACH,eAAO,MAAM,eAAe;IAC1B,6CAA6C;;IAE7C,4CAA4C;;IAE5C,iDAAiD;;CAEzC,CAAC"}
package/dist/raw-v2.js ADDED
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ /**
3
+ * x402 V2 raw HTTP transport types (Layer A)
4
+ *
5
+ * Exact mirror of upstream coinbase/x402 V2 HTTP transport spec at
6
+ * specs/transports-v2/http.md.
7
+ *
8
+ * V2 moves all protocol data to HTTP headers (Base64-encoded JSON):
9
+ * - PAYMENT-REQUIRED: challenge (server -> client)
10
+ * - PAYMENT-SIGNATURE: payment proof (client -> server)
11
+ * - PAYMENT-RESPONSE: settlement result (server -> client)
12
+ *
13
+ * These are decoded raw transport objects. Base64 header decoding is
14
+ * transport-boundary handling and is NOT part of these type definitions.
15
+ *
16
+ * Types in this file MUST match upstream V2 transport spec exactly.
17
+ * Do NOT rename fields, add PEAC-specific fields, or change types.
18
+ * Normalization belongs in Layer B (normalize-v2.ts, PR5).
19
+ *
20
+ * Upstream pin: coinbase/x402 specs/transports-v2/http.md
21
+ * Weekly drift CI: .github/workflows/x402-drift.yml
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.X402_V2_HEADERS = void 0;
25
+ // ---------------------------------------------------------------------------
26
+ // V2 Header Constants
27
+ // ---------------------------------------------------------------------------
28
+ /**
29
+ * V2 HTTP header names (lowercase for case-insensitive matching).
30
+ * All carry Base64-encoded JSON payloads.
31
+ */
32
+ exports.X402_V2_HEADERS = {
33
+ /** Server challenge header (402 response) */
34
+ PAYMENT_REQUIRED: 'payment-required',
35
+ /** Client payment proof header (request) */
36
+ PAYMENT_SIGNATURE: 'payment-signature',
37
+ /** Server settlement result header (response) */
38
+ PAYMENT_RESPONSE: 'payment-response',
39
+ };
40
+ //# sourceMappingURL=raw-v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-v2.js","sourceRoot":"","sources":["../src/raw-v2.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;AAuJH,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E;;;GAGG;AACU,QAAA,eAAe,GAAG;IAC7B,6CAA6C;IAC7C,gBAAgB,EAAE,kBAAkB;IACpC,4CAA4C;IAC5C,iBAAiB,EAAE,mBAAmB;IACtC,iDAAiD;IACjD,gBAAgB,EAAE,kBAAkB;CAC5B,CAAC"}
package/dist/types.d.ts CHANGED
@@ -307,6 +307,10 @@ export interface X402PeacRecord {
307
307
  transaction?: string;
308
308
  /** Schema version (from receipt, if present) */
309
309
  receiptVersion?: number;
310
+ /** V2: maximum settlement timeout in seconds (duration, not epoch) */
311
+ maxTimeoutSeconds?: number;
312
+ /** V2: settlement scheme identifier */
313
+ scheme?: string;
310
314
  };
311
315
  /** Unsigned metadata and verification status */
312
316
  hints: {
@@ -381,6 +385,11 @@ export declare function defaultAddressComparator(a: string, b: string, network:
381
385
  export interface X402AdapterConfig {
382
386
  /** Supported offer/receipt versions (default: [1]) */
383
387
  supportedVersions?: number[];
388
+ /**
389
+ * Wire version for the current flow (default: 1).
390
+ * When set to 2, public entrypoints dispatch to V2 verification/mapping.
391
+ */
392
+ wireVersion?: 1 | 2;
384
393
  /** Clock skew tolerance in seconds for validUntil (default: 60) */
385
394
  clockSkewSeconds?: number;
386
395
  /** Current time override for testing (epoch seconds) */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AA4bH,4DAKC;AA3aD,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;;;;;;GAOG;AACU,QAAA,0BAA0B,GAAG,6BAAsC,CAAC;AAEjF,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;GAKG;AACU,QAAA,kBAAkB,GAAG,GAAG,CAAC;AAEtC;;;;;GAKG;AACU,QAAA,uBAAuB,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,UAAU;AAE7D;;;;GAIG;AACU,QAAA,iBAAiB,GAAG,EAAE,CAAC;AAyXpC;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,CAAS,EAAE,CAAS,EAAE,OAAe;IAC5E,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAgcH,4DAKC;AA/aD,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;;;;;;GAOG;AACU,QAAA,0BAA0B,GAAG,6BAAsC,CAAC;AAEjF,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;GAKG;AACU,QAAA,kBAAkB,GAAG,GAAG,CAAC;AAEtC;;;;;GAKG;AACU,QAAA,uBAAuB,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,UAAU;AAE7D;;;;GAIG;AACU,QAAA,iBAAiB,GAAG,EAAE,CAAC;AA6XpC;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,CAAS,EAAE,CAAS,EAAE,OAAe;IAC5E,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC"}
package/dist/verify.d.ts CHANGED
@@ -15,7 +15,8 @@
15
15
  */
16
16
  import type { RawSignedOffer, RawSignedReceipt } from './raw.js';
17
17
  import type { NormalizedOfferPayload, NormalizedReceiptPayload } from './normalize.js';
18
- import type { AcceptEntry, OfferVerification, ReceiptVerification, ConsistencyVerification, ConsistencyOptions, WireVerification, X402AdapterConfig, AddressComparator } from './types.js';
18
+ import type { NormalizedV2Offer, NormalizedV2Receipt } from './normalize-v2.js';
19
+ import type { AcceptEntry, OfferVerification, ReceiptVerification, ConsistencyVerification, ConsistencyOptions, WireVerification, VerificationError, X402AdapterConfig, AddressComparator } from './types.js';
19
20
  /**
20
21
  * Validate raw wire structure of a signed offer
21
22
  *
@@ -86,4 +87,58 @@ export declare function selectAccept(payload: NormalizedOfferPayload, accepts: A
86
87
  index: number;
87
88
  usedHint: boolean;
88
89
  };
90
+ /**
91
+ * V2 offer verification result
92
+ */
93
+ export interface V2OfferVerification {
94
+ valid: boolean;
95
+ errors: VerificationError[];
96
+ }
97
+ /**
98
+ * V2 receipt verification result
99
+ */
100
+ export interface V2ReceiptVerification {
101
+ valid: boolean;
102
+ errors: VerificationError[];
103
+ }
104
+ /**
105
+ * Verify a normalized V2 offer.
106
+ *
107
+ * V2 uses maxTimeoutSeconds (duration) instead of validUntil (epoch).
108
+ * In strict mode, unknown V2 shapes are rejected (fail-closed).
109
+ *
110
+ * @param offer - Normalized V2 offer
111
+ * @param config - Adapter config (supportedVersions must include 2)
112
+ * @returns Verification result
113
+ */
114
+ export declare function verifyOfferV2(offer: NormalizedV2Offer, config?: X402AdapterConfig): V2OfferVerification;
115
+ /**
116
+ * Verify a normalized V2 receipt.
117
+ *
118
+ * V2 receipts require caller-supplied resourceUrl and issuedAt.
119
+ * In strict mode, unknown V2 shapes are rejected (fail-closed).
120
+ *
121
+ * @param receipt - Normalized V2 receipt
122
+ * @param config - Adapter config (supportedVersions must include 2)
123
+ * @returns Verification result
124
+ */
125
+ export declare function verifyReceiptV2(receipt: NormalizedV2Receipt, config?: X402AdapterConfig): V2ReceiptVerification;
126
+ /**
127
+ * Unified offer verification: dispatches to V1 or V2 based on config.wireVersion.
128
+ *
129
+ * When wireVersion is 2, accepts a NormalizedV2Offer and routes to verifyOfferV2().
130
+ * When wireVersion is 1 (default), accepts a RawSignedOffer and routes to verifyOffer().
131
+ *
132
+ * This is the canonical public entrypoint for version-aware verification.
133
+ */
134
+ export declare function verifyOfferUnified(offer: RawSignedOffer | NormalizedV2Offer, accepts: AcceptEntry[], config?: X402AdapterConfig): OfferVerification | V2OfferVerification;
135
+ /**
136
+ * Unified receipt verification: dispatches to V1 or V2 based on config.wireVersion.
137
+ *
138
+ * When wireVersion is 2, accepts a NormalizedV2Receipt and routes to verifyReceiptV2().
139
+ * When wireVersion is 1 (default), accepts a RawSignedReceipt and routes to verifyReceipt().
140
+ *
141
+ * This is the canonical public entrypoint for version-aware verification.
142
+ */
143
+ export declare function verifyReceiptUnified(receipt: RawSignedReceipt | NormalizedV2Receipt, config?: X402AdapterConfig): ReceiptVerification | V2ReceiptVerification;
89
144
  //# sourceMappingURL=verify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EACV,cAAc,EAEd,gBAAgB,EAIjB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAEvF,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAEhB,iBAAiB,EAEjB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAsMpB;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,gBAAgB,CAgEvE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,CA8C7E;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,WAAW,EAAE,EACtB,MAAM,CAAC,EAAE,iBAAiB,GACzB,iBAAiB,CA8KnB;AAMD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,iBAAiB,GACzB,mBAAmB,CAsFrB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,sBAAsB,EACpC,cAAc,EAAE,wBAAwB,EACxC,MAAM,CAAC,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,uBAAuB,CAqDzB;AAMD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,WAAW,EACnB,iBAAiB,GAAE,iBAA4C,GAC9D,MAAM,EAAE,CAsBV;AAMD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,WAAW,EAAE,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,iBAAiB,GAAE,iBAA4C,GAC9D;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAyD1D"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EACV,cAAc,EAEd,gBAAgB,EAIjB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAEvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EAEjB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAsMpB;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,gBAAgB,CAgEvE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,CA8C7E;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,WAAW,EAAE,EACtB,MAAM,CAAC,EAAE,iBAAiB,GACzB,iBAAiB,CA8KnB;AAMD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,iBAAiB,GACzB,mBAAmB,CAsFrB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,sBAAsB,EACpC,cAAc,EAAE,wBAAwB,EACxC,MAAM,CAAC,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,uBAAuB,CAqDzB;AAMD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,WAAW,EACnB,iBAAiB,GAAE,iBAA4C,GAC9D,MAAM,EAAE,CAsBV;AAMD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,WAAW,EAAE,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,iBAAiB,GAAE,iBAA4C,GAC9D;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAyD1D;AA0SD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,iBAAiB,EACxB,MAAM,CAAC,EAAE,iBAAiB,GACzB,mBAAmB,CAoFrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,iBAAiB,GACzB,qBAAqB,CA0EvB;AAMD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,cAAc,GAAG,iBAAiB,EACzC,OAAO,EAAE,WAAW,EAAE,EACtB,MAAM,CAAC,EAAE,iBAAiB,GACzB,iBAAiB,GAAG,mBAAmB,CAKzC;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,GAAG,mBAAmB,EAC/C,MAAM,CAAC,EAAE,iBAAiB,GACzB,mBAAmB,GAAG,qBAAqB,CAK7C"}