@aztec/prover-client 0.0.1-commit.d431d1c → 0.0.1-commit.e310a4c8

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 (39) hide show
  1. package/dest/light/lightweight_checkpoint_builder.d.ts +9 -6
  2. package/dest/light/lightweight_checkpoint_builder.d.ts.map +1 -1
  3. package/dest/light/lightweight_checkpoint_builder.js +15 -9
  4. package/dest/mocks/fixtures.d.ts +1 -1
  5. package/dest/mocks/fixtures.d.ts.map +1 -1
  6. package/dest/mocks/fixtures.js +2 -1
  7. package/dest/orchestrator/block-building-helpers.js +1 -1
  8. package/dest/orchestrator/orchestrator.d.ts +8 -3
  9. package/dest/orchestrator/orchestrator.d.ts.map +1 -1
  10. package/dest/orchestrator/orchestrator.js +90 -74
  11. package/dest/prover-client/prover-client.d.ts +1 -1
  12. package/dest/prover-client/prover-client.d.ts.map +1 -1
  13. package/dest/prover-client/prover-client.js +7 -4
  14. package/dest/proving_broker/broker_prover_facade.d.ts +4 -3
  15. package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
  16. package/dest/proving_broker/broker_prover_facade.js +3 -3
  17. package/dest/proving_broker/config.d.ts +5 -1
  18. package/dest/proving_broker/config.d.ts.map +1 -1
  19. package/dest/proving_broker/config.js +7 -1
  20. package/dest/proving_broker/proving_agent.d.ts +4 -3
  21. package/dest/proving_broker/proving_agent.d.ts.map +1 -1
  22. package/dest/proving_broker/proving_agent.js +4 -4
  23. package/dest/proving_broker/proving_broker_instrumentation.d.ts +1 -1
  24. package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -1
  25. package/dest/proving_broker/proving_broker_instrumentation.js +11 -7
  26. package/dest/proving_broker/proving_job_controller.d.ts +4 -3
  27. package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
  28. package/dest/proving_broker/proving_job_controller.js +6 -3
  29. package/package.json +15 -15
  30. package/src/light/lightweight_checkpoint_builder.ts +22 -7
  31. package/src/mocks/fixtures.ts +2 -1
  32. package/src/orchestrator/block-building-helpers.ts +1 -1
  33. package/src/orchestrator/orchestrator.ts +89 -75
  34. package/src/prover-client/prover-client.ts +23 -6
  35. package/src/proving_broker/broker_prover_facade.ts +6 -3
  36. package/src/proving_broker/config.ts +9 -0
  37. package/src/proving_broker/proving_agent.ts +5 -2
  38. package/src/proving_broker/proving_broker_instrumentation.ts +10 -6
  39. package/src/proving_broker/proving_job_controller.ts +9 -3
