@aztec/prover-client 3.0.0-nightly.20250917 → 3.0.0-nightly.20250919

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 (65) hide show
  1. package/dest/block-factory/light.d.ts +5 -3
  2. package/dest/block-factory/light.d.ts.map +1 -1
  3. package/dest/block-factory/light.js +16 -9
  4. package/dest/mocks/fixtures.d.ts +3 -1
  5. package/dest/mocks/fixtures.d.ts.map +1 -1
  6. package/dest/mocks/fixtures.js +19 -2
  7. package/dest/mocks/test_context.d.ts +30 -9
  8. package/dest/mocks/test_context.d.ts.map +1 -1
  9. package/dest/mocks/test_context.js +68 -15
  10. package/dest/orchestrator/block-building-helpers.d.ts +16 -14
  11. package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
  12. package/dest/orchestrator/block-building-helpers.js +69 -66
  13. package/dest/orchestrator/block-proving-state.d.ts +59 -52
  14. package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
  15. package/dest/orchestrator/block-proving-state.js +215 -187
  16. package/dest/orchestrator/checkpoint-proving-state.d.ts +62 -0
  17. package/dest/orchestrator/checkpoint-proving-state.d.ts.map +1 -0
  18. package/dest/orchestrator/checkpoint-proving-state.js +208 -0
  19. package/dest/orchestrator/epoch-proving-state.d.ts +32 -25
  20. package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
  21. package/dest/orchestrator/epoch-proving-state.js +132 -81
  22. package/dest/orchestrator/orchestrator.d.ts +25 -24
  23. package/dest/orchestrator/orchestrator.d.ts.map +1 -1
  24. package/dest/orchestrator/orchestrator.js +331 -203
  25. package/dest/orchestrator/tx-proving-state.d.ts +3 -3
  26. package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
  27. package/dest/orchestrator/tx-proving-state.js +5 -5
  28. package/dest/prover-client/server-epoch-prover.d.ts +8 -7
  29. package/dest/prover-client/server-epoch-prover.d.ts.map +1 -1
  30. package/dest/prover-client/server-epoch-prover.js +7 -7
  31. package/dest/proving_broker/broker_prover_facade.d.ts +18 -13
  32. package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
  33. package/dest/proving_broker/broker_prover_facade.js +36 -21
  34. package/dest/proving_broker/fixtures.js +1 -1
  35. package/dest/proving_broker/proof_store/index.d.ts +1 -0
  36. package/dest/proving_broker/proof_store/index.d.ts.map +1 -1
  37. package/dest/proving_broker/proof_store/index.js +1 -0
  38. package/dest/proving_broker/proving_broker.d.ts.map +1 -1
  39. package/dest/proving_broker/proving_broker.js +27 -16
  40. package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
  41. package/dest/proving_broker/proving_job_controller.js +34 -14
  42. package/dest/test/mock_prover.d.ts +18 -13
  43. package/dest/test/mock_prover.d.ts.map +1 -1
  44. package/dest/test/mock_prover.js +31 -16
  45. package/package.json +16 -17
  46. package/src/block-factory/light.ts +33 -9
  47. package/src/mocks/fixtures.ts +25 -7
  48. package/src/mocks/test_context.ts +113 -21
  49. package/src/orchestrator/block-building-helpers.ts +107 -93
  50. package/src/orchestrator/block-proving-state.ts +232 -244
  51. package/src/orchestrator/checkpoint-proving-state.ts +294 -0
  52. package/src/orchestrator/epoch-proving-state.ts +169 -121
  53. package/src/orchestrator/orchestrator.ts +483 -262
  54. package/src/orchestrator/tx-proving-state.ts +6 -6
  55. package/src/prover-client/server-epoch-prover.ts +30 -16
  56. package/src/proving_broker/broker_prover_facade.ts +151 -83
  57. package/src/proving_broker/fixtures.ts +1 -1
  58. package/src/proving_broker/proof_store/index.ts +1 -0
  59. package/src/proving_broker/proving_broker.ts +34 -16
  60. package/src/proving_broker/proving_job_controller.ts +34 -14
  61. package/src/test/mock_prover.ts +125 -54
  62. package/dest/bin/get-proof-inputs.d.ts +0 -2
  63. package/dest/bin/get-proof-inputs.d.ts.map +0 -1
  64. package/dest/bin/get-proof-inputs.js +0 -51
  65. package/src/bin/get-proof-inputs.ts +0 -59
