@aztec/prover-client 0.0.1-commit.96bb3f7 → 0.0.1-commit.993d240

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 (130) hide show
  1. package/dest/config.d.ts +1 -1
  2. package/dest/config.d.ts.map +1 -1
  3. package/dest/config.js +16 -2
  4. package/dest/light/lightweight_checkpoint_builder.d.ts +16 -7
  5. package/dest/light/lightweight_checkpoint_builder.d.ts.map +1 -1
  6. package/dest/light/lightweight_checkpoint_builder.js +75 -27
  7. package/dest/mocks/fixtures.d.ts +1 -1
  8. package/dest/mocks/fixtures.d.ts.map +1 -1
  9. package/dest/mocks/fixtures.js +2 -1
  10. package/dest/mocks/test_context.d.ts +5 -2
  11. package/dest/mocks/test_context.d.ts.map +1 -1
  12. package/dest/mocks/test_context.js +23 -9
  13. package/dest/orchestrator/block-building-helpers.d.ts +5 -5
  14. package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
  15. package/dest/orchestrator/block-building-helpers.js +3 -3
  16. package/dest/orchestrator/block-proving-state.d.ts +4 -1
  17. package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
  18. package/dest/orchestrator/block-proving-state.js +7 -0
  19. package/dest/orchestrator/checkpoint-proving-state.d.ts +24 -4
  20. package/dest/orchestrator/checkpoint-proving-state.d.ts.map +1 -1
  21. package/dest/orchestrator/checkpoint-proving-state.js +47 -5
  22. package/dest/orchestrator/checkpoint-sub-tree-orchestrator.d.ts +107 -0
  23. package/dest/orchestrator/checkpoint-sub-tree-orchestrator.d.ts.map +1 -0
  24. package/dest/orchestrator/checkpoint-sub-tree-orchestrator.js +151 -0
  25. package/dest/orchestrator/epoch-proving-context.d.ts +51 -0
  26. package/dest/orchestrator/epoch-proving-context.d.ts.map +1 -0
  27. package/dest/orchestrator/epoch-proving-context.js +81 -0
  28. package/dest/orchestrator/epoch-proving-state.d.ts +7 -6
  29. package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
  30. package/dest/orchestrator/epoch-proving-state.js +37 -1
  31. package/dest/orchestrator/index.d.ts +4 -1
  32. package/dest/orchestrator/index.d.ts.map +1 -1
  33. package/dest/orchestrator/index.js +3 -0
  34. package/dest/orchestrator/orchestrator.d.ts +29 -24
  35. package/dest/orchestrator/orchestrator.d.ts.map +1 -1
  36. package/dest/orchestrator/orchestrator.js +137 -225
  37. package/dest/orchestrator/proving-scheduler.d.ts +72 -0
  38. package/dest/orchestrator/proving-scheduler.d.ts.map +1 -0
  39. package/dest/orchestrator/proving-scheduler.js +117 -0
  40. package/dest/orchestrator/top-tree-orchestrator.d.ts +83 -0
  41. package/dest/orchestrator/top-tree-orchestrator.d.ts.map +1 -0
  42. package/dest/orchestrator/top-tree-orchestrator.js +182 -0
  43. package/dest/orchestrator/top-tree-proving-scheduler.d.ts +62 -0
  44. package/dest/orchestrator/top-tree-proving-scheduler.d.ts.map +1 -0
  45. package/dest/orchestrator/top-tree-proving-scheduler.js +73 -0
  46. package/dest/orchestrator/top-tree-proving-state.d.ts +61 -0
  47. package/dest/orchestrator/top-tree-proving-state.d.ts.map +1 -0
  48. package/dest/orchestrator/top-tree-proving-state.js +185 -0
  49. package/dest/prover-client/prover-client.d.ts +64 -5
  50. package/dest/prover-client/prover-client.d.ts.map +1 -1
  51. package/dest/prover-client/prover-client.js +64 -11
  52. package/dest/proving_broker/broker_prover_facade.d.ts +4 -3
  53. package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
  54. package/dest/proving_broker/broker_prover_facade.js +16 -22
  55. package/dest/proving_broker/config.d.ts +12 -64
  56. package/dest/proving_broker/config.d.ts.map +1 -1
  57. package/dest/proving_broker/config.js +22 -5
  58. package/dest/proving_broker/index.d.ts +2 -1
  59. package/dest/proving_broker/index.d.ts.map +1 -1
  60. package/dest/proving_broker/index.js +1 -0
  61. package/dest/proving_broker/proof_store/factory.d.ts +2 -5
  62. package/dest/proving_broker/proof_store/factory.d.ts.map +1 -1
  63. package/dest/proving_broker/proof_store/factory.js +7 -30
  64. package/dest/proving_broker/proof_store/file_store_proof_store.d.ts +18 -0
  65. package/dest/proving_broker/proof_store/file_store_proof_store.d.ts.map +1 -0
  66. package/dest/proving_broker/proof_store/file_store_proof_store.js +60 -0
  67. package/dest/proving_broker/proof_store/index.d.ts +2 -2
  68. package/dest/proving_broker/proof_store/index.d.ts.map +1 -1
  69. package/dest/proving_broker/proof_store/index.js +1 -1
  70. package/dest/proving_broker/proving_agent.d.ts +4 -3
  71. package/dest/proving_broker/proving_agent.d.ts.map +1 -1
  72. package/dest/proving_broker/proving_agent.js +4 -4
  73. package/dest/proving_broker/proving_broker.d.ts +8 -5
  74. package/dest/proving_broker/proving_broker.d.ts.map +1 -1
  75. package/dest/proving_broker/proving_broker.js +68 -11
  76. package/dest/proving_broker/proving_broker_database/persisted.js +2 -2
  77. package/dest/proving_broker/proving_broker_instrumentation.d.ts +3 -1
  78. package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -1
  79. package/dest/proving_broker/proving_broker_instrumentation.js +18 -7
  80. package/dest/proving_broker/proving_job_controller.d.ts +4 -3
  81. package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
  82. package/dest/proving_broker/proving_job_controller.js +6 -3
  83. package/dest/proving_broker/rpc.d.ts +6 -2
  84. package/dest/proving_broker/rpc.d.ts.map +1 -1
  85. package/dest/proving_broker/rpc.js +87 -23
  86. package/dest/test/mock_proof_store.d.ts +3 -3
  87. package/dest/test/mock_proof_store.d.ts.map +1 -1
  88. package/dest/test/mock_prover.d.ts +4 -4
  89. package/package.json +19 -21
  90. package/src/config.ts +18 -2
  91. package/src/light/lightweight_checkpoint_builder.ts +107 -36
  92. package/src/mocks/fixtures.ts +2 -1
  93. package/src/mocks/test_context.ts +18 -10
  94. package/src/orchestrator/block-building-helpers.ts +3 -3
  95. package/src/orchestrator/block-proving-state.ts +9 -0
  96. package/src/orchestrator/checkpoint-proving-state.ts +65 -6
  97. package/src/orchestrator/checkpoint-sub-tree-orchestrator.ts +271 -0
  98. package/src/orchestrator/epoch-proving-context.ts +101 -0
  99. package/src/orchestrator/epoch-proving-state.ts +59 -9
  100. package/src/orchestrator/index.ts +8 -0
  101. package/src/orchestrator/orchestrator.ts +161 -290
  102. package/src/orchestrator/proving-scheduler.ts +156 -0
  103. package/src/orchestrator/top-tree-orchestrator.ts +314 -0
  104. package/src/orchestrator/top-tree-proving-scheduler.ts +154 -0
  105. package/src/orchestrator/top-tree-proving-state.ts +220 -0
  106. package/src/prover-client/prover-client.ts +155 -15
  107. package/src/proving_broker/broker_prover_facade.ts +23 -23
  108. package/src/proving_broker/config.ts +25 -2
  109. package/src/proving_broker/index.ts +1 -0
  110. package/src/proving_broker/proof_store/factory.ts +10 -32
  111. package/src/proving_broker/proof_store/file_store_proof_store.ts +78 -0
  112. package/src/proving_broker/proof_store/index.ts +1 -1
  113. package/src/proving_broker/proving_agent.ts +5 -2
  114. package/src/proving_broker/proving_broker.ts +64 -8
  115. package/src/proving_broker/proving_broker_database/persisted.ts +2 -2
  116. package/src/proving_broker/proving_broker_instrumentation.ts +19 -6
  117. package/src/proving_broker/proving_job_controller.ts +9 -3
  118. package/src/proving_broker/rpc.ts +46 -20
  119. package/dest/block-factory/index.d.ts +0 -2
  120. package/dest/block-factory/index.d.ts.map +0 -1
  121. package/dest/block-factory/index.js +0 -1
  122. package/dest/block-factory/light.d.ts +0 -38
  123. package/dest/block-factory/light.d.ts.map +0 -1
  124. package/dest/block-factory/light.js +0 -106
  125. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +0 -14
  126. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +0 -1
  127. package/dest/proving_broker/proof_store/gcs_proof_store.js +0 -52
  128. package/src/block-factory/index.ts +0 -1
  129. package/src/block-factory/light.ts +0 -136
  130. package/src/proving_broker/proof_store/gcs_proof_store.ts +0 -76
