@shielded-x402/client 0.2.3 → 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.
package/dist/client.d.ts CHANGED
@@ -18,9 +18,9 @@ export declare class ShieldedClientSDK {
18
18
  paymentSignatureHeader: string;
19
19
  }>;
20
20
  parse402Response(response: Response): Parsed402;
21
- prepare402Payment(requirement: PaymentRequirement, note: ShieldedNote, witness: MerkleWitness, payerPkHash: Hex, baseHeaders?: HeadersInit): Promise<Prepared402Payment>;
22
- complete402Payment(input: string, init: RequestInit, requirement: PaymentRequirement, note: ShieldedNote, witness: MerkleWitness, payerPkHash: Hex, fetchFn?: typeof fetch): Promise<Response>;
23
- fetchWithShieldedPayment(input: string, init: RequestInit, note: ShieldedNote, witness: MerkleWitness, payerPkHash: Hex): Promise<Response>;
21
+ prepare402Payment(requirement: PaymentRequirement, note: ShieldedNote, witness: MerkleWitness, nullifierSecret: Hex, baseHeaders?: HeadersInit): Promise<Prepared402Payment>;
22
+ complete402Payment(input: string, init: RequestInit, requirement: PaymentRequirement, note: ShieldedNote, witness: MerkleWitness, nullifierSecret: Hex, fetchFn?: typeof fetch): Promise<Response>;
23
+ fetchWithShieldedPayment(input: string, init: RequestInit, note: ShieldedNote, witness: MerkleWitness, nullifierSecret: Hex): Promise<Response>;
24
24
  }
25
25
  export declare function buildWitnessFromCommitments(commitments: Hex[], targetIndex: number): MerkleWitness;
