@shielded-x402/client 0.3.0 → 0.4.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 (63) hide show
  1. package/dist/agentPaymentFetch.d.ts +56 -0
  2. package/dist/agentPaymentFetch.d.ts.map +1 -0
  3. package/dist/agentPaymentFetch.js +208 -0
  4. package/dist/agentPaymentFetch.js.map +1 -0
  5. package/dist/client.d.ts +1 -4
  6. package/dist/client.d.ts.map +1 -1
  7. package/dist/client.js +2 -22
  8. package/dist/client.js.map +1 -1
  9. package/dist/counterpartyPolicy.d.ts +9 -0
  10. package/dist/counterpartyPolicy.d.ts.map +1 -0
  11. package/dist/counterpartyPolicy.js +87 -0
  12. package/dist/counterpartyPolicy.js.map +1 -0
  13. package/dist/creditChannel.d.ts +28 -0
  14. package/dist/creditChannel.d.ts.map +1 -0
  15. package/dist/creditChannel.js +143 -0
  16. package/dist/creditChannel.js.map +1 -0
  17. package/dist/creditClose.d.ts +13 -0
  18. package/dist/creditClose.d.ts.map +1 -0
  19. package/dist/creditClose.js +21 -0
  20. package/dist/creditClose.js.map +1 -0
  21. package/dist/creditFetch.d.ts +18 -0
  22. package/dist/creditFetch.d.ts.map +1 -0
  23. package/dist/creditFetch.js +56 -0
  24. package/dist/creditFetch.js.map +1 -0
  25. package/dist/creditSignatures.d.ts +18 -0
  26. package/dist/creditSignatures.d.ts.map +1 -0
  27. package/dist/creditSignatures.js +18 -0
  28. package/dist/creditSignatures.js.map +1 -0
  29. package/dist/crypto.d.ts +1 -1
  30. package/dist/crypto.d.ts.map +1 -1
  31. package/dist/crypto.js +4 -7
  32. package/dist/crypto.js.map +1 -1
  33. package/dist/http.d.ts +10 -0
  34. package/dist/http.d.ts.map +1 -0
  35. package/dist/http.js +27 -0
  36. package/dist/http.js.map +1 -0
  37. package/dist/index.d.ts +7 -2
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +7 -2
  40. package/dist/index.js.map +1 -1
  41. package/dist/proofProvider.d.ts +1 -1
  42. package/dist/proofProvider.d.ts.map +1 -1
  43. package/dist/proofProvider.js +40 -44
  44. package/dist/proofProvider.js.map +1 -1
  45. package/dist/requirementAdapters.d.ts +16 -0
  46. package/dist/requirementAdapters.d.ts.map +1 -0
  47. package/dist/requirementAdapters.js +277 -0
  48. package/dist/requirementAdapters.js.map +1 -0
  49. package/dist/types.d.ts +0 -3
  50. package/dist/types.d.ts.map +1 -1
  51. package/dist/walletState.d.ts +15 -1
  52. package/dist/walletState.d.ts.map +1 -1
  53. package/dist/walletState.js +272 -187
  54. package/dist/walletState.js.map +1 -1
  55. package/package.json +3 -2
  56. package/dist/relayerFetch.d.ts +0 -43
  57. package/dist/relayerFetch.d.ts.map +0 -1
  58. package/dist/relayerFetch.js +0 -313
  59. package/dist/relayerFetch.js.map +0 -1
  60. package/dist/shieldedFetch.d.ts +0 -41
  61. package/dist/shieldedFetch.d.ts.map +0 -1
  62. package/dist/shieldedFetch.js +0 -91
  63. package/dist/shieldedFetch.js.map +0 -1
@@ -1,15 +1,12 @@
1
- import { CRYPTO_SPEC } from '@shielded-x402/shared-types';
1
+ import { CRYPTO_SPEC, normalizeHex, toHexWord } from '@shielded-x402/shared-types';
2
2
  import { pad } from 'viem';
3
3
  const BN254_FIELD_MODULUS = 21888242871839275222246405745257275088548364400416034343698204186575808495617n;
4
4
  const MERKLE_DEPTH = CRYPTO_SPEC.merkleTreeDepth;