@@ -1,10 +1,12 @@
1
+ import { asyncPool } from '@aztec/foundation/async-pool';
1
2
  import { EpochNumber } from '@aztec/foundation/branded-types';
2
- import { sha256 } from '@aztec/foundation/crypto/sha256';
3
+ import { chunk } from '@aztec/foundation/collection';
3
4
  import { createLogger } from '@aztec/foundation/log';
4
5
  import { RunningPromise, promiseWithResolvers } from '@aztec/foundation/promise';
5
6
  import { truncate } from '@aztec/foundation/string';
6
7
  import { makeProvingJobId } from '@aztec/stdlib/interfaces/server';
7
8
  import { ProvingRequestType } from '@aztec/stdlib/proofs';
9
+ import { createHash } from 'node:crypto';
8
10
  import { InlineProofStore } from './proof_store/index.js';
9
11
  // Perform a snapshot sync every 30 seconds
10
12
  const SNAPSHOT_SYNC_INTERVAL_MS = 30_000;
@@ -15,20 +17,20 @@ export class BrokerCircuitProverFacade {
15
17
  proofStore;
16
18
  failedProofStore;
17
19
  pollIntervalMs;
18
- log;
19
20
  jobs;
20
21
  runningPromise;
21
22
  timeOfLastSnapshotSync;
22
23
  jobsToRetrieve;
23
- constructor(broker, proofStore = new InlineProofStore(), failedProofStore, pollIntervalMs = 1000, log = createLogger('prover-client:broker-circuit-prover-facade')){
24
+ log;
25
+ constructor(broker, proofStore = new InlineProofStore(), failedProofStore, pollIntervalMs = 1000, bindings){
24
26
  this.broker = broker;
25
27
  this.proofStore = proofStore;
26
28
  this.failedProofStore = failedProofStore;
27
29
  this.pollIntervalMs = pollIntervalMs;
28
- this.log = log;
29
30
  this.jobs = new Map();
30
31
  this.timeOfLastSnapshotSync = Date.now();
31
32
  this.jobsToRetrieve = new Set();
33
+ this.log = createLogger('prover-client:broker-circuit-prover-facade', bindings);
32
34
  }
33
35
  /**
34
36
  * This is a critical section. This function can not be async since it writes
@@ -156,17 +158,13 @@ export class BrokerCircuitProverFacade {
156
158
  // We collect all returned notifications and return them
157
159
  const allCompleted = new Set();
158
160
  try {
159
- let numRequests = 0;
160
- while(ids.length > 0){
161
- const slice = ids.splice(0, SNAPSHOT_SYNC_CHECK_MAX_REQUEST_SIZE);
162
- const completed = await this.broker.getCompletedJobs(slice);
161
+ const batches = ids.length > 0 ? chunk(ids, SNAPSHOT_SYNC_CHECK_MAX_REQUEST_SIZE) : [
162
+ []
163
+ ];
164
+ await asyncPool(1, batches, async (batch)=>{
165
+ const completed = await this.broker.getCompletedJobs(batch);
163
166
  completed.forEach((id)=>allCompleted.add(id));
164
- ++numRequests;
165
- }
166
- if (numRequests === 0) {
167
- const final = await this.broker.getCompletedJobs([]);
168
- final.forEach((id)=>allCompleted.add(id));
169
- }
167
+ });
170
168
  } catch (err) {
171
169
  this.log.error(`Error thrown when requesting completed job notifications from the broker`, err);
172
170
  }
@@ -266,12 +264,8 @@ export class BrokerCircuitProverFacade {
266
264
  };
267
265
  const toBeRetrieved = Array.from(this.jobsToRetrieve.values()).map((id)=>this.jobs.get(id)).filter((x)=>x !== undefined);
268
266
  const totalJobsToRetrieve = toBeRetrieved.length;
269
- let totalJobsRetrieved = 0;
270
- while(toBeRetrieved.length > 0){
271
- const slice = toBeRetrieved.splice(0, MAX_CONCURRENT_JOB_SETTLED_REQUESTS);
272
- const results = await Promise.all(slice.map((job)=>processJob(job)));
273
- totalJobsRetrieved += results.filter((x)=>x).length;
274
- }
267
+ const results = await asyncPool(MAX_CONCURRENT_JOB_SETTLED_REQUESTS, toBeRetrieved, (job)=>processJob(job));
268
+ const totalJobsRetrieved = results.filter((x)=>x).length;
275
269
  if (totalJobsToRetrieve > 0) {
276
270
  this.log.verbose(`Successfully retrieved ${totalJobsRetrieved} of ${totalJobsToRetrieve} jobs that should be ready, total ready jobs is now: ${this.jobsToRetrieve.size}`);
277
271
  }
@@ -357,7 +351,7 @@ export class BrokerCircuitProverFacade {
357
351
  return this.enqueueJob(this.generateId(ProvingRequestType.ROOT_ROLLUP, input, epochNumber), ProvingRequestType.ROOT_ROLLUP, input, epochNumber, signal);
358
352
  }
359
353
  generateId(type, inputs, epochNumber = EpochNumber.ZERO) {
360
- const inputsHash = sha256(inputs.toBuffer());
361
- return makeProvingJobId(epochNumber, type, inputsHash.toString('hex'));
354
+ const inputsHash = createHash('sha256').update(inputs.toBuffer()).digest('hex');
355
+ return makeProvingJobId(epochNumber, type, inputsHash);
362
356
  }
363
357
  }
@@ -1,92 +1,40 @@
1
1
  import { type L1ReaderConfig } from '@aztec/ethereum/l1-reader';
2
2
  import { type ConfigMappingsType } from '@aztec/foundation/config';
3
- import { type DataStoreConfig } from '@aztec/kv-store/config';
4
3
  import { type ChainConfig } from '@aztec/stdlib/config';
4
+ import { type DataStoreConfig } from '@aztec/stdlib/kv-store';
5
5
  import { ProvingRequestType } from '@aztec/stdlib/proofs';
6
6
  import { z } from 'zod';
7
7
  export declare const ProverBrokerConfig: z.ZodObject<{
8
- /** If starting a prover broker locally, the max number of retries per proving job */
9
8
  proverBrokerJobMaxRetries: z.ZodNumber;
10
- /** If starting a prover broker locally, the time after which a job times out and gets assigned to a different agent */
11
9
  proverBrokerJobTimeoutMs: z.ZodNumber;
12
- /** If starting a prover broker locally, the interval the broker checks for timed out jobs */
13
10
  proverBrokerPollIntervalMs: z.ZodNumber;
14
- /** If starting a prover broker locally, the directory to store broker data */
15
11
  dataDirectory: z.ZodOptional<z.ZodString>;
16
- /** The size of the data store map */
17
12
  dataStoreMapSizeKb: z.ZodNumber;
18
- /** The size of the prover broker's database. Will override the dataStoreMapSizeKb if set. */
19
13
  proverBrokerStoreMapSizeKb: z.ZodOptional<z.ZodNumber>;
20
- /** The prover broker may batch jobs together before writing to the database */
21
14
  proverBrokerBatchSize: z.ZodNumber;
22
- /** How often the job batches get flushed */
23
15
  proverBrokerBatchIntervalMs: z.ZodNumber;
24
- /** The maximum number of epochs to keep results for */
25
16
  proverBrokerMaxEpochsToKeepResultsFor: z.ZodNumber;
26
- }, "strip", z.ZodTypeAny, {
27
- proverBrokerJobMaxRetries: number;
28
- proverBrokerJobTimeoutMs: number;
29
- proverBrokerPollIntervalMs: number;
30
- dataDirectory?: string | undefined;
31
- dataStoreMapSizeKb: number;
32
- proverBrokerStoreMapSizeKb?: number | undefined;
33
- proverBrokerBatchSize: number;
34
- proverBrokerBatchIntervalMs: number;
35
- proverBrokerMaxEpochsToKeepResultsFor: number;
36
- }, {
37
- proverBrokerJobMaxRetries: number;
38
- proverBrokerJobTimeoutMs: number;
39
- proverBrokerPollIntervalMs: number;
40
- dataDirectory?: string | undefined;
41
- dataStoreMapSizeKb: number;
42
- proverBrokerStoreMapSizeKb?: number | undefined;
43
- proverBrokerBatchSize: number;
44
- proverBrokerBatchIntervalMs: number;
45
- proverBrokerMaxEpochsToKeepResultsFor: number;
46
- }>;
17
+ proverBrokerDebugReplayEnabled: z.ZodBoolean;
18
+ }, z.core.$strip>;
47
19
  export type ProverBrokerConfig = z.infer<typeof ProverBrokerConfig> & Pick<DataStoreConfig, 'dataStoreMapSizeKb' | 'dataDirectory'> & L1ReaderConfig & Pick<ChainConfig, 'rollupVersion'>;