@@ -389,7 +389,6 @@ import { buildHeaderFromCircuitOutputs, getLastSiblingPath, getPublicChonkVerifi
389
389
  import { EpochProvingState } from './epoch-proving-state.js';
390
390
  import { ProvingOrchestratorMetrics } from './orchestrator_metrics.js';
391
391
  import { TxProvingState } from './tx-proving-state.js';
392
- const logger = createLogger('prover-client:orchestrator');
393
392
  _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
394
393
  [Attributes.BLOCK_NUMBER]: blockNumber
395
394
  })), _dec1 = trackSpan('ProvingOrchestrator.addTxs', (txs)=>({
@@ -414,6 +413,7 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
414
413
  dbProvider;
415
414
  prover;
416
415
  proverId;
416
+ cancelJobsOnStop;
417
417
  static{
418
418
  ({ e: [_initProto] } = _apply_decs_2203_r(this, [
419
419
  [
@@ -449,14 +449,17 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
449
449
  metrics;
450
450
  // eslint-disable-next-line aztec-custom/no-non-primitive-in-collections
451
451
  dbs;
452
- constructor(dbProvider, prover, proverId, telemetryClient = getTelemetryClient()){
452
+ logger;
453
+ constructor(dbProvider, prover, proverId, cancelJobsOnStop = false, telemetryClient = getTelemetryClient(), bindings){
453
454
  this.dbProvider = dbProvider;
454
455
  this.prover = prover;
455
456
  this.proverId = proverId;
457
+ this.cancelJobsOnStop = cancelJobsOnStop;
456
458
  this.provingState = (_initProto(this), undefined);
457
459
  this.pendingProvingJobs = [];
458
460
  this.provingPromise = undefined;
459
461
  this.dbs = new Map();
462
+ this.logger = createLogger('prover-client:orchestrator', bindings);
460
463
  this.metrics = new ProvingOrchestratorMetrics(telemetryClient, 'ProvingOrchestrator');
461
464
  }
462
465
  get tracer() {
@@ -481,7 +484,7 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
481
484
  status: 'failure',
482
485
  reason
483
486
  }));
484
- logger.info(`Starting epoch ${epochNumber} with ${totalNumCheckpoints} checkpoints.`);
487
+ this.logger.info(`Starting epoch ${epochNumber} with ${totalNumCheckpoints} checkpoints.`);
485
488
  this.provingState = new EpochProvingState(epochNumber, totalNumCheckpoints, finalBlobBatchingChallenges, (provingState)=>this.checkAndEnqueueCheckpointRootRollup(provingState), resolve, reject);
486
489
  this.provingPromise = promise;
487
490
  }
@@ -503,7 +506,10 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
503
506
  const lastBlockNumber = headerOfLastBlockInPreviousCheckpoint.globalVariables.blockNumber;
504
507
  const db = await this.dbProvider.fork(lastBlockNumber);
505
508
  const firstBlockNumber = BlockNumber(lastBlockNumber + 1);
506
- this.dbs.set(firstBlockNumber, db);
509
+ this.dbs.set(firstBlockNumber, {
510
+ fork: db,
511
+ cleanupPromise: undefined
512
+ });
507
513
  // Get archive sibling path before any block in this checkpoint lands.
508
514
  const lastArchiveSiblingPath = await getLastSiblingPath(MerkleTreeId.ARCHIVE, db);
509
515
  // Insert all the l1 to l2 messages into the db. And get the states before and after the insertion.
@@ -528,14 +534,17 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
528
534
  throw new Error(`Checkpoint not accepting further blocks.`);
529
535
  }
530
536
  const constants = checkpointProvingState.constants;
531
- logger.info(`Starting block ${blockNumber} for slot ${constants.slotNumber}.`);
537
+ this.logger.info(`Starting block ${blockNumber} for slot ${constants.slotNumber}.`);
532
538
  // Fork the db only when it's not already set. The db for the first block is set in `startNewCheckpoint`.
533
539
  if (!this.dbs.has(blockNumber)) {
534
540
  // Fork world state at the end of the immediately previous block
535
541
  const db = await this.dbProvider.fork(BlockNumber(blockNumber - 1));
536
- this.dbs.set(blockNumber, db);
542
+ this.dbs.set(blockNumber, {
543
+ fork: db,
544
+ cleanupPromise: undefined
545
+ });
537
546
  }
538
- const db = this.dbs.get(blockNumber);
547
+ const db = this.dbs.get(blockNumber).fork;
539
548
  // Get archive snapshot and sibling path before any txs in this block lands.
540
549
  const lastArchiveTreeSnapshot = await getTreeSnapshot(MerkleTreeId.ARCHIVE, db);
541
550
  const lastArchiveSiblingPath = await getRootTreeSiblingPath(MerkleTreeId.ARCHIVE, db);
@@ -570,7 +579,7 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
570
579
  if (!txs.length) {
571
580
  // To avoid an ugly throw below. If we require an empty block, we can just call setBlockCompleted
572
581
  // on a block with no txs. We cannot do that here because we cannot find the blockNumber without any txs.
573
- logger.warn(`Provided no txs to orchestrator addTxs.`);
582
+ this.logger.warn(`Provided no txs to orchestrator addTxs.`);
574
583
  return;
575
584
  }
576
585
  const blockNumber = BlockNumber(txs[0].globalVariables.blockNumber);
@@ -584,8 +593,8 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
584
593
  if (!provingState.isAcceptingTxs()) {
585
594
  throw new Error(`Block ${blockNumber} has been initialized with transactions.`);
586
595
  }
587
- logger.info(`Adding ${txs.length} transactions to block ${blockNumber}`);
588
- const db = this.dbs.get(blockNumber);
596
+ this.logger.info(`Adding ${txs.length} transactions to block ${blockNumber}`);
597
+ const db = this.dbs.get(blockNumber).fork;
589
598
  const lastArchive = provingState.lastArchiveTreeSnapshot;
590
599
  const newL1ToL2MessageTreeSnapshot = provingState.newL1ToL2MessageTreeSnapshot;
591
600
  const spongeBlobState = provingState.getStartSpongeBlob().clone();
@@ -595,7 +604,7 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
595
604
  throw new Error(`Invalid proving state when adding a tx`);
596
605
  }
597
606
  validateTx(tx);
598
- logger.debug(`Received transaction: ${tx.hash}`);
607
+ this.logger.debug(`Received transaction: ${tx.hash}`);
599
608
  const startSpongeBlob = spongeBlobState.clone();
600
609
  const [hints, treeSnapshots] = await this.prepareBaseRollupInputs(tx, lastArchive, newL1ToL2MessageTreeSnapshot, startSpongeBlob, db);
601
610
  if (!provingState.verifyState()) {
@@ -606,10 +615,10 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
606
615
  const txIndex = provingState.addNewTx(txProvingState);
607
616
  if (txProvingState.requireAvmProof) {
608
617
  this.getOrEnqueueChonkVerifier(provingState, txIndex);
609
- logger.debug(`Enqueueing public VM for tx ${txIndex}`);
618
+ this.logger.debug(`Enqueueing public VM for tx ${txIndex}`);
610
619
  this.enqueueVM(provingState, txIndex);
611
620
  } else {
612
- logger.debug(`Enqueueing base rollup for private-only tx ${txIndex}`);
621
+ this.logger.debug(`Enqueueing base rollup for private-only tx ${txIndex}`);
613
622
  this.enqueueBaseRollup(provingState, txIndex);
614
623
  }
615
624
  } catch (err) {
@@ -639,7 +648,7 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
639
648
  const txHash = tx.getTxHash().toString();
640
649
  const privateInputs = getPublicChonkVerifierPrivateInputsFromTx(tx, this.proverId.toField());
641
650
  const tubeProof = promiseWithResolvers();
642
- logger.debug(`Starting chonk verifier circuit for tx ${txHash}`);
651
+ this.logger.debug(`Starting chonk verifier circuit for tx ${txHash}`);
643
652
  this.doEnqueueChonkVerifier(txHash, privateInputs, (proof)=>{
644
653
  tubeProof.resolve(proof);
645
654
  });
@@ -668,16 +677,16 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
668
677
  throw new Error(`Block ${blockNumber} is still accepting txs. Call setBlockCompleted after all txs have been added.`);
669
678
  }
670
679
  // Given we've applied every change from this block, now assemble the block header:
671
- logger.verbose(`Block ${blockNumber} completed. Assembling header.`);
680
+ this.logger.verbose(`Block ${blockNumber} completed. Assembling header.`);
672
681
  const header = await provingState.buildBlockHeader();
673
682
  if (expectedHeader && !header.equals(expectedHeader)) {
674
- logger.error(`Block header mismatch: header=${header} expectedHeader=${expectedHeader}`);
683
+ this.logger.error(`Block header mismatch: header=${header} expectedHeader=${expectedHeader}`);
675
684
  throw new Error('Block header mismatch');
676
685
  }
677
686
  // Get db for this block
678
- const db = this.dbs.get(provingState.blockNumber);
687
+ const db = this.dbs.get(provingState.blockNumber).fork;
679
688
  // Update the archive tree, so we're ready to start processing the next block:
680
- logger.verbose(`Updating archive tree with block ${provingState.blockNumber} header ${(await header.hash()).toString()}`);
689
+ this.logger.verbose(`Updating archive tree with block ${provingState.blockNumber} header ${(await header.hash()).toString()}`);
681
690
  await db.updateArchive(header);
682
691
  await this.verifyBuiltBlockAgainstSyncedState(provingState);
683
692
  return header;
@@ -686,33 +695,33 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
686
695
  async verifyBuiltBlockAgainstSyncedState(provingState) {
687
696
  const builtBlockHeader = provingState.getBuiltBlockHeader();
688
697
  if (!builtBlockHeader) {
689
- logger.debug('Block header not built yet, skipping header check.');
698
+ this.logger.debug('Block header not built yet, skipping header check.');
690
699
  return;
691
700
  }
692
701
  const output = provingState.getBlockRootRollupOutput();
693
702
  if (!output) {
694
- logger.debug('Block root rollup proof not built yet, skipping header check.');
703
+ this.logger.debug('Block root rollup proof not built yet, skipping header check.');
695
704
  return;
696
705
  }
697
706
  const header = await buildHeaderFromCircuitOutputs(output);
698
707
  if (!(await header.hash()).equals(await builtBlockHeader.hash())) {
699
- logger.error(`Block header mismatch.\nCircuit: ${inspect(header)}\nComputed: ${inspect(builtBlockHeader)}`);
708
+ this.logger.error(`Block header mismatch.\nCircuit: ${inspect(header)}\nComputed: ${inspect(builtBlockHeader)}`);
700
709
  provingState.reject(`Block header hash mismatch.`);
701
710
  return;
702
711
  }
703
712
  // Get db for this block
704
713
  const blockNumber = provingState.blockNumber;
705
- const db = this.dbs.get(blockNumber);
714
+ const db = this.dbs.get(blockNumber).fork;
706
715
  const newArchive = await getTreeSnapshot(MerkleTreeId.ARCHIVE, db);
707
716
  const syncedArchive = await getTreeSnapshot(MerkleTreeId.ARCHIVE, this.dbProvider.getSnapshot(blockNumber));
708
717
  if (!syncedArchive.equals(newArchive)) {
709
- logger.error(`Archive tree mismatch for block ${blockNumber}: world state synced to ${inspect(syncedArchive)} but built ${inspect(newArchive)}`);
718
+ this.logger.error(`Archive tree mismatch for block ${blockNumber}: world state synced to ${inspect(syncedArchive)} but built ${inspect(newArchive)}`);
710
719
  provingState.reject(`Archive tree mismatch.`);
711
720
  return;
712
721
  }
713
722
  const circuitArchive = output.newArchive;
714
723
  if (!newArchive.equals(circuitArchive)) {
715
- logger.error(`New archive mismatch.\nCircuit: ${output.newArchive}\nComputed: ${newArchive}`);
724
+ this.logger.error(`New archive mismatch.\nCircuit: ${output.newArchive}\nComputed: ${newArchive}`);
716
725
  provingState.reject(`New archive mismatch.`);
717
726
  return;
718
727
  }
@@ -723,10 +732,14 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
723
732
  void this.cleanupDBFork(blockNumber);
724
733
  }
725
734
  /**
726
- * Cancel any further proving
735
+ * Cancel any further proving.
736
+ * If cancelJobsOnStop is true, aborts all pending jobs with the broker (which marks them as 'Aborted').
737
+ * If cancelJobsOnStop is false (default), jobs remain in the broker queue and can be reused on restart/reorg.
727
738
  */ cancel() {
728
- for (const controller of this.pendingProvingJobs){
729
- controller.abort();
739
+ if (this.cancelJobsOnStop) {
740
+ for (const controller of this.pendingProvingJobs){
741
+ controller.abort();
742
+ }
730
743
  }
731
744
  this.provingState?.cancel();
732
745
  }
@@ -749,16 +762,19 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
749
762
  return epochProofResult;
750
763
  }
751
764
  async cleanupDBFork(blockNumber) {
752
- logger.debug(`Cleaning up world state fork for ${blockNumber}`);
765
+ this.logger.debug(`Cleaning up world state fork for ${blockNumber}`);
753
766
  const fork = this.dbs.get(blockNumber);
754
767
  if (!fork) {
755
768
  return;
756
769
  }
757
770
  try {
758
- await fork.close();
771
+ if (!fork.cleanupPromise) {
772
+ fork.cleanupPromise = fork.fork.close();
773
+ }
774
+ await fork.cleanupPromise;
759
775
  this.dbs.delete(blockNumber);
760
776
  } catch (err) {
761
- logger.error(`Error closing db for block ${blockNumber}`, err);
777
+ this.logger.error(`Error closing db for block ${blockNumber}`, err);
762
778
  }
763
779
  }
764
780
  /**
@@ -768,7 +784,7 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
768
784
  * @param job - The actual job, returns a promise notifying of the job's completion
769
785
  */ deferredProving(provingState, request, callback) {
770
786
  if (!provingState.verifyState()) {
771
- logger.debug(`Not enqueuing job, state no longer valid`);
787
+ this.logger.debug(`Not enqueuing job, state no longer valid`);
772
788
  return;
773
789
  }
774
790
  const controller = new AbortController();
@@ -783,7 +799,7 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
783
799
  }
784
800
  const result = await request(controller.signal);
785
801
  if (!provingState.verifyState()) {
786
- logger.debug(`State no longer valid, discarding result`);
802
+ this.logger.debug(`State no longer valid, discarding result`);
787
803
  return;
788
804
  }
789
805
  // we could have been cancelled whilst waiting for the result
@@ -798,7 +814,7 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
798
814
  // drop this result
799
815
  return;
800
816
  }
801
- logger.error(`Error thrown when proving job`, err);
817
+ this.logger.error(`Error thrown when proving job`, err);
802
818
  provingState.reject(`${err}`);
803
819
  } finally{
804
820
  const index = this.pendingProvingJobs.indexOf(controller);
@@ -854,17 +870,17 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
854
870
  // Executes the next level of merge if all inputs are available
855
871
  enqueueBaseRollup(provingState, txIndex) {
856
872
  if (!provingState.verifyState()) {
857
- logger.debug('Not running base rollup, state invalid');
873
+ this.logger.debug('Not running base rollup, state invalid');
858
874
  return;
859
875
  }
860
876
  if (!provingState.tryStartProvingBase(txIndex)) {
861
- logger.debug(`Base rollup for tx ${txIndex} already started.`);
877
+ this.logger.debug(`Base rollup for tx ${txIndex} already started.`);
862
878
  return;
863
879
  }
864
880
  const txProvingState = provingState.getTxProvingState(txIndex);
865
881
  const { processedTx } = txProvingState;
866
882
  const { rollupType, inputs } = txProvingState.getBaseRollupTypeAndInputs();
867
- logger.debug(`Enqueuing deferred proving base rollup for ${processedTx.hash.toString()}`);
883
+ this.logger.debug(`Enqueuing deferred proving base rollup for ${processedTx.hash.toString()}`);
868
884
  this.deferredProving(provingState, wrapCallbackInSpan(this.tracer, `ProvingOrchestrator.prover.${inputs instanceof PrivateTxBaseRollupPrivateInputs ? 'getPrivateTxBaseRollupProof' : 'getPublicTxBaseRollupProof'}`, {
869
885
  [Attributes.TX_HASH]: processedTx.hash.toString(),
870
886
  [Attributes.PROTOCOL_CIRCUIT_NAME]: rollupType
@@ -875,7 +891,7 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
875
891
  return this.prover.getPublicTxBaseRollupProof(inputs, signal, provingState.epochNumber);
876
892
  }
877
893
  }), (result)=>{
878
- logger.debug(`Completed proof for ${rollupType} for tx ${processedTx.hash.toString()}`);
894
+ this.logger.debug(`Completed proof for ${rollupType} for tx ${processedTx.hash.toString()}`);
879
895
  validatePartialState(result.inputs.endTreeSnapshots, txProvingState.treeSnapshots);
880
896
  const leafLocation = provingState.setBaseRollupProof(txIndex, result);
881
897
  if (provingState.totalNumTxs === 1) {
@@ -889,14 +905,14 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
889
905
  // Once completed, will enqueue the the public tx base rollup.
890
906
  getOrEnqueueChonkVerifier(provingState, txIndex) {
891
907
  if (!provingState.verifyState()) {
892
- logger.debug('Not running chonk verifier circuit, state invalid');
908
+ this.logger.debug('Not running chonk verifier circuit, state invalid');
893
909
  return;
894
910
  }
895
911
  const txProvingState = provingState.getTxProvingState(txIndex);
896
912
  const txHash = txProvingState.processedTx.hash.toString();
897
913
  NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH;
898
914
  const handleResult = (result)=>{
899
- logger.debug(`Got chonk verifier proof for tx index: ${txIndex}`, {
915
+ this.logger.debug(`Got chonk verifier proof for tx index: ${txIndex}`, {
900
916
  txHash
901
917
  });
902
918
  txProvingState.setPublicChonkVerifierProof(result);
@@ -904,18 +920,18 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
904
920
  this.checkAndEnqueueBaseRollup(provingState, txIndex);
905
921
  };
906
922
  if (this.provingState?.cachedChonkVerifierProofs.has(txHash)) {
907
- logger.debug(`Chonk verifier proof already enqueued for tx index: ${txIndex}`, {
923
+ this.logger.debug(`Chonk verifier proof already enqueued for tx index: ${txIndex}`, {
908
924
  txHash
909
925
  });
910
926
  void this.provingState.cachedChonkVerifierProofs.get(txHash).then(handleResult);
911
927
  return;
912
928
  }
913
- logger.debug(`Enqueuing chonk verifier circuit for tx index: ${txIndex}`);
929
+ this.logger.debug(`Enqueuing chonk verifier circuit for tx index: ${txIndex}`);
914
930
  this.doEnqueueChonkVerifier(txHash, txProvingState.getPublicChonkVerifierPrivateInputs(), handleResult);
915
931
  }
916
932
  doEnqueueChonkVerifier(txHash, inputs, handler, provingState = this.provingState) {
917
933
  if (!provingState.verifyState()) {
918
- logger.debug('Not running chonk verifier circuit, state invalid');
934
+ this.logger.debug('Not running chonk verifier circuit, state invalid');
919
935
  return;
920
936
  }
921
937
  this.deferredProving(provingState, wrapCallbackInSpan(this.tracer, 'ProvingOrchestrator.prover.getPublicChonkVerifierProof', {
@@ -927,11 +943,11 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
927
943
  // Enqueues the next level of merge if all inputs are available
928
944
  enqueueMergeRollup(provingState, location) {
929
945
  if (!provingState.verifyState()) {
930
- logger.debug('Not running merge rollup. State no longer valid.');
946
+ this.logger.debug('Not running merge rollup. State no longer valid.');
931
947
  return;
932
948
  }
933
949
  if (!provingState.tryStartProvingMerge(location)) {
934
- logger.debug('Merge rollup already started.');
950
+ this.logger.debug('Merge rollup already started.');
935
951
  return;
936
952
  }
937
953
  const inputs = provingState.getMergeRollupInputs(location);
@@ -945,15 +961,15 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
945
961
  // Executes the block root rollup circuit
946
962
  enqueueBlockRootRollup(provingState) {
947
963
  if (!provingState.verifyState()) {
948
- logger.debug('Not running block root rollup, state no longer valid');
964
+ this.logger.debug('Not running block root rollup, state no longer valid');
949
965
  return;
950
966
  }
951
967
  if (!provingState.tryStartProvingBlockRoot()) {
952
- logger.debug('Block root rollup already started.');
968
+ this.logger.debug('Block root rollup already started.');
953
969
  return;
954
970
  }
955
971
  const { rollupType, inputs } = provingState.getBlockRootRollupTypeAndInputs();
956
- logger.debug(`Enqueuing ${rollupType} for block ${provingState.blockNumber}.`);
972
+ this.logger.debug(`Enqueuing ${rollupType} for block ${provingState.blockNumber}.`);
957
973
  this.deferredProving(provingState, wrapCallbackInSpan(this.tracer, 'ProvingOrchestrator.prover.getBlockRootRollupProof', {
958
974
  [Attributes.PROTOCOL_CIRCUIT_NAME]: rollupType
959
975
  }, (signal)=>{
@@ -969,7 +985,7 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
969
985
  return this.prover.getBlockRootRollupProof(inputs, signal, provingState.epochNumber);
970
986
  }
971
987
  }), async (result)=>{
972
- logger.debug(`Completed ${rollupType} proof for block ${provingState.blockNumber}`);
988
+ this.logger.debug(`Completed ${rollupType} proof for block ${provingState.blockNumber}`);
973
989
  const leafLocation = provingState.setBlockRootRollupProof(result);
974
990
  const checkpointProvingState = provingState.parentCheckpoint;
975
991
  // If the proofs were slower than the block header building, then we need to try validating the block header hashes here.
@@ -987,11 +1003,11 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
987
1003
  // Enqueues the root parity circuit if all inputs are available
988
1004
  enqueueBaseParityCircuit(checkpointProvingState, provingState, baseParityIndex) {
989
1005
  if (!provingState.verifyState()) {
990
- logger.debug('Not running base parity. State no longer valid.');
1006
+ this.logger.debug('Not running base parity. State no longer valid.');
991
1007
  return;
992
1008
  }
993
1009
  if (!provingState.tryStartProvingBaseParity(baseParityIndex)) {
994
- logger.warn(`Base parity ${baseParityIndex} already started.`);
1010
+ this.logger.warn(`Base parity ${baseParityIndex} already started.`);
995
1011
  return;
996
1012
  }
997
1013
  const inputs = checkpointProvingState.getBaseParityInputs(baseParityIndex);
@@ -1012,11 +1028,11 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
1012
1028
  // Enqueues the root rollup proof if all inputs are available
1013
1029
  enqueueRootParityCircuit(provingState) {
1014
1030
  if (!provingState.verifyState()) {
1015
- logger.debug('Not running root parity. State no longer valid.');
1031
+ this.logger.debug('Not running root parity. State no longer valid.');
1016
1032
  return;
1017
1033
  }
1018
1034
  if (!provingState.tryStartProvingRootParity()) {
1019
- logger.debug('Root parity already started.');
1035
+ this.logger.debug('Root parity already started.');
1020
1036
  return;
1021
1037
  }
1022
1038
  const inputs = provingState.getParityRootInputs();
@@ -1031,11 +1047,11 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
1031
1047
  // Enqueues the next level of merge if all inputs are available
1032
1048
  enqueueBlockMergeRollup(provingState, location) {
1033
1049
  if (!provingState.verifyState()) {
1034
- logger.debug('Not running block merge rollup. State no longer valid.');
1050
+ this.logger.debug('Not running block merge rollup. State no longer valid.');
1035
1051
  return;
1036
1052
  }
1037
1053
  if (!provingState.tryStartProvingBlockMerge(location)) {
1038
- logger.debug('Block merge rollup already started.');
1054
+ this.logger.debug('Block merge rollup already started.');
1039
1055
  return;
1040
1056
  }
1041
1057
  const inputs = provingState.getBlockMergeRollupInputs(location);
@@ -1048,15 +1064,15 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
1048
1064
  }
1049
1065
  enqueueCheckpointRootRollup(provingState) {
1050
1066
  if (!provingState.verifyState()) {
1051
- logger.debug('Not running checkpoint root rollup. State no longer valid.');
1067
+ this.logger.debug('Not running checkpoint root rollup. State no longer valid.');
1052
1068
  return;
1053
1069
  }
1054
1070
  if (!provingState.tryStartProvingCheckpointRoot()) {
1055
- logger.debug('Checkpoint root rollup already started.');
1071
+ this.logger.debug('Checkpoint root rollup already started.');
1056
1072
  return;
1057
1073
  }
1058
1074
  const rollupType = provingState.getCheckpointRootRollupType();
1059
- logger.debug(`Enqueuing ${rollupType} for checkpoint ${provingState.index}.`);
1075
+ this.logger.debug(`Enqueuing ${rollupType} for checkpoint ${provingState.index}.`);
1060
1076
  const inputs = provingState.getCheckpointRootRollupInputs();
1061
1077
  this.deferredProving(provingState, wrapCallbackInSpan(this.tracer, 'ProvingOrchestrator.prover.getCheckpointRootRollupProof', {
1062
1078
  [Attributes.PROTOCOL_CIRCUIT_NAME]: rollupType
@@ -1070,11 +1086,11 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
1070
1086
  const computedEndBlobAccumulatorState = provingState.getEndBlobAccumulator().toBlobAccumulator();
1071
1087
  const circuitEndBlobAccumulatorState = result.inputs.endBlobAccumulator;
1072
1088
  if (!circuitEndBlobAccumulatorState.equals(computedEndBlobAccumulatorState)) {
1073
- logger.error(`Blob accumulator state mismatch.\nCircuit: ${inspect(circuitEndBlobAccumulatorState)}\nComputed: ${inspect(computedEndBlobAccumulatorState)}`);
1089
+ this.logger.error(`Blob accumulator state mismatch.\nCircuit: ${inspect(circuitEndBlobAccumulatorState)}\nComputed: ${inspect(computedEndBlobAccumulatorState)}`);
1074
1090
  provingState.reject(`Blob accumulator state mismatch.`);
1075
1091
  return;
1076
1092
  }
1077
- logger.debug(`Completed ${rollupType} proof for checkpoint ${provingState.index}.`);
1093
+ this.logger.debug(`Completed ${rollupType} proof for checkpoint ${provingState.index}.`);
1078
1094
  const leafLocation = provingState.setCheckpointRootRollupProof(result);
1079
1095
  const epochProvingState = provingState.parentEpoch;
1080
1096
  if (epochProvingState.totalNumCheckpoints === 1) {
@@ -1086,37 +1102,37 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
1086
1102
  }
1087
1103
  enqueueCheckpointMergeRollup(provingState, location) {
1088
1104
  if (!provingState.verifyState()) {
1089
- logger.debug('Not running checkpoint merge rollup. State no longer valid.');
1105
+ this.logger.debug('Not running checkpoint merge rollup. State no longer valid.');
1090
1106
  return;
1091
1107
  }
1092
1108
  if (!provingState.tryStartProvingCheckpointMerge(location)) {
1093
- logger.debug('Checkpoint merge rollup already started.');
1109
+ this.logger.debug('Checkpoint merge rollup already started.');
1094
1110
  return;
1095
1111
  }
1096
1112
  const inputs = provingState.getCheckpointMergeRollupInputs(location);
1097
1113
  this.deferredProving(provingState, wrapCallbackInSpan(this.tracer, 'ProvingOrchestrator.prover.getCheckpointMergeRollupProof', {
1098
1114
  [Attributes.PROTOCOL_CIRCUIT_NAME]: 'rollup-checkpoint-merge'
1099
1115
  }, (signal)=>this.prover.getCheckpointMergeRollupProof(inputs, signal, provingState.epochNumber)), (result)=>{
1100
- logger.debug('Completed proof for checkpoint merge rollup.');
1116
+ this.logger.debug('Completed proof for checkpoint merge rollup.');
1101
1117
  provingState.setCheckpointMergeRollupProof(location, result);
1102
1118
  this.checkAndEnqueueNextCheckpointMergeRollup(provingState, location);
1103
1119
  });
1104
1120
  }
1105
1121
  enqueueEpochPadding(provingState) {
1106
1122
  if (!provingState.verifyState()) {
1107
- logger.debug('Not running epoch padding. State no longer valid.');
1123
+ this.logger.debug('Not running epoch padding. State no longer valid.');
1108
1124
  return;
1109
1125
  }
1110
1126
  if (!provingState.tryStartProvingPaddingCheckpoint()) {
1111
- logger.debug('Padding checkpoint already started.');
1127
+ this.logger.debug('Padding checkpoint already started.');
1112
1128
  return;
1113
1129
  }
1114
- logger.debug('Padding epoch proof with a padding block root proof.');
1130
+ this.logger.debug('Padding epoch proof with a padding block root proof.');
1115
1131
  const inputs = provingState.getPaddingCheckpointInputs();
1116
1132
  this.deferredProving(provingState, wrapCallbackInSpan(this.tracer, 'ProvingOrchestrator.prover.getCheckpointPaddingRollupProof', {
1117
1133
  [Attributes.PROTOCOL_CIRCUIT_NAME]: 'rollup-checkpoint-padding'
1118
1134
  }, (signal)=>this.prover.getCheckpointPaddingRollupProof(inputs, signal, provingState.epochNumber)), (result)=>{
1119
- logger.debug('Completed proof for padding checkpoint.');
1135
+ this.logger.debug('Completed proof for padding checkpoint.');
1120
1136
  provingState.setCheckpointPaddingProof(result);
1121
1137
  this.checkAndEnqueueRootRollup(provingState);
1122
1138
  });
@@ -1124,15 +1140,15 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
1124
1140
  // Executes the root rollup circuit
1125
1141
  enqueueRootRollup(provingState) {
1126
1142
  if (!provingState.verifyState()) {
1127
- logger.debug('Not running root rollup, state no longer valid');
1143
+ this.logger.debug('Not running root rollup, state no longer valid');
1128
1144
  return;
1129
1145
  }
1130
- logger.debug(`Preparing root rollup`);
1146
+ this.logger.debug(`Preparing root rollup`);
1131
1147
  const inputs = provingState.getRootRollupInputs();
1132
1148
  this.deferredProving(provingState, wrapCallbackInSpan(this.tracer, 'ProvingOrchestrator.prover.getRootRollupProof', {
1133
1149
  [Attributes.PROTOCOL_CIRCUIT_NAME]: 'rollup-root'
1134
1150
  }, (signal)=>this.prover.getRootRollupProof(inputs, signal, provingState.epochNumber)), (result)=>{
1135
- logger.verbose(`Orchestrator completed root rollup for epoch ${provingState.epochNumber}`);
1151
+ this.logger.verbose(`Orchestrator completed root rollup for epoch ${provingState.epochNumber}`);
1136
1152
  provingState.setRootRollupProof(result);
1137
1153
  provingState.resolve({
1138
1154
  status: 'success'
@@ -1152,7 +1168,7 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
1152
1168
  }
1153
1169
  checkAndEnqueueBlockRootRollup(provingState) {
1154
1170
  if (!provingState.isReadyForBlockRootRollup()) {
1155
- logger.debug('Not ready for block root rollup');
1171
+ this.logger.debug('Not ready for block root rollup');
1156
1172
  return;
1157
1173
  }
1158
1174
  this.enqueueBlockRootRollup(provingState);
@@ -1187,7 +1203,7 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
1187
1203
  }
1188
1204
  checkAndEnqueueRootRollup(provingState) {
1189
1205
  if (!provingState.isReadyForRootRollup()) {
1190
- logger.debug('Not ready for root rollup');
1206
+ this.logger.debug('Not ready for root rollup');
1191
1207
  return;
1192
1208
  }
1193
1209
  this.enqueueRootRollup(provingState);
@@ -1199,7 +1215,7 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
1199
1215
  * @param txIndex - The index of the transaction being proven
1200
1216
  */ enqueueVM(provingState, txIndex) {
1201
1217
  if (!provingState.verifyState()) {
1202
- logger.debug(`Not running VM circuit as state is no longer valid`);
1218
+ this.logger.debug(`Not running VM circuit as state is no longer valid`);
1203
1219
  return;
1204
1220
  }
1205
1221
  const txProvingState = provingState.getTxProvingState(txIndex);
@@ -1210,7 +1226,7 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
1210
1226
  return await this.prover.getAvmProof(inputs, signal, provingState.epochNumber);
1211
1227
  });
1212
1228
  this.deferredProving(provingState, doAvmProving, (proof)=>{
1213
- logger.debug(`Proven VM for tx index: ${txIndex}`);
1229
+ this.logger.debug(`Proven VM for tx index: ${txIndex}`);
1214
1230
  txProvingState.setAvmProof(proof);
1215
1231
  this.checkAndEnqueueBaseRollup(provingState, txIndex);
1216
1232
  });
@@ -1221,7 +1237,7 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
1221
1237
  return;
1222
1238
  }
1223
1239
  // We must have completed all proving (chonk verifier proof and (if required) vm proof are generated), we now move to the base rollup.
1224
- logger.debug(`Public functions completed for tx ${txIndex} enqueueing base rollup`);
1240
+ this.logger.debug(`Public functions completed for tx ${txIndex} enqueueing base rollup`);
1225
1241
  this.enqueueBaseRollup(provingState, txIndex);
1226
1242
  }
1227
1243
  }
@@ -39,4 +39,4 @@ export declare class ProverClient implements EpochProverManager {
39
39
  private stopAgents;
40
40
  }
41
41
  export declare function buildServerCircuitProver(config: ActualProverConfig & ACVMConfig & BBConfig, telemetry: TelemetryClient): Promise<ServerCircuitProver>;
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLWNsaWVudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3Zlci1jbGllbnQvcHJvdmVyLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUUsS0FBSyxRQUFRLEVBQTJDLE1BQU0sa0JBQWtCLENBQUM7QUFFM0csT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHaEUsT0FBTyxFQUNMLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUssV0FBVyxFQUNoQixLQUFLLGtCQUFrQixFQUN2QixLQUFLLHdCQUF3QixFQUM3QixLQUFLLGdCQUFnQixFQUNyQixLQUFLLGtCQUFrQixFQUV2QixLQUFLLHdCQUF3QixFQUM3QixLQUFLLG1CQUFtQixFQUV6QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQU92RCxzSEFBc0g7QUFDdEgscUJBQWEsWUFBYSxZQUFXLGtCQUFrQjtJQVFuRCxPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxVQUFVO0lBQ2xCLE9BQU8sQ0FBQyxrQkFBa0I7SUFDMUIsT0FBTyxDQUFDLFdBQVcsQ0FBQztJQUNwQixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsR0FBRztJQVpiLE9BQU8sQ0FBQyxPQUFPLENBQVM7SUFDeEIsT0FBTyxDQUFDLE1BQU0sQ0FBc0I7SUFFcEMsT0FBTyxDQUFDLFVBQVUsQ0FBYTtJQUMvQixPQUFPLENBQUMsZ0JBQWdCLENBQXlCO0lBRWpELE9BQU8sZUFVTjtJQUVNLGlCQUFpQixJQUFJLFdBQVcsQ0FJdEM7SUFFTSxXQUFXLElBQUksVUFBVSxDQUUvQjtJQUVLLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBWTNFO0lBRUQ7O09BRUc7SUFDVSxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQU9sQztJQUVEOztPQUVHO0lBQ1UsSUFBSSxrQkFPaEI7SUFFRDs7Ozs7T0FLRztJQUNILE9BQW9CLEdBQUcsQ0FDckIsTUFBTSxFQUFFLGtCQUFrQixFQUMxQixVQUFVLEVBQUUsd0JBQXdCLEdBQUcsd0JBQXdCLEVBQy9ELE1BQU0sRUFBRSxnQkFBZ0IsRUFDeEIsU0FBUyxHQUFFLGVBQXNDLHlCQUtsRDtJQUVNLG1CQUFtQixJQUFJLGtCQUFrQixDQU0vQztZQUVhLG9CQUFvQjtZQW1CcEIsVUFBVTtDQUd6QjtBQUVELHdCQUFnQix3QkFBd0IsQ0FDdEMsTUFBTSxFQUFFLGtCQUFrQixHQUFHLFVBQVUsR0FBRyxRQUFRLEVBQ2xELFNBQVMsRUFBRSxlQUFlLEdBQ3pCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQVU5QiJ9
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLWNsaWVudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3Zlci1jbGllbnQvcHJvdmVyLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUUsS0FBSyxRQUFRLEVBQTJDLE1BQU0sa0JBQWtCLENBQUM7QUFFM0csT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHaEUsT0FBTyxFQUNMLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUssV0FBVyxFQUNoQixLQUFLLGtCQUFrQixFQUN2QixLQUFLLHdCQUF3QixFQUM3QixLQUFLLGdCQUFnQixFQUNyQixLQUFLLGtCQUFrQixFQUV2QixLQUFLLHdCQUF3QixFQUM3QixLQUFLLG1CQUFtQixFQUV6QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQU92RCxzSEFBc0g7QUFDdEgscUJBQWEsWUFBYSxZQUFXLGtCQUFrQjtJQVFuRCxPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxVQUFVO0lBQ2xCLE9BQU8sQ0FBQyxrQkFBa0I7SUFDMUIsT0FBTyxDQUFDLFdBQVcsQ0FBQztJQUNwQixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsR0FBRztJQVpiLE9BQU8sQ0FBQyxPQUFPLENBQVM7SUFDeEIsT0FBTyxDQUFDLE1BQU0sQ0FBc0I7SUFFcEMsT0FBTyxDQUFDLFVBQVUsQ0FBYTtJQUMvQixPQUFPLENBQUMsZ0JBQWdCLENBQXlCO0lBRWpELE9BQU8sZUFVTjtJQUVNLGlCQUFpQixJQUFJLFdBQVcsQ0FrQnRDO0lBRU0sV0FBVyxJQUFJLFVBQVUsQ0FFL0I7SUFFSyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQVkzRTtJQUVEOztPQUVHO0lBQ1UsS0FBSyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FPbEM7SUFFRDs7T0FFRztJQUNVLElBQUksa0JBT2hCO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFvQixHQUFHLENBQ3JCLE1BQU0sRUFBRSxrQkFBa0IsRUFDMUIsVUFBVSxFQUFFLHdCQUF3QixHQUFHLHdCQUF3QixFQUMvRCxNQUFNLEVBQUUsZ0JBQWdCLEVBQ3hCLFNBQVMsR0FBRSxlQUFzQyx5QkFLbEQ7SUFFTSxtQkFBbUIsSUFBSSxrQkFBa0IsQ0FNL0M7WUFFYSxvQkFBb0I7WUFxQnBCLFVBQVU7Q0FHekI7QUFFRCx3QkFBZ0Isd0JBQXdCLENBQ3RDLE1BQU0sRUFBRSxrQkFBa0IsR0FBRyxVQUFVLEdBQUcsUUFBUSxFQUNsRCxTQUFTLEVBQUUsZUFBZSxHQUN6QixPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FXOUIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"prover-client.d.ts","sourceRoot":"","sources":["../../src/prover-client/prover-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAA2C,MAAM,kBAAkB,CAAC;AAE3G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAEvB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EAEzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAEnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOvD,sHAAsH;AACtH,qBAAa,YAAa,YAAW,kBAAkB;IAQnD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IAZb,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAsB;IAEpC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,gBAAgB,CAAyB;IAEjD,OAAO,eAUN;IAEM,iBAAiB,IAAI,WAAW,CAItC;IAEM,WAAW,IAAI,UAAU,CAE/B;IAEK,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAY3E;IAED;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAOlC;IAED;;OAEG;IACU,IAAI,kBAOhB;IAED;;;;;OAKG;IACH,OAAoB,GAAG,CACrB,MAAM,EAAE,kBAAkB,EAC1B,UAAU,EAAE,wBAAwB,GAAG,wBAAwB,EAC/D,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,eAAsC,yBAKlD;IAEM,mBAAmB,IAAI,kBAAkB,CAM/C;YAEa,oBAAoB;YAmBpB,UAAU;CAGzB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,kBAAkB,GAAG,UAAU,GAAG,QAAQ,EAClD,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAU9B"}
1
+ {"version":3,"file":"prover-client.d.ts","sourceRoot":"","sources":["../../src/prover-client/prover-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAA2C,MAAM,kBAAkB,CAAC;AAE3G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAEvB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EAEzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAEnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOvD,sHAAsH;AACtH,qBAAa,YAAa,YAAW,kBAAkB;IAQnD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IAZb,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAsB;IAEpC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,gBAAgB,CAAyB;IAEjD,OAAO,eAUN;IAEM,iBAAiB,IAAI,WAAW,CAkBtC;IAEM,WAAW,IAAI,UAAU,CAE/B;IAEK,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAY3E;IAED;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAOlC;IAED;;OAEG;IACU,IAAI,kBAOhB;IAED;;;;;OAKG;IACH,OAAoB,GAAG,CACrB,MAAM,EAAE,kBAAkB,EAC1B,UAAU,EAAE,wBAAwB,GAAG,wBAAwB,EAC/D,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,eAAsC,yBAKlD;IAEM,mBAAmB,IAAI,kBAAkB,CAM/C;YAEa,oBAAoB;YAqBpB,UAAU;CAGzB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,kBAAkB,GAAG,UAAU,GAAG,QAAQ,EAClD,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAW9B"}
@@ -33,8 +33,9 @@ import { ServerEpochProver } from './server-epoch-prover.js';
33
33
  this.failedProofStore = this.config.failedProofStore ? createProofStore(this.config.failedProofStore) : undefined;
34
34
  }
35
35
  createEpochProver() {
36
- const facade = new BrokerCircuitProverFacade(this.orchestratorClient, this.proofStore, this.failedProofStore);
37
- const orchestrator = new ProvingOrchestrator(this.worldState, facade, this.config.proverId, this.telemetry);
36
+ const bindings = this.log.getBindings();
37
+ const facade = new BrokerCircuitProverFacade(this.orchestratorClient, this.proofStore, this.failedProofStore, undefined, bindings);
38
+ const orchestrator = new ProvingOrchestrator(this.worldState, facade, this.config.proverId, this.config.cancelJobsOnStop, this.telemetry, bindings);
38
39
  return new ServerEpochProver(facade, orchestrator);
39
40
  }
40
41
  getProverId() {
@@ -95,7 +96,8 @@ import { ServerEpochProver } from './server-epoch-prover.js';
95
96
  }
96
97
  const proofStore = new InlineProofStore();
97
98
  const prover = await buildServerCircuitProver(this.config, this.telemetry);
98
- this.agents = times(this.config.proverAgentCount, ()=>new ProvingAgent(this.agentClient, proofStore, prover, [], this.config.proverAgentPollIntervalMs));
99
+ const bindings = this.log.getBindings();
100
+ this.agents = times(this.config.proverAgentCount, ()=>new ProvingAgent(this.agentClient, proofStore, prover, [], this.config.proverAgentPollIntervalMs, bindings));
99
101
  await Promise.all(this.agents.map((agent)=>agent.start()));
100
102
  }
101
103
  async stopAgents() {
@@ -106,6 +108,7 @@ export function buildServerCircuitProver(config, telemetry) {
106
108
  if (config.realProofs) {
107
109
  return BBNativeRollupProver.new(config, telemetry);
108
110
  }
109
- const simulator = config.acvmBinaryPath ? new NativeACVMSimulator(config.acvmWorkingDirectory, config.acvmBinaryPath) : undefined;
111
+ const logger = createLogger('prover-client:acvm-native');
112
+ const simulator = config.acvmBinaryPath ? new NativeACVMSimulator(config.acvmWorkingDirectory, config.acvmBinaryPath, undefined, logger) : undefined;
110
113
  return Promise.resolve(new TestCircuitProver(simulator, config, telemetry));
111
114
  }