@aztec/prover-client 0.76.4-devnet-test-rc3 → 0.77.0-testnet-ignition.17

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 (136) hide show
  1. package/dest/bin/get-proof-inputs.js +20 -17
  2. package/dest/block_builder/index.d.ts +1 -1
  3. package/dest/block_builder/index.d.ts.map +1 -1
  4. package/dest/block_builder/index.js +0 -1
  5. package/dest/block_builder/light.d.ts +4 -2
  6. package/dest/block_builder/light.d.ts.map +1 -1
  7. package/dest/block_builder/light.js +28 -15
  8. package/dest/config.d.ts +2 -2
  9. package/dest/config.d.ts.map +1 -1
  10. package/dest/config.js +10 -12
  11. package/dest/index.d.ts +1 -1
  12. package/dest/index.d.ts.map +1 -1
  13. package/dest/index.js +0 -1
  14. package/dest/mocks/fixtures.d.ts +4 -3
  15. package/dest/mocks/fixtures.d.ts.map +1 -1
  16. package/dest/mocks/fixtures.js +37 -30
  17. package/dest/mocks/test_context.d.ts +16 -12
  18. package/dest/mocks/test_context.d.ts.map +1 -1
  19. package/dest/mocks/test_context.js +85 -62
  20. package/dest/orchestrator/block-building-helpers.d.ts +12 -7
  21. package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
  22. package/dest/orchestrator/block-building-helpers.js +98 -87
  23. package/dest/orchestrator/block-proving-state.d.ts +13 -8
  24. package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
  25. package/dest/orchestrator/block-proving-state.js +101 -73
  26. package/dest/orchestrator/epoch-proving-state.d.ts +10 -6
  27. package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
  28. package/dest/orchestrator/epoch-proving-state.js +57 -41
  29. package/dest/orchestrator/index.js +0 -1
  30. package/dest/orchestrator/orchestrator.d.ts +7 -5
  31. package/dest/orchestrator/orchestrator.d.ts.map +1 -1
  32. package/dest/orchestrator/orchestrator.js +656 -654
  33. package/dest/orchestrator/orchestrator_metrics.js +4 -3
  34. package/dest/orchestrator/tx-proving-state.d.ts +7 -4
  35. package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
  36. package/dest/orchestrator/tx-proving-state.js +54 -52
  37. package/dest/prover-client/factory.d.ts +2 -2
  38. package/dest/prover-client/factory.d.ts.map +1 -1
  39. package/dest/prover-client/factory.js +0 -1
  40. package/dest/prover-client/index.js +0 -1
  41. package/dest/prover-client/prover-client.d.ts +3 -3
  42. package/dest/prover-client/prover-client.d.ts.map +1 -1
  43. package/dest/prover-client/prover-client.js +31 -26
  44. package/dest/prover-client/server-epoch-prover.d.ts +8 -5
  45. package/dest/prover-client/server-epoch-prover.d.ts.map +1 -1
  46. package/dest/prover-client/server-epoch-prover.js +4 -4
  47. package/dest/proving_broker/broker_prover_facade.d.ts +5 -3
  48. package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
  49. package/dest/proving_broker/broker_prover_facade.js +80 -67
  50. package/dest/proving_broker/config.d.ts +15 -2
  51. package/dest/proving_broker/config.d.ts.map +1 -1
  52. package/dest/proving_broker/config.js +49 -44
  53. package/dest/proving_broker/factory.d.ts +2 -2
  54. package/dest/proving_broker/factory.d.ts.map +1 -1
  55. package/dest/proving_broker/factory.js +1 -6
  56. package/dest/proving_broker/fixtures.d.ts +1 -1
  57. package/dest/proving_broker/fixtures.d.ts.map +1 -1
  58. package/dest/proving_broker/fixtures.js +2 -2
  59. package/dest/proving_broker/index.js +0 -1
  60. package/dest/proving_broker/proof_store/factory.d.ts +1 -1
  61. package/dest/proving_broker/proof_store/factory.d.ts.map +1 -1
  62. package/dest/proving_broker/proof_store/factory.js +9 -12
  63. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +3 -2
  64. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +1 -1
  65. package/dest/proving_broker/proof_store/gcs_proof_store.js +12 -7
  66. package/dest/proving_broker/proof_store/index.js +0 -1
  67. package/dest/proving_broker/proof_store/inline_proof_store.d.ts +3 -2
  68. package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +1 -1
  69. package/dest/proving_broker/proof_store/inline_proof_store.js +11 -7
  70. package/dest/proving_broker/proof_store/proof_store.d.ts +2 -1
  71. package/dest/proving_broker/proof_store/proof_store.d.ts.map +1 -1
  72. package/dest/proving_broker/proof_store/proof_store.js +3 -2
  73. package/dest/proving_broker/proving_agent.d.ts +3 -2
  74. package/dest/proving_broker/proving_agent.d.ts.map +1 -1
  75. package/dest/proving_broker/proving_agent.js +121 -124
  76. package/dest/proving_broker/proving_agent_instrumentation.d.ts +1 -1
  77. package/dest/proving_broker/proving_agent_instrumentation.d.ts.map +1 -1
  78. package/dest/proving_broker/proving_agent_instrumentation.js +6 -6
  79. package/dest/proving_broker/proving_broker.d.ts +4 -11
  80. package/dest/proving_broker/proving_broker.d.ts.map +1 -1
  81. package/dest/proving_broker/proving_broker.js +490 -446
  82. package/dest/proving_broker/proving_broker_database/memory.d.ts +2 -2
  83. package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -1
  84. package/dest/proving_broker/proving_broker_database/memory.js +19 -13
  85. package/dest/proving_broker/proving_broker_database/persisted.d.ts +3 -3
  86. package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -1
  87. package/dest/proving_broker/proving_broker_database/persisted.js +62 -29
  88. package/dest/proving_broker/proving_broker_database.d.ts +1 -1
  89. package/dest/proving_broker/proving_broker_database.d.ts.map +1 -1
  90. package/dest/proving_broker/proving_broker_database.js +3 -2
  91. package/dest/proving_broker/proving_broker_instrumentation.d.ts +6 -2
  92. package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -1
  93. package/dest/proving_broker/proving_broker_instrumentation.js +47 -22
  94. package/dest/proving_broker/proving_job_controller.d.ts +2 -1
  95. package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
  96. package/dest/proving_broker/proving_job_controller.js +81 -62
  97. package/dest/proving_broker/rpc.d.ts +4 -3
  98. package/dest/proving_broker/rpc.d.ts.map +1 -1
  99. package/dest/proving_broker/rpc.js +29 -25
  100. package/dest/test/mock_prover.d.ts +7 -5
  101. package/dest/test/mock_prover.d.ts.map +1 -1
  102. package/dest/test/mock_prover.js +13 -9
  103. package/package.json +16 -15
  104. package/src/bin/get-proof-inputs.ts +2 -1
  105. package/src/block_builder/index.ts +1 -1
  106. package/src/block_builder/light.ts +7 -10
  107. package/src/config.ts +2 -2
  108. package/src/index.ts +1 -1
  109. package/src/mocks/fixtures.ts +13 -15
  110. package/src/mocks/test_context.ts +60 -102
  111. package/src/orchestrator/block-building-helpers.ts +50 -45
  112. package/src/orchestrator/block-proving-state.ts +18 -22
  113. package/src/orchestrator/epoch-proving-state.ts +11 -16
  114. package/src/orchestrator/orchestrator.ts +26 -33
  115. package/src/orchestrator/tx-proving-state.ts +10 -13
  116. package/src/prover-client/factory.ts +2 -2
  117. package/src/prover-client/prover-client.ts +12 -12
  118. package/src/prover-client/server-epoch-prover.ts +8 -5
  119. package/src/proving_broker/broker_prover_facade.ts +29 -31
  120. package/src/proving_broker/config.ts +31 -3
  121. package/src/proving_broker/factory.ts +3 -11
  122. package/src/proving_broker/fixtures.ts +2 -1
  123. package/src/proving_broker/proof_store/factory.ts +1 -1
  124. package/src/proving_broker/proof_store/gcs_proof_store.ts +3 -3
  125. package/src/proving_broker/proof_store/inline_proof_store.ts +5 -5
  126. package/src/proving_broker/proof_store/proof_store.ts +9 -9
  127. package/src/proving_broker/proving_agent.ts +11 -11
  128. package/src/proving_broker/proving_agent_instrumentation.ts +5 -5
  129. package/src/proving_broker/proving_broker.ts +35 -32
  130. package/src/proving_broker/proving_broker_database/memory.ts +2 -2
  131. package/src/proving_broker/proving_broker_database/persisted.ts +8 -8
  132. package/src/proving_broker/proving_broker_database.ts +1 -1
  133. package/src/proving_broker/proving_broker_instrumentation.ts +24 -2
  134. package/src/proving_broker/proving_job_controller.ts +7 -7
  135. package/src/proving_broker/rpc.ts +6 -7
  136. package/src/test/mock_prover.ts +28 -30