48
20
  export declare const proverBrokerConfigMappings: ConfigMappingsType<ProverBrokerConfig>;
49
21
  export declare const defaultProverBrokerConfig: ProverBrokerConfig;
50
22
  export declare const ProverAgentConfig: z.ZodObject<{
51
- /** The number of prover agents to start */
52
23
  proverAgentCount: z.ZodNumber;
53
- /** The types of proofs the prover agent can generate */
54
- proverAgentProofTypes: z.ZodArray<z.ZodNativeEnum<typeof ProvingRequestType>, "many">;
55
- /** How often the prover agents poll for jobs */
24
+ proverAgentProofTypes: z.ZodArray<z.ZodEnum<typeof ProvingRequestType>>;
56
25
  proverAgentPollIntervalMs: z.ZodNumber;
57
- /** The URL where this agent takes jobs from */
58
26
  proverBrokerUrl: z.ZodOptional<z.ZodString>;
59
- /** Whether to construct real proofs */
60
27
  realProofs: z.ZodBoolean;
61
- /** The type of artificial delay to introduce */
62
- proverTestDelayType: z.ZodEnum<["fixed", "realistic"]>;
63
- /** If using fixed delay, the time each operation takes. */
28
+ proverTestDelayType: z.ZodEnum<{
29
+ fixed: "fixed";
30
+ realistic: "realistic";
31
+ }>;
64
32
  proverTestDelayMs: z.ZodNumber;
65
- /** If using realistic delays, what percentage of realistic times to apply. */
66
33
  proverTestDelayFactor: z.ZodNumber;
67
- /** The delay (ms) to inject during fake proof verification */
68
34
  proverTestVerificationDelayMs: z.ZodOptional<z.ZodNumber>;
69
- }, "strip", z.ZodTypeAny, {
70
- proverAgentCount: number;
71
- proverAgentProofTypes: ProvingRequestType[];
72
- proverAgentPollIntervalMs: number;
73
- proverBrokerUrl?: string | undefined;
74
- realProofs: boolean;
75
- proverTestDelayType: "fixed" | "realistic";
76
- proverTestDelayMs: number;
77
- proverTestDelayFactor: number;
78
- proverTestVerificationDelayMs?: number | undefined;
79
- }, {
80
- proverAgentCount: number;
81
- proverAgentProofTypes: ProvingRequestType[];
82
- proverAgentPollIntervalMs: number;
83
- proverBrokerUrl?: string | undefined;
84
- realProofs: boolean;
85
- proverTestDelayType: "fixed" | "realistic";
86
- proverTestDelayMs: number;
87
- proverTestDelayFactor: number;
88
- proverTestVerificationDelayMs?: number | undefined;
89
- }>;
35
+ cancelJobsOnStop: z.ZodBoolean;
36
+ proofStore: z.ZodOptional<z.ZodString>;
37
+ }, z.core.$strip>;
90
38
  export type ProverAgentConfig = z.infer<typeof ProverAgentConfig>;
