@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,24 @@
1
+ /**
2
+ * Payload v9 binds `(tree_head_hash, tolerance)` inside the issuer JWS.
3
+ * v8 and earlier omit the pair and keep their current verification path.
4
+ *
5
+ * The pair is read only from claims the caller has already verified.
6
+ * An unsigned outer copy that disagrees fails the check. Lockstep with
7
+ * `services/gateway/src/receipt-head-binding.js`.
8
+ */
9
+ export declare const HEAD_BINDING_PAYLOAD_VERSION = 9;
10
+ export type HeadBindingVerdict = 'not_present_legacy' | 'missing' | 'ok';
11
+ export interface SignedHeadBinding {
12
+ verdict: HeadBindingVerdict;
13
+ tree_head_hash: string | null;
14
+ tolerance: unknown;
15
+ }
16
+ export declare function headBindingVerdict(claims: Record<string, unknown> | null | undefined): HeadBindingVerdict;
17
+ /** Pair from verified claims. Does not read the unsigned receipt. */
18
+ export declare function signedHeadBinding(claims: Record<string, unknown> | null | undefined): SignedHeadBinding;
19
+ /** Which unsigned field disagrees, or null. v8 claims are not compared. */
20
+ export declare function outerHeadDisagrees(receipt: {
21
+ tree_head_hash?: unknown;
22
+ tolerance?: unknown;
23
+ } | null | undefined, claims: Record<string, unknown> | null | undefined): 'tree_head_hash' | 'tolerance' | null;
24
+ //# sourceMappingURL=head-binding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"head-binding.d.ts","sourceRoot":"","sources":["../src/head-binding.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,GAAG,SAAS,GAAG,IAAI,CAAC;AAEzE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACjD,kBAAkB,CASpB;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACjD,iBAAiB,CAWnB;AAED,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,EAC7E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACjD,gBAAgB,GAAG,WAAW,GAAG,IAAI,CAevC"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ /**
3
+ * Payload v9 binds `(tree_head_hash, tolerance)` inside the issuer JWS.
4
+ * v8 and earlier omit the pair and keep their current verification path.
5
+ *
6
+ * The pair is read only from claims the caller has already verified.
7
+ * An unsigned outer copy that disagrees fails the check. Lockstep with
8
+ * `services/gateway/src/receipt-head-binding.js`.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.HEAD_BINDING_PAYLOAD_VERSION = void 0;
12
+ exports.headBindingVerdict = headBindingVerdict;
13
+ exports.signedHeadBinding = signedHeadBinding;
14
+ exports.outerHeadDisagrees = outerHeadDisagrees;
15
+ exports.HEAD_BINDING_PAYLOAD_VERSION = 9;
16
+ function headBindingVerdict(claims) {
17
+ if (!claims || typeof claims !== 'object')
18
+ return 'not_present_legacy';
19
+ const version = Number(claims.payload_version);
20
+ if (!Number.isFinite(version) || version < exports.HEAD_BINDING_PAYLOAD_VERSION) {
21
+ return 'not_present_legacy';
22
+ }
23
+ if (!Object.prototype.hasOwnProperty.call(claims, 'tree_head_hash'))
24
+ return 'missing';
25
+ if (!Object.prototype.hasOwnProperty.call(claims, 'tolerance'))
26
+ return 'missing';
27
+ return 'ok';
28
+ }
29
+ /** Pair from verified claims. Does not read the unsigned receipt. */
30
+ function signedHeadBinding(claims) {
31
+ const verdict = headBindingVerdict(claims);
32
+ if (verdict !== 'ok' || !claims) {
33
+ return { verdict: verdict === 'ok' ? 'missing' : verdict, tree_head_hash: null, tolerance: null };
34
+ }
35
+ const hash = claims.tree_head_hash;
36
+ return {
37
+ verdict,
38
+ tree_head_hash: hash == null || hash === '' ? null : String(hash),
39
+ tolerance: claims.tolerance ?? null,
40
+ };
41
+ }
42
+ /** Which unsigned field disagrees, or null. v8 claims are not compared. */
43
+ function outerHeadDisagrees(receipt, claims) {
44
+ const signed = signedHeadBinding(claims);
45
+ if (signed.verdict !== 'ok' || !receipt || typeof receipt !== 'object')
46
+ return null;
47
+ if (Object.prototype.hasOwnProperty.call(receipt, 'tree_head_hash')) {
48
+ const outer = receipt.tree_head_hash == null || receipt.tree_head_hash === ''
49
+ ? null
50
+ : String(receipt.tree_head_hash);
51
+ if (outer !== signed.tree_head_hash)
52
+ return 'tree_head_hash';
53
+ }
54
+ if (Object.prototype.hasOwnProperty.call(receipt, 'tolerance')) {
55
+ if (JSON.stringify(receipt.tolerance ?? null) !== JSON.stringify(signed.tolerance ?? null)) {
56
+ return 'tolerance';
57
+ }
58
+ }
59
+ return null;
60
+ }
61
+ //# sourceMappingURL=head-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"head-binding.js","sourceRoot":"","sources":["../src/head-binding.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAYH,gDAWC;AAGD,8CAaC;AAGD,gDAkBC;AA1DY,QAAA,4BAA4B,GAAG,CAAC,CAAC;AAU9C,SAAgB,kBAAkB,CAChC,MAAkD;IAElD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,oBAAoB,CAAC;IACvE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,oCAA4B,EAAE,CAAC;QACxE,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC;QAAE,OAAO,SAAS,CAAC;IACtF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC;QAAE,OAAO,SAAS,CAAC;IACjF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qEAAqE;AACrE,SAAgB,iBAAiB,CAC/B,MAAkD;IAElD,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACpG,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC;IACnC,OAAO;QACL,OAAO;QACP,cAAc,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QACjE,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;KACpC,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,SAAgB,kBAAkB,CAChC,OAA6E,EAC7E,MAAkD;IAElD,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACpF,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC;QACpE,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,KAAK,EAAE;YAC3E,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,MAAM,CAAC,cAAc;YAAE,OAAO,gBAAgB,CAAC;IAC/D,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;QAC/D,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC;YAC3F,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
package/dist/index.d.ts CHANGED
@@ -10,11 +10,15 @@
10
10
  *