@@ -1,15 +1,25 @@
1
- import { ProvingRequestType, makeProvingJobId, } from '@aztec/circuit-types';
2
1
  import { sha256 } from '@aztec/foundation/crypto';
3
2
  import { createLogger } from '@aztec/foundation/log';
4
3
  import { RunningPromise, promiseWithResolvers } from '@aztec/foundation/promise';
5
4
  import { truncate } from '@aztec/foundation/string';
5
+ import { makeProvingJobId } from '@aztec/stdlib/interfaces/server';
6
+ import { ProvingRequestType } from '@aztec/stdlib/proofs';
6
7
  import { InlineProofStore } from './proof_store/index.js';
7
8
  // Perform a snapshot sync every 30 seconds
8
- const SNAPSHOT_SYNC_INTERVAL_MS = 30000;
9
+ const SNAPSHOT_SYNC_INTERVAL_MS = 30_000;
9
10
  const MAX_CONCURRENT_JOB_SETTLED_REQUESTS = 10;
10
11
  const SNAPSHOT_SYNC_CHECK_MAX_REQUEST_SIZE = 1000;
11
12
  export class BrokerCircuitProverFacade {
12
- constructor(broker, proofStore = new InlineProofStore(), failedProofStore, pollIntervalMs = 1000, log = createLogger('prover-client:broker-circuit-prover-facade')) {
13
+ broker;
14
+ proofStore;
15
+ failedProofStore;
16
+ pollIntervalMs;
17
+ log;
18
+ jobs;
19
+ runningPromise;
20
+ timeOfLastSnapshotSync;
21
+ jobsToRetrieve;
22
+ constructor(broker, proofStore = new InlineProofStore(), failedProofStore, pollIntervalMs = 1000, log = createLogger('prover-client:broker-circuit-prover-facade')){
13
23
  this.broker = broker;
14
24
  this.proofStore = proofStore;
15
25
  this.failedProofStore = failedProofStore;
@@ -20,37 +30,42 @@ export class BrokerCircuitProverFacade {
20
30
  this.jobsToRetrieve = new Set();
21
31
  }
22
32
  /**
23
- * This is a critical section. This function can not be async since it writes
24
- * to the jobs map which acts as a mutex, ensuring a job is only ever created once.
25
- *
26
- * This could be called in a SerialQueue if it needs to become async.
27
- */
28
- getOrCreateProvingJob(id, type, signal) {
33
+ * This is a critical section. This function can not be async since it writes
34
+ * to the jobs map which acts as a mutex, ensuring a job is only ever created once.
35
+ *
36
+ * This could be called in a SerialQueue if it needs to become async.
37
+ */ getOrCreateProvingJob(id, type, signal) {
29
38
  // Check if there is already a promise for this job
30
39
  const existingJob = this.jobs.get(id);
31
40
  if (existingJob) {
32
41
  this.log.verbose(`Job already found in facade id=${id} type=${ProvingRequestType[type]}`, {
33
42
  provingJobId: id,
34
- provingJobType: ProvingRequestType[type],
43
+ provingJobType: ProvingRequestType[type]
35
44
  });
36
- return { job: existingJob, isEnqueued: true };
45
+ return {
46
+ job: existingJob,
47
+ isEnqueued: true
48
+ };
37
49
  }
38
50
  // Create a promise for this job id, regardless of whether it was enqueued at the broker
39
51
  // The running promise will monitor for the job to be completed and resolve it either way
40
52
  const promise = promiseWithResolvers();
41
- const abortFn = () => {
53
+ const abortFn = ()=>{
42
54
  signal?.removeEventListener('abort', abortFn);
43
- void this.broker.cancelProvingJob(id).catch(err => this.log.warn(`Error cancelling job id=${id}`, err));
55
+ void this.broker.cancelProvingJob(id).catch((err)=>this.log.warn(`Error cancelling job id=${id}`, err));
44
56
  };
45
57
  const job = {
46
58
  id,
47
59
  type,
48
60
  deferred: promise,
49
61
  abortFn,
50
- signal,
62
+ signal
51
63
  };
52
64
  this.jobs.set(id, job);
53
- return { job, isEnqueued: false };
65
+ return {
66
+ job,
67
+ isEnqueued: false
68
+ };
54
69
  }
55
70
  async enqueueJob(id, type, inputs, epochNumber = 0, signal) {
56
71
  const { job: job, isEnqueued } = this.getOrCreateProvingJob(id, type, signal);
@@ -64,7 +79,7 @@ export class BrokerCircuitProverFacade {
64
79
  id,
65
80
  type,
66
81
  inputsUri,
67
- epochNumber,
82
+ epochNumber
68
83
  });
69
84
  // If we are here then the job was successfully accepted by the broker
70
85
  // the returned status is for before any action was performed
@@ -75,12 +90,11 @@ export class BrokerCircuitProverFacade {
75
90
  provingJobId: id,
76
91
  provingJobType: ProvingRequestType[type],
77
92
  epochNumber,
78
- inputsUri: truncate(inputsUri),
93
+ inputsUri: truncate(inputsUri)
79
94
  });
80
95
  // Job was not enqueued. It must be completed already, add to our set of already completed jobs
81
96
  this.jobsToRetrieve.add(id);
82
- }
83
- else {
97
+ } else {
84
98
  // notify the broker if job is aborted
85
99
  signal?.addEventListener('abort', job.abortFn);
86
100
  // Job added for the first time
@@ -90,21 +104,19 @@ export class BrokerCircuitProverFacade {
90
104
  provingJobType: ProvingRequestType[type],
91
105
  epochNumber,
92
106
  inputsUri: truncate(inputsUri),
93
- numOutstandingJobs: this.jobs.size,
107
+ numOutstandingJobs: this.jobs.size
94
108
  });
95
- }
96
- else {
109
+ } else {
97
110
  // Job was previously sent to the broker but is not completed
98
111
  this.log.verbose(`Job already in queue or in progress when sent to broker id=${id} type=${ProvingRequestType[type]} epochNumber=${epochNumber}`, {
99
112
  provingJobId: id,
100
113
  provingJobType: ProvingRequestType[type],
101
114
  epochNumber,
102
- inputsUri: truncate(inputsUri),
115
+ inputsUri: truncate(inputsUri)
103
116
  });
104
117
  }
105
118
  }
106
- }
107
- catch (err) {
119
+ } catch (err) {
108
120
  this.jobs.delete(job.id);
109
121
  job.deferred.reject(err);
110
122
  }
