@aztec/prover-client 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.75.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/bin/get-proof-inputs.d.ts +2 -0
- package/dest/bin/get-proof-inputs.d.ts.map +1 -0
- package/dest/bin/get-proof-inputs.js +16 -18
- package/dest/block_builder/index.d.ts +6 -0
- package/dest/block_builder/index.d.ts.map +1 -0
- package/dest/block_builder/index.js +1 -0
- package/dest/block_builder/light.d.ts +31 -0
- package/dest/block_builder/light.d.ts.map +1 -0
- package/dest/block_builder/light.js +13 -23
- package/dest/config.d.ts +17 -0
- package/dest/config.d.ts.map +1 -0
- package/dest/config.js +11 -9
- package/dest/index.d.ts +4 -0
- package/dest/index.d.ts.map +1 -0
- package/dest/index.js +1 -0
- package/dest/mocks/fixtures.d.ts +19 -0
- package/dest/mocks/fixtures.d.ts.map +1 -0
- package/dest/mocks/fixtures.js +26 -28
- package/dest/mocks/test_context.d.ts +49 -0
- package/dest/mocks/test_context.d.ts.map +1 -0
- package/dest/mocks/test_context.js +31 -55
- package/dest/orchestrator/block-building-helpers.d.ts +50 -0
- package/dest/orchestrator/block-building-helpers.d.ts.map +1 -0
- package/dest/orchestrator/block-building-helpers.js +90 -90
- package/dest/orchestrator/block-proving-state.d.ts +71 -0
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -0
- package/dest/orchestrator/block-proving-state.js +70 -95
- package/dest/orchestrator/epoch-proving-state.d.ts +56 -0
- package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -0
- package/dest/orchestrator/epoch-proving-state.js +40 -53
- package/dest/orchestrator/index.d.ts +2 -0
- package/dest/orchestrator/index.d.ts.map +1 -0
- package/dest/orchestrator/index.js +1 -0
- package/dest/orchestrator/orchestrator.d.ts +108 -0
- package/dest/orchestrator/orchestrator.d.ts.map +1 -0
- package/dest/orchestrator/orchestrator.js +653 -649
- package/dest/orchestrator/orchestrator_metrics.d.ts +8 -0
- package/dest/orchestrator/orchestrator_metrics.d.ts.map +1 -0
- package/dest/orchestrator/orchestrator_metrics.js +3 -4
- package/dest/orchestrator/tx-proving-state.d.ts +31 -0
- package/dest/orchestrator/tx-proving-state.d.ts.map +1 -0
- package/dest/orchestrator/tx-proving-state.js +51 -52
- package/dest/prover-agent/index.d.ts +4 -0
- package/dest/prover-agent/index.d.ts.map +1 -0
- package/dest/prover-agent/index.js +1 -0
- package/dest/prover-agent/memory-proving-queue.d.ts +82 -0
- package/dest/prover-agent/memory-proving-queue.d.ts.map +1 -0
- package/dest/prover-agent/memory-proving-queue.js +248 -237
- package/dest/prover-agent/prover-agent.d.ts +43 -0
- package/dest/prover-agent/prover-agent.d.ts.map +1 -0
- package/dest/prover-agent/prover-agent.js +187 -184
- package/dest/prover-agent/proving-error.d.ts +5 -0
- package/dest/prover-agent/proving-error.d.ts.map +1 -0
- package/dest/prover-agent/proving-error.js +1 -0
- package/dest/prover-agent/queue_metrics.d.ts +10 -0
- package/dest/prover-agent/queue_metrics.d.ts.map +1 -0
- package/dest/prover-agent/queue_metrics.js +5 -6
- package/dest/prover-agent/rpc.d.ts +11 -0
- package/dest/prover-agent/rpc.d.ts.map +1 -0
- package/dest/prover-agent/rpc.js +4 -6
- package/dest/prover-client/factory.d.ts +6 -0
- package/dest/prover-client/factory.d.ts.map +1 -0
- package/dest/prover-client/factory.js +1 -0
- package/dest/prover-client/index.d.ts +3 -0
- package/dest/prover-client/index.d.ts.map +1 -0
- package/dest/prover-client/index.js +1 -0
- package/dest/prover-client/prover-client.d.ts +42 -0
- package/dest/prover-client/prover-client.d.ts.map +1 -0
- package/dest/prover-client/prover-client.js +25 -30
- package/dest/prover-client/server-epoch-prover.d.ts +25 -0
- package/dest/prover-client/server-epoch-prover.d.ts.map +1 -0
- package/dest/prover-client/server-epoch-prover.js +4 -4
- package/dest/proving_broker/broker_prover_facade.d.ts +39 -0
- package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -0
- package/dest/proving_broker/broker_prover_facade.js +59 -70
- package/dest/proving_broker/config.d.ts +61 -0
- package/dest/proving_broker/config.d.ts.map +1 -0
- package/dest/proving_broker/config.js +37 -22
- package/dest/proving_broker/factory.d.ts +5 -0
- package/dest/proving_broker/factory.d.ts.map +1 -0
- package/dest/proving_broker/factory.js +2 -1
- package/dest/proving_broker/fixtures.d.ts +5 -0
- package/dest/proving_broker/fixtures.d.ts.map +1 -0
- package/dest/proving_broker/fixtures.js +1 -0
- package/dest/proving_broker/index.d.ts +10 -0
- package/dest/proving_broker/index.d.ts.map +1 -0
- package/dest/proving_broker/index.js +1 -0
- package/dest/proving_broker/proof_store/factory.d.ts +6 -0
- package/dest/proving_broker/proof_store/factory.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/factory.js +12 -9
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +13 -0
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/gcs_proof_store.js +7 -11
- package/dest/proving_broker/proof_store/index.d.ts +4 -0
- package/dest/proving_broker/proof_store/index.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/index.js +1 -0
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts +14 -0
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/inline_proof_store.js +7 -11
- package/dest/proving_broker/proof_store/proof_store.d.ts +35 -0
- package/dest/proving_broker/proof_store/proof_store.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/proof_store.js +2 -3
- package/dest/proving_broker/proving_agent.d.ts +44 -0
- package/dest/proving_broker/proving_agent.d.ts.map +1 -0
- package/dest/proving_broker/proving_agent.js +110 -121
- package/dest/proving_broker/proving_agent_instrumentation.d.ts +8 -0
- package/dest/proving_broker/proving_agent_instrumentation.d.ts.map +1 -0
- package/dest/proving_broker/proving_agent_instrumentation.js +3 -3
- package/dest/proving_broker/proving_broker.d.ts +75 -0
- package/dest/proving_broker/proving_broker.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker.js +451 -491
- package/dest/proving_broker/proving_broker_database/memory.d.ts +16 -0
- package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker_database/memory.js +13 -19
- package/dest/proving_broker/proving_broker_database/persisted.d.ts +21 -0
- package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker_database/persisted.js +21 -41
- package/dest/proving_broker/proving_broker_database.d.ts +39 -0
- package/dest/proving_broker/proving_broker_database.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker_database.js +2 -3
- package/dest/proving_broker/proving_broker_instrumentation.d.ts +25 -0
- package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker_instrumentation.js +21 -28
- package/dest/proving_broker/proving_job_controller.d.ts +31 -0
- package/dest/proving_broker/proving_job_controller.d.ts.map +1 -0
- package/dest/proving_broker/proving_job_controller.js +62 -81
- package/dest/proving_broker/rpc.d.ts +11 -0
- package/dest/proving_broker/rpc.d.ts.map +1 -0
- package/dest/proving_broker/rpc.js +15 -23
- package/dest/test/mock_prover.d.ts +33 -0
- package/dest/test/mock_prover.d.ts.map +1 -0
- package/dest/test/mock_prover.js +9 -11
- package/package.json +11 -12
- package/src/index.ts +1 -1
- package/src/orchestrator/block-building-helpers.ts +1 -1
- package/src/proving_broker/proving_agent.ts +11 -30
- package/src/proving_broker/proving_broker.ts +27 -53
- package/src/proving_broker/rpc.ts +2 -8
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import {
|
|
2
|
-
type GetProvingJobResponse,
|
|
3
2
|
type ProofUri,
|
|
4
3
|
type ProvingJob,
|
|
5
4
|
type ProvingJobConsumer,
|
|
@@ -206,25 +205,16 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
|
|
|
206
205
|
return this.requestQueue.put(() => this.#getCompletedJobs(ids));
|
|
207
206
|
}
|
|
208
207
|
|
|
209
|
-
public getProvingJob(filter?: ProvingJobFilter): Promise<
|
|
208
|
+
public getProvingJob(filter?: ProvingJobFilter): Promise<{ job: ProvingJob; time: number } | undefined> {
|
|
210
209
|
return this.requestQueue.put(() => this.#getProvingJob(filter));
|
|
211
210
|
}
|
|
212
211
|
|
|
213
|
-
public reportProvingJobSuccess(
|
|
214
|
-
id
|
|
215
|
-
value: ProofUri,
|
|
216
|
-
filter?: ProvingJobFilter,
|
|
217
|
-
): Promise<GetProvingJobResponse | undefined> {
|
|
218
|
-
return this.requestQueue.put(() => this.#reportProvingJobSuccess(id, value, filter));
|
|
212
|
+
public reportProvingJobSuccess(id: ProvingJobId, value: ProofUri): Promise<void> {
|
|
213
|
+
return this.requestQueue.put(() => this.#reportProvingJobSuccess(id, value));
|
|
219
214
|
}
|
|
220
215
|
|
|
221
|
-
public reportProvingJobError(
|
|
222
|
-
id
|
|
223
|
-
err: string,
|
|
224
|
-
retry = false,
|
|
225
|
-
filter?: ProvingJobFilter,
|
|
226
|
-
): Promise<GetProvingJobResponse | undefined> {
|
|
227
|
-
return this.requestQueue.put(() => this.#reportProvingJobError(id, err, retry, filter));
|
|
216
|
+
public reportProvingJobError(id: ProvingJobId, err: string, retry = false): Promise<void> {
|
|
217
|
+
return this.requestQueue.put(() => this.#reportProvingJobError(id, err, retry));
|
|
228
218
|
}
|
|
229
219
|
|
|
230
220
|
public reportProvingJobProgress(
|
|
@@ -315,7 +305,9 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
|
|
|
315
305
|
}
|
|
316
306
|
|
|
317
307
|
// eslint-disable-next-line require-await
|
|
318
|
-
#getProvingJob(
|
|
308
|
+
async #getProvingJob(
|
|
309
|
+
filter: ProvingJobFilter = { allowList: [] },
|
|
310
|
+
): Promise<{ job: ProvingJob; time: number } | undefined> {
|
|
319
311
|
const allowedProofs: ProvingRequestType[] =
|
|
320
312
|
Array.isArray(filter.allowList) && filter.allowList.length > 0
|
|
321
313
|
? [...filter.allowList]
|
|
@@ -351,12 +343,7 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
|
|
|
351
343
|
return undefined;
|
|
352
344
|
}
|
|
353
345
|
|
|
354
|
-
async #reportProvingJobError(
|
|
355
|
-
id: ProvingJobId,
|
|
356
|
-
err: string,
|
|
357
|
-
retry = false,
|
|
358
|
-
filter?: ProvingJobFilter,
|
|
359
|
-
): Promise<GetProvingJobResponse | undefined> {
|
|
346
|
+
async #reportProvingJobError(id: ProvingJobId, err: string, retry = false): Promise<void> {
|
|
360
347
|
const info = this.inProgress.get(id);
|
|
361
348
|
const item = this.jobsCache.get(id);
|
|
362
349
|
const retries = this.retries.get(id) ?? 0;
|
|
@@ -378,7 +365,7 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
|
|
|
378
365
|
this.logger.warn(`Proving job id=${id} is already settled, ignoring err=${err}`, {
|
|
379
366
|
provingJobId: id,
|
|
380
367
|
});
|
|
381
|
-
return
|
|
368
|
+
return;
|
|
382
369
|
}
|
|
383
370
|
|
|
384
371
|
if (retry && retries + 1 < this.maxRetries && !this.isJobStale(item)) {
|
|
@@ -388,16 +375,10 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
|
|
|
388
375
|
provingJobId: id,
|
|
389
376
|
},
|
|
390
377
|
);
|
|
391
|
-
|
|
392
|
-
// assign another job to this agent
|
|
393
|
-
// do this first, before we put the failed job back in the queue
|
|
394
|
-
const maybeAnotherJob = this.#getProvingJob(filter);
|
|
395
|
-
|
|
396
378
|
this.retries.set(id, retries + 1);
|
|
397
379
|
this.enqueueJobInternal(item);
|
|
398
380
|
this.instrumentation.incRetriedJobs(item.type);
|
|
399
|
-
|
|
400
|
-
return maybeAnotherJob;
|
|
381
|
+
return;
|
|
401
382
|
}
|
|
402
383
|
|
|
403
384
|
this.logger.info(
|
|
@@ -431,24 +412,22 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
|
|
|
431
412
|
|
|
432
413
|
throw saveErr;
|
|
433
414
|
}
|
|
434
|
-
|
|
435
|
-
return this.#getProvingJob(filter);
|
|
436
415
|
}
|
|
437
416
|
|
|
438
417
|
#reportProvingJobProgress(
|
|
439
418
|
id: ProvingJobId,
|
|
440
419
|
startedAt: number,
|
|
441
420
|
filter?: ProvingJobFilter,
|
|
442
|
-
): { job: ProvingJob; time: number } | undefined {
|
|
421
|
+
): Promise<{ job: ProvingJob; time: number } | undefined> {
|
|
443
422
|
const job = this.jobsCache.get(id);
|
|
444
423
|
if (!job) {
|
|
445
424
|
this.logger.warn(`Proving job id=${id} does not exist`, { provingJobId: id });
|
|
446
|
-
return this.#getProvingJob(filter);
|
|
425
|
+
return filter ? this.#getProvingJob(filter) : Promise.resolve(undefined);
|
|
447
426
|
}
|
|
448
427
|
|
|
449
428
|
if (this.resultsCache.has(id)) {
|
|
450
429
|
this.logger.warn(`Proving job id=${id} has already been completed`, { provingJobId: id });
|
|
451
|
-
return this.#getProvingJob(filter);
|
|
430
|
+
return filter ? this.#getProvingJob(filter) : Promise.resolve(undefined);
|
|
452
431
|
}
|
|
453
432
|
|
|
454
433
|
const metadata = this.inProgress.get(id);
|
|
@@ -466,7 +445,7 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
|
|
|
466
445
|
startedAt,
|
|
467
446
|
lastUpdatedAt: this.msTimeSource(),
|
|
468
447
|
});
|
|
469
|
-
return undefined;
|
|
448
|
+
return Promise.resolve(undefined);
|
|
470
449
|
} else if (startedAt <= metadata.startedAt) {
|
|
471
450
|
if (startedAt < metadata.startedAt) {
|
|
472
451
|
this.logger.info(
|
|
@@ -478,24 +457,21 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
|
|
|
478
457
|
}
|
|
479
458
|
metadata.startedAt = startedAt;
|
|
480
459
|
metadata.lastUpdatedAt = now;
|
|
481
|
-
return undefined;
|
|
460
|
+
return Promise.resolve(undefined);
|
|
461
|
+
} else if (filter) {
|
|
462
|
+
this.logger.warn(
|
|
463
|
+
`Proving job id=${id} type=${
|
|
464
|
+
ProvingRequestType[job.type]
|
|
465
|
+
} already being worked on by another agent. Sending new one`,
|
|
466
|
+
{ provingJobId: id },
|
|
467
|
+
);
|
|
468
|
+
return this.#getProvingJob(filter);
|
|
469
|
+
} else {
|
|
470
|
+
return Promise.resolve(undefined);
|
|
482
471
|
}
|
|
483
|
-
|
|
484
|
-
this.logger.warn(
|
|
485
|
-
`Proving job id=${id} type=${
|
|
486
|
-
ProvingRequestType[job.type]
|
|
487
|
-
} already being worked on by another agent. Sending new one`,
|
|
488
|
-
{ provingJobId: id },
|
|
489
|
-
);
|
|
490
|
-
|
|
491
|
-
return this.#getProvingJob(filter);
|
|
492
472
|
}
|
|
493
473
|
|
|
494
|
-
async #reportProvingJobSuccess(
|
|
495
|
-
id: ProvingJobId,
|
|
496
|
-
value: ProofUri,
|
|
497
|
-
filter?: ProvingJobFilter,
|
|
498
|
-
): Promise<GetProvingJobResponse | undefined> {
|
|
474
|
+
async #reportProvingJobSuccess(id: ProvingJobId, value: ProofUri): Promise<void> {
|
|
499
475
|
const info = this.inProgress.get(id);
|
|
500
476
|
const item = this.jobsCache.get(id);
|
|
501
477
|
const retries = this.retries.get(id) ?? 0;
|
|
@@ -545,8 +521,6 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
|
|
|
545
521
|
|
|
546
522
|
throw saveErr;
|
|
547
523
|
}
|
|
548
|
-
|
|
549
|
-
return this.#getProvingJob(filter);
|
|
550
524
|
}
|
|
551
525
|
|
|
552
526
|
@trackSpan('ProvingBroker.cleanupPass')
|
|
@@ -34,18 +34,12 @@ export const ProvingJobProducerSchema: ApiSchemaFor<ProvingJobProducer> = {
|
|
|
34
34
|
|
|
35
35
|
export const ProvingJobConsumerSchema: ApiSchemaFor<ProvingJobConsumer> = {
|
|
36
36
|
getProvingJob: z.function().args(optional(ProvingJobFilterSchema)).returns(GetProvingJobResponse.optional()),
|
|
37
|
-
reportProvingJobError: z
|
|
38
|
-
.function()
|
|
39
|
-
.args(ProvingJobId, z.string(), optional(z.boolean()), optional(ProvingJobFilterSchema))
|
|
40
|
-
.returns(GetProvingJobResponse.optional()),
|
|
37
|
+
reportProvingJobError: z.function().args(ProvingJobId, z.string(), optional(z.boolean())).returns(z.void()),
|
|
41
38
|
reportProvingJobProgress: z
|
|
42
39
|
.function()
|
|
43
40
|
.args(ProvingJobId, z.number(), optional(ProvingJobFilterSchema))
|
|
44
41
|
.returns(GetProvingJobResponse.optional()),
|
|
45
|
-
reportProvingJobSuccess: z
|
|
46
|
-
.function()
|
|
47
|
-
.args(ProvingJobId, ProofUri, optional(ProvingJobFilterSchema))
|
|
48
|
-
.returns(GetProvingJobResponse.optional()),
|
|
42
|
+
reportProvingJobSuccess: z.function().args(ProvingJobId, ProofUri).returns(z.void()),
|
|
49
43
|
};
|
|
50
44
|
|
|
51
45
|
export const ProvingJobBrokerSchema: ApiSchemaFor<ProvingJobBroker> = {
|