11
11
  * See docs/specs/RECEIPT_V2_SEMANTICS.md for the verification algorithm.
12
12
  */
13
+ import { type InclusionStep } from './anchor-witness.js';
13
14
  import { computePaymentCommitment, computeInferenceBinding, type PaymentCommitmentInput, type InferenceBindingInput } from './binding.js';
14
15
  import { verifyBasePayer, parseBasePaymentRef, isEvmAddress, sumUsdcTransfersFromPayer, fetchBaseTransactionReceipt, USDC_ADDRESSES, ERC20_TRANSFER_TOPIC, BASE_RPC_URL, type BasePayerVerification, type BaseReceiptFetcher } from './base-payer.js';
15
16
  import { verifySolanaPayer, parseSolanaPaymentRef, isSolanaBase58Pubkey, extractUsdcTransfersFromTx, inferUsdcOutflowFromBalances, fetchSolanaTransaction, SOLANA_RPC_URL, SOLANA_USDC_MINT_MAINNET, SOLANA_USDC_MINT_DEVNET, type SolanaPayerVerification, type SolanaRpcFetcher, type SolanaRpcGetTransactionResult } from './solana-payer.js';
16
17
  import { verifyPayerBinding, receiptPayerClaimsFromEnvelope, decodeJwsPayload, type PayerBindingVerification, type ReceiptPayerClaims, type PayerRail } from './payer.js';
17
18
  import { resolvePinnedIssuerJwk, verifyIssuerJws } from './jws.js';
