@xfuel/verify 0.1.0 → 0.2.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/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/dist/jws.d.ts ADDED
@@ -0,0 +1,46 @@
1
+ export interface Es256Jwk {
2
+ kty: 'EC';
3
+ crv: 'P-256';
4
+ x: string;
5
+ y: string;
6
+ kid?: string;
7
+ alg?: string;
8
+ use?: string;
9
+ }
10
+ export interface ReceiptWithIssuerJwk {
11
+ issuer_signature?: {
12
+ kid?: string;
13
+ jws?: string;
14
+ issuer_jwk?: Es256Jwk;
15
+ };
16
+ }
17
+ /**
18
+ * Production issuer kid (RFC 7638 thumbprint of the api.chit402.com ES256 key).
19
+ * Offline default pin. Override with `trustedKids` / `--trusted-kid`.
20
+ */
21
+ export declare const DEFAULT_TRUSTED_ISSUER_KIDS: readonly ["IvFpmC-vPhkY_v0vidsrWVT9uzlE5XWKZgAEOeJTq1Q"];
22
+ /** Hosts whose published JWKS may be fetched and treated as a trust root. */
23
+ export declare const DEFAULT_TRUSTED_JWKS_HOSTS: readonly ["api.chit402.com"];
24
+ export declare const KEY_UNTRUSTED = "key untrusted";
25
+ export declare function resolvePinnedIssuerJwk(receipt: ReceiptWithIssuerJwk): Es256Jwk | null;
26
+ /**
27
+ * RFC 7638 JWK thumbprint (SHA-256, base64url).
28
+ * EC required members in lexicographic order: crv, kty, x, y.
29
+ */
30
+ export declare function jwkThumbprint(jwk: Pick<Es256Jwk, 'kty' | 'crv' | 'x' | 'y'>): string;
31
+ export declare function isEs256PublicJwk(jwk: Es256Jwk | null | undefined): jwk is Es256Jwk;
32
+ /** True when the key's RFC 7638 thumbprint is one of the pinned trusted kids. */
33
+ export declare function isPinnedTrustedJwk(jwk: Es256Jwk | null | undefined, trustedKids: readonly string[]): boolean;
34
+ export declare function sameEs256Key(a: Es256Jwk, b: Es256Jwk): boolean;
35
+ export declare function readJwsHeader(jws: string): {
36
+ alg?: string;
37
+ kid?: string;
38
+ jku?: string;
39
+ } | null;
40
+ export declare function jwksHostAllowed(uri: string, hosts: readonly string[]): boolean;
41
+ export declare function verifyIssuerJws(jws: string, jwk: Es256Jwk): {
42
+ valid: boolean;
43
+ payload?: Record<string, unknown>;
44
+ reason?: string;
45
+ };
46
+ //# sourceMappingURL=jws.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jws.d.ts","sourceRoot":"","sources":["../src/jws.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,IAAI,CAAC;IACV,GAAG,EAAE,OAAO,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,CAAC,EAAE;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,QAAQ,CAAC;KACvB,CAAC;CACH;AAED;;;GAGG;AACH,eAAO,MAAM,2BAA2B,0DAE9B,CAAC;AAEX,6EAA6E;AAC7E,eAAO,MAAM,0BAA0B,8BAA+B,CAAC;AAEvE,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,GAAG,QAAQ,GAAG,IAAI,CAMrF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM,CAQpF;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,GAAG,IAAI,QAAQ,CAElF;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EAChC,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,OAAO,CAGT;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAE9D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQ9F;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAQ9E;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,QAAQ,GACZ;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAyCxE"}
package/dist/jws.js ADDED
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KEY_UNTRUSTED = exports.DEFAULT_TRUSTED_JWKS_HOSTS = exports.DEFAULT_TRUSTED_ISSUER_KIDS = void 0;
4
+ exports.resolvePinnedIssuerJwk = resolvePinnedIssuerJwk;
5
+ exports.jwkThumbprint = jwkThumbprint;
6
+ exports.isEs256PublicJwk = isEs256PublicJwk;
7
+ exports.isPinnedTrustedJwk = isPinnedTrustedJwk;
8
+ exports.sameEs256Key = sameEs256Key;
9
+ exports.readJwsHeader = readJwsHeader;
10
+ exports.jwksHostAllowed = jwksHostAllowed;
11
+ exports.verifyIssuerJws = verifyIssuerJws;
12
+ /**
13
+ * Compact JWS (ES256) verification for Chit402 receipts.
14
+ *
15
+ * A signature is only valid when the verifying key is trusted:
16
+ * - it is the JWKS entry for the JWS `kid` (caller-supplied file, or a JWKS
17
+ * fetched from an allowlisted issuer `jwks_uri`), or
18
+ * - its RFC 7638 thumbprint equals a pinned trusted kid.
19
+ * The receipt's embedded `issuer_jwk` is not a trust root by itself.
20
+ */
21
+ const node_crypto_1 = require("node:crypto");
22
+ /**
23
+ * Production issuer kid (RFC 7638 thumbprint of the api.chit402.com ES256 key).
24
+ * Offline default pin. Override with `trustedKids` / `--trusted-kid`.
25
+ */
26
+ exports.DEFAULT_TRUSTED_ISSUER_KIDS = [
27
+ 'IvFpmC-vPhkY_v0vidsrWVT9uzlE5XWKZgAEOeJTq1Q',
28
+ ];
29
+ /** Hosts whose published JWKS may be fetched and treated as a trust root. */
30
+ exports.DEFAULT_TRUSTED_JWKS_HOSTS = ['api.chit402.com'];
31
+ exports.KEY_UNTRUSTED = 'key untrusted';
32
+ function resolvePinnedIssuerJwk(receipt) {
33
+ const jwk = receipt.issuer_signature?.issuer_jwk;
34
+ if (!jwk || jwk.kty !== 'EC' || jwk.crv !== 'P-256' || !jwk.x || !jwk.y)
35
+ return null;
36
+ const kid = receipt.issuer_signature?.kid;
37
+ if (kid && jwk.kid && kid !== jwk.kid)
38
+ return null;
39
+ return jwk;
40
+ }
41
+ /**
42
+ * RFC 7638 JWK thumbprint (SHA-256, base64url).
43
+ * EC required members in lexicographic order: crv, kty, x, y.
44
+ */
45
+ function jwkThumbprint(jwk) {
46
+ const canonical = JSON.stringify({
47
+ crv: jwk.crv,
48
+ kty: jwk.kty,
49
+ x: jwk.x,
50
+ y: jwk.y,
51
+ });
52
+ return (0, node_crypto_1.createHash)('sha256').update(canonical).digest('base64url');
53
+ }
54
+ function isEs256PublicJwk(jwk) {
55
+ return !!jwk && jwk.kty === 'EC' && jwk.crv === 'P-256' && !!jwk.x && !!jwk.y;
56
+ }
57
+ /** True when the key's RFC 7638 thumbprint is one of the pinned trusted kids. */
58
+ function isPinnedTrustedJwk(jwk, trustedKids) {
59
+ if (!isEs256PublicJwk(jwk) || trustedKids.length === 0)
60
+ return false;
61
+ return trustedKids.includes(jwkThumbprint(jwk));
62
+ }
63
+ function sameEs256Key(a, b) {
64
+ return a.x === b.x && a.y === b.y && a.crv === b.crv && a.kty === b.kty;
65
+ }
66
+ function readJwsHeader(jws) {
67
+ const headerB64 = jws.split('.')[0];
68
+ if (!headerB64)
69
+ return null;
70
+ try {
71
+ return JSON.parse(Buffer.from(headerB64, 'base64url').toString('utf8'));
72
+ }
73
+ catch {
74
+ return null;
75
+ }
76
+ }
77
+ function jwksHostAllowed(uri, hosts) {
78
+ try {
79
+ const url = new URL(uri);
80
+ if (url.protocol !== 'https:')
81
+ return false;
82
+ return hosts.some((host) => host.toLowerCase() === url.hostname.toLowerCase());
83
+ }
84
+ catch {
85
+ return false;
86
+ }
87
+ }
88
+ function verifyIssuerJws(jws, jwk) {
89
+ if (!jws || typeof jws !== 'string') {
90
+ return { valid: false, reason: 'invalid_jws' };
91
+ }
92
+ const parts = jws.split('.');
93
+ if (parts.length !== 3) {
94
+ return { valid: false, reason: 'malformed_jws' };
95
+ }
96
+ const [headerB64, payloadB64, signatureB64] = parts;
97
+ let header;
98
+ let payload;
99
+ try {
100
+ header = JSON.parse(Buffer.from(headerB64, 'base64url').toString('utf8'));
101
+ payload = JSON.parse(Buffer.from(payloadB64, 'base64url').toString('utf8'));
102
+ }
103
+ catch {
104
+ return { valid: false, reason: 'json_parse_error' };
105
+ }
106
+ if (header.alg !== 'ES256') {
107
+ return { valid: false, reason: `unsupported_alg: ${header.alg}` };
108
+ }
109
+ if (header.kid && jwk.kid && header.kid !== jwk.kid) {
110
+ return { valid: false, reason: 'kid_mismatch' };
111
+ }
112
+ try {
113
+ const publicKey = (0, node_crypto_1.createPublicKey)({
114
+ key: { kty: jwk.kty, crv: jwk.crv, x: jwk.x, y: jwk.y },
115
+ format: 'jwk',
116
+ });
117
+ const signature = Buffer.from(signatureB64, 'base64url');
118
+ const signingInput = `${headerB64}.${payloadB64}`;
119
+ const valid = (0, node_crypto_1.verify)('sha256', Buffer.from(signingInput, 'utf8'), {
120
+ key: publicKey,
121
+ dsaEncoding: 'ieee-p1363',
122
+ }, signature);
123
+ return valid ? { valid: true, payload } : { valid: false, reason: 'signature_invalid' };
124
+ }
125
+ catch (err) {
126
+ return { valid: false, reason: `verification_error: ${err.message}` };
127
+ }
128
+ }
129
+ //# sourceMappingURL=jws.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jws.js","sourceRoot":"","sources":["../src/jws.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Unified offline payer binding verification (Base + Solana).
3
+ */
4
+ import { type BasePayerVerification, type BaseReceiptFetcher } from './base-payer.js';
5
+ import { type SolanaPayerVerification, type SolanaRpcFetcher } from './solana-payer.js';
6
+ export type PayerRail = 'base' | 'solana' | 'unknown';
7
+ export interface PayerBindingVerification {
8
+ checked: boolean;
9
+ valid: boolean;
10
+ rail: PayerRail;
11
+ payerWallet?: string | null;
12
+ paymentRef?: string | null;
13
+ expectedAmount?: string | null;
14
+ base?: BasePayerVerification;
15
+ solana?: SolanaPayerVerification;
16
+ reason?: string;
17
+ }
18
+ export interface ReceiptPayerClaims {
19
+ payment?: {
20
+ ref?: string | null;
21
+ gross_amount?: string | null;
22
+ payee?: string | null;
23
+ asset?: string | null;
24
+ rail?: string | null;
25
+ } | null;
26
+ caller_binding?: {
27
+ payer_wallet?: string | null;
28
+ } | null;
29
+ }
30
+ export interface VerifyPayerBindingOptions {
31
+ rpcUrl?: string;
32
+ solanaRpcUrl?: string;
33
+ fetchSolanaTransaction?: SolanaRpcFetcher;
34
+ fetchBaseReceipt?: BaseReceiptFetcher;
35
+ }
36
+ /** Decode the payload segment of a compact JWS (no signature check). */
37
+ export declare function decodeJwsPayload(jws: string): Record<string, unknown> | null;
38
+ interface PaymentClaim {
39
+ ref?: string | null;
40
+ gross_amount?: string | null;
41
+ payee?: string | null;
42
+ asset?: string | null;
43
+ rail?: string | null;
44
+ }
45
+ /**
46
+ * Payer facts from the JWS payload when one is present.
47
+ * The outer `payment` / `caller_binding` copies are unsigned and are used only
48
+ * when the receipt has no JWS. Callers that need verified facts must check the
49
+ * issuer signature first; this decode does not itself prove the signature.
50
+ */
51
+ export declare function receiptPayerClaimsFromEnvelope(receipt: {
52
+ payment?: PaymentClaim | null;
53
+ caller_binding?: {
54
+ payer_wallet?: string | null;
55
+ } | null;
56
+ issuer_signature?: {
57
+ jws?: string;
58
+ } | null;
59
+ }): ReceiptPayerClaims;
60
+ /**
61
+ * Verify caller_binding.payer_wallet against on-chain settlement in payment.ref.
62
+ */
63
+ export declare function verifyPayerBinding(claims: ReceiptPayerClaims, options?: VerifyPayerBindingOptions): Promise<PayerBindingVerification>;
64
+ export {};
65
+ //# sourceMappingURL=payer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payer.d.ts","sourceRoot":"","sources":["../src/payer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAmB,KAAK,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACvG,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE;QACR,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,GAAG,IAAI,CAAC;IACT,cAAc,CAAC,EAAE;QACf,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,GAAG,IAAI,CAAC;CACV;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,gBAAgB,CAAC;IAC1C,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;CACvC;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAQ5E;AAED,UAAU,YAAY;IACpB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAYD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE;IACtD,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B,cAAc,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACzD,gBAAgB,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC5C,GAAG,kBAAkB,CAyBrB;AAYD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,wBAAwB,CAAC,CA2EnC"}
package/dist/payer.js ADDED
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ /**
3
+ * Unified offline payer binding verification (Base + Solana).
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.decodeJwsPayload = decodeJwsPayload;
7
+ exports.receiptPayerClaimsFromEnvelope = receiptPayerClaimsFromEnvelope;
8
+ exports.verifyPayerBinding = verifyPayerBinding;
9
+ const base_payer_js_1 = require("./base-payer.js");
10
+ const solana_payer_js_1 = require("./solana-payer.js");
11
+ /** Decode the payload segment of a compact JWS (no signature check). */
12
+ function decodeJwsPayload(jws) {
13
+ const parts = jws.split('.');
14
+ if (parts.length < 2)
15
+ return null;
16
+ try {
17
+ return JSON.parse(Buffer.from(parts[1], 'base64url').toString('utf8'));
18
+ }
19
+ catch {
20
+ return null;
21
+ }
22
+ }
23
+ function paymentClaims(payment) {
24
+ return {
25
+ ref: payment?.ref ?? null,
26
+ gross_amount: payment?.gross_amount != null ? String(payment.gross_amount) : null,
27
+ payee: payment?.payee ?? null,
28
+ asset: payment?.asset ?? null,
29
+ rail: payment?.rail ?? null,
30
+ };
31
+ }
32
+ /**
33
+ * Payer facts from the JWS payload when one is present.
34
+ * The outer `payment` / `caller_binding` copies are unsigned and are used only
35
+ * when the receipt has no JWS. Callers that need verified facts must check the
36
+ * issuer signature first; this decode does not itself prove the signature.
37
+ */
38
+ function receiptPayerClaimsFromEnvelope(receipt) {
39
+ const jws = receipt.issuer_signature?.jws;
40
+ if (jws) {
41
+ const claims = decodeJwsPayload(jws);
42
+ if (claims) {
43
+ const payment = claims.payment;
44
+ const callerBinding = claims.caller_binding;
45
+ return {
46
+ payment: paymentClaims(payment),
47
+ caller_binding: callerBinding ?? null,
48
+ };
49
+ }
50
+ }
51
+ if (receipt.payment?.ref || receipt.caller_binding?.payer_wallet) {
52
+ return {
53
+ payment: paymentClaims(receipt.payment),
54
+ caller_binding: receipt.caller_binding ?? null,
55
+ };
56
+ }
57
+ return {
58
+ payment: { ref: null, gross_amount: null, payee: null, asset: null, rail: null },
59
+ caller_binding: null,
60
+ };
61
+ }
62
+ function detectRail(paymentRef) {
63
+ if (!paymentRef)
64
+ return 'unknown';
65
+ const lower = paymentRef.toLowerCase();
66
+ if (lower.startsWith('solana:'))
67
+ return 'solana';
68
+ if (lower.startsWith('base:') || lower.startsWith('base-sepolia:') || lower.startsWith('eip155:')) {
69
+ return 'base';
70
+ }
71
+ return 'unknown';
72
+ }
73
+ /**
74
+ * Verify caller_binding.payer_wallet against on-chain settlement in payment.ref.
75
+ */
76
+ async function verifyPayerBinding(claims, options = {}) {
77
+ const paymentRef = claims.payment?.ref ?? null;
78
+ const payerWallet = claims.caller_binding?.payer_wallet ?? null;
79
+ const grossAmount = claims.payment?.gross_amount ?? null;
80
+ const payee = claims.payment?.payee ?? null;
81
+ const asset = claims.payment?.asset ?? null;
82
+ const rail = detectRail(paymentRef);
83
+ if (!paymentRef) {
84
+ return { checked: false, valid: false, rail, reason: 'no_payment_ref' };
85
+ }
86
+ if (!payerWallet) {
87
+ return { checked: false, valid: false, rail, paymentRef, reason: 'no_payer_wallet' };
88
+ }
89
+ if (grossAmount == null || grossAmount === '') {
90
+ return { checked: false, valid: false, rail, paymentRef, payerWallet, reason: 'no_gross_amount' };
91
+ }
92
+ if (rail === 'solana') {
93
+ const solana = await (0, solana_payer_js_1.verifySolanaPayer)({
94
+ paymentRef,
95
+ payerWallet,
96
+ grossAmount,
97
+ rpcUrl: options.solanaRpcUrl || options.rpcUrl,
98
+ fetchTransaction: options.fetchSolanaTransaction,
99
+ });
100
+ return {
101
+ checked: solana.checked,
102
+ valid: solana.valid,
103
+ rail: 'solana',
104
+ payerWallet,
105
+ paymentRef,
106
+ expectedAmount: grossAmount,
107
+ solana,
108
+ reason: solana.reason,
109
+ };
110
+ }
111
+ if (rail === 'base') {
112
+ if (!payee) {
113
+ return { checked: false, valid: false, rail, paymentRef, payerWallet, expectedAmount: grossAmount, reason: 'no_payee' };
114
+ }
115
+ if (!asset) {
116
+ return { checked: false, valid: false, rail, paymentRef, payerWallet, expectedAmount: grossAmount, reason: 'no_asset' };
117
+ }
118
+ const base = await (0, base_payer_js_1.verifyBasePayer)({
119
+ paymentRef,
120
+ payerWallet,
121
+ grossAmount,
122
+ payee,
123
+ asset,
124
+ rpcUrl: options.rpcUrl,
125
+ fetchReceipt: options.fetchBaseReceipt,
126
+ });
127
+ return {
128
+ checked: base.checked,
129
+ valid: base.valid,
130
+ rail: 'base',
131
+ payerWallet,
132
+ paymentRef,
133
+ expectedAmount: grossAmount,
134
+ base,
135
+ reason: base.reason,
136
+ };
137
+ }
138
+ return {
139
+ checked: false,
140
+ valid: false,
141
+ rail: 'unknown',
142
+ payerWallet,
143
+ paymentRef,
144
+ expectedAmount: grossAmount,
145
+ reason: `unsupported_payment_ref: ${paymentRef}`,
146
+ };
147
+ }
148
+ //# sourceMappingURL=payer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payer.js","sourceRoot":"","sources":["../src/payer.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA4CH,4CAQC;AA0BD,wEA6BC;AAeD,gDA8EC;AAtMD,mDAAuG;AACvG,uDAI2B;AAoC3B,wEAAwE;AACxE,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAA4B,CAAC;IACpG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAUD,SAAS,aAAa,CAAC,OAAwC;IAC7D,OAAO;QACL,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI;QACzB,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;QACjF,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;QAC7B,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;QAC7B,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,8BAA8B,CAAC,OAI9C;IACC,MAAM,GAAG,GAAG,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;IAC1C,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,MAAM,CAAC,OAAmC,CAAC;YAC3D,MAAM,aAAa,GAAG,MAAM,CAAC,cAAuD,CAAC;YACrF,OAAO;gBACL,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC;gBAC/B,cAAc,EAAE,aAAa,IAAI,IAAI;aACtC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,cAAc,EAAE,YAAY,EAAE,CAAC;QACjE,OAAO;YACL,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;YACvC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI;SAC/C,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;QAChF,cAAc,EAAE,IAAI;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,UAAqC;IACvD,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjD,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAClG,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAA0B,EAC1B,UAAqC,EAAE;IAEvC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC;IAC/C,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,YAAY,IAAI,IAAI,CAAC;IAChE,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC;IACzD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC;IAC5C,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAEpC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC1E,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACvF,CAAC;IACD,IAAI,WAAW,IAAI,IAAI,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;QAC9C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACpG,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAiB,EAAC;YACrC,UAAU;YACV,WAAW;YACX,WAAW;YACX,MAAM,EAAE,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,MAAM;YAC9C,gBAAgB,EAAE,OAAO,CAAC,sBAAsB;SACjD,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,QAAQ;YACd,WAAW;YACX,UAAU;YACV,cAAc,EAAE,WAAW;YAC3B,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAC1H,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAC1H,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAA,+BAAe,EAAC;YACjC,UAAU;YACV,WAAW;YACX,WAAW;YACX,KAAK;YACL,KAAK;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,gBAAgB;SACvC,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,MAAM;YACZ,WAAW;YACX,UAAU;YACV,cAAc,EAAE,WAAW;YAC3B,IAAI;YACJ,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,SAAS;QACf,WAAW;QACX,UAAU;QACV,cAAc,EAAE,WAAW;QAC3B,MAAM,EAAE,4BAA4B,UAAU,EAAE;KACjD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Offline Solana payer verification for Chit402 receipts.
3
+ *
4
+ * When payment.ref starts with `solana:`, fetch the settled transaction and
5
+ * confirm a USDC transfer of payment.gross_amount involving caller_binding.payer_wallet
6
+ * as authority (x402 exact-svm) without trusting Chit logs.
7
+ */
8
+ /** Solana mainnet USDC mint (SPL, 6 decimals). */
9
+ export declare const SOLANA_USDC_MINT_MAINNET = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
10
+ /** Solana devnet USDC mint (SPL, 6 decimals). */
11
+ export declare const SOLANA_USDC_MINT_DEVNET = "Gh9ZwEmdLJ8DscKNTkTqPbNwLNNBjuSzaG9Vp2KGtKJr";
12
+ /** Default public Solana mainnet RPC (override with SOLANA_RPC_URL). */
13
+ export declare const SOLANA_RPC_URL = "https://api.mainnet-beta.solana.com";
14
+ export interface SolanaPayerVerification {
15
+ checked: boolean;
16
+ valid: boolean;
17
+ signature?: string;
18
+ payerWallet?: string;
19
+ expectedAmount?: string;
20
+ transferredAmount?: string;
21
+ mint?: string;
22
+ reason?: string;
23
+ }
24
+ export interface SolanaRpcGetTransactionResult {
25
+ meta?: {
26
+ err?: unknown;
27
+ preTokenBalances?: Array<{
28
+ accountIndex: number;
29
+ mint: string;
30
+ owner?: string;
31
+ uiTokenAmount?: {
32
+ amount: string;
33
+ };
34
+ }>;
35
+ postTokenBalances?: Array<{
36
+ accountIndex: number;
37
+ mint: string;
38
+ owner?: string;
39
+ uiTokenAmount?: {
40
+ amount: string;
41
+ };
42
+ }>;
43
+ } | null;
44
+ transaction?: {
45
+ message?: {
46
+ accountKeys?: Array<{
47
+ pubkey: string;
48
+ signer?: boolean;
49
+ } | string>;
50
+ instructions?: Array<{
51
+ program?: string;
52
+ programId?: string;
53
+ parsed?: {
54
+ type?: string;
55
+ info?: Record<string, unknown>;
56
+ };
57
+ }>;
58
+ };
59
+ signatures?: string[];
60
+ };
61
+ }
62
+ export type SolanaRpcFetcher = (signature: string, rpcUrl: string) => Promise<SolanaRpcGetTransactionResult | null>;
63
+ /**
64
+ * True for a plausible Solana base58 pubkey (32–44 chars).
65
+ */
66
+ export declare function isSolanaBase58Pubkey(value: unknown): boolean;
67
+ /**
68
+ * Extract the tx signature from `solana:<sig>` payment.ref.
69
+ */
70
+ export declare function parseSolanaPaymentRef(paymentRef: string | null | undefined): string | null;
71
+ /**
72
+ * Parse USDC transfer instructions from a jsonParsed getTransaction result.
73
+ */
74
+ export declare function extractUsdcTransfersFromTx(tx: SolanaRpcGetTransactionResult, mint?: string): Array<{
75
+ authority: string;
76
+ amount: bigint;
77
+ mint: string;
78
+ }>;
79
+ /**
80
+ * Fallback: infer USDC outflow from pre/post token balance deltas for a payer owner.
81
+ */
82
+ export declare function inferUsdcOutflowFromBalances(tx: SolanaRpcGetTransactionResult, payerWallet: string, mint?: string): bigint;
83
+ /**
84
+ * Default JSON-RPC fetcher for getTransaction (jsonParsed).
85
+ */
86
+ export declare function fetchSolanaTransaction(signature: string, rpcUrl?: string): Promise<SolanaRpcGetTransactionResult | null>;
87
+ export interface VerifySolanaPayerInput {
88
+ paymentRef: string;
89
+ payerWallet: string;
90
+ grossAmount: string | number | bigint;
91
+ mint?: string;
92
+ rpcUrl?: string;
93
+ fetchTransaction?: SolanaRpcFetcher;
94
+ }
95
+ /**
96
+ * Verify caller_binding.payer_wallet against a Solana USDC settlement tx.
97
+ */
98
+ export declare function verifySolanaPayer(input: VerifySolanaPayerInput): Promise<SolanaPayerVerification>;
99
+ //# sourceMappingURL=solana-payer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana-payer.d.ts","sourceRoot":"","sources":["../src/solana-payer.ts"],"names":[],"mappings":"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"}