@aztec/prover-client 0.0.1-commit.b655e406 → 0.0.1-commit.c7c42ec
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/block-factory/index.d.ts +1 -1
- package/dest/block-factory/light.d.ts +8 -8
- package/dest/block-factory/light.d.ts.map +1 -1
- package/dest/block-factory/light.js +37 -23
- package/dest/config.d.ts +2 -2
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +1 -1
- package/dest/index.d.ts +1 -1
- package/dest/light/index.d.ts +2 -0
- package/dest/light/index.d.ts.map +1 -0
- package/dest/light/index.js +1 -0
- package/dest/light/lightweight_checkpoint_builder.d.ts +36 -0
- package/dest/light/lightweight_checkpoint_builder.d.ts.map +1 -0
- package/dest/light/lightweight_checkpoint_builder.js +147 -0
- package/dest/mocks/fixtures.d.ts +1 -4
- package/dest/mocks/fixtures.d.ts.map +1 -1
- package/dest/mocks/fixtures.js +7 -17
- package/dest/mocks/test_context.d.ts +27 -46
- package/dest/mocks/test_context.d.ts.map +1 -1
- package/dest/mocks/test_context.js +105 -116
- package/dest/orchestrator/block-building-helpers.d.ts +17 -19
- package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
- package/dest/orchestrator/block-building-helpers.js +86 -111
- package/dest/orchestrator/block-proving-state.d.ts +17 -11
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/block-proving-state.js +81 -20
- package/dest/orchestrator/checkpoint-proving-state.d.ts +8 -8
- package/dest/orchestrator/checkpoint-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/checkpoint-proving-state.js +15 -16
- package/dest/orchestrator/epoch-proving-state.d.ts +9 -8
- package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/epoch-proving-state.js +3 -3
- package/dest/orchestrator/index.d.ts +1 -1
- package/dest/orchestrator/orchestrator.d.ts +10 -10
- package/dest/orchestrator/orchestrator.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator.js +27 -56
- package/dest/orchestrator/orchestrator_metrics.d.ts +1 -3
- package/dest/orchestrator/orchestrator_metrics.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator_metrics.js +0 -9
- package/dest/orchestrator/tx-proving-state.d.ts +2 -2
- package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/tx-proving-state.js +2 -11
- package/dest/prover-client/factory.d.ts +3 -3
- package/dest/prover-client/factory.d.ts.map +1 -1
- package/dest/prover-client/index.d.ts +1 -1
- package/dest/prover-client/prover-client.d.ts +3 -3
- package/dest/prover-client/prover-client.d.ts.map +1 -1
- package/dest/prover-client/server-epoch-prover.d.ts +8 -7
- package/dest/prover-client/server-epoch-prover.d.ts.map +1 -1
- package/dest/prover-client/server-epoch-prover.js +2 -2
- package/dest/proving_broker/broker_prover_facade.d.ts +20 -20
- package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
- package/dest/proving_broker/broker_prover_facade.js +6 -12
- package/dest/proving_broker/config.d.ts +12 -8
- package/dest/proving_broker/config.d.ts.map +1 -1
- package/dest/proving_broker/config.js +8 -2
- package/dest/proving_broker/factory.d.ts +1 -1
- package/dest/proving_broker/fixtures.d.ts +3 -2
- package/dest/proving_broker/fixtures.d.ts.map +1 -1
- package/dest/proving_broker/fixtures.js +3 -2
- package/dest/proving_broker/index.d.ts +1 -1
- package/dest/proving_broker/proof_store/factory.d.ts +2 -2
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +1 -1
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +1 -1
- package/dest/proving_broker/proof_store/index.d.ts +1 -1
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts +1 -1
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +1 -1
- package/dest/proving_broker/proof_store/proof_store.d.ts +1 -1
- package/dest/proving_broker/proving_agent.d.ts +1 -1
- package/dest/proving_broker/proving_agent.d.ts.map +1 -1
- package/dest/proving_broker/proving_agent_instrumentation.d.ts +1 -1
- package/dest/proving_broker/proving_agent_instrumentation.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker.d.ts +2 -2
- package/dest/proving_broker/proving_broker.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker.js +5 -1
- package/dest/proving_broker/proving_broker_database/memory.d.ts +3 -2
- package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_database/persisted.d.ts +3 -2
- package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_database/persisted.js +3 -2
- package/dest/proving_broker/proving_broker_database.d.ts +3 -2
- package/dest/proving_broker/proving_broker_database.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_instrumentation.d.ts +1 -1
- package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -1
- package/dest/proving_broker/proving_job_controller.d.ts +3 -2
- package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
- package/dest/proving_broker/proving_job_controller.js +2 -3
- package/dest/proving_broker/rpc.d.ts +4 -4
- package/dest/test/mock_proof_store.d.ts +3 -3
- package/dest/test/mock_proof_store.d.ts.map +1 -1
- package/dest/test/mock_prover.d.ts +3 -4
- package/dest/test/mock_prover.d.ts.map +1 -1
- package/dest/test/mock_prover.js +1 -1
- package/package.json +20 -17
- package/src/block-factory/light.ts +40 -43
- package/src/config.ts +1 -1
- package/src/light/index.ts +1 -0
- package/src/light/lightweight_checkpoint_builder.ts +198 -0
- package/src/mocks/fixtures.ts +7 -30
- package/src/mocks/test_context.ts +148 -177
- package/src/orchestrator/block-building-helpers.ts +125 -205
- package/src/orchestrator/block-proving-state.ts +103 -25
- package/src/orchestrator/checkpoint-proving-state.ts +24 -20
- package/src/orchestrator/epoch-proving-state.ts +9 -7
- package/src/orchestrator/orchestrator.ts +36 -68
- package/src/orchestrator/orchestrator_metrics.ts +1 -20
- package/src/orchestrator/tx-proving-state.ts +4 -18
- package/src/prover-client/factory.ts +6 -2
- package/src/prover-client/prover-client.ts +3 -2
- package/src/prover-client/server-epoch-prover.ts +6 -7
- package/src/proving_broker/broker_prover_facade.ts +23 -31
- package/src/proving_broker/config.ts +8 -1
- package/src/proving_broker/fixtures.ts +8 -3
- package/src/proving_broker/proving_broker.ts +5 -1
- package/src/proving_broker/proving_broker_database/memory.ts +2 -1
- package/src/proving_broker/proving_broker_database/persisted.ts +5 -4
- package/src/proving_broker/proving_broker_database.ts +2 -1
- package/src/proving_broker/proving_job_controller.ts +4 -4
- package/src/test/mock_prover.ts +1 -6
|
@@ -4,8 +4,8 @@ import type {
|
|
|
4
4
|
NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
5
5
|
RECURSIVE_PROOF_LENGTH,
|
|
6
6
|
} from '@aztec/constants';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
8
|
+
import { sha256 } from '@aztec/foundation/crypto/sha256';
|
|
9
9
|
import { createLogger } from '@aztec/foundation/log';
|
|
10
10
|
import { type PromiseWithResolvers, RunningPromise, promiseWithResolvers } from '@aztec/foundation/promise';
|
|
11
11
|
import { truncate } from '@aztec/foundation/string';
|
|
@@ -130,7 +130,7 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
130
130
|
id: ProvingJobId,
|
|
131
131
|
type: T,
|
|
132
132
|
inputs: ProvingJobInputsMap[T],
|
|
133
|
-
epochNumber =
|
|
133
|
+
epochNumber = EpochNumber.ZERO,
|
|
134
134
|
signal?: AbortSignal,
|
|
135
135
|
): Promise<ProvingJobResultsMap[T]> {
|
|
136
136
|
const { job: job, isEnqueued } = this.getOrCreateProvingJob(id, type, signal);
|
|
@@ -397,30 +397,22 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
397
397
|
|
|
398
398
|
getAvmProof(
|
|
399
399
|
inputs: AvmCircuitInputs,
|
|
400
|
-
skipPublicInputsValidation?: boolean, // TODO(#14234)[Unconditional PIs validation]: remove this argument
|
|
401
400
|
signal?: AbortSignal,
|
|
402
|
-
epochNumber?:
|
|
401
|
+
epochNumber?: EpochNumber,
|
|
403
402
|
): Promise<ProofAndVerificationKey<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>> {
|
|
404
|
-
this.log.info(`getAvmProof() called with skipPublicInputsValidation: ${skipPublicInputsValidation}`);
|
|
405
|
-
|
|
406
403
|
return this.enqueueJob(
|
|
407
404
|
this.generateId(ProvingRequestType.PUBLIC_VM, inputs, epochNumber),
|
|
408
405
|
ProvingRequestType.PUBLIC_VM,
|
|
409
406
|
inputs,
|
|
410
407
|
epochNumber,
|
|
411
408
|
signal,
|
|
412
|
-
)
|
|
413
|
-
// TODO(#14234)[Unconditional PIs validation]: Remove ".then()".
|
|
414
|
-
// Override the default value of skipPublicInputsValidation potentially set in BBNativeRollupProver.getAvmProof().
|
|
415
|
-
result.proof.proof[0] = skipPublicInputsValidation ? new Fr(1) : new Fr(0);
|
|
416
|
-
return result;
|
|
417
|
-
});
|
|
409
|
+
);
|
|
418
410
|
}
|
|
419
411
|
|
|
420
412
|
getBaseParityProof(
|
|
421
413
|
inputs: ParityBasePrivateInputs,
|
|
422
414
|
signal?: AbortSignal,
|
|
423
|
-
epochNumber?:
|
|
415
|
+
epochNumber?: EpochNumber,
|
|
424
416
|
): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof RECURSIVE_PROOF_LENGTH>> {
|
|
425
417
|
return this.enqueueJob(
|
|
426
418
|
this.generateId(ProvingRequestType.PARITY_BASE, inputs, epochNumber),
|
|
@@ -434,7 +426,7 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
434
426
|
getTxMergeRollupProof(
|
|
435
427
|
input: TxMergeRollupPrivateInputs,
|
|
436
428
|
signal?: AbortSignal,
|
|
437
|
-
epochNumber?:
|
|
429
|
+
epochNumber?: EpochNumber,
|
|
438
430
|
): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
439
431
|
return this.enqueueJob(
|
|
440
432
|
this.generateId(ProvingRequestType.TX_MERGE_ROLLUP, input, epochNumber),
|
|
@@ -448,7 +440,7 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
448
440
|
getPublicChonkVerifierProof(
|
|
449
441
|
inputs: PublicChonkVerifierPrivateInputs,
|
|
450
442
|
signal?: AbortSignal,
|
|
451
|
-
epochNumber?:
|
|
443
|
+
epochNumber?: EpochNumber,
|
|
452
444
|
): Promise<
|
|
453
445
|
PublicInputsAndRecursiveProof<PublicChonkVerifierPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
454
446
|
> {
|
|
@@ -464,7 +456,7 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
464
456
|
getPrivateTxBaseRollupProof(
|
|
465
457
|
baseRollupInput: PrivateTxBaseRollupPrivateInputs,
|
|
466
458
|
signal?: AbortSignal,
|
|
467
|
-
epochNumber?:
|
|
459
|
+
epochNumber?: EpochNumber,
|
|
468
460
|
): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
469
461
|
return this.enqueueJob(
|
|
470
462
|
this.generateId(ProvingRequestType.PRIVATE_TX_BASE_ROLLUP, baseRollupInput, epochNumber),
|
|
@@ -478,7 +470,7 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
478
470
|
getPublicTxBaseRollupProof(
|
|
479
471
|
inputs: PublicTxBaseRollupPrivateInputs,
|
|
480
472
|
signal?: AbortSignal,
|
|
481
|
-
epochNumber?:
|
|
473
|
+
epochNumber?: EpochNumber,
|
|
482
474
|
): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
483
475
|
return this.enqueueJob(
|
|
484
476
|
this.generateId(ProvingRequestType.PUBLIC_TX_BASE_ROLLUP, inputs, epochNumber),
|
|
@@ -492,7 +484,7 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
492
484
|
getRootParityProof(
|
|
493
485
|
inputs: ParityRootPrivateInputs,
|
|
494
486
|
signal?: AbortSignal,
|
|
495
|
-
epochNumber?:
|
|
487
|
+
epochNumber?: EpochNumber,
|
|
496
488
|
): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof NESTED_RECURSIVE_PROOF_LENGTH>> {
|
|
497
489
|
return this.enqueueJob(
|
|
498
490
|
this.generateId(ProvingRequestType.PARITY_ROOT, inputs, epochNumber),
|
|
@@ -506,7 +498,7 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
506
498
|
getBlockRootFirstRollupProof(
|
|
507
499
|
input: BlockRootFirstRollupPrivateInputs,
|
|
508
500
|
signal?: AbortSignal,
|
|
509
|
-
epochNumber?:
|
|
501
|
+
epochNumber?: EpochNumber,
|
|
510
502
|
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
511
503
|
return this.enqueueJob(
|
|
512
504
|
this.generateId(ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP, input, epochNumber),
|
|
@@ -520,7 +512,7 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
520
512
|
getBlockRootSingleTxFirstRollupProof(
|
|
521
513
|
input: BlockRootSingleTxFirstRollupPrivateInputs,
|
|
522
514
|
signal?: AbortSignal,
|
|
523
|
-
epochNumber?:
|
|
515
|
+
epochNumber?: EpochNumber,
|
|
524
516
|
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
525
517
|
return this.enqueueJob(
|
|
526
518
|
this.generateId(ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP, input, epochNumber),
|
|
@@ -534,7 +526,7 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
534
526
|
getBlockRootEmptyTxFirstRollupProof(
|
|
535
527
|
input: BlockRootEmptyTxFirstRollupPrivateInputs,
|
|
536
528
|
signal?: AbortSignal,
|
|
537
|
-
epochNumber?:
|
|
529
|
+
epochNumber?: EpochNumber,
|
|
538
530
|
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
539
531
|
return this.enqueueJob(
|
|
540
532
|
this.generateId(ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP, input, epochNumber),
|
|
@@ -548,7 +540,7 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
548
540
|
getBlockRootRollupProof(
|
|
549
541
|
input: BlockRootRollupPrivateInputs,
|
|
550
542
|
signal?: AbortSignal,
|
|
551
|
-
epochNumber?:
|
|
543
|
+
epochNumber?: EpochNumber,
|
|
552
544
|
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
553
545
|
return this.enqueueJob(
|
|
554
546
|
this.generateId(ProvingRequestType.BLOCK_ROOT_ROLLUP, input, epochNumber),
|
|
@@ -562,7 +554,7 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
562
554
|
getBlockRootSingleTxRollupProof(
|
|
563
555
|
input: BlockRootSingleTxRollupPrivateInputs,
|
|
564
556
|
signal?: AbortSignal,
|
|
565
|
-
epochNumber?:
|
|
557
|
+
epochNumber?: EpochNumber,
|
|
566
558
|
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
567
559
|
return this.enqueueJob(
|
|
568
560
|
this.generateId(ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP, input, epochNumber),
|
|
@@ -576,7 +568,7 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
576
568
|
getBlockMergeRollupProof(
|
|
577
569
|
input: BlockMergeRollupPrivateInputs,
|
|
578
570
|
signal?: AbortSignal,
|
|
579
|
-
epochNumber?:
|
|
571
|
+
epochNumber?: EpochNumber,
|
|
580
572
|
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
581
573
|
return this.enqueueJob(
|
|
582
574
|
this.generateId(ProvingRequestType.BLOCK_MERGE_ROLLUP, input, epochNumber),
|
|
@@ -590,7 +582,7 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
590
582
|
getCheckpointRootRollupProof(
|
|
591
583
|
input: CheckpointRootRollupPrivateInputs,
|
|
592
584
|
signal?: AbortSignal,
|
|
593
|
-
epochNumber?:
|
|
585
|
+
epochNumber?: EpochNumber,
|
|
594
586
|
): Promise<
|
|
595
587
|
PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
596
588
|
> {
|
|
@@ -606,7 +598,7 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
606
598
|
getCheckpointRootSingleBlockRollupProof(
|
|
607
599
|
input: CheckpointRootSingleBlockRollupPrivateInputs,
|
|
608
600
|
signal?: AbortSignal,
|
|
609
|
-
epochNumber?:
|
|
601
|
+
epochNumber?: EpochNumber,
|
|
610
602
|
): Promise<
|
|
611
603
|
PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
612
604
|
> {
|
|
@@ -622,7 +614,7 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
622
614
|
getCheckpointPaddingRollupProof(
|
|
623
615
|
input: CheckpointPaddingRollupPrivateInputs,
|
|
624
616
|
signal?: AbortSignal,
|
|
625
|
-
epochNumber?:
|
|
617
|
+
epochNumber?: EpochNumber,
|
|
626
618
|
): Promise<
|
|
627
619
|
PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
628
620
|
> {
|
|
@@ -638,7 +630,7 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
638
630
|
getCheckpointMergeRollupProof(
|
|
639
631
|
input: CheckpointMergeRollupPrivateInputs,
|
|
640
632
|
signal?: AbortSignal,
|
|
641
|
-
epochNumber?:
|
|
633
|
+
epochNumber?: EpochNumber,
|
|
642
634
|
): Promise<
|
|
643
635
|
PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
644
636
|
> {
|
|
@@ -654,7 +646,7 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
654
646
|
getRootRollupProof(
|
|
655
647
|
input: RootRollupPrivateInputs,
|
|
656
648
|
signal?: AbortSignal,
|
|
657
|
-
epochNumber?:
|
|
649
|
+
epochNumber?: EpochNumber,
|
|
658
650
|
): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs, typeof RECURSIVE_PROOF_LENGTH>> {
|
|
659
651
|
return this.enqueueJob(
|
|
660
652
|
this.generateId(ProvingRequestType.ROOT_ROLLUP, input, epochNumber),
|
|
@@ -665,7 +657,7 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
665
657
|
);
|
|
666
658
|
}
|
|
667
659
|
|
|
668
|
-
private generateId(type: ProvingRequestType, inputs: { toBuffer(): Buffer }, epochNumber =
|
|
660
|
+
private generateId(type: ProvingRequestType, inputs: { toBuffer(): Buffer }, epochNumber = EpochNumber.ZERO) {
|
|
669
661
|
const inputsHash = sha256(inputs.toBuffer());
|
|
670
662
|
return makeProvingJobId(epochNumber, type, inputsHash.toString('hex'));
|
|
671
663
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type L1ReaderConfig, l1ReaderConfigMappings } from '@aztec/ethereum';
|
|
1
|
+
import { type L1ReaderConfig, l1ReaderConfigMappings } from '@aztec/ethereum/l1-reader';
|
|
2
2
|
import {
|
|
3
3
|
type ConfigMappingsType,
|
|
4
4
|
booleanConfigHelper,
|
|
@@ -98,6 +98,8 @@ export const ProverAgentConfig = z.object({
|
|
|
98
98
|
proverTestDelayMs: z.number(),
|
|
99
99
|
/** If using realistic delays, what percentage of realistic times to apply. */
|
|
100
100
|
proverTestDelayFactor: z.number(),
|
|
101
|
+
/** The delay (ms) to inject during fake proof verification */
|
|
102
|
+
proverTestVerificationDelayMs: z.number().optional(),
|
|
101
103
|
});
|
|
102
104
|
|
|
103
105
|
export type ProverAgentConfig = z.infer<typeof ProverAgentConfig>;
|
|
@@ -146,4 +148,9 @@ export const proverAgentConfigMappings: ConfigMappingsType<ProverAgentConfig> =
|
|
|
146
148
|
description: 'If using realistic delays, what percentage of realistic times to apply.',
|
|
147
149
|
...numberConfigHelper(1),
|
|
148
150
|
},
|
|
151
|
+
proverTestVerificationDelayMs: {
|
|
152
|
+
env: 'PROVER_TEST_VERIFICATION_DELAY_MS',
|
|
153
|
+
description: 'The delay (ms) to inject during fake proof verification',
|
|
154
|
+
...numberConfigHelper(10),
|
|
155
|
+
},
|
|
149
156
|
};
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
2
3
|
import { type ProofUri, type ProvingJobId, makeProvingJobId } from '@aztec/stdlib/interfaces/server';
|
|
3
4
|
import { ProvingRequestType } from '@aztec/stdlib/proofs';
|
|
4
5
|
|
|
5
|
-
export function makeRandomProvingJobId(epochNumber?:
|
|
6
|
-
return makeProvingJobId(
|
|
6
|
+
export function makeRandomProvingJobId(epochNumber?: EpochNumber): ProvingJobId {
|
|
7
|
+
return makeProvingJobId(
|
|
8
|
+
epochNumber ?? EpochNumber(1),
|
|
9
|
+
ProvingRequestType.PARITY_BASE,
|
|
10
|
+
randomBytes(8).toString('hex'),
|
|
11
|
+
);
|
|
7
12
|
}
|
|
8
13
|
|
|
9
14
|
export function makeInputsUri(): ProofUri {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { createLogger } from '@aztec/foundation/log';
|
|
2
3
|
import { type PromiseWithResolvers, RunningPromise, promiseWithResolvers } from '@aztec/foundation/promise';
|
|
3
4
|
import { PriorityMemoryQueue } from '@aztec/foundation/queue';
|
|
@@ -301,6 +302,7 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
|
|
|
301
302
|
this.resultsCache.delete(id);
|
|
302
303
|
this.inProgress.delete(id);
|
|
303
304
|
this.retries.delete(id);
|
|
305
|
+
this.enqueuedAt.delete(id);
|
|
304
306
|
}
|
|
305
307
|
}
|
|
306
308
|
|
|
@@ -353,6 +355,8 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
|
|
|
353
355
|
const enqueuedAt = this.enqueuedAt.get(job.id);
|
|
354
356
|
if (enqueuedAt) {
|
|
355
357
|
this.instrumentation.recordJobWait(job.type, enqueuedAt);
|
|
358
|
+
// we can clear this flag now.
|
|
359
|
+
this.enqueuedAt.delete(job.id);
|
|
356
360
|
}
|
|
357
361
|
|
|
358
362
|
return { job, time };
|
|
@@ -567,7 +571,7 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
|
|
|
567
571
|
this.reEnqueueExpiredJobs();
|
|
568
572
|
const oldestEpochToKeep = this.oldestEpochToKeep();
|
|
569
573
|
if (oldestEpochToKeep > 0) {
|
|
570
|
-
await this.database.deleteAllProvingJobsOlderThanEpoch(oldestEpochToKeep);
|
|
574
|
+
await this.database.deleteAllProvingJobsOlderThanEpoch(EpochNumber(oldestEpochToKeep));
|
|
571
575
|
this.logger.trace(`Deleted all epochs older than ${oldestEpochToKeep}`);
|
|
572
576
|
}
|
|
573
577
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import {
|
|
2
3
|
type ProofUri,
|
|
3
4
|
type ProvingJob,
|
|
@@ -43,7 +44,7 @@ export class InMemoryBrokerDatabase implements ProvingBrokerDatabase {
|
|
|
43
44
|
return Promise.resolve();
|
|
44
45
|
}
|
|
45
46
|
|
|
46
|
-
deleteAllProvingJobsOlderThanEpoch(epochNumber:
|
|
47
|
+
deleteAllProvingJobsOlderThanEpoch(epochNumber: EpochNumber): Promise<void> {
|
|
47
48
|
const toDelete = [
|
|
48
49
|
...Array.from(this.jobs.keys()).filter(x => getEpochFromProvingJobId(x) < epochNumber),
|
|
49
50
|
...Array.from(this.results.keys()).filter(x => getEpochFromProvingJobId(x) < epochNumber),
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
|
|
2
3
|
import { type Logger, createLogger } from '@aztec/foundation/log';
|
|
3
4
|
import { BatchQueue } from '@aztec/foundation/queue';
|
|
@@ -104,7 +105,7 @@ export class KVBrokerDatabase implements ProvingBrokerDatabase {
|
|
|
104
105
|
const jobsToAdd = items.filter((item): item is ProvingJob => 'id' in item);
|
|
105
106
|
const resultsToAdd = items.filter((item): item is [ProvingJobId, ProvingJobSettledResult] => Array.isArray(item));
|
|
106
107
|
|
|
107
|
-
const db = await this.getEpochDatabase(epochNumber);
|
|
108
|
+
const db = await this.getEpochDatabase(EpochNumber(epochNumber));
|
|
108
109
|
await db.batchWrite(jobsToAdd, resultsToAdd);
|
|
109
110
|
}
|
|
110
111
|
|
|
@@ -164,8 +165,8 @@ export class KVBrokerDatabase implements ProvingBrokerDatabase {
|
|
|
164
165
|
}
|
|
165
166
|
}
|
|
166
167
|
|
|
167
|
-
async deleteAllProvingJobsOlderThanEpoch(epochNumber:
|
|
168
|
-
const oldEpochs = Array.from(this.epochs.keys()).filter(e => e < epochNumber);
|
|
168
|
+
async deleteAllProvingJobsOlderThanEpoch(epochNumber: EpochNumber): Promise<void> {
|
|
169
|
+
const oldEpochs = Array.from(this.epochs.keys()).filter(e => e < Number(epochNumber));
|
|
169
170
|
for (const old of oldEpochs) {
|
|
170
171
|
const db = this.epochs.get(old);
|
|
171
172
|
if (!db) {
|
|
@@ -196,7 +197,7 @@ export class KVBrokerDatabase implements ProvingBrokerDatabase {
|
|
|
196
197
|
return this.batchQueue.put([id, { status: 'fulfilled', value }], getEpochFromProvingJobId(id));
|
|
197
198
|
}
|
|
198
199
|
|
|
199
|
-
private async getEpochDatabase(epochNumber:
|
|
200
|
+
private async getEpochDatabase(epochNumber: EpochNumber): Promise<SingleEpochDatabase> {
|
|
200
201
|
let epochDb = this.epochs.get(epochNumber);
|
|
201
202
|
if (!epochDb) {
|
|
202
203
|
const newEpochDirectory = join(this.config.dataDirectory!, epochNumber.toString());
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import type { ProofUri, ProvingJob, ProvingJobId, ProvingJobSettledResult } from '@aztec/stdlib/interfaces/server';
|
|
2
3
|
|
|
3
4
|
/**
|
|
@@ -14,7 +15,7 @@ export interface ProvingBrokerDatabase {
|
|
|
14
15
|
* Deletes all proving jobs belonging to epochs older than the given epoch
|
|
15
16
|
* @param epochNumber - The epoch number beyond which jobs should be deleted
|
|
16
17
|
*/
|
|
17
|
-
deleteAllProvingJobsOlderThanEpoch(epochNumber:
|
|
18
|
+
deleteAllProvingJobsOlderThanEpoch(epochNumber: EpochNumber): Promise<void>;
|
|
18
19
|
|
|
19
20
|
/**
|
|
20
21
|
* Returns an iterator over all saved proving jobs
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
2
3
|
import { AbortError } from '@aztec/foundation/error';
|
|
3
4
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
5
|
import type {
|
|
@@ -24,7 +25,7 @@ export class ProvingJobController {
|
|
|
24
25
|
constructor(
|
|
25
26
|
private jobId: ProvingJobId,
|
|
26
27
|
private inputs: ProvingJobInputs,
|
|
27
|
-
private epochNumber:
|
|
28
|
+
private epochNumber: EpochNumber,
|
|
28
29
|
private startedAt: number,
|
|
29
30
|
private circuitProver: ServerCircuitProver,
|
|
30
31
|
private onComplete: () => void,
|
|
@@ -124,8 +125,7 @@ export class ProvingJobController {
|
|
|
124
125
|
const signal = this.abortController.signal;
|
|
125
126
|
switch (type) {
|
|
126
127
|
case ProvingRequestType.PUBLIC_VM: {
|
|
127
|
-
|
|
128
|
-
return await this.circuitProver.getAvmProof(inputs, undefined, signal, this.epochNumber);
|
|
128
|
+
return await this.circuitProver.getAvmProof(inputs, signal, this.epochNumber);
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
case ProvingRequestType.PUBLIC_CHONK_VERIFIER: {
|
package/src/test/mock_prover.ts
CHANGED
|
@@ -105,12 +105,7 @@ export class TestBroker implements ProvingJobProducer {
|
|
|
105
105
|
export class MockProver implements ServerCircuitProver {
|
|
106
106
|
constructor() {}
|
|
107
107
|
|
|
108
|
-
getAvmProof(
|
|
109
|
-
_inputs: AvmCircuitInputs,
|
|
110
|
-
_skipPublicInputsValidation?: boolean, // TODO(#14234)[Unconditional PIs validation]: Remove.
|
|
111
|
-
_signal?: AbortSignal,
|
|
112
|
-
_epochNumber?: number,
|
|
113
|
-
) {
|
|
108
|
+
getAvmProof(_inputs: AvmCircuitInputs, _signal?: AbortSignal, _epochNumber?: number) {
|
|
114
109
|
return Promise.resolve(
|
|
115
110
|
makeProofAndVerificationKey(
|
|
116
111
|
makeEmptyRecursiveProof(AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED),
|