19
+ import { type ReceiptLane, type ReceiptTreeHead } from './receipt-lane.js';
20
+ import { type PreimageCheck } from './preimage.js';
21
+ import { type IssuerHistoryCheck, type IssuerHistoryDocument } from './issuer-history.js';
18
22
  export { computePaymentCommitment, computeInferenceBinding, type PaymentCommitmentInput, type InferenceBindingInput, verifyBasePayer, parseBasePaymentRef, isEvmAddress, sumUsdcTransfersFromPayer, fetchBaseTransactionReceipt, USDC_ADDRESSES, ERC20_TRANSFER_TOPIC, BASE_RPC_URL, type BasePayerVerification, type BaseReceiptFetcher, verifySolanaPayer, parseSolanaPaymentRef, isSolanaBase58Pubkey, extractUsdcTransfersFromTx, inferUsdcOutflowFromBalances, fetchSolanaTransaction, SOLANA_RPC_URL, SOLANA_USDC_MINT_MAINNET, SOLANA_USDC_MINT_DEVNET, type SolanaPayerVerification, type SolanaRpcFetcher, type SolanaRpcGetTransactionResult, verifyPayerBinding, receiptPayerClaimsFromEnvelope, decodeJwsPayload, type PayerBindingVerification, type ReceiptPayerClaims, type PayerRail, };
19
23
  /** ZKVerifierSP1 contract on Base mainnet. */
20
24
  export declare const ZK_VERIFIER_ADDRESS = "0x9373499645292715a2275A78eD65B14215C41c06";