@@ -18,29 +18,36 @@ import {
18
18
  makePublicInputsAndRecursiveProof,
19
19
  } from '@aztec/stdlib/interfaces/server';
20
20
  import type { PrivateToPublicKernelCircuitPublicInputs } from '@aztec/stdlib/kernel';
21
- import type { BaseParityInputs, RootParityInputs } from '@aztec/stdlib/parity';
21
+ import type { ParityBasePrivateInputs, ParityRootPrivateInputs } from '@aztec/stdlib/parity';
22
22
  import { makeEmptyRecursiveProof, makeRecursiveProof } from '@aztec/stdlib/proofs';
23
23
  import type {
24
- BaseOrMergeRollupPublicInputs,
25
- BlockMergeRollupInputs,
26
- BlockRootOrBlockMergePublicInputs,
27
- BlockRootRollupInputs,
28
- EmptyBlockRootRollupInputs,
29
- MergeRollupInputs,
30
- PaddingBlockRootRollupInputs,
31
- PrivateBaseRollupInputs,
32
- PublicBaseRollupInputs,
24
+ BlockMergeRollupPrivateInputs,
25
+ BlockRollupPublicInputs,
26
+ BlockRootEmptyTxFirstRollupPrivateInputs,
27
+ BlockRootFirstRollupPrivateInputs,
28
+ BlockRootRollupPrivateInputs,
29
+ BlockRootSingleTxFirstRollupPrivateInputs,
30
+ BlockRootSingleTxRollupPrivateInputs,
31
+ CheckpointMergeRollupPrivateInputs,
32
+ CheckpointPaddingRollupPrivateInputs,
33
+ CheckpointRollupPublicInputs,
34
+ CheckpointRootRollupPrivateInputs,
35
+ CheckpointRootSingleBlockRollupPrivateInputs,
36
+ PrivateTxBaseRollupPrivateInputs,
33
37
  PublicTubePrivateInputs,
34
- RootRollupInputs,
38
+ PublicTxBaseRollupPrivateInputs,
39
+ RootRollupPrivateInputs,
35
40
  RootRollupPublicInputs,
36
- SingleTxBlockRootRollupInputs,
41
+ TxMergeRollupPrivateInputs,
42
+ TxRollupPublicInputs,
37
43
  } from '@aztec/stdlib/rollup';
38
44
  import {
39
- makeBaseOrMergeRollupPublicInputs,
40
- makeBlockRootOrBlockMergeRollupPublicInputs,
45
+ makeBlockRollupPublicInputs,
46
+ makeCheckpointRollupPublicInputs,
41
47
  makeParityPublicInputs,
42
48
  makePrivateToPublicKernelCircuitPublicInputs,
43
49
  makeRootRollupPublicInputs,
50
+ makeTxRollupPublicInputs,
44
51
  } from '@aztec/stdlib/testing';
45
52
  import { VerificationKeyData } from '@aztec/stdlib/vks';
46
53
 
@@ -112,7 +119,7 @@ export class MockProver implements ServerCircuitProver {
112
119
  );
113
120
  }
114
121
 
