@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.
Files changed (119) hide show
  1. package/dest/block-factory/index.d.ts +1 -1
  2. package/dest/block-factory/light.d.ts +8 -8
  3. package/dest/block-factory/light.d.ts.map +1 -1
  4. package/dest/block-factory/light.js +37 -23
  5. package/dest/config.d.ts +2 -2
  6. package/dest/config.d.ts.map +1 -1
  7. package/dest/config.js +1 -1
  8. package/dest/index.d.ts +1 -1
  9. package/dest/light/index.d.ts +2 -0
  10. package/dest/light/index.d.ts.map +1 -0
  11. package/dest/light/index.js +1 -0
  12. package/dest/light/lightweight_checkpoint_builder.d.ts +36 -0
  13. package/dest/light/lightweight_checkpoint_builder.d.ts.map +1 -0
  14. package/dest/light/lightweight_checkpoint_builder.js +147 -0
  15. package/dest/mocks/fixtures.d.ts +1 -4
  16. package/dest/mocks/fixtures.d.ts.map +1 -1
  17. package/dest/mocks/fixtures.js +7 -17
  18. package/dest/mocks/test_context.d.ts +27 -46
  19. package/dest/mocks/test_context.d.ts.map +1 -1
  20. package/dest/mocks/test_context.js +105 -116
  21. package/dest/orchestrator/block-building-helpers.d.ts +17 -19
  22. package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
  23. package/dest/orchestrator/block-building-helpers.js +86 -111
  24. package/dest/orchestrator/block-proving-state.d.ts +17 -11
  25. package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
  26. package/dest/orchestrator/block-proving-state.js +81 -20
  27. package/dest/orchestrator/checkpoint-proving-state.d.ts +8 -8
  28. package/dest/orchestrator/checkpoint-proving-state.d.ts.map +1 -1
  29. package/dest/orchestrator/checkpoint-proving-state.js +15 -16
  30. package/dest/orchestrator/epoch-proving-state.d.ts +9 -8
  31. package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
  32. package/dest/orchestrator/epoch-proving-state.js +3 -3
  33. package/dest/orchestrator/index.d.ts +1 -1
  34. package/dest/orchestrator/orchestrator.d.ts +10 -10
  35. package/dest/orchestrator/orchestrator.d.ts.map +1 -1
  36. package/dest/orchestrator/orchestrator.js +27 -56
  37. package/dest/orchestrator/orchestrator_metrics.d.ts +1 -3
  38. package/dest/orchestrator/orchestrator_metrics.d.ts.map +1 -1
  39. package/dest/orchestrator/orchestrator_metrics.js +0 -9
  40. package/dest/orchestrator/tx-proving-state.d.ts +2 -2
  41. package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
  42. package/dest/orchestrator/tx-proving-state.js +2 -11
  43. package/dest/prover-client/factory.d.ts +3 -3
  44. package/dest/prover-client/factory.d.ts.map +1 -1
  45. package/dest/prover-client/index.d.ts +1 -1
  46. package/dest/prover-client/prover-client.d.ts +3 -3
  47. package/dest/prover-client/prover-client.d.ts.map +1 -1
  48. package/dest/prover-client/server-epoch-prover.d.ts +8 -7
  49. package/dest/prover-client/server-epoch-prover.d.ts.map +1 -1
  50. package/dest/prover-client/server-epoch-prover.js +2 -2
  51. package/dest/proving_broker/broker_prover_facade.d.ts +20 -20
  52. package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
  53. package/dest/proving_broker/broker_prover_facade.js +6 -12
  54. package/dest/proving_broker/config.d.ts +12 -8
  55. package/dest/proving_broker/config.d.ts.map +1 -1
  56. package/dest/proving_broker/config.js +8 -2
  57. package/dest/proving_broker/factory.d.ts +1 -1
  58. package/dest/proving_broker/fixtures.d.ts +3 -2
  59. package/dest/proving_broker/fixtures.d.ts.map +1 -1
  60. package/dest/proving_broker/fixtures.js +3 -2
  61. package/dest/proving_broker/index.d.ts +1 -1
  62. package/dest/proving_broker/proof_store/factory.d.ts +2 -2
  63. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +1 -1
  64. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +1 -1
  65. package/dest/proving_broker/proof_store/index.d.ts +1 -1
  66. package/dest/proving_broker/proof_store/inline_proof_store.d.ts +1 -1
  67. package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +1 -1
  68. package/dest/proving_broker/proof_store/proof_store.d.ts +1 -1
  69. package/dest/proving_broker/proving_agent.d.ts +1 -1
  70. package/dest/proving_broker/proving_agent.d.ts.map +1 -1
  71. package/dest/proving_broker/proving_agent_instrumentation.d.ts +1 -1
  72. package/dest/proving_broker/proving_agent_instrumentation.d.ts.map +1 -1
  73. package/dest/proving_broker/proving_broker.d.ts +2 -2
  74. package/dest/proving_broker/proving_broker.d.ts.map +1 -1
  75. package/dest/proving_broker/proving_broker.js +5 -1
  76. package/dest/proving_broker/proving_broker_database/memory.d.ts +3 -2
  77. package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -1
  78. package/dest/proving_broker/proving_broker_database/persisted.d.ts +3 -2
  79. package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -1
  80. package/dest/proving_broker/proving_broker_database/persisted.js +3 -2
  81. package/dest/proving_broker/proving_broker_database.d.ts +3 -2
  82. package/dest/proving_broker/proving_broker_database.d.ts.map +1 -1
  83. package/dest/proving_broker/proving_broker_instrumentation.d.ts +1 -1
  84. package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -1
  85. package/dest/proving_broker/proving_job_controller.d.ts +3 -2
  86. package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
  87. package/dest/proving_broker/proving_job_controller.js +2 -3
  88. package/dest/proving_broker/rpc.d.ts +4 -4
  89. package/dest/test/mock_proof_store.d.ts +3 -3
  90. package/dest/test/mock_proof_store.d.ts.map +1 -1
  91. package/dest/test/mock_prover.d.ts +3 -4
  92. package/dest/test/mock_prover.d.ts.map +1 -1
  93. package/dest/test/mock_prover.js +1 -1
  94. package/package.json +20 -17
  95. package/src/block-factory/light.ts +40 -43
  96. package/src/config.ts +1 -1
  97. package/src/light/index.ts +1 -0
  98. package/src/light/lightweight_checkpoint_builder.ts +198 -0
  99. package/src/mocks/fixtures.ts +7 -30
  100. package/src/mocks/test_context.ts +148 -177
  101. package/src/orchestrator/block-building-helpers.ts +125 -205
  102. package/src/orchestrator/block-proving-state.ts +103 -25
  103. package/src/orchestrator/checkpoint-proving-state.ts +24 -20
  104. package/src/orchestrator/epoch-proving-state.ts +9 -7
  105. package/src/orchestrator/orchestrator.ts +36 -68
  106. package/src/orchestrator/orchestrator_metrics.ts +1 -20
  107. package/src/orchestrator/tx-proving-state.ts +4 -18
  108. package/src/prover-client/factory.ts +6 -2
  109. package/src/prover-client/prover-client.ts +3 -2
  110. package/src/prover-client/server-epoch-prover.ts +6 -7
  111. package/src/proving_broker/broker_prover_facade.ts +23 -31
  112. package/src/proving_broker/config.ts +8 -1
  113. package/src/proving_broker/fixtures.ts +8 -3
  114. package/src/proving_broker/proving_broker.ts +5 -1
  115. package/src/proving_broker/proving_broker_database/memory.ts +2 -1
  116. package/src/proving_broker/proving_broker_database/persisted.ts +5 -4
  117. package/src/proving_broker/proving_broker_database.ts +2 -1
  118. package/src/proving_broker/proving_job_controller.ts +4 -4
  119. package/src/test/mock_prover.ts +1 -6
@@ -1,9 +1,10 @@
1
- import { SpongeBlob } from '@aztec/blob-lib';
2
- import { BLOBS_PER_BLOCK, FIELDS_PER_BLOB, NUM_MSGS_PER_BASE_PARITY } from '@aztec/constants';
1
+ import { SpongeBlob, encodeCheckpointBlobDataFromBlocks } from '@aztec/blob-lib';
2
+ import { BLOBS_PER_CHECKPOINT, FIELDS_PER_BLOB, NUM_MSGS_PER_BASE_PARITY } from '@aztec/constants';
3
+ import { BlockNumber } from '@aztec/foundation/branded-types';
3
4
  import { padArrayEnd } from '@aztec/foundation/collection';