@@ -24,6 +28,7 @@ export declare const BASE_SEPOLIA_RPC_URL = "https://sepolia.base.org";
24
28
  export interface XFuelReceipt {
25
29
  schema?: string;
26
30
  task_id: string;
31
+ created_at?: number | string;
27
32
  status: string;
28
33
  proof_outcome?: string;
29
34
  verify_url?: string;
@@ -37,15 +42,28 @@ export interface XFuelReceipt {
37
42
  payment?: {
38
43
  rail?: string;
39
44
  ref?: string | null;
40
- gross_amount?: string;
41
- net_amount?: string;
42
- fee_amount?: string;
43
- fee_bps?: number;
44
- protocol_fee_bps?: number;
45
- platform_fee?: string;
46
- platform_fee_bps?: number;
45
+ gross_amount?: string | null;
46
+ settled_amount?: string | null;
47
+ net_amount?: string | null;
48
+ fee_amount?: string | null;
49
+ fee_bps?: number | null;
50
+ protocol_fee_bps?: number | null;
51
+ platform_fee?: string | null;
52
+ platform_fee_bps?: number | null;
47
53
  asset?: string | null;
48
54
  payee?: string | null;
55
+ accounting?: {
56
+ kind?: string;
57
+ scope?: string;
58
+ note?: string;
59
+ internal_breakdown?: {
60
+ route_margin_bps?: number | null;
61
+ route_margin_amount?: string | null;
62
+ receipt_floor_amount?: string | null;
63
+ provider_cogs_amount?: string | null;
64
+ tier2_proof_amount?: string | null;
65
+ };
66
+ } | null;
49
67
  };
50
68
  payment_meta?: {
51
69
  network?: string;
@@ -75,14 +93,20 @@ export interface XFuelReceipt {
75
93
  signature?: {
76
94
  alg?: string;
77
95
  value?: string;
96
+ payload_version?: number;
97
+ };
98
+ hmac_attestation?: {
99
+ payload_version?: number;
78
100
  };
79
101
  issuer_signature?: {
80
102
  alg?: string;
81
103
  value?: string;
82
104
  kid?: string;
83
105
  jws?: string;
84
- issuer_jwk?: Es256Jwk;
85
106
  payload_version?: number;
107
+ payload_hash?: string;
108
+ canonical_preimage?: string;
109
+ issuer_jwk?: Es256Jwk;
86
110
  };
87
111
  verification?: {
88
112
  source_of_truth?: string;
@@ -94,7 +118,45 @@ export interface XFuelReceipt {
94
118
  payer_wallet?: string | null;
95
119
  agent_pubkey?: string | null;
96
120
  api_key_hash?: string | null;
121
+ agent_id?: string | number | null;
122
+ } | null;
123
+ /** Book agent_id. Present on claim_id-era JWS payloads. Absent on older v8 receipts. */
124
+ claim_id?: string | null;
125
+ /**
126
+ * v9. Transparency-log head hash inside the issuer JWS. The outer copy is
127
+ * display only. Absent on v8 and earlier.
128
+ */
129
+ tree_head_hash?: string | null;
130
+ /** v9. Clock tolerance bound inside the issuer JWS. Absent on v8 and earlier. */
131
+ tolerance?: {
132
+ base?: number;
133
+ solana?: number;
134
+ } | null;
135
+ /** Append position. Unsigned relative to the payment JWS; signed inside book_chain. */
136
+ book_seq?: number | null;
137
+ book_chain?: {
138
+ seq?: number | null;
139
+ row_hash?: string | null;
140
+ } | null;
141
+ /** Unsigned derived refusal section. Ignored by signature verification. */
142
+ receipt_lane?: {
143
+ anchor_at_binding?: {
144
+ root: string | null;
145
+ tree_size: number | null;
146
+ anchor_tx: string | null;
147
+ solana_signature: string | null;
148
+ } | null;
149
+ anchor_current?: {
150
+ root: string | null;
151
+ tree_size: number | null;
152
+ anchor_tx: string | null;
153
+ solana_signature: string | null;
154
+ } | null;
155
+ freeze?: boolean;
156
+ anchor_changed_since_binding?: boolean | null;
97
157
  } | null;
158
+ tree_head?: ReceiptTreeHead | null;
159
+ head?: ReceiptTreeHead | null;
98
160
  }
99
161
  /** JWK public key for ES256 verification. */
100
162
  export interface Es256Jwk {
@@ -114,12 +176,24 @@ export interface Jwks {
114
176
  export interface IssuerSignatureVerification {
115
177
  /** Whether an issuer signature was present to check. */
116
178
  checked: boolean;
117
- /** True if the ECDSA signature is valid. */
179
+ /** True only when the signature verifies under a trusted key. */
118
180
  valid: boolean;
119
181
  /** Key ID from the signature. */
120
182
  kid?: string;
121
- /** Reason for failure when valid=false. */
183
+ /** Reason for failure when valid=false. `key untrusted` means the verifying key is not in the trust set. */
122
184
  reason?: string;
185
+ /** True when the key used (or the only candidate key) is in the trust set. */
186
+ key_trusted?: boolean;
187
+ /** How the verifying key was trusted, when valid. */
188
+ trust?: 'jwks' | 'pinned_kid';
189
+ /** Verified JWS claims. Present only when valid is true. */
190
+ payload?: Record<string, unknown>;
191
+ }
192
+ /** Outer unsigned field disagrees with the JWS payload. */
193
+ export interface ClaimMismatch {
194
+ field: string;
195
+ outer: string | null;
196
+ signed: string | null;
123
197
  }
124
198
  export interface BindingVerification {
125
199
  verified: boolean;
@@ -140,6 +214,10 @@ export interface PayerVerification {
140
214
  valid: boolean;
141
215
  rail?: PayerRail;
142
216
  reason?: string;
217
+ payer_wallet?: string | null;
218
+ payee?: string | null;
219
+ asset?: string | null;
220
+ amount?: string | null;
143
221
  }
144
222
  export interface ReceiptVerification {
145
223
  receipt_id: string;
@@ -150,33 +228,100 @@ export interface ReceiptVerification {
150
228
  output_hash: string | null;
151
229
  hub: string | null;
152
230
  model: string | null;
231
+ /** Gross amount from verified signed claims, in atomic USDC. Null when the signature is not trusted. */
153
232
  amount_usdc: string | null;
233
+ /** Settlement ref from verified signed claims. Null when the signature is not trusted. */
154
234
  tx: string | null;
235
+ /** Unsigned outer fields that disagree with the JWS payload. */
236
+ claim_mismatches: ClaimMismatch[];
237
+ /**
238
+ * `not_present_legacy` — v8 (or older) payload with no claim_id key. Still verifies.
239
+ * `ok` — claim_id-era payload, and a payment.ref is paired with a seat.
240
+ * `refused` — claim_id-era payload, payment.ref set, claim_id null.
241
+ */
242
+ claim_id: 'not_present_legacy' | 'ok' | 'refused';
243
+ /**
244
+ * v9 head binding from verified claims only. Null when the signature is not
245
+ * trusted, when the payload is v8 or earlier, or when the pair is missing.
246
+ * Never copied from the unsigned outer fields.
247
+ */
248
+ head_binding: {
249
+ tree_head_hash: string | null;
250
+ tolerance: unknown;
251
+ } | null;
252
+ /**
253
+ * Unsigned refusal decision beside book_seq. Not part of the payment JWS.
254
+ * freeze is true only for an unsettled receipt-lane row whose anchor changed
255
+ * after binding. It does not change `overall`.
256
+ */
257
+ receipt_lane: ReceiptLane;
258
+ /** Recompute of published preimages. Absent block is skipped unless requirePreimages. */
259
+ preimages: PreimageCheck;
260
+ /** Kid window against the signed issuer history. Unreachable is a warning unless strict. */
261
+ issuer_history: IssuerHistoryCheck;
262
+ warnings: string[];
155
263
  overall: 'verified' | 'partial' | 'failed';
156
264
  errors: string[];
157
265
  }
158
266
  /**
159
- * Canonical, order-stable payload an issuer signature covers.
160
- * MUST match `canonicalSignedPayload` in services/gateway/src/receipt.js exactly.
161
- *
162
- * Signed fields (15 total):
163
- * 1. task_id
164
- * 2. payment.rail
165
- * 3. payment.ref
166
- * 4. payment.gross_amount
167
- * 5. payment.net_amount
168
- * 6. payment.fee_amount
169
- * 7. payment.protocol_fee_bps ?? payment.fee_bps
170
- * 8. payment.platform_fee
171
- * 9. payment.platform_fee_bps
172
- * 10. provider_cogs.actual
173
- * 11. route.model
174
- * 12. route.model_commitment.commitment
175
- * 13. route.provider
176
- * 14. output.hash
177
- * 15. binding.expected_commitment
267
+ * HMAC payload version.
268
+ * Versions <= 7 keep the historical net/fee field list.
269
+ * Version 8 signs settled_amount plus the internal accounting breakdown.
270
+ * Lockstep with `canonicalPayloadVersion` in services/gateway/src/receipt.js
271
+ * for the v8 list (the v7 list here is the historical 15-field public formula).
272
+ */
273
+ export declare function canonicalPayloadVersion(receipt: XFuelReceipt): number;
274
+ /**
275
+ * Canonical, order-stable payload an HMAC issuer signature covers.
276
+ * v8 matches `canonicalSignedPayload` in services/gateway/src/receipt.js.
277
+ * v7 and earlier stay on the historical 15-field list so old signatures verify.
178
278
  */
179
279
  export declare function canonicalIssuerPayload(receipt: XFuelReceipt): string;
280
+ export interface TransferLog {
281
+ address?: string;
282
+ topics?: string[];
283
+ data?: string;
284
+ }
285
+ export interface SettledAmountReconciliation {
286
+ checked: boolean;
287
+ /** True when the signed settled/net amount equals the USDC Transfer to payee. */
288
+ matches: boolean;
289
+ payload_version: number;
290
+ signed_field: 'settled_amount' | 'gross_amount' | 'net_amount' | null;
291
+ signed_amount: string | null;
292
+ transfer_amount: string | null;
293
+ payee: string | null;
294
+ reason?: string;
295
+ }
296
+ /**
297
+ * Sum USDC Transfer values to `payee` in a transaction's logs.
298
+ * Non-Transfer logs are ignored. When `usdcAddress` is set, other contracts are ignored.
299
+ */
300
+ export declare function sumUsdcTransfersToPayee(logs: TransferLog[] | null | undefined, payee: string, usdcAddress?: string): bigint | null;
301
+ export interface ReconcileSettledTransferOptions {
302
+ usdcAddress?: string;
303
+ /** JWKS treated as a trust root. Keys are matched by `kid`. */
304
+ jwks?: Jwks;
305
+ /**
306
+ * RFC 7638 thumbprints allowed as an offline pin.
307
+ * Omit to use the default production pin. Pass `[]` to disable the pin.
308
+ */
309
+ trustedKids?: readonly string[];
310
+ }
311
+ /**
312
+ * Optional on-chain reconciliation. Given a tx receipt's logs, the signed
313
+ * amount the payee was supposed to receive must equal the USDC Transfer to payee.
314
+ *
315
+ * The amount and payee come from JWS claims only after a key-trust check
316
+ * (JWKS by kid, or an embedded key whose thumbprint is a pinned kid). An
317
+ * untrusted signature does not contribute those facts.
318
+ *
319
+ * v8 compares `settled_amount` (falling back to `gross_amount`): that is the
320
+ * on-chain transfer. v7 and earlier compare `net_amount`, which those receipts
321
+ * defined as "amount after fees". A single direct transfer of gross will not
322
+ * match a net that subtracts a fee that never moved on chain.
323
+ */
324
+ export declare function reconcileSettledTransfer(receipt: XFuelReceipt, logs: TransferLog[] | null | undefined, options?: ReconcileSettledTransferOptions): SettledAmountReconciliation;
180
325
  /**
181
326
  * Verify a receipt's ES256 issuer signature against a JWK (public key).
182
327
  * This is the public-key verification path — no shared secret required.
@@ -191,19 +336,17 @@ export declare function canonicalIssuerPayload(receipt: XFuelReceipt): string;
191
336
  */
192
337
  export declare function verifyIssuerSignature(receipt: XFuelReceipt, jwk: Es256Jwk): IssuerSignatureVerification;
193
338
  /**
194
- * Verify a receipt's ES256 issuer signature against a JWKS (key set).
195
- * Finds the matching key by kid and verifies.
339
+ * Verify an issuer signature against trusted keys only.
196
340
  *
197
- * @param receipt - Receipt JSON with issuer_signature
198
- * @param jwks - JWKS with keys array
199
- */
200
- export declare function verifyIssuerSignatureWithJwks(receipt: XFuelReceipt, jwks: Jwks): IssuerSignatureVerification;
201
- /**
202
- * Verify a receipt's payment binding locally (no network required).
341
+ * Trust, in order:
342
+ * 1. A JWKS entry matched by `kid` (supplied file or fetched issuer JWKS).
343
+ * 2. An embedded `issuer_jwk` whose RFC 7638 thumbprint equals a pinned trusted kid.
203
344
  *
204
- * This recomputes the commitment from the receipt's fields and compares
205
- * it to the stored `binding.expected_commitment`.
345
+ * An embedded key that merely verifies the bytes is `key untrusted`.
206
346
  */
347
+ export declare function verifyIssuerSignatureWithJwks(receipt: XFuelReceipt, jwks?: Jwks, options?: {
348
+ trustedKids?: readonly string[];
349
+ }): IssuerSignatureVerification;
207
350
  export declare function verifyBinding(receipt: XFuelReceipt): BindingVerification;
208
351
  /**
209
352
  * Verify a receipt's nullifier is anchored on-chain.
@@ -224,17 +367,39 @@ export declare const canonicalSignedPayload: typeof canonicalIssuerPayload;
224
367
  */
225
368
  export declare function hashCanonicalPayload(receipt: XFuelReceipt): string;
226
369
  /**
227
- * Full receipt verification — binding + issuer signature + optional nullifier check.
370
+ * claim_id-era receipts include the key even when the value is null.
371
+ * Older payloads omit the key and stay valid.
372
+ */
373
+ export declare function claimIdVerdict(claims: Record<string, unknown> | null | undefined): 'not_present_legacy' | 'ok' | 'refused';
374
+ /** Flag unsigned outer copies that disagree with the JWS payload. */
375
+ export declare function diffOuterClaims(receipt: XFuelReceipt, claims: Record<string, unknown> | null): ClaimMismatch[];
376
+ /** Fetch a JWKS document. Caller decides whether the URL is a trust root. */
377
+ export declare function fetchIssuerJwks(uri: string, fetchImpl?: typeof fetch): Promise<Jwks>;
378
+ /**
379
+ * Full receipt verification — trusted issuer signature, signed-claim facts,
380
+ * optional on-chain payer and nullifier checks.
228
381
  *
229
- * @param receipt The Chit402 receipt JSON
230
- * @param options.jwks JWKS for issuer signature verification (no network fetch)
231
- * @param options.checkNullifier Whether to verify nullifier on-chain (requires network)
232
- * @param options.rpcUrl RPC URL for on-chain checks
382
+ * Facts (amount, payer, payee, asset, tx, model) are taken only from a JWS
383
+ * that verified under a trusted key. The embedded `issuer_jwk` is not trusted
384
+ * unless its RFC 7638 thumbprint is a pinned kid, or the same key is in a JWKS.
233
385
  */
234
- /** Extract JWS claims for payer binding when present. */
386
+ /** Extract JWS claims for payer binding. Prefers the JWS payload over the outer copy. */
235
387
  export declare function receiptPayerClaims(receipt: XFuelReceipt): ReceiptPayerClaims;
236
- export declare function verifyReceipt(receipt: XFuelReceipt, options?: {
388
+ export interface VerifyReceiptOptions {
389
+ /** Caller-supplied JWKS. Every key in it is a trust root, matched by kid. */
237
390
  jwks?: Jwks;
391
+ /**
392
+ * Pinned trusted kids (RFC 7638 thumbprints). Defaults to the production
393
+ * api.chit402.com issuer kid. Pass `[]` to disable the offline pin.
394
+ */
395
+ trustedKids?: readonly string[];
396
+ /** Fetch JWKS from the receipt `jwks_uri` when its host is allowlisted. */
397
+ fetchJwks?: boolean;
398
+ /** Explicit JWKS URL. Any https URL is fetched; this is user-supplied trust. */
399
+ jwksUri?: string;
400
+ /** Hosts allowed for `fetchJwks`. Defaults to api.chit402.com. */
401
+ trustedJwksHosts?: readonly string[];
402
+ fetchImpl?: typeof fetch;
238
403
  checkNullifier?: boolean;
239
404
  checkPayer?: boolean;
240
405
  rpcUrl?: string;
@@ -242,8 +407,55 @@ export declare function verifyReceipt(receipt: XFuelReceipt, options?: {
242
407
  verifierAddress?: string;
243
408
  fetchSolanaTransaction?: SolanaRpcFetcher;
244
409
  fetchBaseReceipt?: BaseReceiptFetcher;
245
- }): Promise<ReceiptVerification>;
246
- export { resolvePinnedIssuerJwk, verifyIssuerJws, } from './jws.js';
410
+ /**
411
+ * Tree head to check against the signed `tree_head_hash`. An equal root is
412
+ * the issuance prefix and proves inclusion of this receipt. A different root
413
+ * verifies only when `inclusion` proves the leaf is in that head.
414
+ */
415
+ head?: ReceiptTreeHead | null;
416
+ /**
417
+ * Inclusion witness for `head` when its root is not the signed prefix.
418
+ * `leaf` is the 32-byte leaf hash hex. Without it the leaf is
419
+ * SHA-256(0x00 || `${task_id}|${row_hash}`).
420
+ */
421
+ inclusion?: {
422
+ leaf?: string | null;
423
+ leaf_index?: number | null;
424
+ tree_size?: number | null;
425
+ row_hash?: string | null;
426
+ proof?: InclusionStep[] | null;
427
+ } | null;
428
+ /**
429
+ * Fail when a recomputable hash has no preimage. A present `preimages`
430
+ * block is always checked, even when this is false.
431
+ */
432
+ requirePreimages?: boolean;
433
+ /** Signed issuer history document. Skips the network when set. */
434
+ issuerHistory?: IssuerHistoryDocument | null;
435
+ /** Fetch /.well-known/issuer-history.json. Unreachable warns unless strict. */
436
+ fetchIssuerHistory?: boolean;
437
+ /** Fail closed when the history cannot be loaded. */
438
+ strictIssuerHistory?: boolean;
439
+ /** Explicit history URL. Any https URL. */
440
+ issuerHistoryUrl?: string | null;
441
+ /** Exact issuer-history response bytes. SHA-256 must match a signed pin. */
442
+ issuerHistoryBytes?: string | null;
443
+ /** `--no-issuer-history`. A signed pin is not checked. */
444
+ skipIssuerHistory?: boolean;
445
+ /**
446
+ * Stored canonical object (the GET /preimage body). SHA-256 must match
447
+ * the signed payload_hash. Absent bytes are not rebuilt.
448
+ */
449
+ canonicalPreimage?: string | null;
450
+ }
451
+ export declare function verifyReceipt(receipt: XFuelReceipt, options?: VerifyReceiptOptions): Promise<ReceiptVerification>;
452
+ export { resolvePinnedIssuerJwk, verifyIssuerJws, DEFAULT_TRUSTED_ISSUER_KIDS, DEFAULT_TRUSTED_JWKS_HOSTS, KEY_UNTRUSTED, jwkThumbprint, isPinnedTrustedJwk, jwksHostAllowed, } from './jws.js';
453
+ export { buildReceiptLane, receiptLaneFromVerification, receiptLaneDecision, deriveSettledBy, deriveSettled, anchorChangedSinceBinding, RECEIPT_LANE_SCHEMA, RECEIPT_LANE_RULE, RECEIPT_LANE_ORDERING, RECEIPT_LANE_BOUNDARY, type ReceiptLane, type SettledBy, type RegistryClassification, type LocalCheckHint, type AnchorIdentity, type ReceiptTreeHead, } from './receipt-lane.js';
454
+ export { headBindingVerdict, signedHeadBinding, outerHeadDisagrees, HEAD_BINDING_PAYLOAD_VERSION, type HeadBindingVerdict, type SignedHeadBinding, } from './head-binding.js';
455
+ export { isRefusalDocument, verifyRefusal, REFUSAL_SCHEMA, REFUSAL_PAYLOAD_VERSION, REFUSAL_PROVES, REFUSAL_DOES_NOT_PROVE, type RefusalDocument, type RefusalVerification, type RefusalJwks, } from './refusal.js';
456
+ export { verifyAnchoredRoot, verifyMerkleInclusion, extractMemos, parseAnchorMemo, leafHash, ANCHOR_PROVES, ANCHOR_DOES_NOT_PROVE, SOLANA_GENESIS, BASE_MAINNET_CHAIN_ID, type AnchorWitnessResult, type AnchorReceipt, type AnchorInclusion, type AnchorHead, type VerifyAnchoredRootInput, } from './anchor-witness.js';
457
+ export { verifyCanonicalPreimageBytes, CANONICAL_PAYLOAD_VERSION, } from './canonical-preimage.js';
458
+ export { readIssuerHistoryPin, issuerHistoryDocumentHash, type IssuerHistoryPin, } from './issuer-history.js';
247
459
  declare const _default: {
248
460
  verifyBinding: typeof verifyBinding;
249
461
  verifyIssuerSignature: typeof verifyIssuerSignature;
@@ -261,7 +473,10 @@ declare const _default: {
261
473
  computePaymentCommitment: typeof computePaymentCommitment;
262
474
  computeInferenceBinding: typeof computeInferenceBinding;
263
475
  canonicalIssuerPayload: typeof canonicalIssuerPayload;
476
+ canonicalPayloadVersion: typeof canonicalPayloadVersion;
264
477
  canonicalSignedPayload: typeof canonicalIssuerPayload;
478
+ reconcileSettledTransfer: typeof reconcileSettledTransfer;
479
+ sumUsdcTransfersToPayee: typeof sumUsdcTransfersToPayee;
265
480
  hashCanonicalPayload: typeof hashCanonicalPayload;
266
481
  ZK_VERIFIER_ADDRESS: string;
267
482
  BASE_RPC_URL: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}