91
39
  export declare const proverAgentConfigMappings: ConfigMappingsType<ProverAgentConfig>;
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmluZ19icm9rZXIvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBMEIsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RixPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFJeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXNCLE1BQU0sd0JBQXdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLEtBQUssV0FBVyxFQUF1QixNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsZUFBTyxNQUFNLGtCQUFrQjtJQUM3QixxRkFBcUY7O0lBRXJGLHVIQUF1SDs7SUFFdkgsNkZBQTZGOztJQUU3Riw4RUFBOEU7O0lBRTlFLHFDQUFxQzs7SUFFckMsNkZBQTZGOztJQUU3RiwrRUFBK0U7O0lBRS9FLDRDQUE0Qzs7SUFFNUMsdURBQXVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBRXZELENBQUM7QUFFSCxNQUFNLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLGtCQUFrQixDQUFDLEdBQ2pFLElBQUksQ0FBQyxlQUFlLEVBQUUsb0JBQW9CLEdBQUcsZUFBZSxDQUFDLEdBQzdELGNBQWMsR0FDZCxJQUFJLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBRXJDLGVBQU8sTUFBTSwwQkFBMEIsRUFBRSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0F1QzdFLENBQUM7QUFFRixlQUFPLE1BQU0seUJBQXlCLEVBQUUsa0JBQWlFLENBQUM7QUFFMUcsZUFBTyxNQUFNLGlCQUFpQjtJQUM1QiwyQ0FBMkM7O0lBRTNDLHdEQUF3RDs7SUFFeEQsZ0RBQWdEOztJQUVoRCwrQ0FBK0M7O0lBRS9DLHVDQUF1Qzs7SUFFdkMsZ0RBQWdEOztJQUVoRCwyREFBMkQ7O0lBRTNELDhFQUE4RTs7SUFFOUUsOERBQThEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBRTlELENBQUM7QUFFSCxNQUFNLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLGlCQUFpQixDQUFDLENBQUM7QUFFbEUsZUFBTyxNQUFNLHlCQUF5QixFQUFFLGtCQUFrQixDQUFDLGlCQUFpQixDQWlEM0UsQ0FBQyJ9
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmluZ19icm9rZXIvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBMEIsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RixPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFLeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQUUsS0FBSyxXQUFXLEVBQXVCLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHdCQUF3QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsZUFBTyxNQUFNLGtCQUFrQjs7Ozs7Ozs7Ozs7aUJBcUI3QixDQUFDO0FBRUgsTUFBTSxNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxrQkFBa0IsQ0FBQyxHQUNqRSxJQUFJLENBQUMsZUFBZSxFQUFFLG9CQUFvQixHQUFHLGVBQWUsQ0FBQyxHQUM3RCxjQUFjLEdBQ2QsSUFBSSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUVyQyxlQUFPLE1BQU0sMEJBQTBCLEVBQUUsa0JBQWtCLENBQUMsa0JBQWtCLENBNEM3RSxDQUFDO0FBRUYsZUFBTyxNQUFNLHlCQUF5QixFQUFFLGtCQUFpRSxDQUFDO0FBRTFHLGVBQU8sTUFBTSxpQkFBaUI7Ozs7Ozs7Ozs7Ozs7OztpQkF1QjVCLENBQUM7QUFFSCxNQUFNLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLGlCQUFpQixDQUFDLENBQUM7QUFFbEUsZUFBTyxNQUFNLHlCQUF5QixFQUFFLGtCQUFrQixDQUFDLGlCQUFpQixDQTREM0UsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/proving_broker/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;IAC7B,qFAAqF;;IAErF,uHAAuH;;IAEvH,6FAA6F;;IAE7F,8EAA8E;;IAE9E,qCAAqC;;IAErC,6FAA6F;;IAE7F,+EAA+E;;IAE/E,4CAA4C;;IAE5C,uDAAuD;;;;;;;;;;;;;;;;;;;;;;EAEvD,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACjE,IAAI,CAAC,eAAe,EAAE,oBAAoB,GAAG,eAAe,CAAC,GAC7D,cAAc,GACd,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAErC,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,kBAAkB,CAuC7E,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,kBAAiE,CAAC;AAE1G,eAAO,MAAM,iBAAiB;IAC5B,2CAA2C;;IAE3C,wDAAwD;;IAExD,gDAAgD;;IAEhD,+CAA+C;;IAE/C,uCAAuC;;IAEvC,gDAAgD;;IAEhD,2DAA2D;;IAE3D,8EAA8E;;IAE9E,8DAA8D;;;;;;;;;;;;;;;;;;;;;;EAE9D,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CAiD3E,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/proving_broker/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;;;;;;;;;;;iBAqB7B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACjE,IAAI,CAAC,eAAe,EAAE,oBAAoB,GAAG,eAAe,CAAC,GAC7D,cAAc,GACd,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAErC,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,kBAAkB,CA4C7E,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,kBAAiE,CAAC;AAE1G,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;iBAuB5B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CA4D3E,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { l1ReaderConfigMappings } from '@aztec/ethereum/l1-reader';
2
- import { booleanConfigHelper, getDefaultConfig, numberConfigHelper } from '@aztec/foundation/config';
2
+ import { booleanConfigHelper, getDefaultConfig, numberConfigHelper, optionalNumberConfigHelper } from '@aztec/foundation/config';
3
3
  import { pickConfigMappings } from '@aztec/foundation/config';
4
- import { dataConfigMappings } from '@aztec/kv-store/config';
5
4
  import { chainConfigMappings } from '@aztec/stdlib/config';
5
+ import { dataConfigMappings } from '@aztec/stdlib/kv-store';
6
6
  import { ProvingRequestType } from '@aztec/stdlib/proofs';
7
7
  import { z } from 'zod';