115
- getBaseParityProof(_inputs: BaseParityInputs, _signal?: AbortSignal, _epochNumber?: number) {
122
+ getBaseParityProof(_inputs: ParityBasePrivateInputs, _signal?: AbortSignal, _epochNumber?: number) {
116
123
  return Promise.resolve(
117
124
  makePublicInputsAndRecursiveProof(
118
125
  makeParityPublicInputs(),
@@ -122,7 +129,7 @@ export class MockProver implements ServerCircuitProver {
122
129
  );
123
130
  }
124
131
 
125
- getRootParityProof(_inputs: RootParityInputs, _signal?: AbortSignal, _epochNumber?: number) {
132
+ getRootParityProof(_inputs: ParityRootPrivateInputs, _signal?: AbortSignal, _epochNumber?: number) {
126
133
  return Promise.resolve(
127
134
  makePublicInputsAndRecursiveProof(
128
135
  makeParityPublicInputs(),
@@ -151,130 +158,194 @@ export class MockProver implements ServerCircuitProver {
151
158
  );
152
159
  }
153
160
 
154
- getPrivateBaseRollupProof(
155
- _baseRollupInput: PrivateBaseRollupInputs,
161
+ getPrivateTxBaseRollupProof(
162
+ _baseRollupInput: PrivateTxBaseRollupPrivateInputs,
156
163
  _signal?: AbortSignal,
157
164
  _epochNumber?: number,
158
- ): Promise<
159
- PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
160
- > {
165
+ ): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
161
166
  return Promise.resolve(
162
167
  makePublicInputsAndRecursiveProof(
163
- makeBaseOrMergeRollupPublicInputs(),
168
+ makeTxRollupPublicInputs(),
164
169
  makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
165
170
  VerificationKeyData.makeFakeRollupHonk(),
166
171
  ),
167
172
  );
168
173
  }
169
174
 
170
- getPublicBaseRollupProof(
171
- _inputs: PublicBaseRollupInputs,
175
+ getPublicTxBaseRollupProof(
176
+ _inputs: PublicTxBaseRollupPrivateInputs,
172
177
  _signal?: AbortSignal,
173
178
  _epochNumber?: number,
174
- ): Promise<
175
- PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
176
- > {
179
+ ): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
177
180
  return Promise.resolve(
178
181
  makePublicInputsAndRecursiveProof(
179
- makeBaseOrMergeRollupPublicInputs(),
182
+ makeTxRollupPublicInputs(),
180
183
  makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
181
184
  VerificationKeyData.makeFakeRollupHonk(),
182
185
  ),
183
186
  );
184
187
  }
185
188
 
186
- getMergeRollupProof(
187
- _input: MergeRollupInputs,
189
+ getTxMergeRollupProof(
190
+ _input: TxMergeRollupPrivateInputs,
188
191
  _signal?: AbortSignal,
189
192
  _epochNumber?: number,
190
- ): Promise<
191
- PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
192
- > {
193
+ ): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
194
+ return Promise.resolve(
195
+ makePublicInputsAndRecursiveProof(
196
+ makeTxRollupPublicInputs(),
197
+ makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
198
+ VerificationKeyData.makeFakeRollupHonk(),
199
+ ),
200
+ );
201
+ }
202
+
203
+ getBlockRootFirstRollupProof(
204
+ _input: BlockRootFirstRollupPrivateInputs,
205
+ _signal?: AbortSignal,
206
+ _epochNumber?: number,
207
+ ): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
208
+ return Promise.resolve(
209
+ makePublicInputsAndRecursiveProof(
210
+ makeBlockRollupPublicInputs(),
211
+ makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
212
+ VerificationKeyData.makeFakeRollupHonk(),
213
+ ),
214
+ );
215
+ }
216
+
217
+ getBlockRootSingleTxFirstRollupProof(
218
+ _input: BlockRootSingleTxFirstRollupPrivateInputs,
219
+ _signal?: AbortSignal,
220
+ _epochNumber?: number,
221
+ ): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
222
+ return Promise.resolve(
223
+ makePublicInputsAndRecursiveProof(
224
+ makeBlockRollupPublicInputs(),
225
+ makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
226
+ VerificationKeyData.makeFakeHonk(),
227
+ ),
228
+ );
229
+ }
230
+
231
+ getBlockRootEmptyTxFirstRollupProof(
232
+ _input: BlockRootEmptyTxFirstRollupPrivateInputs,
233
+ _signal?: AbortSignal,
234
+ _epochNumber?: number,
235
+ ): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
236
+ return Promise.resolve(
237
+ makePublicInputsAndRecursiveProof(
238
+ makeBlockRollupPublicInputs(),
239
+ makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
240
+ VerificationKeyData.makeFakeRollupHonk(),
241
+ ),
242
+ );
243
+ }
244
+
245
+ getBlockRootRollupProof(
246
+ _input: BlockRootRollupPrivateInputs,
247
+ _signal?: AbortSignal,
248
+ _epochNumber?: number,
249
+ ): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
193
250
  return Promise.resolve(
194
251
  makePublicInputsAndRecursiveProof(
195
- makeBaseOrMergeRollupPublicInputs(),
252
+ makeBlockRollupPublicInputs(),
196
253
  makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
197
254
  VerificationKeyData.makeFakeRollupHonk(),
198
255
  ),
199
256
  );
200
257
  }
201
258
 
202
- getBlockMergeRollupProof(_input: BlockMergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number) {
259
+ getBlockRootSingleTxRollupProof(
260
+ _input: BlockRootSingleTxRollupPrivateInputs,
261
+ _signal?: AbortSignal,
262
+ _epochNumber?: number,
263
+ ): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
203
264
  return Promise.resolve(
204
265
  makePublicInputsAndRecursiveProof(
205
- makeBlockRootOrBlockMergeRollupPublicInputs(),
266
+ makeBlockRollupPublicInputs(),
267
+ makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
268
+ VerificationKeyData.makeFakeHonk(),
269
+ ),
270
+ );
271
+ }
272
+
273
+ getBlockMergeRollupProof(_input: BlockMergeRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number) {
274
+ return Promise.resolve(
275
+ makePublicInputsAndRecursiveProof(
276
+ makeBlockRollupPublicInputs(),
206
277
  makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
207
278
  VerificationKeyData.makeFakeRollupHonk(),
208
279
  ),
209
280
  );
210
281
  }
211
282
 
212
- getEmptyBlockRootRollupProof(
213
- _input: EmptyBlockRootRollupInputs,
283
+ getCheckpointRootRollupProof(
284
+ _input: CheckpointRootRollupPrivateInputs,
214
285
  _signal?: AbortSignal,
215
286
  _epochNumber?: number,
216
287
  ): Promise<
217
- PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
288
+ PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
218
289
  > {
219
290
  return Promise.resolve(
220
291
  makePublicInputsAndRecursiveProof(
221
- makeBlockRootOrBlockMergeRollupPublicInputs(),
292
+ makeCheckpointRollupPublicInputs(),
222
293
  makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
223
294
  VerificationKeyData.makeFakeRollupHonk(),
224
295
  ),
225
296
  );
226
297
  }
227
298
 
228
- getPaddingBlockRootRollupProof(
229
- _input: PaddingBlockRootRollupInputs,
299
+ getCheckpointRootSingleBlockRollupProof(
300
+ _input: CheckpointRootSingleBlockRollupPrivateInputs,
230
301
  _signal?: AbortSignal,
231
302
  _epochNumber?: number,
232
303
  ): Promise<
233
- PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
304
+ PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
234
305
  > {
235
306
  return Promise.resolve(
236
307
  makePublicInputsAndRecursiveProof(
237
- makeBlockRootOrBlockMergeRollupPublicInputs(),
308
+ makeCheckpointRollupPublicInputs(),
238
309
  makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
239
310
  VerificationKeyData.makeFakeRollupHonk(),
240
311
  ),
241
312
  );
242
313
  }
243
314
 
244
- getBlockRootRollupProof(
245
- _input: BlockRootRollupInputs,
315
+ getCheckpointMergeRollupProof(
316
+ _input: CheckpointMergeRollupPrivateInputs,
246
317
  _signal?: AbortSignal,
247
318
  _epochNumber?: number,
248
319
  ): Promise<
249
- PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
320
+ PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
250
321
  > {
251
322
  return Promise.resolve(
252
323
  makePublicInputsAndRecursiveProof(
253
- makeBlockRootOrBlockMergeRollupPublicInputs(),
324
+ makeCheckpointRollupPublicInputs(),
254
325
  makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
255
326
  VerificationKeyData.makeFakeRollupHonk(),
256
327
  ),
257
328
  );
258
329
  }
259
330
 
260
- getSingleTxBlockRootRollupProof(
261
- _input: SingleTxBlockRootRollupInputs,
331
+ getCheckpointPaddingRollupProof(
332
+ _input: CheckpointPaddingRollupPrivateInputs,
262
333
  _signal?: AbortSignal,
263
334
  _epochNumber?: number,
264
335
  ): Promise<
265
- PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
336
+ PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
266
337
  > {
267
338
  return Promise.resolve(
268
339
  makePublicInputsAndRecursiveProof(
269
- makeBlockRootOrBlockMergeRollupPublicInputs(),
340
+ makeCheckpointRollupPublicInputs(),
270
341
  makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
271
- VerificationKeyData.makeFakeHonk(),
342
+ VerificationKeyData.makeFakeRollupHonk(),
272
343
  ),
273
344
  );
274
345
  }
275
346
 
276
347
  getRootRollupProof(
277
- _input: RootRollupInputs,
348
+ _input: RootRollupPrivateInputs,
278
349
  _signal?: AbortSignal,
279
350
  _epochNumber?: number,
280
351
  ): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs>> {
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=get-proof-inputs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-proof-inputs.d.ts","sourceRoot":"","sources":["../../src/bin/get-proof-inputs.ts"],"names":[],"mappings":""}
@@ -1,51 +0,0 @@
1
- /* eslint-disable no-console */ import { AVM_INPUTS_FILENAME } from '@aztec/bb-prover';
2
- import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
3
- import { createLogger } from '@aztec/foundation/log';
4
- import { ProvingJobInputs } from '@aztec/stdlib/interfaces/server';
5
- import { ProvingRequestType } from '@aztec/stdlib/proofs';
6
- import { mkdirSync, writeFileSync } from 'fs';
7
- import { createProofStoreForUri } from '../proving_broker/index.js';
8
- const logger = createLogger('prover-client:get-proof-inputs');
9
- function printUsage() {
10
- console.error('Usage: get-proof-inputs <proof-uri> [out-dir=.]');
11
- }
12
- async function main() {
13
- if (process.argv[2] === '--help') {
14
- printUsage();
15
- return;
16
- }
17
- const uri = process.argv[2];
18
- const outDir = process.argv[3] || '.';
19
- if (!uri) {
20
- printUsage();
21
- throw new Error('Missing proof URI');
22
- }
23
- mkdirSync(outDir, {
24
- recursive: true
25
- });
26
- const proofStore = createProofStoreForUri(uri);
27
- logger.info(`Processing uri ${uri}`);
28
- const input = await proofStore.getProofInput(uri);
29
- logger.info(`Found inputs for ${ProvingRequestType[input.type]}`);
30
- writeProofInputs(input, outDir);
31
- console.log(jsonParseWithSchema(jsonStringify(input), ProvingJobInputs).inputs);
32
- }
33
- // This mimics the behavior of bb-prover/src/bb/execute.ts
34
- function writeProofInputs(input, outDir) {
35
- switch(input.type){
36
- case ProvingRequestType.PUBLIC_VM:
37
- {
38
- writeFileSync(`${outDir}/${AVM_INPUTS_FILENAME}`, input.inputs.serializeWithMessagePack());
39
- logger.info(`Wrote AVM inputs to ${AVM_INPUTS_FILENAME}`);
40
- break;
41
- }
42
- default:
43
- {
44
- throw new Error(`Unimplemented proving request type: ${ProvingRequestType[input.type]}`);
45
- }
46
- }
47
- }
48
- main().catch((err)=>{
49
- console.error(err);
50
- process.exit(1);
51
- });
@@ -1,59 +0,0 @@
1
- /* eslint-disable no-console */
2
- import { AVM_INPUTS_FILENAME } from '@aztec/bb-prover';
3
- import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
4
- import { createLogger } from '@aztec/foundation/log';
5
- import { type ProofUri, ProvingJobInputs } from '@aztec/stdlib/interfaces/server';
6
- import { ProvingRequestType } from '@aztec/stdlib/proofs';
7
-
8
- import { mkdirSync, writeFileSync } from 'fs';
9
-
10
- import { createProofStoreForUri } from '../proving_broker/index.js';
11
-
12
- const logger = createLogger('prover-client:get-proof-inputs');
13
-
14
- function printUsage() {
15
- console.error('Usage: get-proof-inputs <proof-uri> [out-dir=.]');
16
- }
17
-
18
- async function main() {
19
- if (process.argv[2] === '--help') {
20
- printUsage();
21
- return;
22
- }
23
-
24
- const uri = process.argv[2];
25
- const outDir = process.argv[3] || '.';
26
- if (!uri) {
27
- printUsage();
28
- throw new Error('Missing proof URI');
29
- }
30
-
31
- mkdirSync(outDir, { recursive: true });
32
-
33
- const proofStore = createProofStoreForUri(uri);
34
- logger.info(`Processing uri ${uri}`);
35
- const input = await proofStore.getProofInput(uri as ProofUri);
36
- logger.info(`Found inputs for ${ProvingRequestType[input.type]}`);
37
- writeProofInputs(input, outDir);
38
-
39
- console.log(jsonParseWithSchema(jsonStringify(input), ProvingJobInputs).inputs);
40
- }
41
-
42
- // This mimics the behavior of bb-prover/src/bb/execute.ts
43
- function writeProofInputs(input: ProvingJobInputs, outDir: string) {
44
- switch (input.type) {
45
- case ProvingRequestType.PUBLIC_VM: {
46
- writeFileSync(`${outDir}/${AVM_INPUTS_FILENAME}`, input.inputs.serializeWithMessagePack());
47
- logger.info(`Wrote AVM inputs to ${AVM_INPUTS_FILENAME}`);
48
- break;
49
- }
50
- default: {
51
- throw new Error(`Unimplemented proving request type: ${ProvingRequestType[input.type]}`);
52
- }
53
- }
54
- }
55
-
56
- main().catch(err => {
57
- console.error(err);
58
- process.exit(1);
59
- });