26
26
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,GAAG,EACR,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAcpB,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,oBAAoB;IAEnD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAqBjH,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB;IA8CrD,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAKxE,eAAe;IA8BvB,MAAM,CACV,eAAe,EAAE,uBAAuB,EACxC,WAAW,EAAE,kBAAkB,EAC/B,cAAc,EAAE,GAAG,GAClB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,sBAAsB,EAAE,MAAM,CAAA;KAAE,CAAC;IAalF,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS;IAMzC,iBAAiB,CACrB,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,GAAG,EAChB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,kBAAkB,CAAC;IAoCxB,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,WAAW,EACjB,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,GAAG,EAChB,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,QAAQ,CAAC;IAed,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;CAOlJ;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,CAElG"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,GAAG,EACR,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAcpB,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,oBAAoB;IAEnD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAqBjH,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB;IAgDrD,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAKxE,eAAe;IA8BvB,MAAM,CACV,eAAe,EAAE,uBAAuB,EACxC,WAAW,EAAE,kBAAkB,EAC/B,cAAc,EAAE,GAAG,GAClB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,sBAAsB,EAAE,MAAM,CAAA;KAAE,CAAC;IAalF,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS;IAMzC,iBAAiB,CACrB,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,aAAa,EACtB,eAAe,EAAE,GAAG,EACpB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,kBAAkB,CAAC;IAsCxB,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,WAAW,EACjB,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,aAAa,EACtB,eAAe,EAAE,GAAG,EACpB,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,QAAQ,CAAC;IAed,wBAAwB,CAC5B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,aAAa,EACtB,eAAe,EAAE,GAAG,GACnB,OAAO,CAAC,QAAQ,CAAC;CAOrB;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,CAElG"}
package/dist/client.js CHANGED
@@ -44,6 +44,7 @@ export class ShieldedClientSDK {
44
44
  const merchantCommitment = deriveCommitment(params.amount, merchantRho, params.merchantPubKey);
45
45
  const changeAmount = params.note.amount - params.amount;
46
46
  const changeRho = params.changeRho ?? randomFieldHex();
47
+ const changeNullifierSecret = params.changeNullifierSecret ?? randomFieldHex();
47
48
  const changeCommitment = deriveCommitment(changeAmount, changeRho, params.note.pkHash);
48
49
  const challengeHash = deriveChallengeHash(params.challengeNonce, params.amount, params.merchantAddress);
49
50
  const amountHex = `0x${params.amount.toString(16).padStart(64, '0')}`;
@@ -67,6 +68,7 @@ export class ShieldedClientSDK {
67
68
  };
68
69
  return {
69
70
  merchantRho,
71
+ changeNullifierSecret,
70
72
  response,
71
73
  changeNote: {
72
74
  amount: changeAmount,
@@ -126,7 +128,7 @@ export class ShieldedClientSDK {
126
128
  throw new Error(`missing ${X402_HEADERS.paymentRequired} header`);
127
129
  return { requirement: parsePaymentRequiredHeader(header) };
128
130
  }
129
- async prepare402Payment(requirement, note, witness, payerPkHash, baseHeaders) {
131
+ async prepare402Payment(requirement, note, witness, nullifierSecret, baseHeaders) {
130
132
  if (requirement.rail !== 'shielded-usdc') {
131
133
  throw new Error(`unsupported rail: ${requirement.rail}`);
132
134
  }
@@ -136,7 +138,7 @@ export class ShieldedClientSDK {
136
138
  const spendParams = {
137
139
  note,
138
140
  witness,
139
- nullifierSecret: payerPkHash,
141
+ nullifierSecret,
140
142
  merchantPubKey: requirement.merchantPubKey,
141
143
  merchantAddress: merchant,
142
144
  amount,
@@ -150,22 +152,24 @@ export class ShieldedClientSDK {
150
152
  return {
151
153
  requirement,
152
154
  headers,
153
- response: bundleWithProof.response
155
+ response: bundleWithProof.response,
156
+ changeNote: bundleWithProof.changeNote,
157
+ changeNullifierSecret: bundleWithProof.changeNullifierSecret
154
158
  };
155
159
  }
156
- async complete402Payment(input, init, requirement, note, witness, payerPkHash, fetchFn = fetch) {
157
- const prepared = await this.prepare402Payment(requirement, note, witness, payerPkHash, init.headers);
160
+ async complete402Payment(input, init, requirement, note, witness, nullifierSecret, fetchFn = fetch) {
161
+ const prepared = await this.prepare402Payment(requirement, note, witness, nullifierSecret, init.headers);
158
162
  return fetchFn(input, {
159
163
  ...init,
160
164
  headers: prepared.headers
161
165
  });
162
166
  }
163
- async fetchWithShieldedPayment(input, init, note, witness, payerPkHash) {
167
+ async fetchWithShieldedPayment(input, init, note, witness, nullifierSecret) {
164
168
  const first = await fetch(input, init);
165
169
  if (first.status !== 402)
166
170
  return first;
167
171
  const parsed = this.parse402Response(first);
168
- return this.complete402Payment(input, init, parsed.requirement, note, witness, payerPkHash);
172
+ return this.complete402Payment(input, init, parsed.requirement, note, witness, nullifierSecret);
169
173
  }
170
174
  }
171
175
  export function buildWitnessFromCommitments(commitments, targetIndex) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,16 @@ export interface NoirJsProofProviderConfig {
15
15
  backend: NoirJsBackend;
16
16
  enforcePublicInputsMatch?: boolean;
17
17
  }
18
+ export interface NoirJsUltraHonkProofOptions {
19
+ verifierTarget?: 'evm' | 'evm-no-zk' | 'noir-recursive' | 'noir-recursive-no-zk' | 'noir-rollup' | 'noir-rollup-no-zk' | 'starknet' | 'starknet-no-zk';
20
+ keccak?: boolean;
21
+ keccakZK?: boolean;
22
+ starknet?: boolean;
23
+ starknetZK?: boolean;
24
+ }
25
+ export interface NoirJsCircuitProofProviderConfig extends Omit<NoirJsProofProviderConfig, 'noir' | 'backend'> {
26
+ backendProofOptions?: NoirJsUltraHonkProofOptions;
27
+ }
18
28
  export interface NoirCircuitArtifact {
19
29
  bytecode: string;
20
30
  [key: string]: unknown;
@@ -24,10 +34,10 @@ export declare function createNoirJsProofProvider(config: NoirJsProofProviderCon
24
34
  * Convenience factory for Node agent apps:
25
35
  * instantiates Noir + UltraHonkBackend from a compiled Noir circuit artifact.
26
36
  */
27
- export declare function createNoirJsProofProviderFromCircuit(circuit: NoirCircuitArtifact, config?: Omit<NoirJsProofProviderConfig, 'noir' | 'backend'>): Promise<ProofProvider>;
37
+ export declare function createNoirJsProofProviderFromCircuit(circuit: NoirCircuitArtifact, config?: NoirJsCircuitProofProviderConfig): Promise<ProofProvider>;
28
38
  /**
29
39
  * Highest-level convenience for agent apps:
30
40
  * loads the bundled spend_change artifact from this package.
31
41
  */
32
- export declare function createNoirJsProofProviderFromDefaultCircuit(config?: Omit<NoirJsProofProviderConfig, 'noir' | 'backend'>): Promise<ProofProvider>;
42
+ export declare function createNoirJsProofProviderFromDefaultCircuit(config?: NoirJsCircuitProofProviderConfig): Promise<ProofProvider>;
33
43
  //# sourceMappingURL=proofProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proofProvider.d.ts","sourceRoot":"","sources":["../src/proofProvider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAA6C,MAAM,YAAY,CAAC;AA2I3F,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC1F;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AA+BD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,yBAAyB,GAAG,aAAa,CAsB1F;AAED;;;GAGG;AACH,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,IAAI,CAAC,yBAAyB,EAAE,MAAM,GAAG,SAAS,CAAC,GAC3D,OAAO,CAAC,aAAa,CAAC,CAoBxB;AAED;;;GAGG;AACH,wBAAsB,2CAA2C,CAC/D,MAAM,CAAC,EAAE,IAAI,CAAC,yBAAyB,EAAE,MAAM,GAAG,SAAS,CAAC,GAC3D,OAAO,CAAC,aAAa,CAAC,CAGxB"}
1
+ {"version":3,"file":"proofProvider.d.ts","sourceRoot":"","sources":["../src/proofProvider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAA6C,MAAM,YAAY,CAAC;AA2I3F,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC1F;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,2BAA2B;IAC1C,cAAc,CAAC,EACX,KAAK,GACL,WAAW,GACX,gBAAgB,GAChB,sBAAsB,GACtB,aAAa,GACb,mBAAmB,GACnB,UAAU,GACV,gBAAgB,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,gCACf,SAAQ,IAAI,CAAC,yBAAyB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3D,mBAAmB,CAAC,EAAE,2BAA2B,CAAC;CACnD;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AA+BD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,yBAAyB,GAAG,aAAa,CAsB1F;AAED;;;GAGG;AACH,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,gCAAgC,GACxC,OAAO,CAAC,aAAa,CAAC,CA4FxB;AAED;;;GAGG;AACH,wBAAsB,2CAA2C,CAC/D,MAAM,CAAC,EAAE,gCAAgC,GACxC,OAAO,CAAC,aAAa,CAAC,CAGxB"}
@@ -179,15 +179,65 @@ export function createNoirJsProofProvider(config) {
179
179
  */
180
180
  export async function createNoirJsProofProviderFromCircuit(circuit, config) {
181
181
  const dynamicImport = new Function('m', 'return import(m)');
182
- const noirPkg = await dynamicImport('@noir-lang/noir_js');
183
- const bbPkg = await dynamicImport('@aztec/bb.js');
182
+ const importFromCallerFirst = async (moduleName) => {
183
+ try {
184
+ const modulePkg = await dynamicImport('node:module');
185
+ const urlPkg = await dynamicImport('node:url');
186
+ const createRequire = modulePkg.createRequire;
187
+ const pathToFileURL = urlPkg.pathToFileURL;
188
+ const callerRequire = createRequire(`${process.cwd()}/package.json`);
189
+ const resolved = callerRequire.resolve(moduleName);
190
+ return dynamicImport(pathToFileURL(resolved).href);
191
+ }
192
+ catch {
193
+ return dynamicImport(moduleName);
194
+ }
195
+ };
196
+ const noirPkg = await importFromCallerFirst('@noir-lang/noir_js');
197
+ const bbPkg = await importFromCallerFirst('@aztec/bb.js');
184
198
  const Noir = noirPkg.Noir;
185
199
  const UltraHonkBackend = bbPkg.UltraHonkBackend;
186
200
  const noir = new Noir(circuit);
187
- const backend = new UltraHonkBackend(circuit.bytecode);
201
+ // bb.js v3 expects an API instance in UltraHonkBackend(bytecode, api),
202
+ // 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
+ })();
233
+ // Generated verifier contracts in this repo are ZK Honk by default.
234
+ // Keep SDK defaults aligned so proof byte length/transcript mode matches onchain verification.
235
+ const backendProofOptions = config?.backendProofOptions ?? { verifierTarget: 'evm' };
188
236
  const providerConfig = {
189
237
  noir,
190
- backend
238
+ backend: {
239
+ generateProof: async (witness) => backend.generateProof(witness, backendProofOptions)
240
+ }
191
241
  };
192
242
  if (config?.enforcePublicInputsMatch !== undefined) {
193
243
  providerConfig.enforcePublicInputsMatch = config.enforcePublicInputsMatch;
@@ -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":"AAAA,OAAO,EAAE,WAAW,EAAY,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAG3B,MAAM,mBAAmB,GACvB,8EAA8E,CAAC;AACjF,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,CAAC;AAEjD,MAAM,SAAS,GAAG,CAAC,KAAa,EAAO,EAAE,CAAE,KAAK,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAU,CAAC;AAE/F,MAAM,YAAY,GAAG,CAAC,KAAa,EAAO,EAAE;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAQ,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAU,CAAC;IACtD,CAAC;IACD,OAAQ,OAAe,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAU,EAAY,EAAE;IAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAU,EAAE,KAAa,EAAU,EAAE;IAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,MAAM,IAAI,mBAAmB,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,0DAA0D,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,KAAc,EAAO,EAAE;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,OAAO,KAAK,EAAE,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,YAAmB,EAAgB,EAAE;IACzE,IAAI,YAAY,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAO,EAAE;QACtC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC5D,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACnF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QACD,OAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAU,CAAC;IAC5D,CAAC,CAAC;IACF,OAAO;QACL,QAAQ,CAAC,CAAC,CAAC;QACX,QAAQ,CAAC,EAAE,CAAC;QACZ,QAAQ,CAAC,EAAE,CAAC;QACZ,QAAQ,CAAC,EAAE,CAAC;QACZ,QAAQ,CAAC,GAAG,CAAC;QACb,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC;KAC9C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,MAAe,EAAS,EAAE;IACvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;IACrE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,MAAM,SAAS,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACtD,OAAO,SAAS,IAAI,KAAK,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAO,EAAE;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,OAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAU,CAAC;IAC5D,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QAC3D,OAAO,iBAAiB,CAAE,KAA4B,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,OAA6B,EAA2B,EAAE;IAC7E,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;QAClG,MAAM,IAAI,KAAK,CAAC,2CAA2C,YAAY,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAClG,MAAM,UAAU,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IAClC,OAAO,UAAU,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;QACxC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,CAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACnE,OAAO,SAAS,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;QACvC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,MAAM,mBAAmB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAChD,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7C,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC;QACzD,YAAY,EAAE,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC;QACnE,gBAAgB,EAAE,iBAAiB,CAAC,OAAO,CAAC,eAAe,EAAE,iBAAiB,CAAC;QAC/E,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,mBAAmB;QAC/B,gBAAgB,EAAE,iBAAiB,CAAC,OAAO,CAAC,cAAc,EAAE,gBAAgB,CAAC;QAC7E,YAAY,EAAE,iBAAiB,CAAC,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC;QACnE,cAAc,EAAE,iBAAiB,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC;QACvE,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;QAC7D,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC;QACrD,qBAAqB,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;KAChF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,IAAoB,EAAE,KAAqB,EAAW,EAAE;IACjF,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACrE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA0CF,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAAgC,EAAE;IAC7E,OAAO,OAAO,CACZ,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAQ,KAAgC,CAAC,QAAQ,KAAK,QAAQ,CAC/D,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,KAAK,IAAkC,EAAE;IAC7E,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAyC,CAAC;IAEpG,iFAAiF;IACjF,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,kBAAkB,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QAChG,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,qBAAqB,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,8BAA8B,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;IAC3C,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,MAAiC;IACzE,OAAO;QACL,KAAK,CAAC,aAAa,CAAC,OAA6B;YAC/C,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAEjD,MAAM,UAAU,GAAG,qBAAqB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YACjE,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5C,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;YAEpF,IAAI,CAAC,MAAM,CAAC,wBAAwB,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACrH,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;YACpF,CAAC;YAED,OAAO;gBACL,KAAK;gBACL,YAAY,EAAE,iBAAiB;aAChC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACxD,OAA4B,EAC5B,MAAyC;IAEzC,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAyC,CAAC;IACpG,MAAM,qBAAqB,GAAG,KAAK,EAAE,UAAkB,EAAgB,EAAE;QACvE,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,aAAa,GAAG,SAAS,CAAC,aAAiD,CAAC;YAClF,MAAM,aAAa,GAAG,MAAM,CAAC,aAAsC,CAAC;YACpE,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YACrE,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACnD,OAAO,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAE1D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAoE,CAAC;IAC1F,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAE4B,CAAC;IAE5D,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IAE/B,uEAAuE;IACvE,wDAAwD;IACxD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;QAChC,MAAM,SAAS,GAAI,gBAAmD,CAAC,MAAM,IAAI,CAAC,CAAC;QACnF,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,IAAK,gBAA4D,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7F,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,YAMd,CAAC;QAEd,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAChG,CAAC;QAED,IAAI,GAAY,CAAC;QACjB,IAAI,OAAO,YAAY,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,GAAG,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,gCAAgC;YAClC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,OAAO,YAAY,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;YAC7D,MAAM,YAAY,CAAC,aAAa,EAAE,CAAC;YACnC,GAAG,GAAG,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,OAAO,YAAY,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YACnD,GAAG,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,IAAK,gBAA0E,CACpF,OAAO,CAAC,QAAQ,EAChB,GAAG,CACJ,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IAEL,oEAAoE;IACpE,+FAA+F;IAC/F,MAAM,mBAAmB,GAAG,MAAM,EAAE,mBAAmB,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IACrF,MAAM,cAAc,GAA8B;QAChD,IAAI;QACJ,OAAO,EAAE;YACP,aAAa,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE,CAEtC,OAAO,CAAC,aAIT,CAAC,OAAO,EAAE,mBAAmB,CAAC;SAClC;KACF,CAAC;IACF,IAAI,MAAM,EAAE,wBAAwB,KAAK,SAAS,EAAE,CAAC;QACnD,cAAc,CAAC,wBAAwB,GAAG,MAAM,CAAC,wBAAwB,CAAC;IAC5E,CAAC;IACD,OAAO,yBAAyB,CAAC;QAC/B,GAAG,cAAc;KAClB,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,2CAA2C,CAC/D,MAAyC;IAEzC,MAAM,OAAO,GAAG,MAAM,6BAA6B,EAAE,CAAC;IACtD,OAAO,oCAAoC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC/D,CAAC"}
@@ -1,10 +1,11 @@
1
- import { type Hex, type PaymentRequirement, type ShieldedNote } from '@shielded-x402/shared-types';
1
+ import { type Hex, type PaymentRequirement, type RelayerPayResponse, type ShieldedNote } from '@shielded-x402/shared-types';
2
2
  import { ShieldedClientSDK } from './client.js';
3
+ import type { Prepared402Payment } from './types.js';
3
4
  import type { MerkleWitness } from './merkle.js';
4
5
  export interface RelayedShieldedFetchContext {
5
6
  note: ShieldedNote;
6
7
  witness: MerkleWitness;
7
- payerPkHash: Hex;
8
+ nullifierSecret: Hex;
8
9
  }
9
10
  export interface ResolveRelayedContextArgs {
10
11
  input: string;
@@ -29,6 +30,12 @@ export interface CreateRelayedShieldedFetchConfig {
29
30
  requirement?: PaymentRequirement;
30
31
  }) => string | undefined;
31
32
  onUnsupportedRail?: (args: UnsupportedRelayedRailArgs) => Promise<Response>;
33
+ onSettlement?: (args: {
34
+ relayResponse: RelayerPayResponse;
35
+ prepared: Prepared402Payment;
36
+ context: RelayedShieldedFetchContext;
37
+ requirement: PaymentRequirement;
38
+ }) => Promise<void> | void;
32
39
  fetchImpl?: typeof fetch;
33
40
  }
34
41
  export type RelayedShieldedFetch = (input: string | URL, init?: RequestInit) => Promise<Response>;
@@ -1 +1 @@
1
- {"version":3,"file":"relayerFetch.d.ts","sourceRoot":"","sources":["../src/relayerFetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,GAAG,EACR,KAAK,kBAAkB,EAKvB,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,EAAE,GAAG,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,kBAAkB,CAAC;IAChC,iBAAiB,EAAE,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,kBAAkB,CAAC;IAChC,iBAAiB,EAAE,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,gCAAgC;IAC/C,GAAG,EAAE,iBAAiB,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC1F,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,kBAAkB,CAAA;KAAE,KAAK,MAAM,GAAG,SAAS,CAAC;IACzG,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5E,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAyHlG,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,gCAAgC,GAAG,oBAAoB,CAuHzG"}
1
+ {"version":3,"file":"relayerFetch.d.ts","sourceRoot":"","sources":["../src/relayerFetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,GAAG,EACR,KAAK,kBAAkB,EAKvB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,eAAe,EAAE,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,kBAAkB,CAAC;IAChC,iBAAiB,EAAE,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,kBAAkB,CAAC;IAChC,iBAAiB,EAAE,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,gCAAgC;IAC/C,GAAG,EAAE,iBAAiB,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC1F,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,kBAAkB,CAAA;KAAE,KAAK,MAAM,GAAG,SAAS,CAAC;IACzG,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5E,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QACpB,aAAa,EAAE,kBAAkB,CAAC;QAClC,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,OAAO,EAAE,2BAA2B,CAAC;QACrC,WAAW,EAAE,kBAAkB,CAAC;KACjC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AA+OlG,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,gCAAgC,GAAG,oBAAoB,CA+HzG"}
@@ -1,4 +1,4 @@
1
- import { parsePaymentRequiredEnvelope, parsePaymentRequiredHeader, RELAYER_ROUTES, X402_HEADERS } from '@shielded-x402/shared-types';
1
+ import { encodeX402Header, parsePaymentRequiredEnvelope, parsePaymentRequiredHeader, RELAYER_ROUTES, X402_HEADERS } from '@shielded-x402/shared-types';
2
2
  function normalizeInput(input) {
3
3
  if (typeof input === 'string')
4
4
  return input;
@@ -30,7 +30,7 @@ function serializedToFetchInit(method, serialized) {
30
30
  async function requestShieldedRequirementFromRelayer(baseFetch, relayerEndpoint, relayerChallengePath, merchantRequest, merchantPaymentRequiredHeader) {
31
31
  const challengeRequest = {
32
32
  merchantRequest,
33
- merchantPaymentRequiredHeader
33
+ ...(merchantPaymentRequiredHeader ? { merchantPaymentRequiredHeader } : {})
34
34
  };
35
35
  const response = await baseFetch(`${relayerEndpoint.replace(/\/$/, '')}${relayerChallengePath}`, {
36
36
  method: 'POST',
@@ -95,6 +95,116 @@ function toRelayResultResponse(relayResponse) {
95
95
  }
96
96
  });
97
97
  }
98
+ function getRecord(input) {
99
+ if (!input || typeof input !== 'object' || Array.isArray(input))
100
+ return undefined;
101
+ return input;
102
+ }
103
+ function getString(record, key) {
104
+ const value = record[key];
105
+ return typeof value === 'string' ? value : undefined;
106
+ }
107
+ function getIntegerString(record, key) {
108
+ const value = record[key];
109
+ if (typeof value === 'string') {
110
+ const trimmed = value.trim();
111
+ if (/^\d+$/.test(trimmed))
112
+ return trimmed;
113
+ if (trimmed.length > 0 && Number.isFinite(Number(trimmed)) && Number(trimmed) >= 0) {
114
+ return Math.trunc(Number(trimmed)).toString();
115
+ }
116
+ return undefined;
117
+ }
118
+ if (typeof value === 'number' && Number.isFinite(value) && value >= 0) {
119
+ return Math.trunc(value).toString();
120
+ }
121
+ if (typeof value === 'bigint' && value >= 0n) {
122
+ return value.toString();
123
+ }
124
+ return undefined;
125
+ }
126
+ function normalizeRequirementLike(input, fallbackResource) {
127
+ const extra = getRecord(input.extra);
128
+ const scheme = (getString(input, 'scheme') ?? getString(extra ?? {}, 'scheme') ?? 'exact').toLowerCase();
129
+ const network = getString(input, 'network') ?? getString(extra ?? {}, 'network');
130
+ const payTo = getString(input, 'payTo') ?? getString(input, 'to') ?? getString(extra ?? {}, 'payTo');
131
+ const asset = getString(input, 'asset') ?? getString(extra ?? {}, 'asset');
132
+ const amount = getIntegerString(input, 'amount') ??
133
+ getIntegerString(input, 'maxAmountRequired') ??
134
+ getIntegerString(extra ?? {}, 'amount') ??
135
+ getIntegerString(extra ?? {}, 'maxAmountRequired');
136
+ if (!scheme || !network || !payTo || !asset || !amount)
137
+ return undefined;
138
+ const normalized = {
139
+ scheme,
140
+ network,
141
+ amount,
142
+ payTo,
143
+ asset
144
+ };
145
+ normalized.resource = getString(input, 'resource') ?? getString(extra ?? {}, 'resource') ?? fallbackResource;
146
+ const description = getString(input, 'description') ?? getString(extra ?? {}, 'description');
147
+ if (description)
148
+ normalized.description = description;
149
+ const mimeType = getString(input, 'mimeType') ?? getString(extra ?? {}, 'mimeType');
150
+ if (mimeType)
151
+ normalized.mimeType = mimeType;
152
+ const rail = getString(input, 'rail') ?? getString(extra ?? {}, 'rail');
153
+ const challengeNonce = getString(input, 'challengeNonce') ?? getString(extra ?? {}, 'challengeNonce');
154
+ const challengeExpiry = getString(input, 'challengeExpiry') ?? getString(extra ?? {}, 'challengeExpiry');
155
+ const merchantPubKey = getString(input, 'merchantPubKey') ?? getString(extra ?? {}, 'merchantPubKey');
156
+ const verifyingContract = getString(input, 'verifyingContract') ?? getString(extra ?? {}, 'verifyingContract');
157
+ if (rail && challengeNonce && challengeExpiry && merchantPubKey && verifyingContract) {
158
+ normalized.rail = rail;
159
+ normalized.challengeNonce = challengeNonce;
160
+ normalized.challengeExpiry = challengeExpiry;
161
+ normalized.merchantPubKey = merchantPubKey;
162
+ normalized.verifyingContract = verifyingContract;
163
+ }
164
+ const maxTimeoutSeconds = input.maxTimeoutSeconds ?? extra?.maxTimeoutSeconds;
165
+ if (typeof maxTimeoutSeconds === 'number' && Number.isFinite(maxTimeoutSeconds)) {
166
+ normalized.maxTimeoutSeconds = Math.trunc(maxTimeoutSeconds);
167
+ }
168
+ if (input.outputSchema !== undefined)
169
+ normalized.outputSchema = input.outputSchema;
170
+ if (extra)
171
+ normalized.extra = extra;
172
+ return normalized;
173
+ }
174
+ async function resolvePaymentRequiredHeader(response, fallbackResource) {
175
+ const directHeader = response.headers.get(X402_HEADERS.paymentRequired);
176
+ if (directHeader)
177
+ return directHeader;
178
+ let bodyRecord;
179
+ try {
180
+ bodyRecord = getRecord((await response.clone().json()));
181
+ }
182
+ catch {
183
+ bodyRecord = undefined;
184
+ }
185
+ if (!bodyRecord)
186
+ return undefined;
187
+ const candidates = [];
188
+ if (Array.isArray(bodyRecord.accepts))
189
+ candidates.push(...bodyRecord.accepts);
190
+ if (Array.isArray(bodyRecord.requirements))
191
+ candidates.push(...bodyRecord.requirements);
192
+ if (candidates.length === 0)
193
+ candidates.push(bodyRecord);
194
+ const normalizedAccept = candidates
195
+ .map((entry) => getRecord(entry))
196
+ .filter((entry) => Boolean(entry))
197
+ .map((entry) => normalizeRequirementLike(entry, fallbackResource))
198
+ .find((entry) => Boolean(entry));
199
+ if (!normalizedAccept)
200
+ return undefined;
201
+ const envelope = {
202
+ x402Version: 2,
203
+ accepts: [normalizedAccept],
204
+ ...(typeof bodyRecord.error === 'string' ? { error: bodyRecord.error } : {})
205
+ };
206
+ return encodeX402Header(envelope);
207
+ }
98
208
  export function createRelayedShieldedFetch(config) {
99
209
  const baseFetch = config.fetchImpl ?? fetch;
100
210
  const relayerPath = config.relayerPath ?? RELAYER_ROUTES.pay;
@@ -115,7 +225,7 @@ export function createRelayedShieldedFetch(config) {
115
225
  const first = await baseFetch(normalizedInput, serializedToFetchInit(method, serializedRequest));
116
226
  if (first.status !== 402)
117
227
  return first;
118
- const merchantRequiredHeader = first.headers.get(X402_HEADERS.paymentRequired);
228
+ const merchantRequiredHeader = await resolvePaymentRequiredHeader(first, normalizedInput);
119
229
  if (!merchantRequiredHeader) {
120
230
  throw new Error(`missing ${X402_HEADERS.paymentRequired} header`);
121
231
  }
@@ -123,7 +233,7 @@ export function createRelayedShieldedFetch(config) {
123
233
  let requirement;
124
234
  let parsedRequirement;
125
235
  try {
126
- parsedRequirement = config.sdk.parse402Response(first).requirement;
236
+ parsedRequirement = parsePaymentRequiredHeader(merchantRequiredHeader);
127
237
  }
128
238
  catch {
129
239
  parsedRequirement = undefined;
@@ -164,7 +274,7 @@ export function createRelayedShieldedFetch(config) {
164
274
  requirement,
165
275
  challengeResponse: first
166
276
  });
167
- const prepared = await config.sdk.prepare402Payment(requirement, context.note, context.witness, context.payerPkHash, serializedRequest.headers);
277
+ const prepared = await config.sdk.prepare402Payment(requirement, context.note, context.witness, context.nullifierSecret, serializedRequest.headers);
168
278
  const paymentSignatureHeader = prepared.headers.get(X402_HEADERS.paymentSignature);
169
279
  if (!paymentSignatureHeader) {
170
280
  throw new Error('failed to build relayer payment headers');
@@ -189,6 +299,14 @@ export function createRelayedShieldedFetch(config) {
189
299
  body: JSON.stringify(relayRequest)
190
300
  });
191
301
  const relayPayload = (await relayerResponse.json());
302
+ if (config.onSettlement) {
303
+ await config.onSettlement({
304
+ relayResponse: relayPayload,
305
+ prepared,
306
+ context,
307
+ requirement
308
+ });
309
+ }
192
310
  return toRelayResultResponse(relayPayload);
193
311
  };
194
312
  }
@@ -1 +1 @@
1
- {"version":3,"file":"relayerFetch.js","sourceRoot":"","sources":["../src/relayerFetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relayerFetch.js","sourceRoot":"","sources":["../src/relayerFetch.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { type Hex, type PaymentRequirement, type ShieldedNote } from '@shielded-x402/shared-types';
2
2
  import { ShieldedClientSDK } from './client.js';
3
3
  import type { MerkleWitness } from './merkle.js';
4
+ import { type CreateRelayedShieldedFetchConfig } from './relayerFetch.js';
4
5
  export interface ShieldedFetchContext {
5
6
  note: ShieldedNote;
6
7
  witness: MerkleWitness;
7
- payerPkHash: Hex;
8
+ nullifierSecret: Hex;
8
9
  }
9
10
  export interface ResolveShieldedContextArgs {
10
11
  input: string;
@@ -33,6 +34,7 @@ export interface CreateShieldedFetchConfig {
33
34
  input: string;
34
35
  requirement?: PaymentRequirement;
35
36
  }) => string | undefined;
37
+ onRelayerSettlement?: CreateRelayedShieldedFetchConfig['onSettlement'];
36
38
  }
37
39
  export type ShieldedFetch = (input: string | URL, init?: RequestInit) => Promise<Response>;
38
40
  export declare function createShieldedFetch(config: CreateShieldedFetchConfig): ShieldedFetch;
@@ -1 +1 @@
1
- {"version":3,"file":"shieldedFetch.d.ts","sourceRoot":"","sources":["../src/shieldedFetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,GAAG,EACR,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMjD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,EAAE,GAAG,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,kBAAkB,CAAC;IAChC,iBAAiB,EAAE,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,kBAAkB,CAAC;IAChC,iBAAiB,EAAE,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,iBAAiB,CAAC;IACvB,cAAc,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACpF,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrE,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACzG,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,kBAAkB,CAAA;KAAE,KAAK,MAAM,GAAG,SAAS,CAAC;CAC1G;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAO3F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,GAAG,aAAa,CAiGpF"}
1
+ {"version":3,"file":"shieldedFetch.d.ts","sourceRoot":"","sources":["../src/shieldedFetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,GAAG,EACR,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,eAAe,EAAE,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,kBAAkB,CAAC;IAChC,iBAAiB,EAAE,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,kBAAkB,CAAC;IAChC,iBAAiB,EAAE,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,iBAAiB,CAAC;IACvB,cAAc,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACpF,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrE,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACzG,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,kBAAkB,CAAA;KAAE,KAAK,MAAM,GAAG,SAAS,CAAC;IACzG,mBAAmB,CAAC,EAAE,gCAAgC,CAAC,cAAc,CAAC,CAAC;CACxE;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAO3F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,GAAG,aAAa,CAoGpF"}
@@ -24,6 +24,9 @@ export function createShieldedFetch(config) {
24
24
  if (config.challengeUrlResolver) {
25
25
  relayedConfig.challengeUrlResolver = config.challengeUrlResolver;
26
26
  }
27
+ if (config.onRelayerSettlement) {
28
+ relayedConfig.onSettlement = config.onRelayerSettlement;
29
+ }
27
30
  return createRelayedShieldedFetch(relayedConfig);
28
31
  }
29
32
  const baseFetch = config.fetchImpl ?? fetch;
@@ -49,7 +52,7 @@ export function createShieldedFetch(config) {
49
52
  requirement: prefetched,
50
53
  challengeResponse: syntheticChallenge
51
54
  });
52
- const prepared = await config.sdk.prepare402Payment(prefetched, context.note, context.witness, context.payerPkHash, requestInit.headers);
55
+ const prepared = await config.sdk.prepare402Payment(prefetched, context.note, context.witness, context.nullifierSecret, requestInit.headers);
53
56
  first = await baseFetch(normalizedInput, {
54
57
  ...requestInit,
55
58
  headers: prepared.headers
@@ -82,7 +85,7 @@ export function createShieldedFetch(config) {
82
85
  requirement: parsed.requirement,
83
86
  challengeResponse: first
84
87
  });
85
- return config.sdk.complete402Payment(normalizedInput, requestInit, parsed.requirement, context.note, context.witness, context.payerPkHash, baseFetch);
88
+ return config.sdk.complete402Payment(normalizedInput, requestInit, parsed.requirement, context.note, context.witness, context.nullifierSecret, baseFetch);
86
89
  };
87
90
  }
88
91
  //# sourceMappingURL=shieldedFetch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shieldedFetch.js","sourceRoot":"","sources":["../src/shieldedFetch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,0BAA0B,EAI3B,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,0BAA0B,EAE3B,MAAM,mBAAmB,CAAC;AAmC3B,MAAM,cAAc,GAAG,CAAC,KAAmB,EAAU,EAAE;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,MAAiC;IACnE,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,MAAM,aAAa,GAAqC;YACtD,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC;QACF,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,aAAa,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAC7D,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,aAAa,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACjD,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAC7C,CAAC;QACD,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAChC,aAAa,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;QACnE,CAAC;QACD,OAAO,0BAA0B,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC;IAC5C,OAAO,KAAK,EAAE,KAAmB,EAAE,IAAkB,EAAqB,EAAE;QAC1E,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAgB,IAAI,IAAI,EAAE,CAAC;QAC5C,IAAI,KAAK,GAAoB,IAAI,CAAC;QAElC,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC;gBAClD,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,WAAW;aAClB,CAAC,CAAC;YACH,IAAI,UAAU,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;gBACzC,MAAM,kBAAkB,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;oBAC5C,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE;wBACP,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,0BAA0B,CAAC,UAAU,CAAC;qBACvE;iBACF,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC;oBAC1C,KAAK,EAAE,eAAe;oBACtB,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,UAAU;oBACvB,iBAAiB,EAAE,kBAAkB;iBACtC,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,CACjD,UAAU,EACV,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,WAAW,EACnB,WAAW,CAAC,OAAO,CACpB,CAAC;gBACF,KAAK,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE;oBACvC,GAAG,WAAW;oBACd,OAAO,EAAE,QAAQ,CAAC,OAAO;iBAC1B,CAAC,CAAC;gBACH,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACzB,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAChD,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,OAAO,MAAM,CAAC,iBAAiB,CAAC;oBAC9B,KAAK,EAAE,eAAe;oBACtB,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,iBAAiB,EAAE,KAAK;iBACzB,CAAC,CAAC;YACL,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC;YAC1C,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAClC,eAAe,EACf,WAAW,EACX,MAAM,CAAC,WAAW,EAClB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,WAAW,EACnB,SAAS,CACV,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"shieldedFetch.js","sourceRoot":"","sources":["../src/shieldedFetch.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -24,6 +24,7 @@ export interface SpendBuildParams {
24
24
  note: ShieldedNote;
25
25
  witness: MerkleWitness;
26
26
  nullifierSecret: Hex;
27
+ changeNullifierSecret?: Hex;
27
28
  merchantPubKey: Hex;
28
29
  merchantRho?: Hex;
29
30
  merchantAddress: Hex;
@@ -35,6 +36,7 @@ export interface SpendBuildParams {
35
36
  export interface SpendProofBundle {
36
37
  response: ShieldedPaymentResponse;
37
38
  changeNote: ShieldedNote;
39
+ changeNullifierSecret: Hex;
38
40
  merchantRho: Hex;
39
41
  }
40
42
  export interface ShieldedClientConfig {
@@ -53,5 +55,7 @@ export interface Prepared402Payment {
53
55
  requirement: PaymentRequirement;
54
56
  headers: Headers;
55
57
  response: ShieldedPaymentResponse;
58
+ changeNote: ShieldedNote;
59
+ changeNullifierSecret: Hex;
56
60
  }
57
61
  //# sourceMappingURL=types.d.ts.map
@@ -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,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,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;CACnC"}
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,7 +1,9 @@
1
- import type { Hex, ShieldedNote } from '@shielded-x402/shared-types';
1
+ import type { Hex, RelayerSettlementDelta, ShieldedNote } from '@shielded-x402/shared-types';
2
2
  import type { MerkleWitness } from './merkle.js';
3
3
  export interface WalletNoteRecord extends ShieldedNote {
4
+ nullifierSecret: Hex;
4
5
  depositBlock?: bigint;
6
+ spent?: boolean;
5
7
  }
6
8
  export interface WalletStateSnapshot {
7
9
  poolAddress: Hex;
@@ -12,7 +14,7 @@ export interface WalletStateSnapshot {
12
14
  export interface ShieldedSpendContext {
13
15
  note: ShieldedNote;
14
16
  witness: MerkleWitness;
15
- payerPkHash: Hex;
17
+ nullifierSecret: Hex;
16
18
  }
17
19
  export interface WalletSyncResult {
18
20
  fromBlock: bigint;
@@ -22,7 +24,8 @@ export interface WalletSyncResult {
22
24
  }
23
25
  export interface FileBackedWalletStateConfig {
24
26
  filePath: string;
25
- rpcUrl: string;
27
+ rpcUrl?: string;
28
+ indexerGraphqlUrl?: string;
26
29
  shieldedPoolAddress: Hex;
27
30
  startBlock?: bigint;
28
31
  confirmations?: bigint;
@@ -31,10 +34,12 @@ export interface FileBackedWalletStateConfig {
31
34
  export declare class FileBackedWalletState {
32
35
  private readonly filePath;
33
36
  private readonly rpcUrl;
37
+ private readonly indexerGraphqlUrl;
34
38
  private readonly shieldedPoolAddress;
35
39
  private readonly confirmations;
36
40
  private readonly chunkSize;
37
41
  private readonly startBlock;
42
+ private indexerFieldNames?;
38
43
  private state;
39
44
  private constructor();
40
45
  static create(config: FileBackedWalletStateConfig): Promise<FileBackedWalletState>;
@@ -42,15 +47,24 @@ export declare class FileBackedWalletState {
42
47
  persist(): Promise<void>;
43
48
  snapshot(): WalletStateSnapshot;
44
49
  getNotes(): WalletNoteRecord[];
45
- addOrUpdateNote(note: ShieldedNote, depositBlock?: bigint): Promise<void>;
50
+ addOrUpdateNote(note: ShieldedNote, nullifierSecret: Hex, depositBlock?: bigint): Promise<void>;
51
+ markNoteSpent(commitment: Hex): Promise<boolean>;
46
52
  recordSpendOutputs(params: {
47
53
  merchantCommitment: Hex;
48
54
  changeCommitment: Hex;
49
55
  merchantLeafIndex?: number;
50
56
  changeLeafIndex?: number;
51
57
  }): Promise<void>;
58
+ applyRelayerSettlement(params: {
59
+ settlementDelta?: RelayerSettlementDelta;
60
+ changeNote?: ShieldedNote;
61
+ changeNullifierSecret?: Hex;
62
+ spentNoteCommitment?: Hex;
63
+ }): Promise<void>;
52
64
  sync(): Promise<WalletSyncResult>;
53
- getSpendContextByCommitment(commitment: Hex, payerPkHash: Hex): ShieldedSpendContext;
65
+ private syncFromIndexer;
66
+ private fetchIndexerEvents;
67
+ getSpendContextByCommitment(commitment: Hex): ShieldedSpendContext;
54
68
  private findLeafIndex;
55
69
  }
56
70
  //# sourceMappingURL=walletState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"walletState.d.ts","sourceRoot":"","sources":["../src/walletState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA8BjD,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,GAAG,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,EAAE,GAAG,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,GAAG,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoDD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,KAAK,CAAsB;IAEnC,OAAO;WAcM,MAAM,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAMlF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B,QAAQ,IAAI,mBAAmB;IAS/B,QAAQ,IAAI,gBAAgB,EAAE;IAIxB,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBzE,kBAAkB,CAAC,MAAM,EAAE;QAC/B,kBAAkB,EAAE,GAAG,CAAC;QACxB,gBAAgB,EAAE,GAAG,CAAC;QACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,IAAI,CAAC;IAUX,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAyHvC,2BAA2B,CAAC,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,oBAAoB;IA6BpF,OAAO,CAAC,aAAa;CAStB"}
1
+ {"version":3,"file":"walletState.d.ts","sourceRoot":"","sources":["../src/walletState.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ function normalizeHex(value) {
10
10
  }
11
11
  function serialize(state, poolAddress) {
12
12
  return {
13
- version: 1,
13
+ version: 2,
14
14
  poolAddress,
15
15
  lastSyncedBlock: state.lastSyncedBlock.toString(),
16
16
  commitments: state.commitments,
@@ -18,9 +18,11 @@ function serialize(state, poolAddress) {
18
18
  amount: note.amount.toString(),
19
19
  rho: note.rho,
20
20
  pkHash: note.pkHash,
21
+ nullifierSecret: note.nullifierSecret,
21
22
  commitment: note.commitment,
22
23
  leafIndex: note.leafIndex,
23
- ...(note.depositBlock !== undefined ? { depositBlock: note.depositBlock.toString() } : {})
24
+ ...(note.depositBlock !== undefined ? { depositBlock: note.depositBlock.toString() } : {}),
25
+ ...(note.spent !== undefined ? { spent: note.spent } : {})
24
26
  }))
25
27
  };
26
28
  }
@@ -32,23 +34,28 @@ function deserialize(payload) {
32
34
  amount: BigInt(note.amount),
33
35
  rho: note.rho,
34
36
  pkHash: note.pkHash,
37
+ nullifierSecret: note.nullifierSecret,
35
38
  commitment: note.commitment,
36
39
  leafIndex: note.leafIndex,
37
- ...(note.depositBlock !== undefined ? { depositBlock: BigInt(note.depositBlock) } : {})
40
+ ...(note.depositBlock !== undefined ? { depositBlock: BigInt(note.depositBlock) } : {}),
41
+ ...(note.spent !== undefined ? { spent: note.spent } : {})
38
42
  }))
39
43
  };
40
44
  }
41
45
  export class FileBackedWalletState {
42
46
  filePath;
43
47
  rpcUrl;
48
+ indexerGraphqlUrl;
44
49
  shieldedPoolAddress;
45
50
  confirmations;
46
51
  chunkSize;
47
52
  startBlock;
53
+ indexerFieldNames;
48
54
  state;
49
55
  constructor(config) {
50
56
  this.filePath = config.filePath;
51
57
  this.rpcUrl = config.rpcUrl;
58
+ this.indexerGraphqlUrl = config.indexerGraphqlUrl;
52
59
  this.shieldedPoolAddress = config.shieldedPoolAddress;
53
60
  this.confirmations = config.confirmations ?? 2n;
54
61
  this.chunkSize = config.chunkSize ?? 2000n;
@@ -68,7 +75,7 @@ export class FileBackedWalletState {
68
75
  try {
69
76
  const raw = await readFile(this.filePath, 'utf8');
70
77
  const parsed = JSON.parse(raw);
71
- if (parsed.version !== 1) {
78
+ if (parsed.version !== 2) {
72
79
  throw new Error(`unsupported wallet state version: ${String(parsed.version)}`);
73
80
  }
74
81
  if (normalizeHex(parsed.poolAddress) !== normalizeHex(this.shieldedPoolAddress)) {
@@ -101,12 +108,15 @@ export class FileBackedWalletState {
101
108
  getNotes() {
102
109
  return this.state.notes.map((note) => ({ ...note }));
103
110
  }
104
- async addOrUpdateNote(note, depositBlock) {
111
+ async addOrUpdateNote(note, nullifierSecret, depositBlock) {
105
112
  const normalizedCommitment = normalizeHex(note.commitment);
106
113
  const existingIndex = this.state.notes.findIndex((candidate) => normalizeHex(candidate.commitment) === normalizedCommitment);
114
+ const existing = existingIndex >= 0 ? this.state.notes[existingIndex] : undefined;
107
115
  const record = {
108
116
  ...note,
109
- ...(depositBlock !== undefined ? { depositBlock } : {})
117
+ nullifierSecret,
118
+ ...(depositBlock !== undefined ? { depositBlock } : {}),
119
+ ...(existing?.spent !== undefined ? { spent: existing.spent } : {})
110
120
  };
111
121
  if (existingIndex >= 0) {
112
122
  this.state.notes[existingIndex] = record;
@@ -119,17 +129,61 @@ export class FileBackedWalletState {
119
129
  }
120
130
  await this.persist();
121
131
  }
132
+ async markNoteSpent(commitment) {
133
+ const normalized = normalizeHex(commitment);
134
+ const existingIndex = this.state.notes.findIndex((candidate) => normalizeHex(candidate.commitment) === normalized);
135
+ if (existingIndex < 0) {
136
+ return false;
137
+ }
138
+ const note = this.state.notes[existingIndex];
139
+ if (!note) {
140
+ return false;
141
+ }
142
+ if (note.spent) {
143
+ return true;
144
+ }
145
+ note.spent = true;
146
+ await this.persist();
147
+ return true;
148
+ }
122
149
  async recordSpendOutputs(params) {
123
150
  if (params.merchantLeafIndex !== undefined && params.changeLeafIndex !== undefined) {
124
151
  this.state.commitments[params.merchantLeafIndex] = params.merchantCommitment;
125
152
  this.state.commitments[params.changeLeafIndex] = params.changeCommitment;
126
153
  }
127
- else {
128
- this.state.commitments.push(params.merchantCommitment, params.changeCommitment);
129
- }
130
154
  await this.persist();
131
155
  }
156
+ async applyRelayerSettlement(params) {
157
+ if (params.spentNoteCommitment) {
158
+ await this.markNoteSpent(params.spentNoteCommitment);
159
+ }
160
+ const delta = params.settlementDelta;
161
+ if (!delta)
162
+ return;
163
+ await this.recordSpendOutputs({
164
+ merchantCommitment: delta.merchantCommitment,
165
+ changeCommitment: delta.changeCommitment,
166
+ ...(delta.merchantLeafIndex !== undefined ? { merchantLeafIndex: delta.merchantLeafIndex } : {}),
167
+ ...(delta.changeLeafIndex !== undefined ? { changeLeafIndex: delta.changeLeafIndex } : {})
168
+ });
169
+ if (params.changeNote) {
170
+ const changeLeafIndex = delta.changeLeafIndex ?? -1;
171
+ if (!params.changeNullifierSecret) {
172
+ throw new Error('applyRelayerSettlement requires changeNullifierSecret when changeNote is provided');
173
+ }
174
+ await this.addOrUpdateNote({
175
+ ...params.changeNote,
176
+ leafIndex: changeLeafIndex
177
+ }, params.changeNullifierSecret, this.state.lastSyncedBlock >= 0n ? this.state.lastSyncedBlock : undefined);
178
+ }
179
+ }
132
180
  async sync() {
181
+ if (this.indexerGraphqlUrl) {
182
+ return this.syncFromIndexer();
183
+ }
184
+ if (!this.rpcUrl) {
185
+ throw new Error('wallet state sync requires either rpcUrl or indexerGraphqlUrl');
186
+ }
133
187
  const client = createPublicClient({
134
188
  transport: http(this.rpcUrl)
135
189
  });
@@ -237,12 +291,196 @@ export class FileBackedWalletState {
237
291
  spendsApplied
238
292
  };
239
293
  }
240
- getSpendContextByCommitment(commitment, payerPkHash) {
294
+ async syncFromIndexer() {
295
+ const fromBlock = this.state.lastSyncedBlock + 1n;
296
+ const { deposits, spends, maxBlockNumber } = await this.fetchIndexerEvents();
297
+ const writes = [];
298
+ let depositsApplied = 0;
299
+ let spendsApplied = 0;
300
+ for (const deposit of deposits) {
301
+ const { blockNumber, logIndex } = parseEventPositionFromId(deposit.id);
302
+ writes.push({
303
+ blockNumber,
304
+ logIndex,
305
+ order: 0,
306
+ leafIndex: Number(deposit.leafIndex),
307
+ commitment: deposit.commitment
308
+ });
309
+ depositsApplied += 1;
310
+ }
311
+ for (const spend of spends) {
312
+ const { blockNumber, logIndex } = parseEventPositionFromId(spend.id);
313
+ writes.push({
314
+ blockNumber,
315
+ logIndex,
316
+ order: 0,
317
+ leafIndex: Number(spend.merchantLeafIndex),
318
+ commitment: spend.merchantCommitment
319
+ });
320
+ writes.push({
321
+ blockNumber,
322
+ logIndex,
323
+ order: 1,
324
+ leafIndex: Number(spend.changeLeafIndex),
325
+ commitment: spend.changeCommitment
326
+ });
327
+ spendsApplied += 1;
328
+ }
329
+ writes.sort((a, b) => {
330
+ if (a.blockNumber !== b.blockNumber)
331
+ return a.blockNumber < b.blockNumber ? -1 : 1;
332
+ if (a.logIndex !== b.logIndex)
333
+ return a.logIndex < b.logIndex ? -1 : 1;
334
+ return a.order - b.order;
335
+ });
336
+ for (const write of writes) {
337
+ if (write.leafIndex < 0)
338
+ continue;
339
+ this.state.commitments[write.leafIndex] = write.commitment;
340
+ const normalized = normalizeHex(write.commitment);
341
+ for (let i = 0; i < this.state.notes.length; i += 1) {
342
+ const note = this.state.notes[i];
343
+ if (!note)
344
+ continue;
345
+ if (normalizeHex(note.commitment) !== normalized)
346
+ continue;
347
+ note.leafIndex = write.leafIndex;
348
+ if (note.depositBlock === undefined) {
349
+ note.depositBlock = write.blockNumber;
350
+ }
351
+ }
352
+ }
353
+ const targetBlock = maxBlockNumber >= this.state.lastSyncedBlock ? maxBlockNumber : this.state.lastSyncedBlock;
354
+ this.state.lastSyncedBlock = targetBlock;
355
+ await this.persist();
356
+ return {
357
+ fromBlock,
358
+ toBlock: targetBlock,
359
+ depositsApplied,
360
+ spendsApplied
361
+ };
362
+ }
363
+ async fetchIndexerEvents() {
364
+ if (!this.indexerGraphqlUrl) {
365
+ throw new Error('indexerGraphqlUrl is not configured');
366
+ }
367
+ const endpoint = this.indexerGraphqlUrl;
368
+ const post = async (query, variables) => {
369
+ const response = await fetch(endpoint, {
370
+ method: 'POST',
371
+ headers: {
372
+ 'content-type': 'application/json'
373
+ },
374
+ body: JSON.stringify({
375
+ query,
376
+ ...(variables ? { variables } : {})
377
+ })
378
+ });
379
+ if (!response.ok) {
380
+ const text = await response.text();
381
+ throw new Error(`indexer graphql request failed: ${response.status} ${text}`);
382
+ }
383
+ const payload = (await response.json());
384
+ if (payload.errors && payload.errors.length > 0) {
385
+ const message = payload.errors.map((error) => error.message ?? 'unknown error').join('; ');
386
+ throw new Error(`indexer graphql error: ${message}`);
387
+ }
388
+ if (!payload.data) {
389
+ throw new Error('indexer graphql response missing data');
390
+ }
391
+ return payload.data;
392
+ };
393
+ if (!this.indexerFieldNames) {
394
+ const introspection = await post(`query WalletIndexerFields { __schema { queryType { fields { name } } } }`);
395
+ const fieldNames = introspection.__schema.queryType.fields.map((field) => field.name);
396
+ const pickField = (needle) => fieldNames.find((name) => name.toLowerCase().includes(needle) &&
397
+ !name.toLowerCase().includes('aggregate') &&
398
+ !name.toLowerCase().includes('by_pk'));
399
+ const deposits = pickField('shieldedpool_deposited');
400
+ const spends = pickField('shieldedpool_spent');
401
+ if (!deposits || !spends) {
402
+ throw new Error(`unable to detect Envio fields for deposits/spends at ${endpoint}; available fields: ${fieldNames.join(', ')}`);
403
+ }
404
+ this.indexerFieldNames = { deposits, spends };
405
+ }
406
+ const depositsField = this.indexerFieldNames.deposits;
407
+ const spendsField = this.indexerFieldNames.spends;
408
+ const withPaginationQuery = `
409
+ query WalletIndexerData($limit: Int!, $offset: Int!) {
410
+ deposits: ${depositsField}(limit: $limit, offset: $offset) {
411
+ id
412
+ commitment
413
+ leafIndex
414
+ }
415
+ spends: ${spendsField}(limit: $limit, offset: $offset) {
416
+ id
417
+ merchantCommitment
418
+ changeCommitment
419
+ merchantLeafIndex
420
+ changeLeafIndex
421
+ }
422
+ }
423
+ `;
424
+ const fullQuery = `
425
+ query WalletIndexerDataAll {
426
+ deposits: ${depositsField} {
427
+ id
428
+ commitment
429
+ leafIndex
430
+ }
431
+ spends: ${spendsField} {
432
+ id
433
+ merchantCommitment
434
+ changeCommitment
435
+ merchantLeafIndex
436
+ changeLeafIndex
437
+ }
438
+ }
439
+ `;
440
+ let deposits = [];
441
+ let spends = [];
442
+ try {
443
+ const pageSize = 500;
444
+ let offset = 0;
445
+ while (true) {
446
+ const page = await post(withPaginationQuery, { limit: pageSize, offset });
447
+ deposits = deposits.concat(page.deposits);
448
+ spends = spends.concat(page.spends);
449
+ if (page.deposits.length < pageSize && page.spends.length < pageSize) {
450
+ break;
451
+ }
452
+ offset += pageSize;
453
+ }
454
+ }
455
+ catch {
456
+ const data = await post(fullQuery);
457
+ deposits = data.deposits;
458
+ spends = data.spends;
459
+ }
460
+ let maxBlockNumber = this.state.lastSyncedBlock;
461
+ for (const deposit of deposits) {
462
+ const position = parseEventPositionFromId(deposit.id);
463
+ if (position.blockNumber > maxBlockNumber) {
464
+ maxBlockNumber = position.blockNumber;
465
+ }
466
+ }
467
+ for (const spend of spends) {
468
+ const position = parseEventPositionFromId(spend.id);
469
+ if (position.blockNumber > maxBlockNumber) {
470
+ maxBlockNumber = position.blockNumber;
471
+ }
472
+ }
473
+ return { deposits, spends, maxBlockNumber };
474
+ }
475
+ getSpendContextByCommitment(commitment) {
241
476
  const normalized = normalizeHex(commitment);
242
477
  const note = this.state.notes.find((candidate) => normalizeHex(candidate.commitment) === normalized);
243
478
  if (!note) {
244
479
  throw new Error(`note not found in wallet state for commitment ${commitment}; add note secrets first with addOrUpdateNote()`);
245
480
  }
481
+ if (note.spent) {
482
+ throw new Error(`note ${commitment} is marked spent in wallet state`);
483
+ }
246
484
  const leafIndex = note.leafIndex >= 0 ? note.leafIndex : this.findLeafIndex(commitment);
247
485
  if (leafIndex < 0) {
248
486
  throw new Error(`leaf index unknown for note ${commitment}; run sync() or set NOTE_LEAF_INDEX before proving`);
@@ -256,7 +494,7 @@ export class FileBackedWalletState {
256
494
  return {
257
495
  note: { ...note, leafIndex },
258
496
  witness,
259
- payerPkHash
497
+ nullifierSecret: note.nullifierSecret
260
498
  };
261
499
  }
262
500
  findLeafIndex(commitment) {
@@ -271,4 +509,18 @@ export class FileBackedWalletState {
271
509
  return -1;
272
510
  }
273
511
  }
512
+ function parseEventPositionFromId(id) {
513
+ const segments = id.split('_');
514
+ if (segments.length < 3) {
515
+ return { blockNumber: 0n, logIndex: 0 };
516
+ }
517
+ const maybeBlock = segments[segments.length - 2] ?? '0';
518
+ const maybeLogIndex = segments[segments.length - 1] ?? '0';
519
+ try {
520
+ return { blockNumber: BigInt(maybeBlock), logIndex: Number(maybeLogIndex) };
521
+ }
522
+ catch {
523
+ return { blockNumber: 0n, logIndex: 0 };
524
+ }
525
+ }
274
526
  //# sourceMappingURL=walletState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"walletState.js","sourceRoot":"","sources":["../src/walletState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walletState.js","sourceRoot":"","sources":["../src/walletState.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shielded-x402/client",
3
- "version": "0.2.3",
3
+ "version": "0.3.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -17,11 +17,11 @@
17
17
  "access": "public"
18
18
  },
19
19
  "dependencies": {
20
- "@shielded-x402/shared-types": "^0.2.2",
20
+ "@shielded-x402/shared-types": "^0.3.0",
21
21
  "viem": "^2.39.3"
22
22
  },
23
23
  "peerDependencies": {
24
- "@aztec/bb.js": "^2.1.11",
24
+ "@aztec/bb.js": ">=2.1.11 <4.0.0",
25
25
  "@noir-lang/noir_js": ">=1.0.0-beta.18 <2.0.0"
26
26
  },
27
27
  "peerDependenciesMeta": {