@xfuel/verify 0.1.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +62 -17
  2. package/dist/anchor-witness.d.ts +138 -0
  3. package/dist/anchor-witness.d.ts.map +1 -0
  4. package/dist/anchor-witness.js +365 -0
  5. package/dist/anchor-witness.js.map +1 -0
  6. package/dist/base-payer.d.ts +8 -1
  7. package/dist/base-payer.d.ts.map +1 -1
  8. package/dist/base-payer.js +64 -20
  9. package/dist/base-payer.js.map +1 -1
  10. package/dist/canonical-preimage.d.ts +9 -0
  11. package/dist/canonical-preimage.d.ts.map +1 -0
  12. package/dist/canonical-preimage.js +25 -0
  13. package/dist/canonical-preimage.js.map +1 -0
  14. package/dist/cli.d.ts +1 -0
  15. package/dist/cli.d.ts.map +1 -1
  16. package/dist/cli.js +424 -25
  17. package/dist/cli.js.map +1 -1
  18. package/dist/head-binding.d.ts +24 -0
  19. package/dist/head-binding.d.ts.map +1 -0
  20. package/dist/head-binding.js +61 -0
  21. package/dist/head-binding.js.map +1 -0
  22. package/dist/index.d.ts +263 -48
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +919 -140
  25. package/dist/index.js.map +1 -1
  26. package/dist/issuer-history.d.ts +91 -0
  27. package/dist/issuer-history.d.ts.map +1 -0
  28. package/dist/issuer-history.js +292 -0
  29. package/dist/issuer-history.js.map +1 -0
  30. package/dist/jcs.d.ts +8 -0
  31. package/dist/jcs.d.ts.map +1 -0
  32. package/dist/jcs.js +64 -0
  33. package/dist/jcs.js.map +1 -0
  34. package/dist/jws.d.ts +23 -0
  35. package/dist/jws.d.ts.map +1 -1
  36. package/dist/jws.js +71 -1
  37. package/dist/jws.js.map +1 -1
  38. package/dist/payer.d.ts +16 -5
  39. package/dist/payer.d.ts.map +1 -1
  40. package/dist/payer.js +38 -26
  41. package/dist/payer.js.map +1 -1
  42. package/dist/preimage.d.ts +49 -0
  43. package/dist/preimage.d.ts.map +1 -0
  44. package/dist/preimage.js +203 -0
  45. package/dist/preimage.js.map +1 -0
  46. package/dist/receipt-lane.d.ts +234 -0
  47. package/dist/receipt-lane.d.ts.map +1 -0
  48. package/dist/receipt-lane.js +443 -0
  49. package/dist/receipt-lane.js.map +1 -0
  50. package/dist/refusal.d.ts +90 -0
  51. package/dist/refusal.d.ts.map +1 -0
  52. package/dist/refusal.js +226 -0
  53. package/dist/refusal.js.map +1 -0
  54. package/package.json +9 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"receipt-lane.js","sourceRoot":"","sources":["../src/receipt-lane.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Offline check for a chit402.refusal.v1 document.
3
+ *
4
+ * Same ES256 issuer key and JWKS trust rules as a payment receipt.
5
+ * A refusal is not a payment. verifyReceipt refuses to treat one as spend.
6
+ */
7
+ import { type Es256Jwk } from './jws.js';
8
+ export declare const REFUSAL_SCHEMA = "chit402.refusal.v1";
9
+ /** Versions a verifier accepts. Version 1 has no history pin. */
10
+ export declare const REFUSAL_PAYLOAD_VERSIONS: readonly [1, 2];
11
+ /** Current issuance version. Version 1 still verifies. */
12
+ export declare const REFUSAL_PAYLOAD_VERSION = 2;
13
+ export declare const REFUSAL_PROVES: string[];
14
+ export declare const REFUSAL_DOES_NOT_PROVE: string[];
15
+ export interface RefusalJwks {
16
+ keys: Es256Jwk[];
17
+ }
18
+ export interface RefusalAnchor {
19
+ status?: string;
20
+ rail?: string;
21
+ chain_id?: number | null;
22
+ block_number?: string | null;
23
+ block_hash?: string | null;
24
+ state_root?: string | null;
25
+ }
26
+ export interface RefusalBookRow {
27
+ task_id?: string;
28
+ seq?: number;
29
+ prev_hash?: string | null;
30
+ row_hash?: string;
31
+ event?: string;
32
+ }
33
+ export interface RefusalDocument {
34
+ schema?: string;
35
+ payload_version?: number;
36
+ kind?: string;
37
+ refusal_id?: string;
38
+ nonce?: string;
39
+ issued_at?: string;
40
+ refusal_code?: string;
41
+ agent_id?: number;
42
+ book_id?: number;
43
+ task_id?: string;
44
+ amount_requested?: string | null;
45
+ chain_id?: number | null;
46
+ anchor?: RefusalAnchor | null;
47
+ book_row?: RefusalBookRow | null;
48
+ charged?: boolean;
49
+ amount_charged?: string;
50
+ issuer_signature?: {
51
+ jws?: string;
52
+ kid?: string;
53
+ issuer_jwk?: Es256Jwk;
54
+ };
55
+ }
56
+ export interface RefusalVerification {
57
+ schema: typeof REFUSAL_SCHEMA;
58
+ valid: boolean;
59
+ checked: boolean;
60
+ reason?: string;
61
+ kid?: string | null;
62
+ refusal_id?: string | null;
63
+ refusal_code?: string | null;
64
+ nonce?: string | null;
65
+ chain_id?: number | null;
66
+ charged: false;
67
+ proves: string[];
68
+ does_not_prove: string[];
69
+ errors: string[];
70
+ payload_version?: number;
71
+ issuer_history?: {
72
+ hash?: string;
73
+ version?: number;
74
+ seq?: number;
75
+ } | null;
76
+ payload_hash?: string | null;
77
+ }
78
+ /** Schema inside the JWS payload. Unverified; callers still check the signature. */
79
+ export declare function jwsPayloadSchema(doc: unknown): string | null;
80
+ export declare function isRefusalDocument(doc: unknown): doc is RefusalDocument;
81
+ /**
82
+ * Verify the issuer signature and that the outer refusal fields match it.
83
+ * Trust is a JWKS key matched by kid, or an embedded key whose thumbprint
84
+ * is a pinned trusted kid. The embedded key alone is not a trust root.
85
+ */
86
+ export declare function verifyRefusal(doc: RefusalDocument, options?: {
87
+ jwks?: RefusalJwks;
88
+ trustedKids?: readonly string[];
89
+ }): RefusalVerification;
90
+ //# sourceMappingURL=refusal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refusal.d.ts","sourceRoot":"","sources":["../src/refusal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.REFUSAL_DOES_NOT_PROVE = exports.REFUSAL_PROVES = exports.REFUSAL_PAYLOAD_VERSION = exports.REFUSAL_PAYLOAD_VERSIONS = exports.REFUSAL_SCHEMA = void 0;
4
+ exports.jwsPayloadSchema = jwsPayloadSchema;
5
+ exports.isRefusalDocument = isRefusalDocument;
6
+ exports.verifyRefusal = verifyRefusal;
7
+ /**
8
+ * Offline check for a chit402.refusal.v1 document.
9
+ *
10
+ * Same ES256 issuer key and JWKS trust rules as a payment receipt.
11
+ * A refusal is not a payment. verifyReceipt refuses to treat one as spend.
12
+ */
13
+ const jws_js_1 = require("./jws.js");
14
+ exports.REFUSAL_SCHEMA = 'chit402.refusal.v1';
15
+ /** Versions a verifier accepts. Version 1 has no history pin. */
16
+ exports.REFUSAL_PAYLOAD_VERSIONS = [1, 2];
17
+ /** Current issuance version. Version 1 still verifies. */
18
+ exports.REFUSAL_PAYLOAD_VERSION = 2;
19
+ exports.REFUSAL_PROVES = [
20
+ 'The issuer signed that it refused this spend.',
21
+ 'refusal_code is the code the issuer recorded.',
22
+ 'nonce identifies this refusal document.',
23
+ 'chain_id and anchor are the Base observation at refusal time. status UNAVAILABLE means the issuer had no block.',
24
+ 'When status is observed, block_number and block_hash are that block. state_root is copied only when the RPC returned one; otherwise it is null.',
25
+ 'book_row.seq, task_id, and row_hash name the policy_blocked row this refusal joins.',
26
+ 'charged is false and amount_charged is 0. This refusal took no USDC.',
27
+ ];
28
+ exports.REFUSAL_DOES_NOT_PROVE = [
29
+ 'It does not prove a payment, a settlement, or a balance change.',
30
+ 'It does not prove the refused spend would have landed in that block.',
31
+ 'It does not prove a later reorg left the block hash or state root in place.',
32
+ 'UNAVAILABLE means the issuer did not have a block. It does not mean the chain was empty.',
33
+ 'It does not prove the policy rule was the right rule. It proves the issuer refused under that code.',
34
+ 'It does not prove amount_requested would have been the settled price.',
35
+ 'It is not a payment receipt. A payment verifier must not treat it as proof of spend.',
36
+ 'verify_url is not inside the signature.',
37
+ ];
38
+ /** Schema inside the JWS payload. Unverified; callers still check the signature. */
39
+ function jwsPayloadSchema(doc) {
40
+ if (!doc || typeof doc !== 'object')
41
+ return null;
42
+ const jws = doc.issuer_signature?.jws;
43
+ if (!jws || typeof jws !== 'string')
44
+ return null;
45
+ const payloadB64 = jws.split('.')[1];
46
+ if (!payloadB64)
47
+ return null;
48
+ try {
49
+ const payload = JSON.parse(Buffer.from(payloadB64, 'base64url').toString('utf8'));
50
+ return typeof payload.schema === 'string' ? payload.schema : null;
51
+ }
52
+ catch {
53
+ return null;
54
+ }
55
+ }
56
+ function isRefusalDocument(doc) {
57
+ if (!doc || typeof doc !== 'object')
58
+ return false;
59
+ if (doc.schema === exports.REFUSAL_SCHEMA)
60
+ return true;
61
+ return jwsPayloadSchema(doc) === exports.REFUSAL_SCHEMA;
62
+ }
63
+ function jwksCandidates(jwks, kid) {
64
+ if (!jwks?.keys?.length)
65
+ return [];
66
+ const es256 = jwks.keys.filter((key) => key.kty === 'EC' && key.crv === 'P-256' && key.x && key.y);
67
+ if (!kid)
68
+ return es256;
69
+ return es256.filter((key) => key.kid === kid);
70
+ }
71
+ function same(left, right) {
72
+ return left === right;
73
+ }
74
+ function anchorSame(outer, signed) {
75
+ if (!outer || !signed)
76
+ return false;
77
+ return same(outer.status, signed.status)
78
+ && same(outer.rail, signed.rail)
79
+ && same(outer.chain_id ?? null, signed.chain_id ?? null)
80
+ && same(outer.block_number ?? null, signed.block_number ?? null)
81
+ && same(outer.block_hash ?? null, signed.block_hash ?? null)
82
+ && same(outer.state_root ?? null, signed.state_root ?? null);
83
+ }
84
+ function bookRowSame(outer, signed) {
85
+ if (!outer || !signed)
86
+ return false;
87
+ return same(outer.task_id, signed.task_id)
88
+ && Number(outer.seq) === Number(signed.seq)
89
+ && same(outer.prev_hash || null, signed.prev_hash || null)
90
+ && same(outer.row_hash, signed.row_hash)
91
+ && same(outer.event, signed.event);
92
+ }
93
+ function failed(reason, extra = {}) {
94
+ return {
95
+ schema: exports.REFUSAL_SCHEMA,
96
+ checked: extra.checked ?? true,
97
+ reason,
98
+ charged: false,
99
+ proves: exports.REFUSAL_PROVES,
100
+ does_not_prove: exports.REFUSAL_DOES_NOT_PROVE,
101
+ errors: [reason],
102
+ kid: extra.kid,
103
+ valid: false,
104
+ };
105
+ }
106
+ /**
107
+ * Verify the issuer signature and that the outer refusal fields match it.
108
+ * Trust is a JWKS key matched by kid, or an embedded key whose thumbprint
109
+ * is a pinned trusted kid. The embedded key alone is not a trust root.
110
+ */
111
+ function verifyRefusal(doc, options = {}) {
112
+ if (!isRefusalDocument(doc)) {
113
+ return failed('not_a_refusal', { checked: false });
114
+ }
115
+ const jws = doc.issuer_signature?.jws;
116
+ if (!jws)
117
+ return failed('no_signature', { checked: false });
118
+ const trustedKids = options.trustedKids ?? jws_js_1.DEFAULT_TRUSTED_ISSUER_KIDS;
119
+ const header = (0, jws_js_1.readJwsHeader)(jws);
120
+ const kid = header?.kid || doc.issuer_signature?.kid;
121
+ const embedded = (0, jws_js_1.resolvePinnedIssuerJwk)(doc);
122
+ const pinned = !!(embedded && (0, jws_js_1.isPinnedTrustedJwk)(embedded, trustedKids));
123
+ const fromJwks = jwksCandidates(options.jwks, kid);
124
+ let payload = null;
125
+ let trusted = false;
126
+ let reason = 'signature_invalid';
127
+ for (const jwk of fromJwks) {
128
+ const result = (0, jws_js_1.verifyIssuerJws)(jws, jwk);
129
+ if (result.valid && result.payload) {
130
+ payload = result.payload;
131
+ trusted = true;
132
+ break;
133
+ }
134
+ reason = result.reason || 'signature_invalid';
135
+ }
136
+ if (!payload && pinned && embedded) {
137
+ const result = (0, jws_js_1.verifyIssuerJws)(jws, embedded);
138
+ if (result.valid && result.payload) {
139
+ payload = result.payload;
140
+ trusted = true;
141
+ }
142
+ else {
143
+ reason = result.reason || 'signature_invalid';
144
+ }
145
+ }
146
+ if (!payload && embedded && (0, jws_js_1.verifyIssuerJws)(jws, embedded).valid && !pinned && fromJwks.length === 0) {
147
+ return failed(jws_js_1.KEY_UNTRUSTED, { kid: kid || null });
148
+ }
149
+ if (!payload) {
150
+ if (fromJwks.length === 0 && !pinned)
151
+ return failed(jws_js_1.KEY_UNTRUSTED, { kid: kid || null });
152
+ return failed(reason, { kid: kid || null });
153
+ }
154
+ if (!trusted)
155
+ return failed(jws_js_1.KEY_UNTRUSTED, { kid: kid || null });
156
+ const signed = payload;
157
+ if (signed.schema !== exports.REFUSAL_SCHEMA)
158
+ return failed('schema_mismatch', { kid });
159
+ // The outer schema is unsigned. A present value that disagrees with the
160
+ // signed schema fails. An omitted outer schema still follows the JWS.
161
+ if (doc.schema != null && doc.schema !== signed.schema)
162
+ return failed('schema_mismatch', { kid });
163
+ const version = Number(signed.payload_version);
164
+ if (!exports.REFUSAL_PAYLOAD_VERSIONS.includes(version)) {
165
+ return failed('payload_version_mismatch', { kid });
166
+ }
167
+ if (doc.payload_version != null && Number(doc.payload_version) !== version) {
168
+ return failed('payload_version_mismatch', { kid });
169
+ }
170
+ if (version >= 2) {
171
+ const pin = signed.issuer_history;
172
+ if (!pin || typeof pin.hash !== 'string' || pin.version == null || pin.seq == null) {
173
+ return failed('issuer_history_pin_missing', { kid });
174
+ }
175
+ const payloadHash = signed.payload_hash;
176
+ if (typeof payloadHash !== 'string' || !/^[0-9a-f]{64}$/.test(payloadHash)) {
177
+ return failed('payload_hash_missing', { kid });
178
+ }
179
+ }
180
+ if (signed.kind !== 'refusal')
181
+ return failed('kind_mismatch', { kid });
182
+ if (signed.charged !== false || signed.amount_charged !== '0'
183
+ || doc.charged !== false || doc.amount_charged !== '0') {
184
+ return failed('charged_not_zero', { kid });
185
+ }
186
+ if (!same(doc.refusal_code, signed.refusal_code))
187
+ return failed('refusal_code_mismatch', { kid });
188
+ if (!same(doc.nonce, signed.nonce))
189
+ return failed('nonce_mismatch', { kid });
190
+ if (!same(doc.refusal_id, signed.refusal_id))
191
+ return failed('refusal_id_mismatch', { kid });
192
+ if (!same(doc.chain_id ?? null, signed.chain_id ?? null))
193
+ return failed('chain_id_mismatch', { kid });
194
+ if (!same(doc.task_id, signed.task_id)
195
+ || Number(doc.agent_id) !== Number(signed.agent_id)
196
+ || Number(doc.book_id) !== Number(signed.book_id)) {
197
+ return failed('identity_mismatch', { kid });
198
+ }
199
+ if (!same(doc.issued_at, signed.issued_at))
200
+ return failed('issued_at_mismatch', { kid });
201
+ if (!same(doc.amount_requested ?? null, signed.amount_requested ?? null)) {
202
+ return failed('amount_mismatch', { kid });
203
+ }
204
+ if (!anchorSame(doc.anchor, signed.anchor))
205
+ return failed('anchor_mismatch', { kid });
206
+ if (!bookRowSame(doc.book_row, signed.book_row))
207
+ return failed('book_row_mismatch', { kid });
208
+ return {
209
+ schema: exports.REFUSAL_SCHEMA,
210
+ valid: true,
211
+ checked: true,
212
+ kid: kid || null,
213
+ refusal_id: signed.refusal_id || null,
214
+ refusal_code: signed.refusal_code || null,
215
+ nonce: signed.nonce || null,
216
+ chain_id: signed.chain_id ?? null,
217
+ charged: false,
218
+ proves: exports.REFUSAL_PROVES,
219
+ does_not_prove: exports.REFUSAL_DOES_NOT_PROVE,
220
+ errors: [],
221
+ payload_version: version,
222
+ issuer_history: signed.issuer_history ?? null,
223
+ payload_hash: signed.payload_hash ?? null,
224
+ };
225
+ }
226
+ //# sourceMappingURL=refusal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refusal.js","sourceRoot":"","sources":["../src/refusal.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,18 +1,20 @@
1
1
  {
2
2
  "name": "@xfuel/verify",
3
- "version": "0.1.1",
3
+ "version": "0.3.0",
4
4
  "description": "Offline verification for Chit402 receipts — verify payment binding and output hash without calling the API",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "bin": {
8
- "xfuel-verify": "./dist/cli.js"
8
+ "xfuel-verify": "dist/cli.js"
9
9
  },
10
10
  "exports": {
11
11
  ".": {
12
12
  "types": "./dist/index.d.ts",
13
13
  "import": "./dist/index.js",
14
14
  "require": "./dist/index.js"
15
- }
15
+ },
16
+ "./cli": "./dist/cli.js",
17
+ "./dist/cli.js": "./dist/cli.js"
16
18
  },
17
19
  "sideEffects": false,
18
20
  "engines": {
@@ -32,7 +34,9 @@
32
34
  },
33
35
  "scripts": {
34
36
  "build": "tsc",
35
- "test": "node --test test/*.test.mjs",
37
+ "digest": "node scripts/build-digest.mjs",
38
+ "test": "npm run build && node --test --test-concurrency=1 test/*.test.mjs",
39
+ "prepack": "npm run build",
36
40
  "prepublishOnly": "npm run build && npm test"
37
41
  },
38
42
  "keywords": [
@@ -50,7 +54,7 @@
50
54
  "license": "Apache-2.0",
51
55
  "repository": {
52
56
  "type": "git",
53
- "url": "https://github.com/XFuel-Lab/chit402.git",
57
+ "url": "git+https://github.com/XFuel-Lab/chit402.git",
54
58
  "directory": "packages/verify"
55
59
  },
56
60
  "dependencies": {