4
- import { BLS12Point, Fr } from '@aztec/foundation/fields';
5
+ import { BLS12Point } from '@aztec/foundation/curves/bls12';
6
+ import { Fr } from '@aztec/foundation/curves/bn254';
5
7
  import { UnbalancedTreeStore } from '@aztec/foundation/trees';
6
- import { getCheckpointBlobFields } from '@aztec/stdlib/checkpoint';
7
8
  import { ParityBasePrivateInputs } from '@aztec/stdlib/parity';
8
9
  import { BlockMergeRollupPrivateInputs, CheckpointRootRollupHints, CheckpointRootRollupPrivateInputs, CheckpointRootSingleBlockRollupPrivateInputs } from '@aztec/stdlib/rollup';
9
10
  import { accumulateBlobs, buildBlobHints, toProofData } from './block-building-helpers.js';
@@ -12,7 +13,6 @@ export class CheckpointProvingState {
12
13
  index;
13
14
  constants;
14
15
  totalNumBlocks;
15
- totalNumBlobFields;
16
16
  finalBlobBatchingChallenges;
17
17
  headerOfLastBlockInPreviousCheckpoint;
18
18
  lastArchiveSiblingPath;
@@ -31,13 +31,12 @@ export class CheckpointProvingState {
31
31
  blobFields;
32
32
  error;
33
33
  firstBlockNumber;
34
- constructor(index, constants, totalNumBlocks, totalNumBlobFields, finalBlobBatchingChallenges, headerOfLastBlockInPreviousCheckpoint, lastArchiveSiblingPath, l1ToL2Messages, // The snapshot and sibling path before the new l1 to l2 message subtree is inserted.
34
+ constructor(index, constants, totalNumBlocks, finalBlobBatchingChallenges, headerOfLastBlockInPreviousCheckpoint, lastArchiveSiblingPath, l1ToL2Messages, // The snapshot and sibling path before the new l1 to l2 message subtree is inserted.
35
35
  lastL1ToL2MessageTreeSnapshot, lastL1ToL2MessageSubtreeRootSiblingPath, // The snapshot and sibling path after the new l1 to l2 message subtree is inserted.
36
36
  newL1ToL2MessageTreeSnapshot, newL1ToL2MessageSubtreeRootSiblingPath, parentEpoch, onBlobAccumulatorSet){
37
37
  this.index = index;
38
38
  this.constants = constants;
39
39
  this.totalNumBlocks = totalNumBlocks;
40
- this.totalNumBlobFields = totalNumBlobFields;
41
40
  this.finalBlobBatchingChallenges = finalBlobBatchingChallenges;
42
41
  this.headerOfLastBlockInPreviousCheckpoint = headerOfLastBlockInPreviousCheckpoint;
43
42
  this.lastArchiveSiblingPath = lastArchiveSiblingPath;
@@ -50,13 +49,13 @@ export class CheckpointProvingState {
50
49
  this.onBlobAccumulatorSet = onBlobAccumulatorSet;
51
50
  this.blocks = [];
52
51
  this.blockProofs = new UnbalancedTreeStore(totalNumBlocks);
53
- this.firstBlockNumber = headerOfLastBlockInPreviousCheckpoint.globalVariables.blockNumber + 1;
52
+ this.firstBlockNumber = BlockNumber(headerOfLastBlockInPreviousCheckpoint.globalVariables.blockNumber + 1);
54
53
  }
55
54
  get epochNumber() {
56
55
  return this.parentEpoch.epochNumber;
57
56
  }
58
- async startNewBlock(blockNumber, timestamp, totalNumTxs, lastArchiveTreeSnapshot, lastArchiveSiblingPath) {
59
- const index = blockNumber - this.firstBlockNumber;
57
+ startNewBlock(blockNumber, timestamp, totalNumTxs, lastArchiveTreeSnapshot, lastArchiveSiblingPath) {
58
+ const index = Number(blockNumber) - Number(this.firstBlockNumber);
60
59
  if (index >= this.totalNumBlocks) {
61
60
  throw new Error(`Unable to start a new block at index ${index}. Expected at most ${this.totalNumBlocks} blocks.`);
62
61
  }
@@ -65,7 +64,7 @@ export class CheckpointProvingState {
65
64
  // happen in the first block.
66
65
  const lastL1ToL2MessageTreeSnapshot = index === 0 ? this.lastL1ToL2MessageTreeSnapshot : this.newL1ToL2MessageTreeSnapshot;
67
66
  const lastL1ToL2MessageSubtreeRootSiblingPath = index === 0 ? this.lastL1ToL2MessageSubtreeRootSiblingPath : this.newL1ToL2MessageSubtreeRootSiblingPath;
68
- const startSpongeBlob = index === 0 ? await SpongeBlob.init(this.totalNumBlobFields) : this.blocks[index - 1]?.getEndSpongeBlob();
67
+ const startSpongeBlob = index === 0 ? SpongeBlob.init() : this.blocks[index - 1]?.getEndSpongeBlob();
69
68
  if (!startSpongeBlob) {
70
69
  throw new Error('Cannot start a new block before the trees have progressed from the tx effects in the previous block.');
71
70
  }
@@ -118,10 +117,10 @@ export class CheckpointProvingState {
118
117
  return new ParityBasePrivateInputs(messages, this.constants.vkTreeRoot);
119
118
  }
120
119
  async accumulateBlobs(startBlobAccumulator) {
121
- if (this.isAcceptingBlocks() || this.blocks.some((b)=>b.isAcceptingTxs())) {
120
+ if (this.isAcceptingBlocks() || this.blocks.some((b)=>!b?.hasEndState())) {
122
121
  return;
123
122
  }
124
- this.blobFields = getCheckpointBlobFields(this.blocks.map((b)=>b.getTxEffects()));
123
+ this.blobFields = encodeCheckpointBlobDataFromBlocks(this.blocks.map((b)=>b.getBlockBlobData()));
125
124
  this.endBlobAccumulator = await accumulateBlobs(this.blobFields, startBlobAccumulator);
126
125
  this.startBlobAccumulator = startBlobAccumulator;
127
126
  this.onBlobAccumulatorSet(this);
@@ -163,8 +162,8 @@ export class CheckpointProvingState {
163
162
  previousArchiveSiblingPath: this.lastArchiveSiblingPath,
164
163
  startBlobAccumulator: this.startBlobAccumulator.toBlobAccumulator(),
165
164
  finalBlobChallenges: this.finalBlobBatchingChallenges,
166
- blobFields: padArrayEnd(blobFields, Fr.ZERO, FIELDS_PER_BLOB * BLOBS_PER_BLOCK),
167
- blobCommitments: padArrayEnd(blobCommitments, BLS12Point.ZERO, BLOBS_PER_BLOCK),
165
+ blobFields: padArrayEnd(blobFields, Fr.ZERO, FIELDS_PER_BLOB * BLOBS_PER_CHECKPOINT),
166
+ blobCommitments: padArrayEnd(blobCommitments, BLS12Point.ZERO, BLOBS_PER_CHECKPOINT),
168
167
  blobsHash
169
168
  });
170
169
  const [left, right] = nonEmptyProofs.map((p)=>toProofData(p));
@@ -174,7 +173,7 @@ export class CheckpointProvingState {
174
173
  ], hints);
175
174
  }
176
175
  getBlockProvingStateByBlockNumber(blockNumber) {
177
- const index = blockNumber - this.firstBlockNumber;
176
+ const index = Number(blockNumber) - Number(this.firstBlockNumber);
178
177
  return this.blocks[index];
179
178
  }
180
179
  isReadyForBlockMerge(location) {
@@ -1,6 +1,7 @@
1
1
  import { BatchedBlob, type FinalBlobBatchingChallenges } from '@aztec/blob-lib';
2
2
  import type { ARCHIVE_HEIGHT, L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
3
- import type { Fr } from '@aztec/foundation/fields';
3
+ import { BlockNumber, EpochNumber } from '@aztec/foundation/branded-types';
4
+ import type { Fr } from '@aztec/foundation/curves/bn254';
4
5
  import type { Tuple } from '@aztec/foundation/serialize';
5
6
  import { type TreeNodeLocation } from '@aztec/foundation/trees';
6
7
  import type { PublicInputsAndRecursiveProof } from '@aztec/stdlib/interfaces/server';
@@ -24,7 +25,7 @@ export type ProvingResult = {
24
25
  */
25
26
  export declare class EpochProvingState {
26
27
  #private;
27
- readonly epochNumber: number;
28
+ readonly epochNumber: EpochNumber;
28
29
  readonly totalNumCheckpoints: number;
29
30
  private readonly finalBlobBatchingChallenges;
30
31
  private onCheckpointBlobAccumulatorSet;
@@ -38,12 +39,12 @@ export declare class EpochProvingState {
38
39
  private endBlobAccumulator;
39
40
  private finalBatchedBlob;
40
41
  private provingStateLifecycle;
41
- readonly cachedChonkVerifierProofs: Map<string, Promise<PublicInputsAndRecursiveProof<PublicChonkVerifierPublicInputs, 535>>>;
42
- constructor(epochNumber: number, totalNumCheckpoints: number, finalBlobBatchingChallenges: FinalBlobBatchingChallenges, onCheckpointBlobAccumulatorSet: (checkpoint: CheckpointProvingState) => void, completionCallback: (result: ProvingResult) => void, rejectionCallback: (reason: string) => void);
43
- startNewCheckpoint(checkpointIndex: number, constants: CheckpointConstantData, totalNumBlocks: number, totalNumBlobFields: number, previousBlockHeader: BlockHeader, lastArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>, l1ToL2Messages: Fr[], lastL1ToL2MessageTreeSnapshot: AppendOnlyTreeSnapshot, lastL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>, newL1ToL2MessageTreeSnapshot: AppendOnlyTreeSnapshot, newL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>): CheckpointProvingState;
42
+ readonly cachedChonkVerifierProofs: Map<string, Promise<PublicInputsAndRecursiveProof<PublicChonkVerifierPublicInputs, 531>>>;
43
+ constructor(epochNumber: EpochNumber, totalNumCheckpoints: number, finalBlobBatchingChallenges: FinalBlobBatchingChallenges, onCheckpointBlobAccumulatorSet: (checkpoint: CheckpointProvingState) => void, completionCallback: (result: ProvingResult) => void, rejectionCallback: (reason: string) => void);
44
+ startNewCheckpoint(checkpointIndex: number, constants: CheckpointConstantData, totalNumBlocks: number, previousBlockHeader: BlockHeader, lastArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>, l1ToL2Messages: Fr[], lastL1ToL2MessageTreeSnapshot: AppendOnlyTreeSnapshot, lastL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>, newL1ToL2MessageTreeSnapshot: AppendOnlyTreeSnapshot, newL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>): CheckpointProvingState;
44
45
  getCheckpointProvingState(index: number): CheckpointProvingState | undefined;
45
- getCheckpointProvingStateByBlockNumber(blockNumber: number): CheckpointProvingState | undefined;
46
- getBlockProvingStateByBlockNumber(blockNumber: number): import("./block-proving-state.js").BlockProvingState | undefined;
46
+ getCheckpointProvingStateByBlockNumber(blockNumber: BlockNumber): CheckpointProvingState | undefined;
47
+ getBlockProvingStateByBlockNumber(blockNumber: BlockNumber): import("./block-proving-state.js").BlockProvingState | undefined;
47
48
  verifyState(): boolean;
48
49
  isAcceptingCheckpoints(): boolean;
49
50
  setCheckpointRootRollupProof(checkpointIndex: number, provingOutput: PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>): TreeNodeLocation;
@@ -70,4 +71,4 @@ export declare class EpochProvingState {
70
71
  reject(reason: string): void;
71
72
  resolve(result: ProvingResult): void;
72
73
  }
73
- //# sourceMappingURL=epoch-proving-state.d.ts.map
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2gtcHJvdmluZy1zdGF0ZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29yY2hlc3RyYXRvci9lcG9jaC1wcm92aW5nLXN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQTBCLEtBQUssMkJBQTJCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RyxPQUFPLEtBQUssRUFDVixjQUFjLEVBQ2QsNkNBQTZDLEVBRTdDLHlDQUF5QyxFQUMxQyxNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQXVCLE1BQU0seUJBQXlCLENBQUM7QUFDckYsT0FBTyxLQUFLLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRixPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGtDQUFrQyxFQUNsQyxvQ0FBb0MsRUFDcEMsNEJBQTRCLEVBQzVCLCtCQUErQixFQUMvQix1QkFBdUIsRUFDdkIsS0FBSyxzQkFBc0IsRUFDNUIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUlwRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV2RSxNQUFNLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxZQUFZ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
@@ -1 +1 @@
1
- {"version":3,"file":"epoch-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/epoch-proving-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA0B,KAAK,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACxG,OAAO,KAAK,EACV,cAAc,EACd,6CAA6C,EAE7C,yCAAyC,EAC1C,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,KAAK,gBAAgB,EAAuB,MAAM,yBAAyB,CAAC;AACrF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EACL,sBAAsB,EACtB,kCAAkC,EAClC,oCAAoC,EACpC,4BAA4B,EAC5B,+BAA+B,EAC/B,uBAAuB,EACvB,KAAK,sBAAsB,EAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;AAStE,MAAM,MAAM,aAAa,GAAG;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1F;;;;;GAKG;AACH,qBAAa,iBAAiB;;aAuBV,WAAW,EAAE,MAAM;aACnB,mBAAmB,EAAE,MAAM;IAC3C,OAAO,CAAC,QAAQ,CAAC,2BAA2B;IAC5C,OAAO,CAAC,8BAA8B;IACtC,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,iBAAiB;IA3B3B,OAAO,CAAC,gBAAgB,CAEtB;IACF,OAAO,CAAC,sBAAsB,CAEhB;IACd,OAAO,CAAC,eAAe,CAAuF;IAC9G,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,oBAAoB,CAAyB;IACrD,OAAO,CAAC,kBAAkB,CAAqC;IAC/D,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,qBAAqB,CAAiD;IAG9E,SAAgB,yBAAyB,4FAKrC;gBAGc,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,EAC1B,2BAA2B,EAAE,2BAA2B,EACjE,8BAA8B,EAAE,CAAC,UAAU,EAAE,sBAAsB,KAAK,IAAI,EAC5E,kBAAkB,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,EACnD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI;IAQ9C,kBAAkB,CACvB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,sBAAsB,EACjC,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,MAAM,EAC1B,mBAAmB,EAAE,WAAW,EAChC,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,cAAc,CAAC,EACxD,cAAc,EAAE,EAAE,EAAE,EACpB,6BAA6B,EAAE,sBAAsB,EACrD,uCAAuC,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,6CAA6C,CAAC,EACxG,4BAA4B,EAAE,sBAAsB,EACpD,sCAAsC,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,6CAA6C,CAAC,GACtG,sBAAsB;IAgClB,yBAAyB,CAAC,KAAK,EAAE,MAAM;IAIvC,sCAAsC,CAAC,WAAW,EAAE,MAAM;IAM1D,iCAAiC,CAAC,WAAW,EAAE,MAAM;IAKrD,WAAW;IAQX,sBAAsB;IAItB,4BAA4B,CACjC,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,6BAA6B,CAC1C,4BAA4B,EAC5B,OAAO,yCAAyC,CACjD,GACA,gBAAgB;IAIZ,8BAA8B,CAAC,QAAQ,EAAE,gBAAgB;IASzD,6BAA6B,CAClC,QAAQ,EAAE,gBAAgB,EAC1B,aAAa,EAAE,6BAA6B,CAC1C,4BAA4B,EAC5B,OAAO,yCAAyC,CACjD;IAKI,yBAAyB;IASzB,kBAAkB,CAAC,aAAa,EAAE,6BAA6B,CAAC,sBAAsB,CAAC;IAIvF,gCAAgC;IAShC,yBAAyB,CAC9B,aAAa,EAAE,6BAA6B,CAC1C,4BAA4B,EAC5B,OAAO,yCAAyC,CACjD;IAKU,mBAAmB;IAwBnB,mBAAmB;IAOzB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB;IAI5C,8BAA8B,CAAC,aAAa,EAAE,gBAAgB;IAS9D,mBAAmB;IAWnB,0BAA0B;IAI1B,mBAAmB,IAAI;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,YAAY,EAAE,sBAAsB,CAAC;QAAC,iBAAiB,EAAE,WAAW,CAAA;KAAE;IAc7G,yBAAyB,CAAC,QAAQ,EAAE,gBAAgB;IAKpD,oBAAoB;IAMpB,MAAM;IAMN,MAAM,CAAC,MAAM,EAAE,MAAM;IAUrB,OAAO,CAAC,MAAM,EAAE,aAAa;CAerC"}
1
+ {"version":3,"file":"epoch-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/epoch-proving-state.ts"],"names":[],"mappings":"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"}
@@ -47,11 +47,11 @@ var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
47
47
  }
48
48
  // Adds a block to the proving state, returns its index
49
49
  // Will update the proving life cycle if this is the last block
50
- startNewCheckpoint(checkpointIndex, constants, totalNumBlocks, totalNumBlobFields, previousBlockHeader, lastArchiveSiblingPath, l1ToL2Messages, lastL1ToL2MessageTreeSnapshot, lastL1ToL2MessageSubtreeRootSiblingPath, newL1ToL2MessageTreeSnapshot, newL1ToL2MessageSubtreeRootSiblingPath) {
50
+ startNewCheckpoint(checkpointIndex, constants, totalNumBlocks, previousBlockHeader, lastArchiveSiblingPath, l1ToL2Messages, lastL1ToL2MessageTreeSnapshot, lastL1ToL2MessageSubtreeRootSiblingPath, newL1ToL2MessageTreeSnapshot, newL1ToL2MessageSubtreeRootSiblingPath) {
51
51
  if (checkpointIndex >= this.totalNumCheckpoints) {
52
52
  throw new Error(`Unable to start a new checkpoint at index ${checkpointIndex}. Expected at most ${this.totalNumCheckpoints} checkpoints.`);
53
53
  }
54
- const checkpoint = new CheckpointProvingState(checkpointIndex, constants, totalNumBlocks, totalNumBlobFields, this.finalBlobBatchingChallenges, previousBlockHeader, lastArchiveSiblingPath, l1ToL2Messages, lastL1ToL2MessageTreeSnapshot, lastL1ToL2MessageSubtreeRootSiblingPath, newL1ToL2MessageTreeSnapshot, newL1ToL2MessageSubtreeRootSiblingPath, this, this.onCheckpointBlobAccumulatorSet);
54
+ const checkpoint = new CheckpointProvingState(checkpointIndex, constants, totalNumBlocks, this.finalBlobBatchingChallenges, previousBlockHeader, lastArchiveSiblingPath, l1ToL2Messages, lastL1ToL2MessageTreeSnapshot, lastL1ToL2MessageSubtreeRootSiblingPath, newL1ToL2MessageTreeSnapshot, newL1ToL2MessageSubtreeRootSiblingPath, this, this.onCheckpointBlobAccumulatorSet);
55
55
  this.checkpoints[checkpointIndex] = checkpoint;
56
56
  if (this.checkpoints.filter((c)=>!!c).length === this.totalNumCheckpoints) {
57
57
  this.provingStateLifecycle = 1;
@@ -62,7 +62,7 @@ var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
62
62
  return this.checkpoints[index];
63
63
  }
64
64
  getCheckpointProvingStateByBlockNumber(blockNumber) {
65
- return this.checkpoints.find((c)=>c && blockNumber >= c.firstBlockNumber && blockNumber < c.firstBlockNumber + c.totalNumBlocks);
65
+ return this.checkpoints.find((c)=>c && Number(blockNumber) >= Number(c.firstBlockNumber) && Number(blockNumber) < Number(c.firstBlockNumber) + c.totalNumBlocks);
66
66
  }
67
67
  getBlockProvingStateByBlockNumber(blockNumber) {
68
68
  return this.getCheckpointProvingStateByBlockNumber(blockNumber)?.getBlockProvingStateByBlockNumber(blockNumber);
@@ -1,2 +1,2 @@
1
1
  export { ProvingOrchestrator } from './orchestrator.js';
2
- //# sourceMappingURL=index.d.ts.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcmNoZXN0cmF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUMifQ==
@@ -1,7 +1,8 @@
1
- import { BatchedBlob, FinalBlobBatchingChallenges } from '@aztec/blob-lib';
2
- import { Fr } from '@aztec/foundation/fields';
1
+ import { BatchedBlob, FinalBlobBatchingChallenges } from '@aztec/blob-lib/types';
2
+ import { BlockNumber, EpochNumber } from '@aztec/foundation/branded-types';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  import { EthAddress } from '@aztec/stdlib/block';
4
- import type { EpochProver, ForkMerkleTreeOperations, ServerCircuitProver } from '@aztec/stdlib/interfaces/server';
5
+ import type { EpochProver, ForkMerkleTreeOperations, ReadonlyWorldStateAccess, ServerCircuitProver } from '@aztec/stdlib/interfaces/server';
5
6
  import type { Proof } from '@aztec/stdlib/proofs';
6
7
  import { CheckpointConstantData, RootRollupPublicInputs } from '@aztec/stdlib/rollup';
7
8
  import type { BlockHeader, ProcessedTx, Tx } from '@aztec/stdlib/tx';
@@ -30,12 +31,12 @@ export declare class ProvingOrchestrator implements EpochProver {
30
31
  private provingPromise;
31
32
  private metrics;
32
33
  private dbs;
33
- constructor(dbProvider: ForkMerkleTreeOperations, prover: ServerCircuitProver, proverId: EthAddress, telemetryClient?: TelemetryClient);
34
+ constructor(dbProvider: ReadonlyWorldStateAccess & ForkMerkleTreeOperations, prover: ServerCircuitProver, proverId: EthAddress, telemetryClient?: TelemetryClient);
34
35
  get tracer(): Tracer;
35
36
  getProverId(): EthAddress;
36
37
  stop(): Promise<void>;
37
- startNewEpoch(epochNumber: number, totalNumCheckpoints: number, finalBlobBatchingChallenges: FinalBlobBatchingChallenges): void;
38
- startNewCheckpoint(checkpointIndex: number, constants: CheckpointConstantData, l1ToL2Messages: Fr[], totalNumBlocks: number, totalNumBlobFields: number, headerOfLastBlockInPreviousCheckpoint: BlockHeader): Promise<void>;
38
+ startNewEpoch(epochNumber: EpochNumber, totalNumCheckpoints: number, finalBlobBatchingChallenges: FinalBlobBatchingChallenges): void;
39
+ startNewCheckpoint(checkpointIndex: number, constants: CheckpointConstantData, l1ToL2Messages: Fr[], totalNumBlocks: number, headerOfLastBlockInPreviousCheckpoint: BlockHeader): Promise<void>;
39
40
  /**
40
41
  * Starts off a new block
41
42
  * @param blockNumber - The block number
@@ -43,7 +44,7 @@ export declare class ProvingOrchestrator implements EpochProver {
43
44
  * block that doesn't have any txs.
44
45
  * @param totalNumTxs - The total number of txs in the block
45
46
  */
46
- startNewBlock(blockNumber: number, timestamp: UInt64, totalNumTxs: number): Promise<void>;
47
+ startNewBlock(blockNumber: BlockNumber, timestamp: UInt64, totalNumTxs: number): Promise<void>;
47
48
  /**
48
49
  * The interface to add simulated transactions to the scheduler. This can only be called once per block.
49
50
  * @param txs - The transactions to be proven
@@ -58,8 +59,7 @@ export declare class ProvingOrchestrator implements EpochProver {
58
59
  * Marks the block as completed.
59
60
  * Computes the block header and updates the archive tree.
60
61
  */
61
- setBlockCompleted(blockNumber: number, expectedHeader?: BlockHeader): Promise<BlockHeader>;
62
- private buildL2BlockHeader;
62
+ setBlockCompleted(blockNumber: BlockNumber, expectedHeader?: BlockHeader): Promise<BlockHeader>;
63
63
  protected verifyBuiltBlockAgainstSyncedState(provingState: BlockProvingState): Promise<void>;
64
64
  /**
65
65
  * Cancel any further proving
@@ -110,4 +110,4 @@ export declare class ProvingOrchestrator implements EpochProver {
110
110
  private enqueueVM;
111
111
  private checkAndEnqueueBaseRollup;
112
112
  }
113
- //# sourceMappingURL=orchestrator.d.ts.map
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JjaGVzdHJhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3JjaGVzdHJhdG9yL29yY2hlc3RyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLDJCQUEyQixFQUFjLE1BQU0sdUJBQXVCLENBQUM7QUFRN0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFRcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxFQUNWLFdBQVcsRUFDWCx3QkFBd0IsRUFHeEIsd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNwQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFNTCxzQkFBc0IsRUFLdEIsc0JBQXNCLEVBQ3ZCLE1BQU0sc0JBQXNCLENBQUM7QUFHOUIsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBRUwsS0FBSyxlQUFlLEVBQ3BCLEtBQUssTUFBTSxFQUlaLE1BQU0seUJBQXlCLENBQUM7QUFlakMsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVFsRTs7Ozs7Ozs7O0dBU0c7QUFFSDs7R0FFRztBQUNILHFCQUFhLG1CQUFvQixZQUFXLFdBQVc7SUFVbkQsT0FBTyxDQUFDLFVBQVU7SUFDbEIsT0FBTyxDQUFDLE1BQU07SUFDZCxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVE7SUFYM0IsT0FBTyxDQUFDLFlBQVks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
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAc,MAAM,iBAAiB,CAAC;AAUvF,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAQ9C,OAAO,EAAE,UAAU,EAAwB,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EACV,WAAW,EACX,wBAAwB,EAGxB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAML,sBAAsB,EAKtB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,MAAM,EAIZ,MAAM,yBAAyB,CAAC;AAgBjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAQlE;;;;;;;;;GASG;AAEH;;GAEG;AACH,qBAAa,mBAAoB,YAAW,WAAW;IASnD,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAV3B,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,kBAAkB,CAAyB;IAEnD,OAAO,CAAC,cAAc,CAAiD;IACvE,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,GAAG,CAAqD;gBAGtD,UAAU,EAAE,wBAAwB,EACpC,MAAM,EAAE,mBAAmB,EAClB,QAAQ,EAAE,UAAU,EACrC,eAAe,GAAE,eAAsC;IAKzD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAEM,WAAW,IAAI,UAAU;IAIzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,aAAa,CAClB,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,EAC3B,2BAA2B,EAAE,2BAA2B;IAsB7C,kBAAkB,CAC7B,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,sBAAsB,EACjC,cAAc,EAAE,EAAE,EAAE,EACpB,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,MAAM,EAC1B,qCAAqC,EAAE,WAAW;IA2CpD;;;;;;OAMG;IAIU,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAwDtF;;;OAGG;IAIU,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqFtD;;;OAGG;IAEI,0BAA0B,CAAC,GAAG,EAAE,EAAE,EAAE;IAwB3C;;;OAGG;IAIU,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YAgCzF,kBAAkB;cA6BhB,kCAAkC,CAAC,YAAY,EAAE,iBAAiB;IAuDlF;;OAEG;IACI,MAAM;IAQb;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC;QACpC,YAAY,EAAE,sBAAsB,CAAC;QACrC,KAAK,EAAE,KAAK,CAAC;QACb,iBAAiB,EAAE,WAAW,CAAC;KAChC,CAAC;IAsBF;;;;;OAKG;IACH,OAAO,CAAC,eAAe;YAwDT,uBAAuB;YAmCvB,uBAAuB;IAkCrC,OAAO,CAAC,iBAAiB;IAqDzB,OAAO,CAAC,yBAAyB;IA+BjC,OAAO,CAAC,sBAAsB;IAiC9B,OAAO,CAAC,kBAAkB;IA+B1B,OAAO,CAAC,sBAAsB;IAyD9B,OAAO,CAAC,wBAAwB;IAkChC,OAAO,CAAC,gCAAgC;IAUxC,OAAO,CAAC,wBAAwB;IAgChC,OAAO,CAAC,uBAAuB;IA6B/B,OAAO,CAAC,2BAA2B;IA4DnC,OAAO,CAAC,4BAA4B;IA+BpC,OAAO,CAAC,mBAAmB;IAkC3B,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,8BAA8B;IAatC,OAAO,CAAC,8BAA8B;IAStC,OAAO,CAAC,mCAAmC;IAa3C,OAAO,CAAC,mCAAmC;IAQ3C,OAAO,CAAC,wCAAwC;IAahD,OAAO,CAAC,yBAAyB;IASjC;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAoDjB,OAAO,CAAC,yBAAyB;CAWlC"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -5,21 +5,20 @@ function _ts_decorate(decorators, target, key, desc) {
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  }
7
7
  import { L1_TO_L2_MSG_SUBTREE_HEIGHT, L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, NUM_BASE_PARITY_PER_ROOT_PARITY } from '@aztec/constants';
8
+ import { BlockNumber } from '@aztec/foundation/branded-types';
8
9
  import { padArrayEnd } from '@aztec/foundation/collection';
10
+ import { Fr } from '@aztec/foundation/curves/bn254';
9
11
  import { AbortError } from '@aztec/foundation/error';
10
- import { Fr } from '@aztec/foundation/fields';
11
12
  import { createLogger } from '@aztec/foundation/log';
12
13
  import { promiseWithResolvers } from '@aztec/foundation/promise';
13
14
  import { assertLength } from '@aztec/foundation/serialize';
14
15
  import { pushTestData } from '@aztec/foundation/testing';
15
16
  import { elapsed } from '@aztec/foundation/timer';
16
- import { readAvmMinimalPublicTxInputsFromFile } from '@aztec/simulator/public/fixtures';
17
- import { createBlockEndMarker } from '@aztec/stdlib/block';
18
17
  import { BlockRootEmptyTxFirstRollupPrivateInputs, BlockRootFirstRollupPrivateInputs, BlockRootSingleTxFirstRollupPrivateInputs, BlockRootSingleTxRollupPrivateInputs, CheckpointRootSingleBlockRollupPrivateInputs, PrivateTxBaseRollupPrivateInputs } from '@aztec/stdlib/rollup';
19
18
  import { MerkleTreeId } from '@aztec/stdlib/trees';
20
19
  import { Attributes, getTelemetryClient, trackSpan, wrapCallbackInSpan } from '@aztec/telemetry-client';
21
20
  import { inspect } from 'util';
22
- import { buildBlockHeaderFromTxs, buildHeaderFromCircuitOutputs, getLastSiblingPath, getPublicChonkVerifierPrivateInputsFromTx, getRootTreeSiblingPath, getSubtreeSiblingPath, getTreeSnapshot, insertSideEffectsAndBuildBaseRollupHints, validatePartialState, validateTx } from './block-building-helpers.js';
21
+ import { buildHeaderFromCircuitOutputs, getLastSiblingPath, getPublicChonkVerifierPrivateInputsFromTx, getRootTreeSiblingPath, getSubtreeSiblingPath, getTreeSnapshot, insertSideEffectsAndBuildBaseRollupHints, validatePartialState, validateTx } from './block-building-helpers.js';
23
22
  import { EpochProvingState } from './epoch-proving-state.js';
24
23
  import { ProvingOrchestratorMetrics } from './orchestrator_metrics.js';
25
24
  import { TxProvingState } from './tx-proving-state.js';
@@ -43,6 +42,7 @@ const logger = createLogger('prover-client:orchestrator');
43
42
  pendingProvingJobs;
44
43
  provingPromise;
45
44
  metrics;
45
+ // eslint-disable-next-line aztec-custom/no-non-primitive-in-collections
46
46
  dbs;
47
47
  constructor(dbProvider, prover, proverId, telemetryClient = getTelemetryClient()){
48
48
  this.dbProvider = dbProvider;
@@ -77,7 +77,7 @@ const logger = createLogger('prover-client:orchestrator');
77
77
  this.provingState = new EpochProvingState(epochNumber, totalNumCheckpoints, finalBlobBatchingChallenges, (provingState)=>this.checkAndEnqueueCheckpointRootRollup(provingState), resolve, reject);
78
78
  this.provingPromise = promise;
79
79
  }
80
- async startNewCheckpoint(checkpointIndex, constants, l1ToL2Messages, totalNumBlocks, totalNumBlobFields, headerOfLastBlockInPreviousCheckpoint) {
80
+ async startNewCheckpoint(checkpointIndex, constants, l1ToL2Messages, totalNumBlocks, headerOfLastBlockInPreviousCheckpoint) {
81
81
  if (!this.provingState) {
82
82
  throw new Error('Empty epoch proving state. Call startNewEpoch before starting a checkpoint.');
83
83
  }
@@ -87,13 +87,13 @@ const logger = createLogger('prover-client:orchestrator');
87
87
  // Fork world state at the end of the immediately previous block.
88
88
  const lastBlockNumber = headerOfLastBlockInPreviousCheckpoint.globalVariables.blockNumber;
89
89
  const db = await this.dbProvider.fork(lastBlockNumber);
90
- const firstBlockNumber = lastBlockNumber + 1;
90
+ const firstBlockNumber = BlockNumber(lastBlockNumber + 1);
91
91
  this.dbs.set(firstBlockNumber, db);
92
92
  // Get archive sibling path before any block in this checkpoint lands.
93
93
  const lastArchiveSiblingPath = await getLastSiblingPath(MerkleTreeId.ARCHIVE, db);
94
94
  // Insert all the l1 to l2 messages into the db. And get the states before and after the insertion.
95
95
  const { lastL1ToL2MessageTreeSnapshot, lastL1ToL2MessageSubtreeRootSiblingPath, newL1ToL2MessageTreeSnapshot, newL1ToL2MessageSubtreeRootSiblingPath } = await this.updateL1ToL2MessageTree(l1ToL2Messages, db);
96
- this.provingState.startNewCheckpoint(checkpointIndex, constants, totalNumBlocks, totalNumBlobFields, headerOfLastBlockInPreviousCheckpoint, lastArchiveSiblingPath, l1ToL2Messages, lastL1ToL2MessageTreeSnapshot, lastL1ToL2MessageSubtreeRootSiblingPath, newL1ToL2MessageTreeSnapshot, newL1ToL2MessageSubtreeRootSiblingPath);
96
+ this.provingState.startNewCheckpoint(checkpointIndex, constants, totalNumBlocks, headerOfLastBlockInPreviousCheckpoint, lastArchiveSiblingPath, l1ToL2Messages, lastL1ToL2MessageTreeSnapshot, lastL1ToL2MessageSubtreeRootSiblingPath, newL1ToL2MessageTreeSnapshot, newL1ToL2MessageSubtreeRootSiblingPath);
97
97
  }
98
98
  /**
99
99
  * Starts off a new block
@@ -113,18 +113,18 @@ const logger = createLogger('prover-client:orchestrator');
113
113
  throw new Error(`Checkpoint not accepting further blocks.`);
114
114
  }
115
115
  const constants = checkpointProvingState.constants;
116
- logger.info(`Starting block ${blockNumber} for slot ${constants.slotNumber.toNumber()}.`);
116
+ logger.info(`Starting block ${blockNumber} for slot ${constants.slotNumber}.`);
117
117
  // Fork the db only when it's not already set. The db for the first block is set in `startNewCheckpoint`.
118
118
  if (!this.dbs.has(blockNumber)) {
119
119
  // Fork world state at the end of the immediately previous block
120
- const db = await this.dbProvider.fork(blockNumber - 1);
120
+ const db = await this.dbProvider.fork(BlockNumber(blockNumber - 1));
121
121
  this.dbs.set(blockNumber, db);
122
122
  }
123
123
  const db = this.dbs.get(blockNumber);
124
124
  // Get archive snapshot and sibling path before any txs in this block lands.
125
125
  const lastArchiveTreeSnapshot = await getTreeSnapshot(MerkleTreeId.ARCHIVE, db);
126
126
  const lastArchiveSiblingPath = await getRootTreeSiblingPath(MerkleTreeId.ARCHIVE, db);
127
- const blockProvingState = await checkpointProvingState.startNewBlock(blockNumber, timestamp, totalNumTxs, lastArchiveTreeSnapshot, lastArchiveSiblingPath);
127
+ const blockProvingState = checkpointProvingState.startNewBlock(blockNumber, timestamp, totalNumTxs, lastArchiveTreeSnapshot, lastArchiveSiblingPath);
128
128
  // Enqueue base parity circuits for the first block in the checkpoint.
129
129
  if (blockProvingState.index === 0) {
130
130
  for(let i = 0; i < NUM_BASE_PARITY_PER_ROOT_PARITY; i++){
@@ -134,10 +134,11 @@ const logger = createLogger('prover-client:orchestrator');
134
134
  // Because `addTxs` won't be called for a block without txs, and that's where the sponge blob state is computed.
135
135
  // We need to set its end sponge blob here, which will become the start sponge blob for the next block.
136
136
  if (totalNumTxs === 0) {
137
+ const endState = await db.getStateReference();
138
+ blockProvingState.setEndState(endState);
137
139
  const endSpongeBlob = blockProvingState.getStartSpongeBlob().clone();
138
- await endSpongeBlob.absorb([
139
- createBlockEndMarker(0)
140
- ]);
140
+ const blockEndBlobFields = blockProvingState.getBlockEndBlobFields();
141
+ await endSpongeBlob.absorb(blockEndBlobFields);
141
142
  blockProvingState.setEndSpongeBlob(endSpongeBlob);
142
143
  // And also try to accumulate the blobs as far as we can:
143
144
  await this.provingState.setBlobAccumulators();
@@ -156,7 +157,7 @@ const logger = createLogger('prover-client:orchestrator');
156
157
  logger.warn(`Provided no txs to orchestrator addTxs.`);
157
158
  return;
158
159
  }
159
- const blockNumber = txs[0].globalVariables.blockNumber;
160
+ const blockNumber = BlockNumber(txs[0].globalVariables.blockNumber);
160
161
  const provingState = this.provingState.getBlockProvingStateByBlockNumber(blockNumber);
161
162
  if (!provingState) {
162
163
  throw new Error(`Proving state for block ${blockNumber} not found. Call startNewBlock first.`);
@@ -178,7 +179,7 @@ const logger = createLogger('prover-client:orchestrator');
178
179
  throw new Error(`Invalid proving state when adding a tx`);
179
180
  }
180
181
  validateTx(tx);
181
- logger.info(`Received transaction: ${tx.hash}`);
182
+ logger.debug(`Received transaction: ${tx.hash}`);
182
183
  const startSpongeBlob = spongeBlobState.clone();
183
184
  const [hints, treeSnapshots] = await this.prepareBaseRollupInputs(tx, lastArchive, newL1ToL2MessageTreeSnapshot, startSpongeBlob, db);
184
185
  if (!provingState.verifyState()) {
@@ -201,9 +202,10 @@ const logger = createLogger('prover-client:orchestrator');
201
202
  });
202
203
  }
203
204
  }
204
- await spongeBlobState.absorb([
205
- createBlockEndMarker(txs.length)
206
- ]);
205
+ const endState = await db.getStateReference();
206
+ provingState.setEndState(endState);
207
+ const blockEndBlobFields = provingState.getBlockEndBlobFields();
208
+ await spongeBlobState.absorb(blockEndBlobFields);
207
209
  provingState.setEndSpongeBlob(spongeBlobState);
208
210
  // Txs have been added to the block. Now try to accumulate the blobs as far as we can:
209
211
  await this.provingState.setBlobAccumulators();
@@ -248,28 +250,19 @@ const logger = createLogger('prover-client:orchestrator');
248
250
  if (provingState.isAcceptingTxs()) {
249
251
  throw new Error(`Block ${blockNumber} is still accepting txs. Call setBlockCompleted after all txs have been added.`);
250
252
  }
251
- // And build the block header
253
+ // Given we've applied every change from this block, now assemble the block header:
252
254
  logger.verbose(`Block ${blockNumber} completed. Assembling header.`);
253
- const header = await this.buildL2BlockHeader(provingState, expectedHeader);
254
- await this.verifyBuiltBlockAgainstSyncedState(provingState);
255
- return header;
256
- }
257
- async buildL2BlockHeader(provingState, expectedHeader) {
258
- // Collect all txs in this block to build the header. The function calling this has made sure that all txs have been added.
259
- const txs = provingState.getProcessedTxs();
260
- const startSpongeBlob = provingState.getStartSpongeBlob();
261
- // Get db for this block
262
- const db = this.dbs.get(provingState.blockNumber);
263
- // Given we've applied every change from this block, now assemble the block header
264
- // and update the archive tree, so we're ready to start processing the next block
265
- const header = await buildBlockHeaderFromTxs(txs, provingState.getGlobalVariables(), startSpongeBlob, db);
255
+ const header = await provingState.buildBlockHeader();
266
256
  if (expectedHeader && !header.equals(expectedHeader)) {
267
257
  logger.error(`Block header mismatch: header=${header} expectedHeader=${expectedHeader}`);
268
258
  throw new Error('Block header mismatch');
269
259
  }
260
+ // Get db for this block
261
+ const db = this.dbs.get(provingState.blockNumber);
262
+ // Update the archive tree, so we're ready to start processing the next block:
270
263
  logger.verbose(`Updating archive tree with block ${provingState.blockNumber} header ${(await header.hash()).toString()}`);
271
264
  await db.updateArchive(header);
272
- provingState.setBuiltBlockHeader(header);
265
+ await this.verifyBuiltBlockAgainstSyncedState(provingState);
273
266
  return header;
274
267
  }
275
268
  // Flagged as protected to disable in certain unit tests
@@ -779,33 +772,11 @@ const logger = createLogger('prover-client:orchestrator');
779
772
  return;
780
773
  }
781
774
  const txProvingState = provingState.getTxProvingState(txIndex);
782
- // This function tries to do AVM proving. If there is a failure, it fakes the proof unless AVM_PROVING_STRICT is defined.
783
- // Nothing downstream depends on the AVM proof yet. So having this mode lets us incrementally build the AVM circuit.
784
775
  const doAvmProving = wrapCallbackInSpan(this.tracer, 'ProvingOrchestrator.prover.getAvmProof', {
785
776
  [Attributes.TX_HASH]: txProvingState.processedTx.hash.toString()
786
777
  }, async (signal)=>{
787
778
  const inputs = txProvingState.getAvmInputs();
788
- try {
789
- // TODO(#14234)[Unconditional PIs validation]: Remove the whole try-catch logic and
790
- // just keep the next line but removing the second argument (false).
791
- return await this.prover.getAvmProof(inputs, false, signal, provingState.epochNumber);
792
- } catch (err) {
793
- if (process.env.AVM_PROVING_STRICT) {
794
- logger.error(`Error thrown when proving AVM circuit with AVM_PROVING_STRICT on`, err);
795
- throw err;
796
- } else {
797
- logger.warn(`Error thrown when proving AVM circuit but AVM_PROVING_STRICT is off. Use snapshotted
798
- AVM inputs and carrying on. ${inspect(err)}.`);
799
- try {
800
- this.metrics.incAvmFallback();
801
- const snapshotAvmPrivateInputs = readAvmMinimalPublicTxInputsFromFile();
802
- return await this.prover.getAvmProof(snapshotAvmPrivateInputs, true, signal, provingState.epochNumber);
803
- } catch (err) {
804
- logger.error(`Error thrown when proving snapshotted AVM inputs.`, err);
805
- throw err;
806
- }
807
- }
808
- }
779
+ return await this.prover.getAvmProof(inputs, signal, provingState.epochNumber);
809
780
  });
810
781
  this.deferredProving(provingState, doAvmProving, (proofAndVk)=>{
811
782
  logger.debug(`Proven VM for tx index: ${txIndex}`);
@@ -2,9 +2,7 @@ import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
2
2
  export declare class ProvingOrchestratorMetrics {
3
3
  readonly tracer: Tracer;
4
4
  private baseRollupInputsDuration;
5
- private avmFallbackCount;
6
5
  constructor(client: TelemetryClient, name?: string);
7
6
  recordBaseRollupInputs(durationMs: number): void;
8
- incAvmFallback(): void;
9
7
  }
10
- //# sourceMappingURL=orchestrator_metrics.d.ts.map
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JjaGVzdHJhdG9yX21ldHJpY3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcmNoZXN0cmF0b3Ivb3JjaGVzdHJhdG9yX21ldHJpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyQixLQUFLLGVBQWUsRUFBRSxLQUFLLE1BQU0sRUFBYSxNQUFNLHlCQUF5QixDQUFDO0FBRWhILHFCQUFhLDBCQUEwQjtJQUNyQyxTQUFnQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBRS9CLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBWTtJQUU1QyxZQUFZLE1BQU0sRUFBRSxlQUFlLEVBQUUsSUFBSSxTQUF3QixFQVNoRTtJQUVELHNCQUFzQixDQUFDLFVBQVUsRUFBRSxNQUFNLFFBRXhDO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator_metrics.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,0BAA0B;IACrC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,wBAAwB,CAAY;IAC5C,OAAO,CAAC,gBAAgB,CAAgB;gBAE5B,MAAM,EAAE,eAAe,EAAE,IAAI,SAAwB;IAkBjE,sBAAsB,CAAC,UAAU,EAAE,MAAM;IAIzC,cAAc;CAGf"}
1
+ {"version":3,"file":"orchestrator_metrics.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,eAAe,EAAE,KAAK,MAAM,EAAa,MAAM,yBAAyB,CAAC;AAEhH,qBAAa,0BAA0B;IACrC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,wBAAwB,CAAY;IAE5C,YAAY,MAAM,EAAE,eAAe,EAAE,IAAI,SAAwB,EAShE;IAED,sBAAsB,CAAC,UAAU,EAAE,MAAM,QAExC;CACF"}
@@ -2,7 +2,6 @@ import { Metrics, ValueType } from '@aztec/telemetry-client';
2
2
  export class ProvingOrchestratorMetrics {
3
3
  tracer;
4
4
  baseRollupInputsDuration;
5
- avmFallbackCount;
6
5
  constructor(client, name = 'ProvingOrchestrator'){
7
6
  this.tracer = client.getTracer(name);
8
7
  const meter = client.getMeter(name);
@@ -11,16 +10,8 @@ export class ProvingOrchestratorMetrics {
11
10
  description: 'Duration to build base rollup inputs',
12
11
  valueType: ValueType.INT
13
12
  });
14
- this.avmFallbackCount = meter.createUpDownCounter(Metrics.PROVING_ORCHESTRATOR_AVM_FALLBACK_COUNT, {
15
- description: 'How many times the AVM fallback was used',
16
- valueType: ValueType.INT
17
- });
18
- this.avmFallbackCount.add(0);
19
13
  }
20
14
  recordBaseRollupInputs(durationMs) {
21
15
  this.baseRollupInputsDuration.record(Math.ceil(durationMs));
22
16
  }
23
- incAvmFallback() {
24
- this.avmFallbackCount.add(1);
25
- }
26
17
  }
@@ -1,5 +1,5 @@
1
1
  import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
2
- import type { Fr } from '@aztec/foundation/fields';
2
+ import type { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
4
4
  import type { ProofAndVerificationKey, PublicInputsAndRecursiveProof } from '@aztec/stdlib/interfaces/server';
5
5
  import { type BaseRollupHints, PrivateTxBaseRollupPrivateInputs, PublicChonkVerifierPublicInputs, PublicTxBaseRollupPrivateInputs } from '@aztec/stdlib/rollup';
@@ -33,4 +33,4 @@ export declare class TxProvingState {
33
33
  setPublicChonkVerifierProof(publicChonkVerifierProofAndVk: PublicInputsAndRecursiveProof<PublicChonkVerifierPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>): void;
34
34
  setAvmProof(avmProofAndVk: ProofAndVerificationKey<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>): void;
35
35
  }
36
- //# sourceMappingURL=tx-proving-state.d.ts.map
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHgtcHJvdmluZy1zdGF0ZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29yY2hlc3RyYXRvci90eC1wcm92aW5nLXN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ILE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RyxPQUFPLEVBQ0wsS0FBSyxlQUFlLEVBRXBCLGdDQUFnQyxFQUVoQywrQkFBK0IsRUFDL0IsK0JBQStCLEVBQ2hDLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEYsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFRcEQ7Ozs7R0FJRztBQUNILHFCQUFhLGNBQWM7O2FBUVAsV0FBVyxFQUFFLFdBQVc7SUFDeEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlO2FBQ2hCLGFBQWEsRUFBRSxHQUFHLENBQUMsWUFBWSxFQUFFLHNCQUFzQixDQUFDO0lBQ3hFLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUTtJQVYzQixPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FHMUI7SUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLENBQXVFO0lBRW5GLFlBQ2tCLFdBQVcsRUFBRSxXQUFXLEVBQ3ZCLGVBQWUsRUFBRSxlQUFlLEVBQ2pDLGFBQWEsRUFBRSxHQUFHLENBQUMsWUFBWSxFQUFFLHNCQUFzQixDQUFDLEVBQ3ZELFFBQVEsRUFBRSxFQUFFLEVBQzNCO0lBRUosSUFBSSxlQUFlLFlBRWxCO0lBRU0sS0FBSyxZQUVYO0lBRU0sWUFBWSxJQUFJLGdCQUFnQixDQUV0QztJQUVNLG1DQUFtQyxvRUFFekM7SUFFTSwwQkFBMEI7Ozs7OztNQVloQztJQUVNLDJCQUEyQixDQUNoQyw2QkFBNkIsRUFBRSw2QkFBNkIsQ0FDMUQsK0JBQStCLEVBQy9CLE9BQU8seUNBQXlDLENBQ2pELFFBR0Y7SUFFTSxXQUFXLENBQUMsYUFBYSxFQUFFLHVCQUF1QixDQUFDLE9BQU8sb0NBQW9DLENBQUMsUUFFckc7Q0F1Q0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"tx-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/tx-proving-state.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oCAAoC,EAEpC,yCAAyC,EAC1C,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAGnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAE9G,OAAO,EACL,KAAK,eAAe,EAEpB,gCAAgC,EAEhC,+BAA+B,EAC/B,+BAA+B,EAChC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AASpD;;;;GAIG;AACH,qBAAa,cAAc;;aAQP,WAAW,EAAE,WAAW;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe;aAChB,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC;IACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAV3B,OAAO,CAAC,mBAAmB,CAAC,CAG1B;IACF,OAAO,CAAC,GAAG,CAAC,CAAuE;gBAGjE,WAAW,EAAE,WAAW,EACvB,eAAe,EAAE,eAAe,EACjC,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC,EACvD,QAAQ,EAAE,EAAE;IAG/B,IAAI,eAAe,YAElB;IAEM,KAAK;IAIL,YAAY,IAAI,gBAAgB;IAIhC,mCAAmC;IAInC,0BAA0B;;;;;;;IAc1B,2BAA2B,CAChC,6BAA6B,EAAE,6BAA6B,CAC1D,+BAA+B,EAC/B,OAAO,yCAAyC,CACjD;IAKI,WAAW,CAAC,aAAa,EAAE,uBAAuB,CAAC,OAAO,oCAAoC,CAAC;CAiDvG"}
1
+ {"version":3,"file":"tx-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/tx-proving-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,yCAAyC,EAAE,MAAM,kBAAkB,CAAC;AACnH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAE9G,OAAO,EACL,KAAK,eAAe,EAEpB,gCAAgC,EAEhC,+BAA+B,EAC/B,+BAA+B,EAChC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQpD;;;;GAIG;AACH,qBAAa,cAAc;;aAQP,WAAW,EAAE,WAAW;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe;aAChB,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC;IACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAV3B,OAAO,CAAC,mBAAmB,CAAC,CAG1B;IACF,OAAO,CAAC,GAAG,CAAC,CAAuE;IAEnF,YACkB,WAAW,EAAE,WAAW,EACvB,eAAe,EAAE,eAAe,EACjC,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC,EACvD,QAAQ,EAAE,EAAE,EAC3B;IAEJ,IAAI,eAAe,YAElB;IAEM,KAAK,YAEX;IAEM,YAAY,IAAI,gBAAgB,CAEtC;IAEM,mCAAmC,oEAEzC;IAEM,0BAA0B;;;;;;MAYhC;IAEM,2BAA2B,CAChC,6BAA6B,EAAE,6BAA6B,CAC1D,+BAA+B,EAC/B,OAAO,yCAAyC,CACjD,QAGF;IAEM,WAAW,CAAC,aAAa,EAAE,uBAAuB,CAAC,OAAO,oCAAoC,CAAC,QAErG;CAuCF"}
@@ -1,9 +1,6 @@
1
- import { AVM_VK_INDEX } from '@aztec/constants';
2
1
  import { getVkData } from '@aztec/noir-protocol-circuits-types/server/vks';
3
- import { getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vk-tree';
4
- import { ProofData } from '@aztec/stdlib/proofs';
2
+ import { ProofData, ProofDataForFixedVk } from '@aztec/stdlib/proofs';
5
3
  import { PrivateBaseRollupHints, PrivateTxBaseRollupPrivateInputs, PublicBaseRollupHints, PublicTxBaseRollupPrivateInputs } from '@aztec/stdlib/rollup';
6
- import { VkData } from '@aztec/stdlib/vks';
7
4
  import { getChonkProofFromTx, getPublicChonkVerifierPrivateInputsFromTx, toProofData } from './block-building-helpers.js';
8
5
  /**
9
6
  * Helper class to manage the proving cycle of a transaction
@@ -74,13 +71,7 @@ import { getChonkProofFromTx, getPublicChonkVerifierPrivateInputsFromTx, toProof
74
71
  throw new Error('Mismatched base rollup hints, expected public base rollup hints');
75
72
  }
76
73
  const publicChonkVerifierProofData = toProofData(this.publicChonkVerifier);
77
- const avmProofData = new ProofData(this.processedTx.avmProvingRequest.inputs.publicInputs, this.avm.proof, this.#getVkData(this.avm.verificationKey, AVM_VK_INDEX));
74
+ const avmProofData = new ProofDataForFixedVk(this.processedTx.avmProvingRequest.inputs.publicInputs, this.avm.proof);
78
75
  return new PublicTxBaseRollupPrivateInputs(publicChonkVerifierProofData, avmProofData, this.baseRollupHints);
79
76
  }
80
- #getVkData(verificationKey, vkIndex) {
81
- // TODO(#17162): Add avm vk hash to the tree and call `getVkData('AVM')` instead.
82
- // Below will return a path to an empty leaf.
83
- const vkPath = getVKSiblingPath(vkIndex);
84
- return new VkData(verificationKey, vkIndex, vkPath);
85
- }
86
77
  }
@@ -1,6 +1,6 @@
1
- import type { ForkMerkleTreeOperations, ProvingJobBroker } from '@aztec/stdlib/interfaces/server';
1
+ import type { ForkMerkleTreeOperations, ProvingJobBroker, ReadonlyWorldStateAccess } from '@aztec/stdlib/interfaces/server';
2
2
  import { type TelemetryClient } from '@aztec/telemetry-client';
3
3
  import type { ProverClientConfig } from '../config.js';
4
4
  import { ProverClient } from './prover-client.js';
5
- export declare function createProverClient(config: ProverClientConfig, worldState: ForkMerkleTreeOperations, broker: ProvingJobBroker, telemetry?: TelemetryClient): Promise<ProverClient>;
6
- //# sourceMappingURL=factory.d.ts.map
5
+ export declare function createProverClient(config: ProverClientConfig, worldState: ForkMerkleTreeOperations & ReadonlyWorldStateAccess, broker: ProvingJobBroker, telemetry?: TelemetryClient): Promise<ProverClient>;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3Zlci1jbGllbnQvZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFDVix3QkFBd0IsRUFDeEIsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN6QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsd0JBQWdCLGtCQUFrQixDQUNoQyxNQUFNLEVBQUUsa0JBQWtCLEVBQzFCLFVBQVUsRUFBRSx3QkFBd0IsR0FBRyx3QkFBd0IsRUFDL0QsTUFBTSxFQUFFLGdCQUFnQixFQUN4QixTQUFTLEdBQUUsZUFBc0MseUJBR2xEIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/prover-client/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAClG,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAEnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,EAC1B,UAAU,EAAE,wBAAwB,EACpC,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,eAAsC,yBAGlD"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/prover-client/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAEnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,EAC1B,UAAU,EAAE,wBAAwB,GAAG,wBAAwB,EAC/D,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,eAAsC,yBAGlD"}
@@ -1,3 +1,3 @@
1
1
  export * from './factory.js';
2
2
  export * from './prover-client.js';
3
- //# sourceMappingURL=index.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92ZXItY2xpZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsb0JBQW9CLENBQUMifQ==