@@ -115,7 +127,7 @@ export class BrokerCircuitProverFacade {
115
127
  throw new Error('BrokerCircuitProverFacade already started');
116
128
  }
117
129
  this.log.verbose('Starting BrokerCircuitProverFacade');
118
- this.runningPromise = new RunningPromise(() => this.monitorForCompletedJobs(), this.log, this.pollIntervalMs);
130
+ this.runningPromise = new RunningPromise(()=>this.monitorForCompletedJobs(), this.log, this.pollIntervalMs);
119
131
  this.runningPromise.start();
120
132
  }
121
133
  async stop() {
@@ -125,7 +137,7 @@ export class BrokerCircuitProverFacade {
125
137
  this.log.verbose('Stopping BrokerCircuitProverFacade');
126
138
  await this.runningPromise.stop();
127
139
  // Reject any outstanding promises as stopped
128
- for (const [_, v] of this.jobs) {
140
+ for (const [_, v] of this.jobs){
129
141
  v.deferred.reject(new Error('Broker facade stopped'));
130
142
  }
131
143
  this.jobs.clear();
@@ -138,24 +150,23 @@ export class BrokerCircuitProverFacade {
138
150
  // and have the broker report on whether they are completed or not.
139
151
  // We perform an incremental sync on every call of this function with a full snapshot sync periodically.
140
152
  // This should keep us in sync without over-burdening the broker with snapshot sync requests
141
- const getAllCompletedJobs = async (ids) => {
153
+ const getAllCompletedJobs = async (ids)=>{
142
154
  // In this function we take whatever set of snapshot ids and we ask the broker for completed job notifications
143
155
  // We collect all returned notifications and return them
144
156
  const allCompleted = new Set();
145
157
  try {
146
158
  let numRequests = 0;
147
- while (ids.length > 0) {
159
+ while(ids.length > 0){
148
160
  const slice = ids.splice(0, SNAPSHOT_SYNC_CHECK_MAX_REQUEST_SIZE);
149
161
  const completed = await this.broker.getCompletedJobs(slice);
150
- completed.forEach(id => allCompleted.add(id));
162
+ completed.forEach((id)=>allCompleted.add(id));
151
163
  ++numRequests;
152
164
  }
153
165
  if (numRequests === 0) {
154
166
  const final = await this.broker.getCompletedJobs([]);
155
- final.forEach(id => allCompleted.add(id));
167
+ final.forEach((id)=>allCompleted.add(id));
156
168
  }
157
- }
158
- catch (err) {
169
+ } catch (err) {
159
170
  this.log.error(`Error thrown when requesting completed job notifications from the broker`, err);
160
171
  }
161
172
  return allCompleted;
@@ -167,50 +178,58 @@ export class BrokerCircuitProverFacade {
167
178
  this.timeOfLastSnapshotSync = currentTime;
168
179
  snapshotSyncIds.push(...this.jobs.keys());
169
180
  this.log.trace(`Performing full snapshot sync of completed jobs with ${snapshotSyncIds.length} job(s)`);
170
- }
171
- else {
172
- this.log.trace(`Performing incremental sync of completed jobs`, { snapshotSyncIds });
181
+ } else {
182
+ this.log.trace(`Performing incremental sync of completed jobs`, {
183
+ snapshotSyncIds
184
+ });
173
185
  }
174
186
  // Now request the notifications from the broker
175
187
  const snapshotIdsLength = snapshotSyncIds.length;
176
188
  const completedJobs = await getAllCompletedJobs(snapshotSyncIds);
177
189
  // We now have an additional set of completed job notifications to add to our cached set giving us the full set of jobs that we have been told are ready
178
190
  // We filter this list to what we actually need, in case for any reason it is different and store in our cache
179
- const allJobsReady = [...completedJobs, ...this.jobsToRetrieve];
180
- this.jobsToRetrieve = new Set(allJobsReady.filter(id => this.jobs.has(id)));
191
+ const allJobsReady = [
192
+ ...completedJobs,
193
+ ...this.jobsToRetrieve
194
+ ];
195
+ this.jobsToRetrieve = new Set(allJobsReady.filter((id)=>this.jobs.has(id)));
181
196
  if (completedJobs.size > 0) {
182
197
  this.log.verbose(`Check for job completion notifications returned ${completedJobs.size} job(s), snapshot ids length: ${snapshotIdsLength}, num outstanding jobs: ${this.jobs.size}, total jobs ready: ${this.jobsToRetrieve.size}`);
183
- }
184
- else {
198
+ } else {
185
199
  this.log.trace(`Check for job completion notifications returned 0 jobs, snapshot ids length: ${snapshotIdsLength}, num outstanding jobs: ${this.jobs.size}, total jobs ready: ${this.jobsToRetrieve.size}`);
186
200
  }
187
201
  }
188
202
  async retrieveJobsThatShouldBeReady() {
189
- const convertJobResult = async (result, jobType) => {
203
+ const convertJobResult = async (result, jobType)=>{
190
204
  if (result.status === 'fulfilled') {
191
205
  const output = await this.proofStore.getProofOutput(result.value);
192
206
  if (output.type === jobType) {
193
- return { result: output.result, success: true };
194
- }
195
- else {
196
- return { success: false, reason: `Unexpected proof type: ${output.type}. Expected: ${jobType}` };
207
+ return {
208
+ result: output.result,
209
+ success: true
210
+ };
211
+ } else {
212
+ return {
213
+ success: false,
214
+ reason: `Unexpected proof type: ${output.type}. Expected: ${jobType}`
215
+ };
197
216
  }
198
- }
199
- else if (result.status === 'rejected') {
200
- return { success: false, reason: result.reason };
201
- }
202
- else {
217
+ } else if (result.status === 'rejected') {
218
+ return {
219
+ success: false,
220
+ reason: result.reason
221
+ };
222
+ } else {
203
223
  throw new Error(`Unexpected proving job status ${result.status}`);
204
224
  }
205
225
  };
206
- const processJob = async (job) => {
226
+ const processJob = async (job)=>{
207
227
  // First retrieve the settled job from the broker
208
228
  this.log.debug(`Received notification of completed job id=${job.id} type=${ProvingRequestType[job.type]}`);
209
229
  let settledResult;
210
230
  try {
211
231
  settledResult = await this.broker.getProvingJobStatus(job.id);
212
- }
213
- catch (err) {
232
+ } catch (err) {
214
233
  // If an error occurs retrieving the job result then just log it and move on.
215
234
  // We will try again on the next iteration
216
235
  this.log.error(`Error retrieving job result from broker job id=${job.id} type=${ProvingRequestType[job.type]}`, err);
@@ -220,8 +239,7 @@ export class BrokerCircuitProverFacade {
220
239
  let result;
221
240
  try {
222
241
  result = await convertJobResult(settledResult, job.type);
223
- }
224
- catch (err) {
242
+ } catch (err) {
225
243
  // If an error occurs retrieving the job result then just log it and move on.
226
244
  // We will try again on the next iteration
227
245
  this.log.error(`Error processing job result job id=${job.id} type=${ProvingRequestType[job.type]}`, err);
@@ -230,8 +248,7 @@ export class BrokerCircuitProverFacade {
230
248
  if (result.success) {
231
249
  this.log.verbose(`Resolved proving job id=${job.id} type=${ProvingRequestType[job.type]}`);
232
250
  job.deferred.resolve(result.result);
233
- }
234
- else {
251
+ } else {
235
252
  this.log.error(`Resolving proving job with error id=${job.id} type=${ProvingRequestType[job.type]}`, result.reason);
236
253
  if (result.reason !== 'Aborted') {
237
254
  void this.backupFailedProofInputs(job);
@@ -246,15 +263,13 @@ export class BrokerCircuitProverFacade {
246
263
  this.jobsToRetrieve.delete(job.id);
247
264
  return true;
248
265
  };
249
- const toBeRetrieved = Array.from(this.jobsToRetrieve.values())
250
- .map(id => this.jobs.get(id))
251
- .filter(x => x !== undefined);
266
+ const toBeRetrieved = Array.from(this.jobsToRetrieve.values()).map((id)=>this.jobs.get(id)).filter((x)=>x !== undefined);
252
267
  const totalJobsToRetrieve = toBeRetrieved.length;
253
268
  let totalJobsRetrieved = 0;
254
- while (toBeRetrieved.length > 0) {
269
+ while(toBeRetrieved.length > 0){
255
270
  const slice = toBeRetrieved.splice(0, MAX_CONCURRENT_JOB_SETTLED_REQUESTS);
256
- const results = await Promise.all(slice.map(job => processJob(job)));
257
- totalJobsRetrieved += results.filter(x => x).length;
271
+ const results = await Promise.all(slice.map((job)=>processJob(job)));
272
+ totalJobsRetrieved += results.filter((x)=>x).length;
258
273
  }
259
274
  if (totalJobsToRetrieve > 0) {
260
275
  this.log.verbose(`Successfully retrieved ${totalJobsRetrieved} of ${totalJobsToRetrieve} jobs that should be ready, total ready jobs is now: ${this.jobsToRetrieve.size}`);
@@ -270,10 +285,9 @@ export class BrokerCircuitProverFacade {
270
285
  this.log.info(`Stored proof inputs for failed job id=${job.id} type=${ProvingRequestType[job.type]} at ${uri}`, {
271
286
  id: job.id,
272
287
  type: job.type,
273
- uri,
288
+ uri
274
289
  });
275
- }
276
- catch (err) {
290
+ } catch (err) {
277
291
  this.log.error(`Error backing up proof inputs for failed job id=${job.id} type=${ProvingRequestType[job.type]}`, err);
278
292
  }
279
293
  }
@@ -328,4 +342,3 @@ export class BrokerCircuitProverFacade {
328
342
  return makeProvingJobId(epochNumber, type, inputsHash.toString('hex'));
329
343
  }
330
344
  }
331
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJva2VyX3Byb3Zlcl9mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmluZ19icm9rZXIvYnJva2VyX3Byb3Zlcl9mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQVFMLGtCQUFrQixFQUdsQixnQkFBZ0IsR0FDakIsTUFBTSxzQkFBc0IsQ0FBQztBQTBCOUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXBELE9BQU8sRUFBRSxnQkFBZ0IsRUFBbUIsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRSwyQ0FBMkM7QUFDM0MsTUFBTSx5QkFBeUIsR0FBRyxLQUFNLENBQUM7QUFFekMsTUFBTSxtQ0FBbUMsR0FBRyxFQUFFLENBQUM7QUFDL0MsTUFBTSxvQ0FBb0MsR0FBRyxJQUFJLENBQUM7QUFXbEQsTUFBTSxPQUFPLHlCQUF5QjtJQU1wQyxZQUNVLE1BQTBCLEVBQzFCLGFBQXlCLElBQUksZ0JBQWdCLEVBQUUsRUFDL0MsZ0JBQTZCLEVBQzdCLGlCQUFpQixJQUFJLEVBQ3JCLE1BQU0sWUFBWSxDQUFDLDRDQUE0QyxDQUFDO1FBSmhFLFdBQU0sR0FBTixNQUFNLENBQW9CO1FBQzFCLGVBQVUsR0FBVixVQUFVLENBQXFDO1FBQy9DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBYTtRQUM3QixtQkFBYyxHQUFkLGNBQWMsQ0FBTztRQUNyQixRQUFHLEdBQUgsR0FBRyxDQUE2RDtRQVZsRSxTQUFJLEdBQWtDLElBQUksR0FBRyxFQUFFLENBQUM7UUFFaEQsMkJBQXNCLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFD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
@@ -1,6 +1,6 @@
1
- import { ProvingRequestType } from '@aztec/circuit-types';
2
1
  import { type ConfigMappingsType } from '@aztec/foundation/config';
3
2
  import { type DataStoreConfig } from '@aztec/kv-store/config';
3
+ import { ProvingRequestType } from '@aztec/stdlib/proofs';
4
4
  import { z } from 'zod';
5
5
  export declare const ProverBrokerConfig: z.ZodObject<{
6
6
  /** If starting a prover broker locally, the max number of retries per proving job */
@@ -17,6 +17,8 @@ export declare const ProverBrokerConfig: z.ZodObject<{
17
17
  proverBrokerBatchSize: z.ZodNumber;
18
18
  /** How often the job batches get flushed */
19
19
  proverBrokerBatchIntervalMs: z.ZodNumber;
20
+ /** The maximum number of epochs to keep results for */
21
+ proverBrokerMaxEpochsToKeepResultsFor: z.ZodNumber;
20
22
  }, "strip", z.ZodTypeAny, {
21
23
  proverBrokerJobMaxRetries: number;
22
24
  proverBrokerJobTimeoutMs: number;
@@ -24,6 +26,7 @@ export declare const ProverBrokerConfig: z.ZodObject<{
24
26
  dataStoreMapSizeKB: number;
25
27
  proverBrokerBatchSize: number;
26
28
  proverBrokerBatchIntervalMs: number;
29
+ proverBrokerMaxEpochsToKeepResultsFor: number;
27
30
  dataDirectory?: string | undefined;
28
31
  }, {
29
32
  proverBrokerJobMaxRetries: number;
@@ -32,10 +35,12 @@ export declare const ProverBrokerConfig: z.ZodObject<{
32
35
  dataStoreMapSizeKB: number;
33
36
  proverBrokerBatchSize: number;
34
37
  proverBrokerBatchIntervalMs: number;
38
+ proverBrokerMaxEpochsToKeepResultsFor: number;
35
39
  dataDirectory?: string | undefined;
36
40
  }>;
37
41
  export type ProverBrokerConfig = z.infer<typeof ProverBrokerConfig> & Pick<DataStoreConfig, 'dataStoreMapSizeKB' | 'dataDirectory'>;
38
42
  export declare const proverBrokerConfigMappings: ConfigMappingsType<ProverBrokerConfig>;
43
+ export declare const defaultProverBrokerConfig: ProverBrokerConfig;
39
44
  export declare const ProverAgentConfig: z.ZodObject<{
40
45
  /** The number of prover agents to start */
41
46
  proverAgentCount: z.ZodNumber;
@@ -47,21 +52,29 @@ export declare const ProverAgentConfig: z.ZodObject<{
47
52
  proverBrokerUrl: z.ZodOptional<z.ZodString>;
48
53
  /** Whether to construct real proofs */
49
54
  realProofs: z.ZodBoolean;
50
- /** Artificial delay to introduce to all operations to the test prover. */
55
+ /** The type of artificial delay to introduce */
56
+ proverTestDelayType: z.ZodEnum<["fixed", "realistic"]>;
57
+ /** If using fixed delay, the time each operation takes. */
51
58
  proverTestDelayMs: z.ZodNumber;
59
+ /** If using realistic delays, what percentage of realistic times to apply. */
60
+ proverTestDelayFactor: z.ZodNumber;
52
61
  }, "strip", z.ZodTypeAny, {
53
62
  proverAgentCount: number;
54
63
  proverAgentProofTypes: ProvingRequestType[];
55
64
  proverAgentPollIntervalMs: number;
56
65
  realProofs: boolean;
66
+ proverTestDelayType: "fixed" | "realistic";
57
67
  proverTestDelayMs: number;
68
+ proverTestDelayFactor: number;
58
69
  proverBrokerUrl?: string | undefined;
59
70
  }, {
60
71
  proverAgentCount: number;
61
72
  proverAgentProofTypes: ProvingRequestType[];
62
73
  proverAgentPollIntervalMs: number;
63
74
  realProofs: boolean;
75
+ proverTestDelayType: "fixed" | "realistic";
64
76
  proverTestDelayMs: number;
77
+ proverTestDelayFactor: number;
65
78
  proverBrokerUrl?: string | undefined;
66
79
  }>;
67
80
  export type ProverAgentConfig = z.infer<typeof ProverAgentConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/proving_broker/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,kBAAkB,EAA2C,MAAM,0BAA0B,CAAC;AAC5G,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAElF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;IAC7B,qFAAqF;;IAErF,uHAAuH;;IAEvH,6FAA6F;;IAE7F,8EAA8E;;IAE9E,qCAAqC;;IAErC,+EAA+E;;IAE/E,4CAA4C;;;;;;;;;;;;;;;;;;EAE5C,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACjE,IAAI,CAAC,eAAe,EAAE,oBAAoB,GAAG,eAAe,CAAC,CAAC;AAEhE,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,kBAAkB,CA2B7E,CAAC;AAEF,eAAO,MAAM,iBAAiB;IAC5B,2CAA2C;;IAE3C,wDAAwD;;IAExD,gDAAgD;;IAEhD,+CAA+C;;IAE/C,uCAAuC;;IAEvC,0EAA0E;;;;;;;;;;;;;;;;EAE1E,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CAkC3E,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/proving_broker/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAClC,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;IAC7B,qFAAqF;;IAErF,uHAAuH;;IAEvH,6FAA6F;;IAE7F,8EAA8E;;IAE9E,qCAAqC;;IAErC,+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,CAAC;AAEhE,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,kBAAkB,CAgC7E,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;;;;;;;;;;;;;;;;;;;;EAE9E,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CA4C3E,CAAC"}
@@ -1,97 +1,102 @@
1
- import { ProvingRequestType } from '@aztec/circuit-types';
2
- import { booleanConfigHelper, numberConfigHelper } from '@aztec/foundation/config';
1
+ import { booleanConfigHelper, getDefaultConfig, numberConfigHelper } from '@aztec/foundation/config';
3
2
  import { dataConfigMappings } from '@aztec/kv-store/config';
3
+ import { ProvingRequestType } from '@aztec/stdlib/proofs';
4
4
  import { z } from 'zod';
5
5
  export const ProverBrokerConfig = z.object({
6
- /** If starting a prover broker locally, the max number of retries per proving job */
7
- proverBrokerJobMaxRetries: z.number(),
8
- /** If starting a prover broker locally, the time after which a job times out and gets assigned to a different agent */
9
- proverBrokerJobTimeoutMs: z.number(),
10
- /** If starting a prover broker locally, the interval the broker checks for timed out jobs */
11
- proverBrokerPollIntervalMs: z.number(),
12
- /** If starting a prover broker locally, the directory to store broker data */
13
- dataDirectory: z.string().optional(),
14
- /** The size of the data store map */
15
- dataStoreMapSizeKB: z.number(),
16
- /** The prover broker may batch jobs together before writing to the database */
17
- proverBrokerBatchSize: z.number(),
18
- /** How often the job batches get flushed */
19
- proverBrokerBatchIntervalMs: z.number(),
6
+ /** If starting a prover broker locally, the max number of retries per proving job */ proverBrokerJobMaxRetries: z.number(),
7
+ /** If starting a prover broker locally, the time after which a job times out and gets assigned to a different agent */ proverBrokerJobTimeoutMs: z.number(),
8
+ /** If starting a prover broker locally, the interval the broker checks for timed out jobs */ proverBrokerPollIntervalMs: z.number(),
9
+ /** If starting a prover broker locally, the directory to store broker data */ dataDirectory: z.string().optional(),
10
+ /** The size of the data store map */ dataStoreMapSizeKB: z.number(),
11
+ /** The prover broker may batch jobs together before writing to the database */ proverBrokerBatchSize: z.number(),
12
+ /** How often the job batches get flushed */ proverBrokerBatchIntervalMs: z.number(),
13
+ /** The maximum number of epochs to keep results for */ proverBrokerMaxEpochsToKeepResultsFor: z.number()
20
14
  });
21
15
  export const proverBrokerConfigMappings = {
22
16
  proverBrokerJobTimeoutMs: {
23
17
  env: 'PROVER_BROKER_JOB_TIMEOUT_MS',
24
18
  description: 'Jobs are retried if not kept alive for this long',
25
- ...numberConfigHelper(30000),
19
+ ...numberConfigHelper(30_000)
26
20
  },
27
21
  proverBrokerPollIntervalMs: {
28
22
  env: 'PROVER_BROKER_POLL_INTERVAL_MS',
29
23
  description: 'The interval to check job health status',
30
- ...numberConfigHelper(1000),
24
+ ...numberConfigHelper(1_000)
31
25
  },
32
26
  proverBrokerJobMaxRetries: {
33
27
  env: 'PROVER_BROKER_JOB_MAX_RETRIES',
34
28
  description: 'If starting a prover broker locally, the max number of retries per proving job',
35
- ...numberConfigHelper(3),
29
+ ...numberConfigHelper(3)
36
30
  },
37
31
  proverBrokerBatchSize: {
38
32
  env: 'PROVER_BROKER_BATCH_SIZE',
39
33
  description: 'The prover broker writes jobs to disk in batches',
40
- ...numberConfigHelper(100),
34
+ ...numberConfigHelper(100)
41
35
  },
42
36
  proverBrokerBatchIntervalMs: {
43
37
  env: 'PROVER_BROKER_BATCH_INTERVAL_MS',
44
38
  description: 'How often to flush batches to disk',
45
- ...numberConfigHelper(50),
39
+ ...numberConfigHelper(50)
46
40
  },
47
- ...dataConfigMappings,
41
+ proverBrokerMaxEpochsToKeepResultsFor: {
42
+ env: 'PROVER_BROKER_MAX_EPOCHS_TO_KEEP_RESULTS_FOR',
43
+ description: 'The maximum number of epochs to keep results for',
44
+ ...numberConfigHelper(1)
45
+ },
46
+ ...dataConfigMappings
48
47
  };
48
+ export const defaultProverBrokerConfig = getDefaultConfig(proverBrokerConfigMappings);
49
49
  export const ProverAgentConfig = z.object({
50
- /** The number of prover agents to start */
51
- proverAgentCount: z.number(),
52
- /** The types of proofs the prover agent can generate */
53
- proverAgentProofTypes: z.array(z.nativeEnum(ProvingRequestType)),
54
- /** How often the prover agents poll for jobs */
55
- proverAgentPollIntervalMs: z.number(),
56
- /** The URL where this agent takes jobs from */
57
- proverBrokerUrl: z.string().optional(),
58
- /** Whether to construct real proofs */
59
- realProofs: z.boolean(),
60
- /** Artificial delay to introduce to all operations to the test prover. */
61
- proverTestDelayMs: z.number(),
50
+ /** The number of prover agents to start */ proverAgentCount: z.number(),
51
+ /** The types of proofs the prover agent can generate */ proverAgentProofTypes: z.array(z.nativeEnum(ProvingRequestType)),
52
+ /** How often the prover agents poll for jobs */ proverAgentPollIntervalMs: z.number(),
53
+ /** The URL where this agent takes jobs from */ proverBrokerUrl: z.string().optional(),
54
+ /** Whether to construct real proofs */ realProofs: z.boolean(),
55
+ /** The type of artificial delay to introduce */ proverTestDelayType: z.enum([
56
+ 'fixed',
57
+ 'realistic'
58
+ ]),
59
+ /** If using fixed delay, the time each operation takes. */ proverTestDelayMs: z.number(),
60
+ /** If using realistic delays, what percentage of realistic times to apply. */ proverTestDelayFactor: z.number()
62
61
  });
63
62
  export const proverAgentConfigMappings = {
64
63
  proverAgentCount: {
65
64
  env: 'PROVER_AGENT_COUNT',
66
65
  description: 'Whether this prover has a local prover agent',
67
- ...numberConfigHelper(1),
66
+ ...numberConfigHelper(1)
68
67
  },
69
68
  proverAgentPollIntervalMs: {
70
69
  env: 'PROVER_AGENT_POLL_INTERVAL_MS',
71
70
  description: 'The interval agents poll for jobs at',
72
- ...numberConfigHelper(100),
71
+ ...numberConfigHelper(100)
73
72
  },
74
73
  proverAgentProofTypes: {
75
74
  env: 'PROVER_AGENT_PROOF_TYPES',
76
75
  description: 'The types of proofs the prover agent can generate',
77
- parseEnv: (val) => val
78
- .split(',')
79
- .map(v => ProvingRequestType[v])
80
- .filter(v => typeof v === 'number'),
76
+ parseEnv: (val)=>val.split(',').map((v)=>ProvingRequestType[v]).filter((v)=>typeof v === 'number')
81
77
  },
82
78
  proverBrokerUrl: {
83
79
  env: 'PROVER_BROKER_HOST',
84
- description: 'The URL where this agent takes jobs from',
80
+ description: 'The URL where this agent takes jobs from'
85
81
  },
86
82
  realProofs: {
87
83
  env: 'PROVER_REAL_PROOFS',
88
84
  description: 'Whether to construct real proofs',
89
- ...booleanConfigHelper(false),
85
+ ...booleanConfigHelper(false)
86
+ },
87
+ proverTestDelayType: {
88
+ env: 'PROVER_TEST_DELAY_TYPE',
89
+ description: 'The type of artificial delay to introduce',
90
+ defaultValue: 'fixed'
90
91
  },
91
92
  proverTestDelayMs: {
92
93
  env: 'PROVER_TEST_DELAY_MS',
93
94
  description: 'Artificial delay to introduce to all operations to the test prover.',
94
- ...numberConfigHelper(0),
95
+ ...numberConfigHelper(0)
95
96
  },
97
+ proverTestDelayFactor: {
98
+ env: 'PROVER_TEST_DELAY_FACTOR',
99
+ description: 'If using realistic delays, what percentage of realistic times to apply.',
100
+ ...numberConfigHelper(1)
101
+ }
96
102
  };
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQTJCLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUcsT0FBTyxFQUF3QixrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWxGLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN6QyxxRkFBcUY7SUFDckYseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNyQyx1SEFBdUg7SUFDdkgsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNwQyw2RkFBNkY7SUFDN0YsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN0Qyw4RUFBOEU7SUFDOUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMscUNBQXFDO0lBQ3JDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDOUIsK0VBQStFO0lBQy9FLHFCQUFxQixFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDakMsNENBQTRDO0lBQzVDLDJCQUEyQixFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDeEMsQ0FBQyxDQUFDO0FBS0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQTJDO0lBQ2hGLHdCQUF3QixFQUFFO1FBQ3hCLEdBQUcsRUFBRSw4QkFBOEI7UUFDbkMsV0FBVyxFQUFFLGtEQUFrRDtRQUMvRCxHQUFHLGtCQUFrQixDQUFDLEtBQU0sQ0FBQztLQUM5QjtJQUNELDBCQUEwQixFQUFF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
@@ -1,5 +1,5 @@
1
- import { type TelemetryClient } from '@aztec/telemetry-client';
2
- import { type ProverBrokerConfig } from './config.js';
1
+ import type { TelemetryClient } from '@aztec/telemetry-client';
2
+ import type { ProverBrokerConfig } from './config.js';
3
3
  import { ProvingBroker } from './proving_broker.js';
4
4
  export declare function createAndStartProvingBroker(config: ProverBrokerConfig, client: TelemetryClient): Promise<ProvingBroker>;
5
5
  //# sourceMappingURL=factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/proving_broker/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,CAAC,CAexB"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/proving_broker/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,CAAC,CAOxB"}
@@ -3,12 +3,7 @@ import { InMemoryBrokerDatabase } from './proving_broker_database/memory.js';
3
3
  import { KVBrokerDatabase } from './proving_broker_database/persisted.js';
4
4
  export async function createAndStartProvingBroker(config, client) {
5
5
  const database = config.dataDirectory ? await KVBrokerDatabase.new(config, client) : new InMemoryBrokerDatabase();
6
- const broker = new ProvingBroker(database, {
7
- jobTimeoutMs: config.proverBrokerJobTimeoutMs,
8
- maxRetries: config.proverBrokerJobMaxRetries,
9
- timeoutIntervalMs: config.proverBrokerPollIntervalMs,
10
- }, client);
6
+ const broker = new ProvingBroker(database, config, client);
11
7
  await broker.start();
12
8
  return broker;
13
9
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aW5nX2Jyb2tlci9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUxRSxNQUFNLENBQUMsS0FBSyxVQUFVLDJCQUEyQixDQUMvQyxNQUEwQixFQUMxQixNQUF1QjtJQUV2QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksc0JBQXNCLEVBQUUsQ0FBQztJQUVsSCxNQUFNLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FDOUIsUUFBUSxFQUNSO1FBQ0UsWUFBWSxFQUFFLE1BQU0sQ0FBQyx3QkFBd0I7UUFDN0MsVUFBVSxFQUFFLE1BQU0sQ0FBQyx5QkFBeUI7UUFDNUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLDBCQUEwQjtLQUNyRCxFQUNELE1BQU0sQ0FDUCxDQUFDO0lBRUYsTUFBTSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckIsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyJ9
@@ -1,4 +1,4 @@
1
- import { type ProofUri, type ProvingJobId } from '@aztec/circuit-types';
1
+ import { type ProofUri, type ProvingJobId } from '@aztec/stdlib/interfaces/server';
2
2
  export declare function makeRandomProvingJobId(epochNumber?: number): ProvingJobId;
3
3
  export declare function makeInputsUri(): ProofUri;
4
4
  export declare function makeOutputsUri(): ProofUri;
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/proving_broker/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAwC,MAAM,sBAAsB,CAAC;AAG9G,wBAAgB,sBAAsB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CAEzE;AAED,wBAAgB,aAAa,IAAI,QAAQ,CAExC;AAED,wBAAgB,cAAc,IAAI,QAAQ,CAEzC"}
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/proving_broker/fixtures.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAoB,MAAM,iCAAiC,CAAC;AAGrG,wBAAgB,sBAAsB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CAEzE;AAED,wBAAgB,aAAa,IAAI,QAAQ,CAExC;AAED,wBAAgB,cAAc,IAAI,QAAQ,CAEzC"}