8
8
  export const ProverBrokerConfig = z.object({
@@ -14,7 +14,8 @@ export const ProverBrokerConfig = z.object({
14
14
  /** The size of the prover broker's database. Will override the dataStoreMapSizeKb if set. */ proverBrokerStoreMapSizeKb: z.number().int().nonnegative().optional(),
15
15
  /** The prover broker may batch jobs together before writing to the database */ proverBrokerBatchSize: z.number().int().nonnegative(),
16
16
  /** How often the job batches get flushed */ proverBrokerBatchIntervalMs: z.number().int().nonnegative(),
17
- /** The maximum number of epochs to keep results for */ proverBrokerMaxEpochsToKeepResultsFor: z.number().int().nonnegative()
17
+ /** The maximum number of epochs to keep results for */ proverBrokerMaxEpochsToKeepResultsFor: z.number().int().nonnegative(),
18
+ /** Enable debug replay mode for replaying proving jobs from stored inputs */ proverBrokerDebugReplayEnabled: z.boolean()
18
19
  });
19
20
  export const proverBrokerConfigMappings = {
20
21
  proverBrokerJobTimeoutMs: {
@@ -49,9 +50,14 @@ export const proverBrokerConfigMappings = {
49
50
  },
50
51
  proverBrokerStoreMapSizeKb: {
51
52
  env: 'PROVER_BROKER_STORE_MAP_SIZE_KB',
52
- parseEnv: (val)=>val ? +val : undefined,
53
+ ...optionalNumberConfigHelper(),
53
54
  description: "The size of the prover broker's database. Will override the dataStoreMapSizeKb if set."
54
55
  },
56
+ proverBrokerDebugReplayEnabled: {
57
+ env: 'PROVER_BROKER_DEBUG_REPLAY_ENABLED',
58
+ description: 'Enable debug replay mode for replaying proving jobs from stored inputs',
59
+ ...booleanConfigHelper(false)
60
+ },
55
61
  ...dataConfigMappings,
56
62
  ...l1ReaderConfigMappings,
57
63
  ...pickConfigMappings(chainConfigMappings, [
@@ -71,7 +77,9 @@ export const ProverAgentConfig = z.object({
71
77
  ]),
72
78
  /** If using fixed delay, the time each operation takes. */ proverTestDelayMs: z.number(),
73
79
  /** If using realistic delays, what percentage of realistic times to apply. */ proverTestDelayFactor: z.number(),
74
- /** The delay (ms) to inject during fake proof verification */ proverTestVerificationDelayMs: z.number().optional()
80
+ /** The delay (ms) to inject during fake proof verification */ proverTestVerificationDelayMs: z.number().optional(),
81
+ /** Whether to abort pending proving jobs when the orchestrator is cancelled */ cancelJobsOnStop: z.boolean(),
82
+ /** Where to store proving results. Must be accessible to both prover node and agents. If not set will inline-encode the parameters */ proofStore: z.string().optional()
75
83
  });
76
84
  export const proverAgentConfigMappings = {
77
85
  proverAgentCount: {
@@ -117,5 +125,14 @@ export const proverAgentConfigMappings = {
117
125
  env: 'PROVER_TEST_VERIFICATION_DELAY_MS',
118
126
  description: 'The delay (ms) to inject during fake proof verification',
119
127
  ...numberConfigHelper(10)
128
+ },
129
+ cancelJobsOnStop: {
130
+ env: 'PROVER_CANCEL_JOBS_ON_STOP',
131
+ description: 'Whether to abort pending proving jobs when the orchestrator is cancelled. ' + 'When false (default), jobs remain in the broker queue and can be reused on restart/reorg.',
132
+ ...booleanConfigHelper(false)
133
+ },
134
+ proofStore: {
135
+ env: 'PROVER_PROOF_STORE',
136
+ description: 'Optional proof input store for the prover'
120
137
  }
121
138
  };
@@ -7,4 +7,5 @@ export * from './proving_broker_database/persisted.js';
7
7
  export * from './proof_store/index.js';
8
8
  export * from './factory.js';
9
9
  export * from './config.js';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aW5nX2Jyb2tlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQyJ9
10
+ export { BrokerCircuitProverFacade } from './broker_prover_facade.js';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aW5nX2Jyb2tlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proving_broker/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proving_broker/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -7,3 +7,4 @@ export * from './proving_broker_database/persisted.js';
7
7
  export * from './proof_store/index.js';
8
8
  export * from './factory.js';
9
9
  export * from './config.js';
10
+ export { BrokerCircuitProverFacade } from './broker_prover_facade.js';
@@ -1,6 +1,3 @@
1
- import { GoogleCloudStorageProofStore } from './gcs_proof_store.js';
2
- import { InlineProofStore } from './inline_proof_store.js';
3
1
  import type { ProofStore } from './proof_store.js';
4
- export declare function createProofStore(config: string | undefined, logger?: import("@aztec/foundation/log").Logger): GoogleCloudStorageProofStore | InlineProofStore;
5
- export declare function createProofStoreForUri(uri: string, logger?: import("@aztec/foundation/log").Logger): Pick<ProofStore, 'getProofInput' | 'getProofOutput'>;
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3Byb29mX3N0b3JlL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQsd0JBQWdCLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUFFLE1BQU0seUNBQTRDLG1EQW1COUc7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQ3BDLEdBQUcsRUFBRSxNQUFNLEVBQ1gsTUFBTSx5Q0FBNEMsR0FDakQsSUFBSSxDQUFDLFVBQVUsRUFBRSxlQUFlLEdBQUcsZ0JBQWdCLENBQUMsQ0FXdEQifQ==
2
+ export declare function createProofStore(config: string | undefined, logger?: import("@aztec/foundation/log").Logger): Promise<ProofStore>;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3Byb29mX3N0b3JlL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQsd0JBQXNCLGdCQUFnQixDQUNwQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDMUIsTUFBTSx5Q0FBNEMsR0FDakQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQVNyQiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/proving_broker/proof_store/factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,yCAA4C,mDAmB9G;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,MAAM,yCAA4C,GACjD,IAAI,CAAC,UAAU,EAAE,eAAe,GAAG,gBAAgB,CAAC,CAWtD"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/proving_broker/proof_store/factory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,yCAA4C,GACjD,OAAO,CAAC,UAAU,CAAC,CASrB"}
@@ -1,36 +1,13 @@
1
1
  import { createLogger } from '@aztec/foundation/log';
2
- import { GoogleCloudStorageProofStore } from './gcs_proof_store.js';
2
+ import { createFileStore } from '@aztec/stdlib/file-store';
3
+ import { FileStoreProofStore } from './file_store_proof_store.js';
3
4
  import { InlineProofStore } from './inline_proof_store.js';
4
- export function createProofStore(config, logger = createLogger('prover-client:proof-store')) {
5
- if (config === undefined) {
5
+ export async function createProofStore(config, logger = createLogger('prover-client:proof-store')) {
6
+ if (!config) {
6
7
  logger.info('Creating inline proof store');
7
8
  return new InlineProofStore();
8
- } else if (config.startsWith('gs://')) {
9
- try {
10
- const url = new URL(config);
11
- const bucket = url.host;
12
- const path = url.pathname.replace(/^\/+/, '');
13
- logger.info(`Creating google cloud proof store at ${bucket}`, {
14
- bucket,
15
- path
16
- });
17
- return new GoogleCloudStorageProofStore(bucket, path);
18
- } catch {
19
- throw new Error(`Invalid google cloud proof store definition: '${config}'. Supported values are 'gs://bucket-name/path/to/store'.`);
20
- }
21
- } else {
22
- throw new Error(`Unknown proof store config: '${config}'. Supported values are 'gs://bucket-name/path/to/store'.`);
23
- }
24
- }
25
- export function createProofStoreForUri(uri, logger = createLogger('prover-client:proof-store')) {
26
- if (uri.startsWith('data://')) {
27
- return createProofStore(undefined, logger);
28
- } else if (uri.startsWith('gs://')) {
29
- const url = new URL(uri);
30
- const basePath = url.pathname.replace(/^\/+/, '').split('/').slice(0, -3);
31
- url.pathname = basePath.join('/');
32
- return createProofStore(uri, logger);
33
- } else {
34
- throw new Error(`Unknown proof store config: '${uri}'. Supported protocols are 'data://' and 'gs://'.`);
35
9
  }
10
+ const fileStore = await createFileStore(config, logger);
11
+ logger.info(`Creating file store proof store at ${config}`);
12
+ return new FileStoreProofStore(fileStore);
36
13
  }
@@ -0,0 +1,18 @@
1
+ import type { FileStore } from '@aztec/stdlib/file-store';
2
+ import { type ProofUri, type ProvingJobId, type ProvingJobInputs, type ProvingJobInputsMap, ProvingJobResult, type ProvingJobResultsMap } from '@aztec/stdlib/interfaces/server';
3
+ import { ProvingRequestType } from '@aztec/stdlib/proofs';
4
+ import type { ProofStore } from './proof_store.js';
5
+ /**
6
+ * A proof store implementation backed by a generic FileStore.
7
+ * Supports any storage backend (GCS, S3, local filesystem) via the FileStore abstraction.
8
+ */
9
+ export declare class FileStoreProofStore implements ProofStore {
10
+ private readonly fileStore;
11
+ constructor(fileStore: FileStore);
12
+ saveProofInput<T extends ProvingRequestType>(id: ProvingJobId, type: T, inputs: ProvingJobInputsMap[T]): Promise<ProofUri>;
13
+ saveProofOutput<T extends ProvingRequestType>(id: ProvingJobId, type: T, result: ProvingJobResultsMap[T]): Promise<ProofUri>;
14
+ getProofInput(uri: ProofUri): Promise<ProvingJobInputs>;
15
+ getProofOutput(uri: ProofUri): Promise<ProvingJobResult>;
16
+ private extractTypeFromUri;
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZV9zdG9yZV9wcm9vZl9zdG9yZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3Byb29mX3N0b3JlL2ZpbGVfc3RvcmVfcHJvb2Zfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUNMLEtBQUssUUFBUSxFQUNiLEtBQUssWUFBWSxFQUNqQixLQUFLLGdCQUFnQixFQUNyQixLQUFLLG1CQUFtQixFQUN4QixnQkFBZ0IsRUFDaEIsS0FBSyxvQkFBb0IsRUFFMUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUtuRDs7O0dBR0c7QUFDSCxxQkFBYSxtQkFBb0IsWUFBVyxVQUFVO0lBQ3hDLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUztJQUF0QyxZQUE2QixTQUFTLEVBQUUsU0FBUyxFQUFJO0lBRS9DLGNBQWMsQ0FBQyxDQUFDLFNBQVMsa0JBQWtCLEVBQy9DLEVBQUUsRUFBRSxZQUFZLEVBQ2hCLElBQUksRUFBRSxDQUFDLEVBQ1AsTUFBTSxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxHQUM3QixPQUFPLENBQUMsUUFBUSxDQUFDLENBSW5CO0lBRUssZUFBZSxDQUFDLENBQUMsU0FBUyxrQkFBa0IsRUFDaEQsRUFBRSxFQUFFLFlBQVksRUFDaEIsSUFBSSxFQUFFLENBQUMsRUFDUCxNQUFNLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEdBQzlCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FNbkI7SUFFSyxhQUFhLENBQUMsR0FBRyxFQUFFLFFBQVEsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FTNUQ7SUFFSyxjQUFjLENBQUMsR0FBRyxFQUFFLFFBQVEsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FPN0Q7SUFFRCxPQUFPLENBQUMsa0JBQWtCO0NBVTNCIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file_store_proof_store.d.ts","sourceRoot":"","sources":["../../../src/proving_broker/proof_store/file_store_proof_store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,gBAAgB,EAChB,KAAK,oBAAoB,EAE1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,UAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAtC,YAA6B,SAAS,EAAE,SAAS,EAAI;IAE/C,cAAc,CAAC,CAAC,SAAS,kBAAkB,EAC/C,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAInB;IAEK,eAAe,CAAC,CAAC,SAAS,kBAAkB,EAChD,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,QAAQ,CAAC,CAMnB;IAEK,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAS5D;IAEK,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAO7D;IAED,OAAO,CAAC,kBAAkB;CAU3B"}
@@ -0,0 +1,60 @@
1
+ import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
2
+ import { ProvingJobResult, getProvingJobInputClassFor } from '@aztec/stdlib/interfaces/server';
3
+ import { ProvingRequestType } from '@aztec/stdlib/proofs';
4
+ const INPUTS_PATH = 'inputs';
5
+ const OUTPUTS_PATH = 'outputs';
6
+ /**
7
+ * A proof store implementation backed by a generic FileStore.
8
+ * Supports any storage backend (GCS, S3, local filesystem) via the FileStore abstraction.
9
+ */ export class FileStoreProofStore {
10
+ fileStore;
11
+ constructor(fileStore){
12
+ this.fileStore = fileStore;
13
+ }
14
+ async saveProofInput(id, type, inputs) {
15
+ const path = `${INPUTS_PATH}/${ProvingRequestType[type]}/${id}`;
16
+ const uri = await this.fileStore.save(path, inputs.toBuffer());
17
+ return uri;
18
+ }
19
+ async saveProofOutput(id, type, result) {
20
+ const jobResult = {
21
+ type,
22
+ result
23
+ };
24
+ const json = jsonStringify(jobResult);
25
+ const path = `${OUTPUTS_PATH}/${ProvingRequestType[type]}/${id}.json`;
26
+ const uri = await this.fileStore.save(path, Buffer.from(json, 'utf-8'));
27
+ return uri;
28
+ }
29
+ async getProofInput(uri) {
30
+ try {
31
+ const buffer = await this.fileStore.read(uri);
32
+ const type = this.extractTypeFromUri(uri);
33
+ const inputs = getProvingJobInputClassFor(type).fromBuffer(buffer);
34
+ return {
35
+ inputs,
36
+ type
37
+ };
38
+ } catch (err) {
39
+ throw new Error(`Error getting proof input at ${uri}: ${err}`);
40
+ }
41
+ }
42
+ async getProofOutput(uri) {
43
+ try {
44
+ const buffer = await this.fileStore.read(uri);
45
+ return jsonParseWithSchema(buffer.toString('utf-8'), ProvingJobResult);
46
+ } catch (err) {
47
+ throw new Error(`Error getting proof output at ${uri}: ${err}`);
48
+ }
49
+ }
50
+ extractTypeFromUri(uri) {
51
+ const url = new URL(uri);
52
+ const pathParts = url.pathname.split('/').filter(Boolean);
53
+ const typeString = pathParts.at(-2);
54
+ const type = typeString ? ProvingRequestType[typeString] : undefined;
55
+ if (type === undefined) {
56
+ throw new Error(`Unrecognized proof type ${typeString} in URI ${uri}`);
57
+ }
58
+ return type;
59
+ }
60
+ }
@@ -1,5 +1,5 @@
1
1
  export * from './proof_store.js';
2
2
  export * from './inline_proof_store.js';
3
3
  export * from './factory.js';
4
- export * from './gcs_proof_store.js';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aW5nX2Jyb2tlci9wcm9vZl9zdG9yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxzQkFBc0IsQ0FBQyJ9
4
+ export * from './file_store_proof_store.js';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aW5nX2Jyb2tlci9wcm9vZl9zdG9yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyw2QkFBNkIsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/proving_broker/proof_store/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/proving_broker/proof_store/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export * from './proof_store.js';
2
2
  export * from './inline_proof_store.js';
3
3
  export * from './factory.js';
4
- export * from './gcs_proof_store.js';
4
+ export * from './file_store_proof_store.js';
@@ -1,3 +1,4 @@
1
+ import { type LoggerBindings } from '@aztec/foundation/log';
1
2
  import type { ProverAgentStatus, ProvingJobConsumer, ServerCircuitProver } from '@aztec/stdlib/interfaces/server';
2
3
  import { ProvingRequestType } from '@aztec/stdlib/proofs';
3
4
  import type { ProofStore } from './proof_store/index.js';
@@ -15,9 +16,9 @@ export declare class ProvingAgent {
15
16
  private proofAllowList;
16
17
  /** How long to wait between jobs */
17
18
  private pollIntervalMs;
18
- private log;
19
19
  private currentJobController?;
20
20
  private runningPromise;
21
+ private log;
21
22
  constructor(
22
23
  /** The source of proving jobs */
23
24
  broker: ProvingJobConsumer,
@@ -28,7 +29,7 @@ export declare class ProvingAgent {
28
29
  /** Optional list of allowed proof types to build */
29
30
  proofAllowList?: Array<ProvingRequestType>,
30
31
  /** How long to wait between jobs */
31
- pollIntervalMs?: number, log?: import("@aztec/foundation/log").Logger);
32
+ pollIntervalMs?: number, bindings?: LoggerBindings);
32
33
  setCircuitProver(circuitProver: ServerCircuitProver): void;
33
34
  isRunning(): boolean;
34
35
  start(): void;
@@ -38,4 +39,4 @@ export declare class ProvingAgent {
38
39
  private startJob;
39
40
  private reportResult;
40
41
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmluZ19hZ2VudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3Byb3ZpbmdfYWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxLQUFLLEVBRVYsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUlsQixtQkFBbUIsRUFDcEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUd6RDs7R0FFRztBQUNILHFCQUFhLFlBQVk7SUFLckIsaUNBQWlDO0lBQ2pDLE9BQU8sQ0FBQyxNQUFNO0lBQ2QsZ0RBQWdEO0lBQ2hELE9BQU8sQ0FBQyxVQUFVO0lBQ2xCLGlEQUFpRDtJQUNqRCxPQUFPLENBQUMsYUFBYTtJQUNyQixvREFBb0Q7SUFDcEQsT0FBTyxDQUFDLGNBQWM7SUFDdEIsb0NBQW9DO0lBQ3BDLE9BQU8sQ0FBQyxjQUFjO0lBQ3RCLE9BQU8sQ0FBQyxHQUFHO0lBZGIsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQXVCO0lBQ3BELE9BQU8sQ0FBQyxjQUFjLENBQWlCO0lBRXZDO0lBQ0UsaUNBQWlDO0lBQ3pCLE1BQU0sRUFBRSxrQkFBa0I7SUFDbEMsZ0RBQWdEO0lBQ3hDLFVBQVUsRUFBRSxVQUFVO0lBQzlCLGlEQUFpRDtJQUN6QyxhQUFhLEVBQUUsbUJBQW1CO0lBQzFDLG9EQUFvRDtJQUM1QyxjQUFjLEdBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFNO0lBQ3RELG9DQUFvQztJQUM1QixjQUFjLFNBQU8sRUFDckIsR0FBRyx5Q0FBOEMsRUFHMUQ7SUFFTSxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLEdBQUcsSUFBSSxDQUVoRTtJQUVNLFNBQVMsSUFBSSxPQUFPLENBRTFCO0lBRU0sS0FBSyxJQUFJLElBQUksQ0FFbkI7SUFFWSxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUdqQztJQUVNLFNBQVMsSUFBSSxpQkFBaUIsQ0FXcEM7WUFFYSxJQUFJO1lBcURKLFFBQVE7WUF1RFIsWUFBWTtDQTBCM0IifQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmluZ19hZ2VudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3Byb3ZpbmdfYWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFlLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBSXZGLE9BQU8sS0FBSyxFQUVWLGlCQUFpQixFQUNqQixrQkFBa0IsRUFJbEIsbUJBQW1CLEVBQ3BCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFMUQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHekQ7O0dBRUc7QUFDSCxxQkFBYSxZQUFZO0lBTXJCLGlDQUFpQztJQUNqQyxPQUFPLENBQUMsTUFBTTtJQUNkLGdEQUFnRDtJQUNoRCxPQUFPLENBQUMsVUFBVTtJQUNsQixpREFBaUQ7SUFDakQsT0FBTyxDQUFDLGFBQWE7SUFDckIsb0RBQW9EO0lBQ3BELE9BQU8sQ0FBQyxjQUFjO0lBQ3RCLG9DQUFvQztJQUNwQyxPQUFPLENBQUMsY0FBYztJQWR4QixPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBdUI7SUFDcEQsT0FBTyxDQUFDLGNBQWMsQ0FBaUI7SUFDdkMsT0FBTyxDQUFDLEdBQUcsQ0FBUztJQUVwQjtJQUNFLGlDQUFpQztJQUN6QixNQUFNLEVBQUUsa0JBQWtCO0lBQ2xDLGdEQUFnRDtJQUN4QyxVQUFVLEVBQUUsVUFBVTtJQUM5QixpREFBaUQ7SUFDekMsYUFBYSxFQUFFLG1CQUFtQjtJQUMxQyxvREFBb0Q7SUFDNUMsY0FBYyxHQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBTTtJQUN0RCxvQ0FBb0M7SUFDNUIsY0FBYyxTQUFPLEVBQzdCLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFJMUI7SUFFTSxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLEdBQUcsSUFBSSxDQUVoRTtJQUVNLFNBQVMsSUFBSSxPQUFPLENBRTFCO0lBRU0sS0FBSyxJQUFJLElBQUksQ0FFbkI7SUFFWSxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUdqQztJQUVNLFNBQVMsSUFBSSxpQkFBaUIsQ0FXcEM7WUFFYSxJQUFJO1lBcURKLFFBQVE7WUF3RFIsWUFBWTtDQTBCM0IifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"proving_agent.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_agent.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,iBAAiB,EACjB,kBAAkB,EAIlB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD;;GAEG;AACH,qBAAa,YAAY;IAKrB,iCAAiC;IACjC,OAAO,CAAC,MAAM;IACd,gDAAgD;IAChD,OAAO,CAAC,UAAU;IAClB,iDAAiD;IACjD,OAAO,CAAC,aAAa;IACrB,oDAAoD;IACpD,OAAO,CAAC,cAAc;IACtB,oCAAoC;IACpC,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,GAAG;IAdb,OAAO,CAAC,oBAAoB,CAAC,CAAuB;IACpD,OAAO,CAAC,cAAc,CAAiB;IAEvC;IACE,iCAAiC;IACzB,MAAM,EAAE,kBAAkB;IAClC,gDAAgD;IACxC,UAAU,EAAE,UAAU;IAC9B,iDAAiD;IACzC,aAAa,EAAE,mBAAmB;IAC1C,oDAAoD;IAC5C,cAAc,GAAE,KAAK,CAAC,kBAAkB,CAAM;IACtD,oCAAoC;IAC5B,cAAc,SAAO,EACrB,GAAG,yCAA8C,EAG1D;IAEM,gBAAgB,CAAC,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAEhE;IAEM,SAAS,IAAI,OAAO,CAE1B;IAEM,KAAK,IAAI,IAAI,CAEnB;IAEY,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAGjC;IAEM,SAAS,IAAI,iBAAiB,CAWpC;YAEa,IAAI;YAqDJ,QAAQ;YAuDR,YAAY;CA0B3B"}
1
+ {"version":3,"file":"proving_agent.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAIvF,OAAO,KAAK,EAEV,iBAAiB,EACjB,kBAAkB,EAIlB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD;;GAEG;AACH,qBAAa,YAAY;IAMrB,iCAAiC;IACjC,OAAO,CAAC,MAAM;IACd,gDAAgD;IAChD,OAAO,CAAC,UAAU;IAClB,iDAAiD;IACjD,OAAO,CAAC,aAAa;IACrB,oDAAoD;IACpD,OAAO,CAAC,cAAc;IACtB,oCAAoC;IACpC,OAAO,CAAC,cAAc;IAdxB,OAAO,CAAC,oBAAoB,CAAC,CAAuB;IACpD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,GAAG,CAAS;IAEpB;IACE,iCAAiC;IACzB,MAAM,EAAE,kBAAkB;IAClC,gDAAgD;IACxC,UAAU,EAAE,UAAU;IAC9B,iDAAiD;IACzC,aAAa,EAAE,mBAAmB;IAC1C,oDAAoD;IAC5C,cAAc,GAAE,KAAK,CAAC,kBAAkB,CAAM;IACtD,oCAAoC;IAC5B,cAAc,SAAO,EAC7B,QAAQ,CAAC,EAAE,cAAc,EAI1B;IAEM,gBAAgB,CAAC,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAEhE;IAEM,SAAS,IAAI,OAAO,CAE1B;IAEM,KAAK,IAAI,IAAI,CAEnB;IAEY,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAGjC;IAEM,SAAS,IAAI,iBAAiB,CAWpC;YAEa,IAAI;YAqDJ,QAAQ;YAwDR,YAAY;CA0B3B"}
@@ -13,16 +13,16 @@ import { ProvingJobController, ProvingJobControllerStatus } from './proving_job_
13
13
  circuitProver;
14
14
  proofAllowList;
15
15
  pollIntervalMs;
16
- log;
17
16
  currentJobController;
18
17
  runningPromise;
19
- constructor(/** The source of proving jobs */ broker, /** Database holding proof inputs and outputs */ proofStore, /** The prover implementation to defer jobs to */ circuitProver, /** Optional list of allowed proof types to build */ proofAllowList = [], /** How long to wait between jobs */ pollIntervalMs = 1000, log = createLogger('prover-client:proving-agent')){
18
+ log;
19
+ constructor(/** The source of proving jobs */ broker, /** Database holding proof inputs and outputs */ proofStore, /** The prover implementation to defer jobs to */ circuitProver, /** Optional list of allowed proof types to build */ proofAllowList = [], /** How long to wait between jobs */ pollIntervalMs = 1000, bindings){
20
20
  this.broker = broker;
21
21
  this.proofStore = proofStore;
22
22
  this.circuitProver = circuitProver;
23
23
  this.proofAllowList = proofAllowList;
24
24
  this.pollIntervalMs = pollIntervalMs;
25
- this.log = log;
25
+ this.log = createLogger('prover-client:proving-agent', bindings);
26
26
  this.runningPromise = new RunningPromise(this.work.bind(this), this.log, this.pollIntervalMs);
27
27
  }
28
28
  setCircuitProver(circuitProver) {
@@ -124,7 +124,7 @@ import { ProvingJobController, ProvingJobControllerStatus } from './proving_job_
124
124
  // trigger a run of the main work loop when proving completes
125
125
  // no need to await this here. The controller will stay alive (in DONE state) until the result is send to the broker
126
126
  void this.runningPromise.trigger();
127
- });
127
+ }, this.log.getBindings());
128
128
  if (abortedProofJobId) {
129
129
  this.log.info(`Aborting job id=${abortedProofJobId} type=${abortedProofName} to start new job id=${this.currentJobController.getJobId()} type=${this.currentJobController.getProofTypeName()} inputsUri=${truncate(job.inputsUri)}`);
130
130
  } else {
@@ -1,4 +1,5 @@
1
- import { type GetProvingJobResponse, type ProofUri, type ProvingJob, type ProvingJobConsumer, type ProvingJobFilter, type ProvingJobId, type ProvingJobProducer, type ProvingJobStatus } from '@aztec/stdlib/interfaces/server';
1
+ import { EpochNumber } from '@aztec/foundation/branded-types';
2
+ import { type GetProvingJobResponse, type ProofUri, type ProvingJob, type ProvingJobBrokerDebug, type ProvingJobConsumer, type ProvingJobFilter, type ProvingJobId, type ProvingJobProducer, type ProvingJobStatus } from '@aztec/stdlib/interfaces/server';
2
3
  import { ProvingRequestType } from '@aztec/stdlib/proofs';
3
4
  import { type TelemetryClient, type Traceable, type Tracer } from '@aztec/telemetry-client';
4
5
  import { type ProverBrokerConfig } from './config.js';
@@ -7,7 +8,7 @@ import type { ProvingBrokerDatabase } from './proving_broker_database.js';
7
8
  * A broker that manages proof requests and distributes them to workers based on their priority.
8
9
  * It takes a backend that is responsible for storing and retrieving proof requests and results.
9
10
  */
10
- export declare class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Traceable {
11
+ export declare class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, ProvingJobBrokerDebug, Traceable {
11
12
  #private;
12
13
  private database;
13
14
  private logger;
@@ -38,7 +39,8 @@ export declare class ProvingBroker implements ProvingJobProducer, ProvingJobCons
38
39
  private epochHeight;
39
40
  private maxEpochsToKeepResultsFor;
40
41
  private started;
41
- constructor(database: ProvingBrokerDatabase, { proverBrokerJobTimeoutMs, proverBrokerPollIntervalMs, proverBrokerJobMaxRetries, proverBrokerMaxEpochsToKeepResultsFor }?: Required<Pick<ProverBrokerConfig, 'proverBrokerJobTimeoutMs' | 'proverBrokerPollIntervalMs' | 'proverBrokerJobMaxRetries' | 'proverBrokerMaxEpochsToKeepResultsFor'>>, client?: TelemetryClient, logger?: import("@aztec/foundation/log").Logger);
42
+ private debugReplayEnabled;
43
+ constructor(database: ProvingBrokerDatabase, { proverBrokerJobTimeoutMs, proverBrokerPollIntervalMs, proverBrokerJobMaxRetries, proverBrokerMaxEpochsToKeepResultsFor, proverBrokerDebugReplayEnabled }?: Required<Pick<ProverBrokerConfig, 'proverBrokerJobTimeoutMs' | 'proverBrokerPollIntervalMs' | 'proverBrokerJobMaxRetries' | 'proverBrokerMaxEpochsToKeepResultsFor' | 'proverBrokerDebugReplayEnabled'>>, client?: TelemetryClient, logger?: import("@aztec/foundation/log").Logger);
42
44
  private measureQueueDepth;
43
45
  private countActiveJobs;
44
46
  start(): Promise<void>;
@@ -54,9 +56,10 @@ export declare class ProvingBroker implements ProvingJobProducer, ProvingJobCons
54
56
  job: ProvingJob;
55
57
  time: number;
56
58
  } | undefined>;
59
+ replayProvingJob(jobId: ProvingJobId, type: ProvingRequestType, epochNumber: EpochNumber, inputsUri: ProofUri): Promise<ProvingJobStatus>;
57
60
  private cleanUpProvingJobState;
58
61
  private cleanupPass;
59
- private cleanupStaleJobs;
62
+ private cleanupJobsOlderThanEpoch;
60
63
  private reEnqueueExpiredJobs;
61
64
  private enqueueJobInternal;
62
65
  private isJobStale;
@@ -70,4 +73,4 @@ export declare class ProvingBroker implements ProvingJobProducer, ProvingJobCons
70
73
  * is to get picked up by agents
71
74
  */
72
75
  export declare const PROOF_TYPES_IN_PRIORITY_ORDER: ProvingRequestType[];
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmluZ19icm9rZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aW5nX2Jyb2tlci9wcm92aW5nX2Jyb2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQ0wsS0FBSyxxQkFBcUIsRUFDMUIsS0FBSyxRQUFRLEVBQ2IsS0FBSyxVQUFVLEVBQ2YsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxZQUFZLEVBQ2pCLEtBQUssa0JBQWtCLEVBRXZCLEtBQUssZ0JBQWdCLEVBRXRCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFFLEtBQUssU0FBUyxFQUFFLEtBQUssTUFBTSxFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBSWhILE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUE2QixNQUFNLGFBQWEsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBVzFFOzs7R0FHRztBQUNILHFCQUFhLGFBQWMsWUFBVyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxTQUFTOztJQStFbkYsT0FBTyxDQUFDLFFBQVE7SUFnQmhCLE9BQU8sQ0FBQyxNQUFNO0lBOUZoQixPQUFPLENBQUMsTUFBTSxDQTZCWjtJQUlGLE9BQU8sQ0FBQyxTQUFTLENBQXVDO0lBRXhELE9BQU8sQ0FBQyxZQUFZLENBQW9EO0lBR3hFLE9BQU8sQ0FBQyxVQUFVLENBQWtDO0lBTXBELE9BQU8sQ0FBQyxVQUFVLENBQStDO0lBR2pFLE9BQU8sQ0FBQyxPQUFPLENBQW1DO0lBR2xELE9BQU8sQ0FBQyxRQUFRLENBQTBFO0lBRTFGLE9BQU8sQ0FBQyxjQUFjLENBQWlCO0lBQ3ZDLE9BQU8sQ0FBQyxZQUFZLENBQW9CO0lBQ3hDLE9BQU8sQ0FBQyxZQUFZ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
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmluZ19icm9rZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aW5nX2Jyb2tlci9wcm92aW5nX2Jyb2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFLOUQsT0FBTyxFQUNMLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssUUFBUSxFQUNiLEtBQUssVUFBVSxFQUNmLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssWUFBWSxFQUNqQixLQUFLLGtCQUFrQixFQUV2QixLQUFLLGdCQUFnQixFQUV0QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBRSxLQUFLLFNBQVMsRUFBRSxLQUFLLE1BQU0sRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUloSCxPQUFPLEVBQUUsS0FBSyxrQkFBa0IsRUFBNkIsTUFBTSxhQUFhLENBQUM7QUFDakYsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQVcxRTs7O0dBR0c7QUFDSCxxQkFBYSxhQUFjLFlBQVcsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsU0FBUzs7SUFpRjFHLE9BQU8sQ0FBQyxRQUFRO0lBa0JoQixPQUFPLENBQUMsTUFBTTtJQWxHaEIsT0FBTyxDQUFDLE1BQU0sQ0E2Qlo7SUFJRixPQUFPLENBQUMsU0FBUyxDQUF1QztJQUV4RCxPQUFPLENBQUMsWUFBWSxDQUFvRDtJQUd4RSxPQUFPLENBQUMsVUFBVSxDQUFrQztJQU1wRCxPQUFPLENBQUMsVUFBVSxDQUErQztJQUdqRSxPQUFPLENBQUMsT0FBTyxDQUFtQztJQUdsRCxPQUFPLENBQUMsUUFBUSxDQUEwRTtJ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
@@ -1 +1 @@
1
- {"version":3,"file":"proving_broker.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_broker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proving_broker.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_broker.ts"],"names":[],"mappings":"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"}