5
- const toHexWord = (value) => `0x${value.toString(16).padStart(64, '0')}`;
6
- const normalizeHex = (value) => {
7
- const trimmed = value.trim().toLowerCase();
8
- if (!trimmed.startsWith('0x')) {
9
- return `0x${BigInt(trimmed).toString(16)}`;
10
- }
11
- return trimmed;
12
- };
5
+ // UltraHonk backend can return expanded public inputs as 5 bytes32 words (32 bytes each) + amount byte.
6
+ const EXPANDED_PUBLIC_INPUT_LENGTH = 161;
7
+ const EXPANDED_PUBLIC_INPUT_AMOUNT_INDEX = 160;
8
+ // Runtime dynamic import keeps this module compatible across Node ESM/CJS calling environments.
9
+ const dynamicImport = new Function('m', 'return import(m)');
13
10
  const hexToBytes32 = (value) => {
14
11
  const hex = value.slice(2).padStart(64, '0');
15
12
  const bytes = [];
@@ -38,7 +35,7 @@ const normalizePublicInputWord = (value) => {
38
35
  throw new Error(`unsupported public input value type: ${typeof value}`);
39
36
  };
40
37
  const collapseExpandedPublicInputs = (publicInputs) => {
41
- if (publicInputs.length < 161)
38
+ if (publicInputs.length < EXPANDED_PUBLIC_INPUT_LENGTH)
42
39
  return null;
43
40
  const readWord = (start) => {
44
41
  const bytes = [];
@@ -59,7 +56,7 @@ const collapseExpandedPublicInputs = (publicInputs) => {
59
56
  readWord(64),
60
57
  readWord(96),
61
58
  readWord(128),
62
- toHexWord(BigInt(publicInputs[160] ?? '0x0'))
59
+ toHexWord(BigInt(publicInputs[EXPANDED_PUBLIC_INPUT_AMOUNT_INDEX] ?? '0x0'))
63
60
  ];
64
61
  };
65
62
  const normalizePublicInputs = (values) => {
@@ -134,7 +131,6 @@ const isNoirCircuitArtifact = (value) => {
134
131
  typeof value.bytecode === 'string');
135
132
  };
136
133
  const loadBundledSpendChangeCircuit = async () => {
137
- const dynamicImport = new Function('m', 'return import(m)');
138
134
  // Node-safe path: avoid JSON module import-attribute issues by reading raw file.
139
135
  try {
140
136
  const fs = await dynamicImport('node:fs/promises');
@@ -153,6 +149,36 @@ const loadBundledSpendChangeCircuit = async () => {
153
149
  }
154
150
  return candidate;
155
151
  };
152
+ async function initializeUltraHonkBackend(UltraHonkBackend, bbPkg, circuit) {
153
+ const ctorArity = UltraHonkBackend.length ?? 1;
154
+ if (ctorArity < 2) {
155
+ return new UltraHonkBackend(circuit.bytecode);
156
+ }
157
+ const Barretenberg = bbPkg.Barretenberg;
158
+ if (!Barretenberg) {
159
+ throw new Error('bb.js backend requires Barretenberg API constructor, but none was exported');
160
+ }
161
+ let api;
162
+ if (typeof Barretenberg.getSingleton === 'function') {
163
+ try {
164
+ api = Barretenberg.getSingleton();
165
+ }
166
+ catch {
167
+ // singleton not initialized yet
168
+ }
169
+ }
170
+ if (!api && typeof Barretenberg.initSingleton === 'function') {
171
+ await Barretenberg.initSingleton();
172
+ api = Barretenberg.getSingleton?.();
173
+ }
174
+ if (!api && typeof Barretenberg.new === 'function') {
175
+ api = await Barretenberg.new();
176
+ }
177
+ if (!api) {
178
+ throw new Error('unable to initialize bb.js Barretenberg API');
179
+ }
180
+ return new UltraHonkBackend(circuit.bytecode, api);
181
+ }
156
182
  export function createNoirJsProofProvider(config) {
157
183
  return {
158
184
  async generateProof(request) {
@@ -178,7 +204,6 @@ export function createNoirJsProofProvider(config) {
178
204
  * instantiates Noir + UltraHonkBackend from a compiled Noir circuit artifact.
179
205
  */
180
206
  export async function createNoirJsProofProviderFromCircuit(circuit, config) {
181
- const dynamicImport = new Function('m', 'return import(m)');
182
207
  const importFromCallerFirst = async (moduleName) => {
183
208
  try {
184
209
  const modulePkg = await dynamicImport('node:module');
@@ -200,36 +225,7 @@ export async function createNoirJsProofProviderFromCircuit(circuit, config) {
200
225
  const noir = new Noir(circuit);
201
226
  // bb.js v3 expects an API instance in UltraHonkBackend(bytecode, api),
202
227
  // while older versions used UltraHonkBackend(bytecode).
203
- const backend = await (async () => {
204
- const ctorArity = UltraHonkBackend.length ?? 1;
205
- if (ctorArity < 2) {
206
- return new UltraHonkBackend(circuit.bytecode);
207
- }
208
- const Barretenberg = bbPkg.Barretenberg;
209
- if (!Barretenberg) {
210
- throw new Error('bb.js backend requires Barretenberg API constructor, but none was exported');
211
- }
212
- let api;
213
- if (typeof Barretenberg.getSingleton === 'function') {
214
- try {
215
- api = Barretenberg.getSingleton();
216
- }
217
- catch {
218
- // singleton not initialized yet
219
- }
220
- }
221
- if (!api && typeof Barretenberg.initSingleton === 'function') {
222
- await Barretenberg.initSingleton();
223
- api = Barretenberg.getSingleton?.();
224
- }
225
- if (!api && typeof Barretenberg.new === 'function') {
226
- api = await Barretenberg.new();
227
- }
228
- if (!api) {
229
- throw new Error('unable to initialize bb.js Barretenberg API');
230
- }
231
- return new UltraHonkBackend(circuit.bytecode, api);
232
- })();
228
+ const backend = await initializeUltraHonkBackend(UltraHonkBackend, bbPkg, circuit);
233
229
  // Generated verifier contracts in this repo are ZK Honk by default.
234
230
  // Keep SDK defaults aligned so proof byte length/transcript mode matches onchain verification.
235
231
  const backendProofOptions = config?.backendProofOptions ?? { verifierTarget: 'evm' };
@@ -250,7 +246,7 @@ export async function createNoirJsProofProviderFromCircuit(circuit, config) {
250
246
  * Highest-level convenience for agent apps:
251
247
  * loads the bundled spend_change artifact from this package.
252
248
  */
253
- export async function createNoirJsProofProviderFromDefaultCircuit(config) {
249
+ export async function createProofProvider(config) {
254
250
  const circuit = await loadBundledSpendChangeCircuit();
255
251
  return createNoirJsProofProviderFromCircuit(circuit, config);
256
252
  }
@@ -1 +1 @@
1
- {"version":3,"file":"proofProvider.js","sourceRoot":"","sources":["../src/proofProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proofProvider.js","sourceRoot":"","sources":["../src/proofProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { type PaymentRequirement, type RequirementAdapterContext } from '@shielded-x402/shared-types';
2
+ export interface RequirementAdapter {
3
+ name: string;
4
+ matches?: (ctx: RequirementAdapterContext) => boolean;
5
+ normalizeIncoming402?: (response: Response, ctx: RequirementAdapterContext) => Promise<Response>;
6
+ normalizeRequirementLike?: (value: Record<string, unknown>, ctx: RequirementAdapterContext) => Record<string, unknown> | undefined;
7
+ rewriteOutgoingPaymentHeaders?: (headers: Headers, ctx: RequirementAdapterContext) => HeadersInit;
8
+ }
9
+ export declare function createGenericX402V2Adapter(): RequirementAdapter;
10
+ export declare function normalizeIncoming402WithAdapters(response: Response, ctx: RequirementAdapterContext, adapters: RequirementAdapter[]): Promise<Response>;
11
+ export declare function rewriteOutgoingHeadersWithAdapters(headers: Headers, ctx: RequirementAdapterContext, adapters: RequirementAdapter[]): Headers;
12
+ export declare function parseRequirementFrom402Response(response: Response, ctx: RequirementAdapterContext, adapters: RequirementAdapter[]): Promise<{
13
+ response: Response;
14
+ requirement: PaymentRequirement;
15
+ }>;
16
+ //# sourceMappingURL=requirementAdapters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requirementAdapters.d.ts","sourceRoot":"","sources":["../src/requirementAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC/B,MAAM,6BAA6B,CAAC;AAMrC,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,yBAAyB,KAAK,OAAO,CAAC;IACtD,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,yBAAyB,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjG,wBAAwB,CAAC,EAAE,CACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,yBAAyB,KAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACzC,6BAA6B,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,yBAAyB,KAAK,WAAW,CAAC;CACnG;AAuJD,wBAAgB,0BAA0B,IAAI,kBAAkB,CA0D/D;AAED,wBAAsB,gCAAgC,CACpD,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,yBAAyB,EAC9B,QAAQ,EAAE,kBAAkB,EAAE,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAiBnB;AAED,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,yBAAyB,EAC9B,QAAQ,EAAE,kBAAkB,EAAE,GAC7B,OAAO,CAcT;AAED,wBAAsB,+BAA+B,CACnD,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,yBAAyB,EAC9B,QAAQ,EAAE,kBAAkB,EAAE,GAC7B,OAAO,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,kBAAkB,CAAA;CAAE,CAAC,CA6DlE"}
@@ -0,0 +1,277 @@
1
+ import { X402_HEADERS, encodeX402Header, getIntegerStringFromRecords, getRecord, getString, getStringFromRecords, parsePaymentRequiredEnvelope, parsePaymentRequiredHeader } from '@shielded-x402/shared-types';
2
+ const ZERO_BYTES32 = `0x${'0'.repeat(64)}`;
3
+ const ZERO_ADDRESS = `0x${'0'.repeat(40)}`;
4
+ const ZERO_ASSET = `0x${'0'.repeat(64)}`;
5
+ function normalizeRequirementLikeGeneric(value, ctx) {
6
+ const extra = getRecord(value.extra);
7
+ const scheme = (getStringFromRecords('scheme', value, extra) ?? 'exact').toLowerCase();
8
+ const network = getStringFromRecords('network', value, extra) ??
9
+ getStringFromRecords('chain', value, extra);
10
+ const payTo = getStringFromRecords('payTo', value, extra) ??
11
+ getString(value, 'to') ??
12
+ getStringFromRecords('recipient', value, extra) ??
13
+ getStringFromRecords('address', value, extra);
14
+ const assetRaw = getStringFromRecords('asset', value, extra) ??
15
+ getStringFromRecords('token', value, extra) ??
16
+ getStringFromRecords('assetAddress', value, extra);
17
+ const asset = assetRaw && assetRaw.length > 0 ? assetRaw : ZERO_ASSET;
18
+ const amount = getIntegerStringFromRecords('amount', value, extra) ??
19
+ getIntegerStringFromRecords('maxAmountRequired', value, extra) ??
20
+ getIntegerStringFromRecords('maxAmount', value, extra) ??
21
+ getIntegerStringFromRecords('price', value, extra);
22
+ if (!scheme || !network || !payTo || !amount)
23
+ return undefined;
24
+ const normalized = {
25
+ scheme,
26
+ network,
27
+ amount,
28
+ payTo,
29
+ asset
30
+ };
31
+ normalized.resource = getStringFromRecords('resource', value, extra) ?? ctx.requestUrl;
32
+ const description = getStringFromRecords('description', value, extra);
33
+ if (description)
34
+ normalized.description = description;
35
+ const mimeType = getStringFromRecords('mimeType', value, extra);
36
+ if (mimeType)
37
+ normalized.mimeType = mimeType;
38
+ const maxTimeoutSeconds = value.maxTimeoutSeconds ?? extra?.maxTimeoutSeconds;
39
+ if (typeof maxTimeoutSeconds === 'number' && Number.isFinite(maxTimeoutSeconds)) {
40
+ normalized.maxTimeoutSeconds = Math.trunc(maxTimeoutSeconds);
41
+ }
42
+ if (value.outputSchema !== undefined)
43
+ normalized.outputSchema = value.outputSchema;
44
+ const timeoutSeconds = typeof maxTimeoutSeconds === 'number' && Number.isFinite(maxTimeoutSeconds) && maxTimeoutSeconds > 0
45
+ ? Math.trunc(maxTimeoutSeconds)
46
+ : typeof maxTimeoutSeconds === 'string'
47
+ ? (() => {
48
+ const parsed = Number(maxTimeoutSeconds);
49
+ return Number.isFinite(parsed) && parsed > 0 ? Math.trunc(parsed) : 300;
50
+ })()
51
+ : 300;
52
+ const fallbackChallengeExpiry = String(Math.floor(Date.now() / 1000) + timeoutSeconds);
53
+ const fallbackVerifyingContract = /^0x[0-9a-fA-F]{40}$/.test(payTo) ? payTo : ZERO_ADDRESS;
54
+ const rail = getStringFromRecords('rail', value, extra) ?? 'x402-standard';
55
+ const challengeNonce = getStringFromRecords('challengeNonce', value, extra) ?? ZERO_BYTES32;
56
+ const challengeExpiry = getStringFromRecords('challengeExpiry', value, extra) ?? fallbackChallengeExpiry;
57
+ const merchantPubKey = getStringFromRecords('merchantPubKey', value, extra) ?? ZERO_BYTES32;
58
+ const verifyingContract = getStringFromRecords('verifyingContract', value, extra) ?? fallbackVerifyingContract;
59
+ normalized.rail = rail;
60
+ normalized.challengeNonce = challengeNonce;
61
+ normalized.challengeExpiry = challengeExpiry;
62
+ normalized.merchantPubKey = merchantPubKey;
63
+ normalized.verifyingContract = verifyingContract;
64
+ normalized.extra = {
65
+ ...(extra ?? {}),
66
+ rail,
67
+ challengeNonce,
68
+ challengeExpiry,
69
+ merchantPubKey,
70
+ verifyingContract
71
+ };
72
+ return normalized;
73
+ }
74
+ function matchingAdapters(adapters, ctx) {
75
+ return adapters.filter((adapter) => !adapter.matches || adapter.matches(ctx));
76
+ }
77
+ function normalizeRequirementLikeWithAdapters(candidate, ctx, adapters) {
78
+ for (const adapter of matchingAdapters(adapters, ctx)) {
79
+ if (!adapter.normalizeRequirementLike)
80
+ continue;
81
+ const normalized = adapter.normalizeRequirementLike(candidate, ctx);
82
+ if (normalized)
83
+ return normalized;
84
+ }
85
+ return undefined;
86
+ }
87
+ function parseJsonRecord(text) {
88
+ if (text.length === 0)
89
+ return undefined;
90
+ try {
91
+ return getRecord(JSON.parse(text));
92
+ }
93
+ catch {
94
+ return undefined;
95
+ }
96
+ }
97
+ function extractRequirementCandidates(bodyRecord) {
98
+ const candidates = [];
99
+ if (Array.isArray(bodyRecord.accepts))
100
+ candidates.push(...bodyRecord.accepts);
101
+ if (Array.isArray(bodyRecord.requirements))
102
+ candidates.push(...bodyRecord.requirements);
103
+ if (candidates.length === 0)
104
+ candidates.push(bodyRecord);
105
+ return candidates
106
+ .map((entry) => getRecord(entry))
107
+ .filter((entry) => Boolean(entry));
108
+ }
109
+ function pickNormalizedRequirement(bodyRecord, normalizer) {
110
+ return extractRequirementCandidates(bodyRecord)
111
+ .map((entry) => normalizer(entry))
112
+ .find((entry) => Boolean(entry));
113
+ }
114
+ async function parseResponseBodyRecord(response) {
115
+ try {
116
+ const text = await response.clone().text();
117
+ return parseJsonRecord(text);
118
+ }
119
+ catch {
120
+ return undefined;
121
+ }
122
+ }
123
+ function withHeader(response, headerValue) {
124
+ const headers = new Headers(response.headers);
125
+ headers.set(X402_HEADERS.paymentRequired, headerValue);
126
+ if (!headers.get('content-type')) {
127
+ headers.set('content-type', 'application/json');
128
+ }
129
+ return new Response(response.body, {
130
+ status: response.status,
131
+ statusText: response.statusText,
132
+ headers
133
+ });
134
+ }
135
+ export function createGenericX402V2Adapter() {
136
+ return {
137
+ name: 'generic-x402-v2',
138
+ normalizeRequirementLike: (value, ctx) => normalizeRequirementLikeGeneric(value, ctx),
139
+ normalizeIncoming402: async (response, ctx) => {
140
+ if (response.status !== 402)
141
+ return response;
142
+ const directHeader = response.headers.get(X402_HEADERS.paymentRequired);
143
+ if (directHeader) {
144
+ const envelope = parsePaymentRequiredEnvelope(directHeader);
145
+ const firstAccepted = getRecord(envelope.accepts[0]);
146
+ if (!firstAccepted)
147
+ return response;
148
+ const normalized = normalizeRequirementLikeGeneric(firstAccepted, ctx);
149
+ if (!normalized)
150
+ return response;
151
+ const normalizedEnvelope = {
152
+ x402Version: 2,
153
+ accepts: [normalized],
154
+ ...(typeof envelope.error === 'string' ? { error: envelope.error } : {})
155
+ };
156
+ return withHeader(response, encodeX402Header(normalizedEnvelope));
157
+ }
158
+ const bodyText = await response.text();
159
+ const bodyRecord = parseJsonRecord(bodyText);
160
+ if (!bodyRecord)
161
+ return response;
162
+ const normalized = pickNormalizedRequirement(bodyRecord, (entry) => normalizeRequirementLikeGeneric(entry, ctx));
163
+ if (!normalized) {
164
+ return new Response(bodyText, {
165
+ status: response.status,
166
+ statusText: response.statusText,
167
+ headers: new Headers(response.headers)
168
+ });
169
+ }
170
+ const envelope = {
171
+ x402Version: 2,
172
+ accepts: [normalized],
173
+ ...(typeof bodyRecord.error === 'string' ? { error: bodyRecord.error } : {})
174
+ };
175
+ const headerValue = encodeX402Header(envelope);
176
+ const headers = new Headers(response.headers);
177
+ headers.set(X402_HEADERS.paymentRequired, headerValue);
178
+ headers.set('content-type', 'application/json');
179
+ return new Response(JSON.stringify(envelope), {
180
+ status: response.status,
181
+ statusText: response.statusText,
182
+ headers
183
+ });
184
+ }
185
+ };
186
+ }
187
+ export async function normalizeIncoming402WithAdapters(response, ctx, adapters) {
188
+ let current = response;
189
+ for (const adapter of matchingAdapters(adapters, ctx)) {
190
+ if (!adapter.normalizeIncoming402)
191
+ continue;
192
+ try {
193
+ const next = await adapter.normalizeIncoming402(current, ctx);
194
+ if (next !== current) {
195
+ current = next;
196
+ break;
197
+ }
198
+ current = next;
199
+ }
200
+ catch (error) {
201
+ const message = error instanceof Error ? error.message : String(error);
202
+ throw new Error(`requirement adapter ${adapter.name} normalizeIncoming402 failed: ${message}`);
203
+ }
204
+ }
205
+ return current;
206
+ }
207
+ export function rewriteOutgoingHeadersWithAdapters(headers, ctx, adapters) {
208
+ let out = new Headers(headers);
209
+ for (const adapter of matchingAdapters(adapters, ctx)) {
210
+ if (!adapter.rewriteOutgoingPaymentHeaders)
211
+ continue;
212
+ try {
213
+ out = new Headers(adapter.rewriteOutgoingPaymentHeaders(out, ctx));
214
+ }
215
+ catch (error) {
216
+ const message = error instanceof Error ? error.message : String(error);
217
+ throw new Error(`requirement adapter ${adapter.name} rewriteOutgoingPaymentHeaders failed: ${message}`);
218
+ }
219
+ }
220
+ return out;
221
+ }
222
+ export async function parseRequirementFrom402Response(response, ctx, adapters) {
223
+ const normalized = await normalizeIncoming402WithAdapters(response, ctx, adapters);
224
+ const header = normalized.headers.get(X402_HEADERS.paymentRequired);
225
+ if (header) {
226
+ try {
227
+ return {
228
+ response: normalized,
229
+ requirement: parsePaymentRequiredHeader(header)
230
+ };
231
+ }
232
+ catch (error) {
233
+ const message = error instanceof Error ? error.message : String(error);
234
+ if (!message.includes('payment requirement missing shielded rail metadata')) {
235
+ throw error;
236
+ }
237
+ const envelope = parsePaymentRequiredEnvelope(header);
238
+ const firstAccepted = getRecord(envelope.accepts[0]);
239
+ if (firstAccepted) {
240
+ const normalizedFallback = normalizeRequirementLikeWithAdapters(firstAccepted, ctx, adapters) ??
241
+ normalizeRequirementLikeGeneric(firstAccepted, ctx);
242
+ if (normalizedFallback) {
243
+ const repairedHeader = encodeX402Header({
244
+ x402Version: 2,
245
+ accepts: [normalizedFallback],
246
+ ...(typeof envelope.error === 'string' ? { error: envelope.error } : {})
247
+ });
248
+ return {
249
+ response: withHeader(normalized, repairedHeader),
250
+ requirement: parsePaymentRequiredHeader(repairedHeader)
251
+ };
252
+ }
253
+ }
254
+ throw error;
255
+ }
256
+ }
257
+ const bodyRecord = await parseResponseBodyRecord(normalized);
258
+ if (!bodyRecord) {
259
+ throw new Error(`missing ${X402_HEADERS.paymentRequired} header`);
260
+ }
261
+ const normalizedRequirement = pickNormalizedRequirement(bodyRecord, (entry) => normalizeRequirementLikeWithAdapters(entry, ctx, adapters));
262
+ if (!normalizedRequirement) {
263
+ throw new Error(`missing ${X402_HEADERS.paymentRequired} header`);
264
+ }
265
+ const envelope = {
266
+ x402Version: 2,
267
+ accepts: [normalizedRequirement],
268
+ ...(typeof bodyRecord.error === 'string' ? { error: bodyRecord.error } : {})
269
+ };
270
+ const headerValue = encodeX402Header(envelope);
271
+ const withRequiredHeader = withHeader(normalized, headerValue);
272
+ return {
273
+ response: withRequiredHeader,
274
+ requirement: parsePaymentRequiredHeader(headerValue)
275
+ };
276
+ }
277
+ //# sourceMappingURL=requirementAdapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requirementAdapters.js","sourceRoot":"","sources":["../src/requirementAdapters.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -48,9 +48,6 @@ export interface ShieldedClientConfig {
48
48
  }>;
49
49
  proofProvider?: ProofProvider;
50
50
  }
51
- export interface Parsed402 {
52
- requirement: PaymentRequirement;
53
- }
54
51
  export interface Prepared402Payment {
55
52
  requirement: PaymentRequirement;
56
53
  headers: Headers;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,kBAAkB,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAClH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,eAAe,EAAE,GAAG,CAAC;IACrB,cAAc,EAAE,GAAG,CAAC;IACpB,WAAW,EAAE,GAAG,CAAC;IACjB,YAAY,EAAE,GAAG,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,GAAG,CAAC;IACpB,eAAe,EAAE,GAAG,CAAC;IACrB,oBAAoB,EAAE,GAAG,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,GAAG,CAAC;IACX,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAChF;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,eAAe,EAAE,GAAG,CAAC;IACrB,qBAAqB,CAAC,EAAE,GAAG,CAAC;IAC5B,cAAc,EAAE,GAAG,CAAC;IACpB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,eAAe,EAAE,GAAG,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,GAAG,CAAC;IACpB,gBAAgB,EAAE,GAAG,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,uBAAuB,CAAC;IAClC,UAAU,EAAE,YAAY,CAAC;IACzB,qBAAqB,EAAE,GAAG,CAAC;IAC3B,WAAW,EAAE,GAAG,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7F,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,kBAAkB,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,kBAAkB,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,UAAU,EAAE,YAAY,CAAC;IACzB,qBAAqB,EAAE,GAAG,CAAC;CAC5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,kBAAkB,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAClH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,eAAe,EAAE,GAAG,CAAC;IACrB,cAAc,EAAE,GAAG,CAAC;IACpB,WAAW,EAAE,GAAG,CAAC;IACjB,YAAY,EAAE,GAAG,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,GAAG,CAAC;IACpB,eAAe,EAAE,GAAG,CAAC;IACrB,oBAAoB,EAAE,GAAG,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,GAAG,CAAC;IACX,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAChF;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,eAAe,EAAE,GAAG,CAAC;IACrB,qBAAqB,CAAC,EAAE,GAAG,CAAC;IAC5B,cAAc,EAAE,GAAG,CAAC;IACpB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,eAAe,EAAE,GAAG,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,GAAG,CAAC;IACpB,gBAAgB,EAAE,GAAG,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,uBAAuB,CAAC;IAClC,UAAU,EAAE,YAAY,CAAC;IACzB,qBAAqB,EAAE,GAAG,CAAC;IAC3B,WAAW,EAAE,GAAG,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7F,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,kBAAkB,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,UAAU,EAAE,YAAY,CAAC;IACzB,qBAAqB,EAAE,GAAG,CAAC;CAC5B"}
@@ -1,4 +1,4 @@
1
- import type { Hex, RelayerSettlementDelta, ShieldedNote } from '@shielded-x402/shared-types';
1
+ import type { CreditChannelId, Hex, RelayerSettlementDelta, ShieldedNote, SignedCreditState } from '@shielded-x402/shared-types';
2
2
  import type { MerkleWitness } from './merkle.js';
3
3
  export interface WalletNoteRecord extends ShieldedNote {
4
4
  nullifierSecret: Hex;
@@ -41,12 +41,17 @@ export declare class FileBackedWalletState {
41
41
  private readonly startBlock;
42
42
  private indexerFieldNames?;
43
43
  private state;
44
+ private noteIndexesByCommitment;
45
+ private leafIndexByCommitment;
44
46
  private constructor();
45
47
  static create(config: FileBackedWalletStateConfig): Promise<FileBackedWalletState>;
46
48
  load(): Promise<void>;
47
49
  persist(): Promise<void>;
48
50
  snapshot(): WalletStateSnapshot;
49
51
  getNotes(): WalletNoteRecord[];
52
+ getCreditState(channelId: CreditChannelId): SignedCreditState | undefined;
53
+ setCreditState(signedState: SignedCreditState): Promise<void>;
54
+ clearCreditState(channelId: CreditChannelId): Promise<void>;
50
55
  addOrUpdateNote(note: ShieldedNote, nullifierSecret: Hex, depositBlock?: bigint): Promise<void>;
51
56
  markNoteSpent(commitment: Hex): Promise<boolean>;
52
57
  recordSpendOutputs(params: {
@@ -61,10 +66,19 @@ export declare class FileBackedWalletState {
61
66
  changeNullifierSecret?: Hex;
62
67
  spentNoteCommitment?: Hex;
63
68
  }): Promise<void>;
69
+ private applyCommitmentWrites;
70
+ private rebuildCommitmentIndexes;
71
+ private mapRpcEventsToWrites;
72
+ private mapIndexerEventsToWrites;
64
73
  sync(): Promise<WalletSyncResult>;
65
74
  private syncFromIndexer;
66
75
  private fetchIndexerEvents;
76
+ private indexerPost;
77
+ private ensureIndexerFieldNames;
78
+ private fetchIndexerRows;
79
+ private computeIndexerMaxBlock;
67
80
  getSpendContextByCommitment(commitment: Hex): ShieldedSpendContext;
81
+ private findNoteIndexByCommitment;
68
82
  private findLeafIndex;
69
83
  }
70
84
  //# sourceMappingURL=walletState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"walletState.d.ts","sourceRoot":"","sources":["../src/walletState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walletState.d.ts","sourceRoot":"","sources":["../src/walletState.ts"],"names":[],"mappings":"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"}