@aztec/prover-client 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dest/orchestrator/block-proving-state.d.ts +6 -5
  2. package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
  3. package/dest/orchestrator/block-proving-state.js +15 -38
  4. package/dest/orchestrator/epoch-proving-state.d.ts +2 -2
  5. package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
  6. package/dest/orchestrator/epoch-proving-state.js +4 -4
  7. package/dest/orchestrator/orchestrator.d.ts.map +1 -1
  8. package/dest/orchestrator/orchestrator.js +9 -9
  9. package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
  10. package/dest/orchestrator/tx-proving-state.js +7 -18
  11. package/dest/proving_broker/broker_prover_facade.d.ts +2 -1
  12. package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
  13. package/dest/proving_broker/broker_prover_facade.js +3 -0
  14. package/dest/proving_broker/proving_broker.d.ts.map +1 -1
  15. package/dest/proving_broker/proving_broker.js +1 -0
  16. package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
  17. package/dest/proving_broker/proving_job_controller.js +4 -0
  18. package/dest/test/mock_prover.d.ts +2 -1
  19. package/dest/test/mock_prover.d.ts.map +1 -1
  20. package/dest/test/mock_prover.js +3 -0
  21. package/package.json +15 -15
  22. package/src/orchestrator/block-proving-state.ts +12 -38
  23. package/src/orchestrator/epoch-proving-state.ts +4 -2
  24. package/src/orchestrator/orchestrator.ts +9 -8
  25. package/src/orchestrator/tx-proving-state.ts +9 -21
  26. package/src/proving_broker/broker_prover_facade.ts +17 -0
  27. package/src/proving_broker/proving_broker.ts +1 -0
  28. package/src/proving_broker/proving_job_controller.ts +4 -0
  29. package/src/test/mock_prover.ts +17 -0
@@ -6,8 +6,8 @@ import { type TreeNodeLocation } from '@aztec/foundation/trees';
6
6
  import type { L2Block } from '@aztec/stdlib/block';
7
7
  import type { PublicInputsAndRecursiveProof } from '@aztec/stdlib/interfaces/server';
8
8
  import { type ParityPublicInputs, RootParityInputs } from '@aztec/stdlib/parity';
9
- import { type BaseOrMergeRollupPublicInputs, type BlockRootOrBlockMergePublicInputs, BlockRootRollupInputs, EmptyBlockRootRollupInputs, MergeRollupInputs, SingleTxBlockRootRollupInputs } from '@aztec/stdlib/rollup';
10
- import type { AppendOnlyTreeSnapshot, MerkleTreeId } from '@aztec/stdlib/trees';
9
+ import { type BaseOrMergeRollupPublicInputs, type BlockRootOrBlockMergePublicInputs, BlockRootRollupInputs, EmptyBlockRootRollupInputs, MergeRollupInputs, PaddingBlockRootRollupInputs, SingleTxBlockRootRollupInputs } from '@aztec/stdlib/rollup';
10
+ import { AppendOnlyTreeSnapshot, type MerkleTreeId } from '@aztec/stdlib/trees';
11
11
  import { type BlockHeader, type GlobalVariables } from '@aztec/stdlib/tx';
12
12
  import type { EpochProvingState } from './epoch-proving-state.js';
13
13
  import type { TxProvingState } from './tx-proving-state.js';
@@ -28,6 +28,7 @@ export declare class BlockProvingState {
28
28
  private readonly lastArchiveSiblingPath;
29
29
  private readonly newArchiveSiblingPath;
30
30
  private readonly previousBlockHeader;
31
+ private readonly proverId;
31
32
  private readonly parentEpoch;
32
33
  private baseOrMergeProvingOutputs;
33
34
  private baseParityProvingOutputs;
@@ -42,7 +43,7 @@ export declare class BlockProvingState {
42
43
  totalNumTxs: number;
43
44
  private txs;
44
45
  error: string | undefined;
45
- constructor(index: number, globalVariables: GlobalVariables, newL1ToL2Messages: Fr[], l1ToL2MessageTreeSnapshot: AppendOnlyTreeSnapshot, l1ToL2MessageSubtreeSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH>, l1ToL2MessageTreeSnapshotAfterInsertion: AppendOnlyTreeSnapshot, lastArchiveSnapshot: AppendOnlyTreeSnapshot, lastArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>, newArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>, previousBlockHeader: BlockHeader, parentEpoch: EpochProvingState);
46
+ constructor(index: number, globalVariables: GlobalVariables, newL1ToL2Messages: Fr[], l1ToL2MessageTreeSnapshot: AppendOnlyTreeSnapshot, l1ToL2MessageSubtreeSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH>, l1ToL2MessageTreeSnapshotAfterInsertion: AppendOnlyTreeSnapshot, lastArchiveSnapshot: AppendOnlyTreeSnapshot, lastArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>, newArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>, previousBlockHeader: BlockHeader, proverId: Fr, parentEpoch: EpochProvingState);
46
47
  get blockNumber(): number;
47
48
  startNewBlock(numTxs: number, numBlobFields: number): void;
48
49
  addNewTx(tx: TxProvingState): number;
@@ -60,7 +61,7 @@ export declare class BlockProvingState {
60
61
  get epochNumber(): number;
61
62
  getParentLocation(location: TreeNodeLocation): TreeNodeLocation;
62
63
  getMergeRollupInputs(mergeLocation: TreeNodeLocation): MergeRollupInputs;
63
- getBlockRootRollupTypeAndInputs(proverId: Fr): Promise<{
64
+ getBlockRootRollupTypeAndInputs(): Promise<{
64
65
  rollupType: string;
65
66
  inputs: EmptyBlockRootRollupInputs;
66
67
  } | {
@@ -70,7 +71,7 @@ export declare class BlockProvingState {
70
71
  rollupType: string;
71
72
  inputs: BlockRootRollupInputs;
72
73
  }>;
73
- getPaddingBlockRootInputs(proverId: Fr): Promise<EmptyBlockRootRollupInputs>;
74
+ getPaddingBlockRootInputs(): PaddingBlockRootRollupInputs;
74
75
  getRootParityInputs(): RootParityInputs;
75
76
  getTxProvingState(txIndex: number): TxProvingState;
76
77
  buildHeaderFromProvingOutputs(): Promise<BlockHeader>;
@@ -1 +1 @@
1
- {"version":3,"file":"block-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/block-proving-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAA+B,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,wCAAwC,EAC7C,KAAK,yCAAyC,EAG/C,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAc,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,KAAK,gBAAgB,EAAuB,MAAM,yBAAyB,CAAC;AAGrF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAE,KAAK,kBAAkB,EAAmB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EACL,KAAK,6BAA6B,EAElC,KAAK,iCAAiC,EAGtC,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,EAEjB,6BAA6B,EAC9B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAkB,MAAM,kBAAkB,CAAC;AAS1F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;AAEtE;;;GAGG;AACH,qBAAa,iBAAiB;;aAoBV,KAAK,EAAE,MAAM;aACb,eAAe,EAAE,eAAe;aAChC,iBAAiB,EAAE,EAAE,EAAE;aACvB,yBAAyB,EAAE,sBAAsB;IACjE,OAAO,CAAC,QAAQ,CAAC,+BAA+B;IAChD,OAAO,CAAC,QAAQ,CAAC,uCAAuC;IACxD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW;IA7B9B,OAAO,CAAC,yBAAyB,CAEF;IAC/B,OAAO,CAAC,wBAAwB,CAAoE;IACpG,OAAO,CAAC,uBAAuB,CAAgE;IAC/F,OAAO,CAAC,sBAAsB,CAEhB;IACP,sBAAsB,EAAE,OAAO,CAAS;IACxC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,eAAe,EAAE,UAAU,GAAG,SAAS,CAAC;IACxC,oBAAoB,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACzD,kBAAkB,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACvD,SAAS,EAAE,EAAE,GAAG,SAAS,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAwB;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;gBAGf,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,EAAE,EAAE,EACvB,yBAAyB,EAAE,sBAAsB,EAChD,+BAA+B,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wCAAwC,CAAC,EAC3F,uCAAuC,EAAE,sBAAsB,EAC/D,mBAAmB,EAAE,sBAAsB,EAC3C,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,cAAc,CAAC,EACxD,qBAAqB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,cAAc,CAAC,EACvD,mBAAmB,EAAE,WAAW,EAChC,WAAW,EAAE,iBAAiB;IASjD,IAAW,WAAW,WAErB;IAEM,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAanD,QAAQ,CAAC,EAAE,EAAE,cAAc;IAS3B,kBAAkB,CACvB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,6BAA6B,CAC1C,6BAA6B,EAC7B,OAAO,yCAAyC,CACjD,GACA,gBAAgB;IAIZ,mBAAmB,CACxB,QAAQ,EAAE,gBAAgB,EAC1B,aAAa,EAAE,6BAA6B,CAC1C,6BAA6B,EAC7B,OAAO,yCAAyC,CACjD;IAMI,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,6BAA6B,CAAC,kBAAkB,CAAC;IASlG,kBAAkB,CAAC,aAAa,EAAE,6BAA6B,CAAC,kBAAkB,CAAC;IAInF,uBAAuB,CAC5B,aAAa,EAAE,6BAA6B,CAC1C,iCAAiC,EACjC,OAAO,yCAAyC,CACjD;IAKI,QAAQ,CAAC,KAAK,EAAE,OAAO;IAIvB,uBAAuB,CAAC,WAAW,EAAE,sBAAsB;IAI3D,qBAAqB,CAAC,WAAW,EAAE,sBAAsB;IAInD,eAAe;IAa5B,IAAW,MAAM,qBAEhB;IAED,yFAAyF;IACzF,IAAW,WAAW,IAAI,MAAM,CAE/B;IAEM,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB;IAI5C,oBAAoB,CAAC,aAAa,EAAE,gBAAgB;IAS9C,+BAA+B,CAAC,QAAQ,EAAE,EAAE;;;;;;;;;;IAuD5C,yBAAyB,CAAC,QAAQ,EAAE,EAAE;IAwC5C,mBAAmB;IAYnB,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAI3B,6BAA6B;IA0BnC,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB;IAKhD,yBAAyB;IAWzB,oBAAoB;IAIpB,UAAU;IAKV,WAAW;IAIX,MAAM,CAAC,MAAM,EAAE,MAAM;CA0D7B"}
1
+ {"version":3,"file":"block-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/block-proving-state.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { UnbalancedTreeStore } from '@aztec/foundation/trees';
6
6
  import { getVKIndex, getVKSiblingPath, getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
7
7
  import { protocolContractTreeRoot } from '@aztec/protocol-contracts';
8
8
  import { RootParityInput, RootParityInputs } from '@aztec/stdlib/parity';
9
- import { BlockConstantData, BlockRootRollupBlobData, BlockRootRollupData, BlockRootRollupInputs, EmptyBlockRootRollupInputs, MergeRollupInputs, PreviousRollupData, SingleTxBlockRootRollupInputs } from '@aztec/stdlib/rollup';
9
+ import { BlockConstantData, BlockRootRollupBlobData, BlockRootRollupData, BlockRootRollupInputs, EmptyBlockRootRollupInputs, EpochConstantData, MergeRollupInputs, PaddingBlockRootRollupInputs, PreviousRollupData, SingleTxBlockRootRollupInputs } from '@aztec/stdlib/rollup';
10
10
  import { StateReference } from '@aztec/stdlib/tx';
11
11
  import { VkData } from '@aztec/stdlib/vks';
12
12
  import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmptyBlockBlobsHash } from './block-building-helpers.js';
@@ -24,6 +24,7 @@ import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmpt
24
24
  lastArchiveSiblingPath;
25
25
  newArchiveSiblingPath;
26
26
  previousBlockHeader;
27
+ proverId;
27
28
  parentEpoch;
28
29
  baseOrMergeProvingOutputs;
29
30
  baseParityProvingOutputs;
@@ -38,7 +39,7 @@ import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmpt
38
39
  totalNumTxs;
39
40
  txs;
40
41
  error;
41
- constructor(index, globalVariables, newL1ToL2Messages, l1ToL2MessageTreeSnapshot, l1ToL2MessageSubtreeSiblingPath, l1ToL2MessageTreeSnapshotAfterInsertion, lastArchiveSnapshot, lastArchiveSiblingPath, newArchiveSiblingPath, previousBlockHeader, parentEpoch){
42
+ constructor(index, globalVariables, newL1ToL2Messages, l1ToL2MessageTreeSnapshot, l1ToL2MessageSubtreeSiblingPath, l1ToL2MessageTreeSnapshotAfterInsertion, lastArchiveSnapshot, lastArchiveSiblingPath, newArchiveSiblingPath, previousBlockHeader, proverId, parentEpoch){
42
43
  this.index = index;
43
44
  this.globalVariables = globalVariables;
44
45
  this.newL1ToL2Messages = newL1ToL2Messages;
@@ -49,6 +50,7 @@ import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmpt
49
50
  this.lastArchiveSiblingPath = lastArchiveSiblingPath;
50
51
  this.newArchiveSiblingPath = newArchiveSiblingPath;
51
52
  this.previousBlockHeader = previousBlockHeader;
53
+ this.proverId = proverId;
52
54
  this.parentEpoch = parentEpoch;
53
55
  this.baseOrMergeProvingOutputs = new UnbalancedTreeStore(0);
54
56
  this.blockRootRollupStarted = false;
@@ -139,7 +141,7 @@ import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmpt
139
141
  this.#getPreviousRollupData(right)
140
142
  ]);
141
143
  }
142
- async getBlockRootRollupTypeAndInputs(proverId) {
144
+ async getBlockRootRollupTypeAndInputs() {
143
145
  if (!this.rootParityProvingOutput) {
144
146
  throw new Error('Root parity is not ready.');
145
147
  }
@@ -148,7 +150,7 @@ import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmpt
148
150
  if (proofs.length !== nonEmptyProofs.length) {
149
151
  throw new Error('At lease one child is not ready for the block root.');
150
152
  }
151
- const data = this.#getBlockRootRollupData(proverId);
153
+ const data = this.#getBlockRootRollupData();
152
154
  if (this.totalNumTxs === 0) {
153
155
  const constants = BlockConstantData.from({
154
156
  lastArchive: this.lastArchiveSnapshot,
@@ -162,8 +164,7 @@ import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmpt
162
164
  rollupType: 'empty-block-root-rollup',
163
165
  inputs: EmptyBlockRootRollupInputs.from({
164
166
  data,
165
- constants,
166
- isPadding: false
167
+ constants
167
168
  })
168
169
  };
169
170
  }
@@ -182,38 +183,14 @@ import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmpt
182
183
  };
183
184
  }
184
185
  }
185
- async getPaddingBlockRootInputs(proverId) {
186
- if (!this.rootParityProvingOutput) {
187
- throw new Error('Root parity is not ready.');
188
- }
189
- if (!this.blockRootProvingOutput || !this.endBlobAccumulator) {
190
- throw new Error('Block root not ready for padding.');
191
- }
192
- // Use the new block header, archive and l1toL2 of the current block as the previous header, archive and l1toL2 of the next padding block.
193
- const previousBlockHeader = await this.buildHeaderFromProvingOutputs();
194
- const lastArchive = this.blockRootProvingOutput.inputs.newArchive;
195
- const lastL1ToL2 = this.l1ToL2MessageTreeSnapshotAfterInsertion;
196
- const data = BlockRootRollupData.from({
197
- l1ToL2Roots: this.#getRootParityData(this.rootParityProvingOutput),
198
- l1ToL2MessageSubtreeSiblingPath: this.l1ToL2MessageSubtreeSiblingPath,
199
- previousArchiveSiblingPath: this.lastArchiveSiblingPath,
200
- newArchiveSiblingPath: this.newArchiveSiblingPath,
201
- previousBlockHeader,
202
- startBlobAccumulator: BlobAccumulatorPublicInputs.fromBatchedBlobAccumulator(this.endBlobAccumulator),
203
- finalBlobChallenges: this.endBlobAccumulator.finalBlobChallenges,
204
- proverId
205
- });
206
- const constants = BlockConstantData.from({
207
- lastArchive,
208
- lastL1ToL2,
209
- globalVariables: this.globalVariables,
186
+ getPaddingBlockRootInputs() {
187
+ const constants = EpochConstantData.from({
210
188
  vkTreeRoot: getVKTreeRoot(),
211
- protocolContractTreeRoot
189
+ protocolContractTreeRoot,
190
+ proverId: this.proverId
212
191
  });
213
- return EmptyBlockRootRollupInputs.from({
214
- data,
215
- constants,
216
- isPadding: true
192
+ return PaddingBlockRootRollupInputs.from({
193
+ constants
217
194
  });
218
195
  }
219
196
  getRootParityInputs() {
@@ -264,7 +241,7 @@ import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmpt
264
241
  this.error = reason;
265
242
  this.parentEpoch.reject(reason);
266
243
  }
267
- #getBlockRootRollupData(proverId) {
244
+ #getBlockRootRollupData() {
268
245
  return BlockRootRollupData.from({
269
246
  l1ToL2Roots: this.#getRootParityData(this.rootParityProvingOutput),
270
247
  l1ToL2MessageSubtreeSiblingPath: this.l1ToL2MessageSubtreeSiblingPath,
@@ -273,7 +250,7 @@ import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmpt
273
250
  previousBlockHeader: this.previousBlockHeader,
274
251
  startBlobAccumulator: BlobAccumulatorPublicInputs.fromBatchedBlobAccumulator(this.startBlobAccumulator),
275
252
  finalBlobChallenges: this.startBlobAccumulator.finalBlobChallenges,
276
- proverId
253
+ proverId: this.proverId
277
254
  });
278
255
  }
279
256
  async #getBlockRootRollupBlobData() {
@@ -38,7 +38,7 @@ export declare class EpochProvingState {
38
38
  readonly cachedTubeProofs: Map<string, Promise<ProofAndVerificationKey<535>>>;
39
39
  blocks: (BlockProvingState | undefined)[];
40
40
  constructor(epochNumber: number, firstBlockNumber: number, totalNumBlocks: number, finalBlobBatchingChallenges: FinalBlobBatchingChallenges, completionCallback: (result: ProvingResult) => void, rejectionCallback: (reason: string) => void);
41
- startNewBlock(globalVariables: GlobalVariables, l1ToL2Messages: Fr[], l1ToL2MessageTreeSnapshot: AppendOnlyTreeSnapshot, l1ToL2MessageSubtreeSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH>, l1ToL2MessageTreeSnapshotAfterInsertion: AppendOnlyTreeSnapshot, lastArchiveSnapshot: AppendOnlyTreeSnapshot, lastArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>, newArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>, previousBlockHeader: BlockHeader): BlockProvingState;
41
+ startNewBlock(globalVariables: GlobalVariables, l1ToL2Messages: Fr[], l1ToL2MessageTreeSnapshot: AppendOnlyTreeSnapshot, l1ToL2MessageSubtreeSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH>, l1ToL2MessageTreeSnapshotAfterInsertion: AppendOnlyTreeSnapshot, lastArchiveSnapshot: AppendOnlyTreeSnapshot, lastArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>, newArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>, previousBlockHeader: BlockHeader, proverId: Fr): BlockProvingState;
42
42
  verifyState(): boolean;
43
43
  isAcceptingBlocks(): boolean;
44
44
  setBlockRootRollupProof(blockIndex: number, proof: PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>): TreeNodeLocation;
@@ -50,7 +50,7 @@ export declare class EpochProvingState {
50
50
  getParentLocation(location: TreeNodeLocation): TreeNodeLocation;
51
51
  getBlockMergeRollupInputs(mergeLocation: TreeNodeLocation): BlockMergeRollupInputs;
52
52
  getRootRollupInputs(): RootRollupInputs;
53
- getPaddingBlockRootInputs(proverId: Fr): Promise<import("@aztec/stdlib/rollup").EmptyBlockRootRollupInputs>;
53
+ getPaddingBlockRootInputs(): import("@aztec/stdlib/rollup").PaddingBlockRootRollupInputs;
54
54
  getBlockProvingStateByBlockNumber(blockNumber: number): BlockProvingState | undefined;
55
55
  getEpochProofResult(): {
56
56
  proof: Proof;
@@ -1 +1 @@
1
- {"version":3,"file":"epoch-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/epoch-proving-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"epoch-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/epoch-proving-state.ts"],"names":[],"mappings":"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"}
@@ -44,9 +44,9 @@ var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
44
44
  }
45
45
  // Adds a block to the proving state, returns its index
46
46
  // Will update the proving life cycle if this is the last block
47
- startNewBlock(globalVariables, l1ToL2Messages, l1ToL2MessageTreeSnapshot, l1ToL2MessageSubtreeSiblingPath, l1ToL2MessageTreeSnapshotAfterInsertion, lastArchiveSnapshot, lastArchiveSiblingPath, newArchiveSiblingPath, previousBlockHeader) {
47
+ startNewBlock(globalVariables, l1ToL2Messages, l1ToL2MessageTreeSnapshot, l1ToL2MessageSubtreeSiblingPath, l1ToL2MessageTreeSnapshotAfterInsertion, lastArchiveSnapshot, lastArchiveSiblingPath, newArchiveSiblingPath, previousBlockHeader, proverId) {
48
48
  const index = globalVariables.blockNumber - this.firstBlockNumber;
49
- const block = new BlockProvingState(index, globalVariables, l1ToL2Messages, l1ToL2MessageTreeSnapshot, l1ToL2MessageSubtreeSiblingPath, l1ToL2MessageTreeSnapshotAfterInsertion, lastArchiveSnapshot, lastArchiveSiblingPath, newArchiveSiblingPath, previousBlockHeader, this);
49
+ const block = new BlockProvingState(index, globalVariables, l1ToL2Messages, l1ToL2MessageTreeSnapshot, l1ToL2MessageSubtreeSiblingPath, l1ToL2MessageTreeSnapshotAfterInsertion, lastArchiveSnapshot, lastArchiveSiblingPath, newArchiveSiblingPath, previousBlockHeader, proverId, this);
50
50
  this.blocks[index] = block;
51
51
  if (this.blocks.filter((b)=>!!b).length === this.totalNumBlocks) {
52
52
  this.provingStateLifecycle = 1;
@@ -120,11 +120,11 @@ var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
120
120
  ]
121
121
  });
122
122
  }
123
- getPaddingBlockRootInputs(proverId) {
123
+ getPaddingBlockRootInputs() {
124
124
  if (!this.blocks[0]?.isComplete()) {
125
125
  throw new Error('Epoch needs one completed block in order to be padded.');
126
126
  }
127
- return this.blocks[0].getPaddingBlockRootInputs(proverId);
127
+ return this.blocks[0].getPaddingBlockRootInputs();
128
128
  }
129
129
  // Returns a specific transaction proving state
130
130
  getBlockProvingStateByBlockNumber(blockNumber) {
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAU3F,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAS9C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EACV,WAAW,EACX,wBAAwB,EAGxB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AAUzC,OAAO,EAAE,KAAK,sBAAsB,EAAgB,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,EAAmB,MAAM,kBAAkB,CAAC;AACtH,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,MAAM,EAIZ,MAAM,yBAAyB,CAAC;AAqBjC;;;;;;;;;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,EAAE,EAC7B,eAAe,GAAE,eAAsC;IAKzD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAEM,WAAW,IAAI,EAAE;IAIjB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,aAAa,CAClB,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,EACtB,2BAA2B,EAAE,2BAA2B;IAmB1D;;;;;OAKG;IAIU,aAAa,CAAC,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE,WAAW;IA8CnH;;;OAGG;IAIU,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDtD;;;OAGG;IAEU,iBAAiB,CAAC,GAAG,EAAE,EAAE,EAAE;IAcxC;;;OAGG;IAIU,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IA4BnG,oDAAoD;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;YAQzB,UAAU;cAqCR,kCAAkC,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,sBAAsB;IAWvG;;OAEG;IACI,MAAM;IAQb;;OAEG;IACU,aAAa;;;;;IA6B1B;;;;OAIG;YACW,kBAAkB;IAShC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;YAwDT,uBAAuB;YAkCvB,uBAAuB;IAyCrC,OAAO,CAAC,iBAAiB;IA8CzB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,kBAAkB;YA0BZ,sBAAsB;IAgFpC,OAAO,CAAC,wBAAwB;IAuBhC,OAAO,CAAC,gCAAgC;IAUxC,OAAO,CAAC,wBAAwB;IA2BhC,OAAO,CAAC,uBAAuB;YAwBjB,mBAAmB;IA6BjC,OAAO,CAAC,iBAAiB;YA4BX,8BAA8B;YAa9B,8BAA8B;IA2B5C,OAAO,CAAC,mCAAmC;IAa3C,OAAO,CAAC,yBAAyB;IASjC;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAmDjB,OAAO,CAAC,4BAA4B;CAWrC"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAU3F,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAS9C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EACV,WAAW,EACX,wBAAwB,EAGxB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AAUzC,OAAO,EAAE,KAAK,sBAAsB,EAAgB,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,EAAmB,MAAM,kBAAkB,CAAC;AACtH,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,MAAM,EAIZ,MAAM,yBAAyB,CAAC;AAqBjC;;;;;;;;;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,EAAE,EAC7B,eAAe,GAAE,eAAsC;IAKzD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAEM,WAAW,IAAI,EAAE;IAIjB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,aAAa,CAClB,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,EACtB,2BAA2B,EAAE,2BAA2B;IAmB1D;;;;;OAKG;IAIU,aAAa,CAAC,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE,WAAW;IA+CnH;;;OAGG;IAIU,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDtD;;;OAGG;IAEU,iBAAiB,CAAC,GAAG,EAAE,EAAE,EAAE;IAcxC;;;OAGG;IAIU,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IA4BnG,oDAAoD;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;YAQzB,UAAU;cAqCR,kCAAkC,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,sBAAsB;IAWvG;;OAEG;IACI,MAAM;IAQb;;OAEG;IACU,aAAa;;;;;IA6B1B;;;;OAIG;YACW,kBAAkB;IAShC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;YAwDT,uBAAuB;YAkCvB,uBAAuB;IAyCrC,OAAO,CAAC,iBAAiB;IA8CzB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,kBAAkB;YA0BZ,sBAAsB;IAgFpC,OAAO,CAAC,wBAAwB;IAuBhC,OAAO,CAAC,gCAAgC;IAUxC,OAAO,CAAC,wBAAwB;IA2BhC,OAAO,CAAC,uBAAuB;IAwB/B,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,iBAAiB;YA4BX,8BAA8B;YAa9B,8BAA8B;IA2B5C,OAAO,CAAC,mCAAmC;IAa3C,OAAO,CAAC,yBAAyB;IASjC;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAmDjB,OAAO,CAAC,4BAA4B;CAWrC"}
@@ -103,7 +103,7 @@ const logger = createLogger('prover-client:orchestrator');
103
103
  const lastArchive = await getTreeSnapshot(MerkleTreeId.ARCHIVE, db);
104
104
  const lastArchiveSiblingPath = await getLastSiblingPath(MerkleTreeId.ARCHIVE, db);
105
105
  const newArchiveSiblingPath = await getRootTreeSiblingPath(MerkleTreeId.ARCHIVE, db);
106
- const blockProvingState = this.provingState.startNewBlock(globalVariables, l1ToL2Messages, l1ToL2MessageTreeSnapshot, l1ToL2MessageSubtreeSiblingPath, l1ToL2MessageTreeSnapshotAfterInsertion, lastArchive, lastArchiveSiblingPath, newArchiveSiblingPath, previousBlockHeader);
106
+ const blockProvingState = this.provingState.startNewBlock(globalVariables, l1ToL2Messages, l1ToL2MessageTreeSnapshot, l1ToL2MessageSubtreeSiblingPath, l1ToL2MessageTreeSnapshotAfterInsertion, lastArchive, lastArchiveSiblingPath, newArchiveSiblingPath, previousBlockHeader, this.proverId);
107
107
  // Enqueue base parity circuits for the block
108
108
  for(let i = 0; i < baseParityInputs.length; i++){
109
109
  this.enqueueBaseParityCircuit(blockProvingState, baseParityInputs[i], i);
@@ -461,7 +461,7 @@ const logger = createLogger('prover-client:orchestrator');
461
461
  return;
462
462
  }
463
463
  provingState.blockRootRollupStarted = true;
464
- const { rollupType, inputs } = await provingState.getBlockRootRollupTypeAndInputs(this.proverId);
464
+ const { rollupType, inputs } = await provingState.getBlockRootRollupTypeAndInputs();
465
465
  logger.debug(`Enqueuing ${rollupType} for block ${provingState.blockNumber} with ${provingState.newL1ToL2Messages.length} l1 to l2 msgs.`);
466
466
  this.deferredProving(provingState, wrapCallbackInSpan(this.tracer, 'ProvingOrchestrator.prover.getBlockRootRollupProof', {
467
467
  [Attributes.PROTOCOL_CIRCUIT_NAME]: rollupType
@@ -497,7 +497,7 @@ const logger = createLogger('prover-client:orchestrator');
497
497
  const epochProvingState = this.provingState;
498
498
  const leafLocation = epochProvingState.setBlockRootRollupProof(provingState.index, result);
499
499
  if (epochProvingState.totalNumBlocks === 1) {
500
- await this.enqueueEpochPadding(epochProvingState);
500
+ this.enqueueEpochPadding(epochProvingState);
501
501
  } else {
502
502
  this.checkAndEnqueueNextBlockMergeRollup(epochProvingState, leafLocation);
503
503
  }
@@ -553,16 +553,16 @@ const logger = createLogger('prover-client:orchestrator');
553
553
  this.checkAndEnqueueNextBlockMergeRollup(provingState, location);
554
554
  });
555
555
  }
556
- async enqueueEpochPadding(provingState) {
556
+ enqueueEpochPadding(provingState) {
557
557
  if (!provingState.verifyState()) {
558
558
  logger.debug('Not running epoch padding. State no longer valid.');
559
559
  return;
560
560
  }
561
- logger.debug('Padding epoch proof with an empty block root proof.');
562
- const inputs = await provingState.getPaddingBlockRootInputs(this.proverId);
563
- this.deferredProving(provingState, wrapCallbackInSpan(this.tracer, 'ProvingOrchestrator.prover.getEmptyBlockRootRollupProof', {
564
- [Attributes.PROTOCOL_CIRCUIT_NAME]: 'empty-block-root-rollup'
565
- }, (signal)=>this.prover.getEmptyBlockRootRollupProof(inputs, signal, provingState.epochNumber)), (result)=>{
561
+ logger.debug('Padding epoch proof with a padding block root proof.');
562
+ const inputs = provingState.getPaddingBlockRootInputs();
563
+ this.deferredProving(provingState, wrapCallbackInSpan(this.tracer, 'ProvingOrchestrator.prover.getPaddingBlockRootRollupProof', {
564
+ [Attributes.PROTOCOL_CIRCUIT_NAME]: 'padding-block-root-rollup'
565
+ }, (signal)=>this.prover.getPaddingBlockRootRollupProof(inputs, signal, provingState.epochNumber)), (result)=>{
566
566
  logger.debug('Completed proof for padding block root.');
567
567
  provingState.setPaddingBlockRootProof(result);
568
568
  this.checkAndEnqueueRootRollup(provingState);
@@ -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,KAAK,iBAAiB,EAEvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAEL,KAAK,eAAe,EAEpB,uBAAuB,EAGvB,sBAAsB,EAEtB,UAAU,EACX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD;;;;GAIG;AACH,qBAAa,cAAc;;aAKP,WAAW,EAAE,WAAW;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe;aAChB,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAN1E,OAAO,CAAC,IAAI,CAAC,CAAoD;IACjE,OAAO,CAAC,GAAG,CAAC,CAAuE;gBAGjE,WAAW,EAAE,WAAW,EACvB,eAAe,EAAE,eAAe,EACjC,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAG1E,IAAI,eAAe,YAElB;IAEM,KAAK;IAIL,aAAa;IAIb,YAAY,IAAI,gBAAgB;IAIhC,0BAA0B;;;;;;;IAc1B,YAAY,CAAC,cAAc,EAAE,uBAAuB,CAAC,OAAO,iBAAiB,CAAC;IAI9E,WAAW,CAAC,aAAa,EAAE,uBAAuB,CAAC,OAAO,oCAAoC,CAAC;CAqEvG"}
1
+ {"version":3,"file":"tx-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/tx-proving-state.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oCAAoC,EAIpC,KAAK,iBAAiB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAEL,KAAK,eAAe,EAEpB,uBAAuB,EAGvB,sBAAsB,EAEtB,UAAU,EACX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD;;;;GAIG;AACH,qBAAa,cAAc;;aAKP,WAAW,EAAE,WAAW;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe;aAChB,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAN1E,OAAO,CAAC,IAAI,CAAC,CAAoD;IACjE,OAAO,CAAC,GAAG,CAAC,CAAuE;gBAGjE,WAAW,EAAE,WAAW,EACvB,eAAe,EAAE,eAAe,EACjC,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAG1E,IAAI,eAAe,YAElB;IAEM,KAAK;IAIL,aAAa;IAIb,YAAY,IAAI,gBAAgB;IAIhC,0BAA0B;;;;;;;IAc1B,YAAY,CAAC,cAAc,EAAE,uBAAuB,CAAC,OAAO,iBAAiB,CAAC;IAI9E,WAAW,CAAC,aAAa,EAAE,uBAAuB,CAAC,OAAO,oCAAoC,CAAC;CAwDvG"}
@@ -1,5 +1,5 @@
1
- import { AVM_VK_INDEX, TUBE_VK_INDEX } from '@aztec/constants';
2
- import { getVKIndex, getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vk-tree';
1
+ import { AVM_VK_INDEX, PRIVATE_TUBE_VK_INDEX, PUBLIC_TUBE_VK_INDEX } from '@aztec/constants';
2
+ import { getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vk-tree';
3
3
  import { AvmProofData, PrivateBaseRollupHints, PrivateBaseRollupInputs, PrivateTubeData, PublicBaseRollupHints, PublicBaseRollupInputs, PublicTubeData, TubeInputs } from '@aztec/stdlib/rollup';
4
4
  import { VkData } from '@aztec/stdlib/vks';
5
5
  /**
@@ -52,7 +52,7 @@ import { VkData } from '@aztec/stdlib/vks';
52
52
  if (!this.tube) {
53
53
  throw new Error('Tx not ready for proving base rollup.');
54
54
  }
55
- const vkData = this.#getTubeVkData();
55
+ const vkData = this.#getVkData(this.tube.verificationKey, PRIVATE_TUBE_VK_INDEX);
56
56
  const tubeData = new PrivateTubeData(this.processedTx.data.toPrivateToRollupKernelCircuitPublicInputs(), this.tube.proof, vkData);
57
57
  if (!(this.baseRollupHints instanceof PrivateBaseRollupHints)) {
58
58
  throw new Error('Mismatched base rollup hints, expected private base rollup hints');
@@ -69,26 +69,15 @@ import { VkData } from '@aztec/stdlib/vks';
69
69
  if (!this.avm) {
70
70
  throw new Error('Tx not ready for proving base rollup: avm proof undefined');
71
71
  }
72
- const tubeData = new PublicTubeData(this.processedTx.data.toPrivateToPublicKernelCircuitPublicInputs(), this.tube.proof, this.#getTubeVkData());
73
- const avmProofData = new AvmProofData(this.processedTx.avmProvingRequest.inputs.publicInputs, this.avm.proof, this.#getAvmVkData());
72
+ const tubeData = new PublicTubeData(this.processedTx.data.toPrivateToPublicKernelCircuitPublicInputs(), this.tube.proof, this.#getVkData(this.tube.verificationKey, PUBLIC_TUBE_VK_INDEX));
73
+ const avmProofData = new AvmProofData(this.processedTx.avmProvingRequest.inputs.publicInputs, this.avm.proof, this.#getVkData(this.avm.verificationKey, AVM_VK_INDEX));
74
74
  if (!(this.baseRollupHints instanceof PublicBaseRollupHints)) {
75
75
  throw new Error('Mismatched base rollup hints, expected public base rollup hints');
76
76
  }
77
77
  return new PublicBaseRollupInputs(tubeData, avmProofData, this.baseRollupHints);
78
78
  }
79
- #getTubeVkData() {
80
- let vkIndex = TUBE_VK_INDEX;
81
- try {
82
- vkIndex = getVKIndex(this.tube.verificationKey);
83
- } catch {
84
- // TODO(#7410) The VK for the tube won't be in the tree for now, so we manually set it to the tube vk index
85
- }
86
- const vkPath = getVKSiblingPath(vkIndex);
87
- return new VkData(this.tube.verificationKey, vkIndex, vkPath);
88
- }
89
- #getAvmVkData() {
90
- const vkIndex = AVM_VK_INDEX;
79
+ #getVkData(verificationKey, vkIndex) {
91
80
  const vkPath = getVKSiblingPath(vkIndex);
92
- return new VkData(this.avm.verificationKey, vkIndex, vkPath);
81
+ return new VkData(verificationKey, vkIndex, vkPath);
93
82
  }
94
83
  }
@@ -2,7 +2,7 @@ import type { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, NESTED_RECURSIVE_PROOF_LENGT
2
2
  import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
3
3
  import { type ProofAndVerificationKey, type ProvingJobProducer, type PublicInputsAndRecursiveProof, type ServerCircuitProver } from '@aztec/stdlib/interfaces/server';
4
4
  import type { BaseParityInputs, ParityPublicInputs, RootParityInputs } from '@aztec/stdlib/parity';
5
- import type { BaseOrMergeRollupPublicInputs, BlockMergeRollupInputs, BlockRootOrBlockMergePublicInputs, BlockRootRollupInputs, EmptyBlockRootRollupInputs, MergeRollupInputs, PrivateBaseRollupInputs, PublicBaseRollupInputs, RootRollupInputs, RootRollupPublicInputs, SingleTxBlockRootRollupInputs, TubeInputs } from '@aztec/stdlib/rollup';
5
+ import type { BaseOrMergeRollupPublicInputs, BlockMergeRollupInputs, BlockRootOrBlockMergePublicInputs, BlockRootRollupInputs, EmptyBlockRootRollupInputs, MergeRollupInputs, PaddingBlockRootRollupInputs, PrivateBaseRollupInputs, PublicBaseRollupInputs, RootRollupInputs, RootRollupPublicInputs, SingleTxBlockRootRollupInputs, TubeInputs } from '@aztec/stdlib/rollup';
6
6
  import { type ProofStore } from './proof_store/index.js';
7
7
  export declare class BrokerCircuitProverFacade implements ServerCircuitProver {
8
8
  private broker;
@@ -36,6 +36,7 @@ export declare class BrokerCircuitProverFacade implements ServerCircuitProver {
36
36
  getBlockRootRollupProof(input: BlockRootRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
37
37
  getSingleTxBlockRootRollupProof(input: SingleTxBlockRootRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
38
38
  getEmptyBlockRootRollupProof(input: EmptyBlockRootRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
39
+ getPaddingBlockRootRollupProof(input: PaddingBlockRootRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
39
40
  getMergeRollupProof(input: MergeRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
40
41
  getPrivateBaseRollupProof(baseRollupInput: PrivateBaseRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
41
42
  getPublicBaseRollupProof(inputs: PublicBaseRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
@@ -1 +1 @@
1
- {"version":3,"file":"broker_prover_facade.d.ts","sourceRoot":"","sources":["../../src/proving_broker/broker_prover_facade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broker_prover_facade.d.ts","sourceRoot":"","sources":["../../src/proving_broker/broker_prover_facade.ts"],"names":[],"mappings":"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"}
@@ -326,6 +326,9 @@ export class BrokerCircuitProverFacade {
326
326
  getEmptyBlockRootRollupProof(input, signal, epochNumber) {
327
327
  return this.enqueueJob(this.generateId(ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP, input, epochNumber), ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP, input, epochNumber, signal);
328
328
  }
329
+ getPaddingBlockRootRollupProof(input, signal, epochNumber) {
330
+ return this.enqueueJob(this.generateId(ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP, input, epochNumber), ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP, input, epochNumber, signal);
331
+ }
329
332
  getMergeRollupProof(input, signal, epochNumber) {
330
333
  return this.enqueueJob(this.generateId(ProvingRequestType.MERGE_ROLLUP, input, epochNumber), ProvingRequestType.MERGE_ROLLUP, input, epochNumber, signal);
331
334
  }
@@ -1 +1 @@
1
- {"version":3,"file":"proving_broker.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_broker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proving_broker.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_broker.ts"],"names":[],"mappings":"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"}
@@ -70,6 +70,7 @@ import { ProvingBrokerInstrumentation } from './proving_broker_instrumentation.j
70
70
  [ProvingRequestType.BLOCK_ROOT_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
71
71
  [ProvingRequestType.SINGLE_TX_BLOCK_ROOT_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
72
72
  [ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
73
+ [ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
73
74
  [ProvingRequestType.BASE_PARITY]: new PriorityMemoryQueue(provingJobComparator),
74
75
  [ProvingRequestType.ROOT_PARITY]: new PriorityMemoryQueue(provingJobComparator)
75
76
  };
@@ -1 +1 @@
1
- {"version":3,"file":"proving_job_controller.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_job_controller.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,oBAAY,0BAA0B;IACpC,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;CACd;AAED,qBAAa,oBAAoB;IAO7B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,GAAG;IAZb,OAAO,CAAC,MAAM,CAA+D;IAC7E,OAAO,CAAC,OAAO,CAAC,CAAgB;IAChC,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,MAAM,CAAC,CAAmD;gBAGxD,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,mBAAmB,EAClC,UAAU,EAAE,MAAM,IAAI,EACtB,GAAG,yCAA+F;IAGrG,KAAK,IAAI,IAAI;IAmBb,SAAS,IAAI,0BAA0B;IAIvC,SAAS,IAAI,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,KAAK,GAAG,SAAS;IAIzE,KAAK,IAAI,IAAI;IAeb,QAAQ,IAAI,YAAY;IAIxB,YAAY,IAAI,kBAAkB;IAIlC,YAAY,IAAI,MAAM;IAItB,gBAAgB,IAAI,MAAM;IAIjC,OAAO,CAAC,GAAG,CA4BT;YAEY,aAAa;CA2D5B"}
1
+ {"version":3,"file":"proving_job_controller.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_job_controller.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,oBAAY,0BAA0B;IACpC,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;CACd;AAED,qBAAa,oBAAoB;IAO7B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,GAAG;IAZb,OAAO,CAAC,MAAM,CAA+D;IAC7E,OAAO,CAAC,OAAO,CAAC,CAAgB;IAChC,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,MAAM,CAAC,CAAmD;gBAGxD,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,mBAAmB,EAClC,UAAU,EAAE,MAAM,IAAI,EACtB,GAAG,yCAA+F;IAGrG,KAAK,IAAI,IAAI;IAmBb,SAAS,IAAI,0BAA0B;IAIvC,SAAS,IAAI,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,KAAK,GAAG,SAAS;IAIzE,KAAK,IAAI,IAAI;IAeb,QAAQ,IAAI,YAAY;IAIxB,YAAY,IAAI,kBAAkB;IAIlC,YAAY,IAAI,MAAM;IAItB,gBAAgB,IAAI,MAAM;IAIjC,OAAO,CAAC,GAAG,CA4BT;YAEY,aAAa;CA+D5B"}
@@ -132,6 +132,10 @@ export class ProvingJobController {
132
132
  {
133
133
  return await this.circuitProver.getEmptyBlockRootRollupProof(inputs, signal, this.epochNumber);
134
134
  }
135
+ case ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP:
136
+ {
137
+ return await this.circuitProver.getPaddingBlockRootRollupProof(inputs, signal, this.epochNumber);
138
+ }
135
139
  case ProvingRequestType.BLOCK_ROOT_ROLLUP:
136
140
  {
137
141
  return await this.circuitProver.getBlockRootRollupProof(inputs, signal, this.epochNumber);
@@ -2,7 +2,7 @@ import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, TUBE_PROOF_LENGTH } from '@a
2
2
  import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
3
3
  import { type ProofAndVerificationKey, type ProvingJob, type ProvingJobId, type ProvingJobProducer, type ProvingJobStatus, type PublicInputsAndRecursiveProof, type ServerCircuitProver } from '@aztec/stdlib/interfaces/server';
4
4
  import type { BaseParityInputs, RootParityInputs } from '@aztec/stdlib/parity';
5
- import type { BaseOrMergeRollupPublicInputs, BlockMergeRollupInputs, BlockRootOrBlockMergePublicInputs, BlockRootRollupInputs, EmptyBlockRootRollupInputs, MergeRollupInputs, PrivateBaseRollupInputs, PublicBaseRollupInputs, RootRollupInputs, RootRollupPublicInputs, SingleTxBlockRootRollupInputs } from '@aztec/stdlib/rollup';
5
+ import type { BaseOrMergeRollupPublicInputs, BlockMergeRollupInputs, BlockRootOrBlockMergePublicInputs, BlockRootRollupInputs, EmptyBlockRootRollupInputs, MergeRollupInputs, PaddingBlockRootRollupInputs, PrivateBaseRollupInputs, PublicBaseRollupInputs, RootRollupInputs, RootRollupPublicInputs, SingleTxBlockRootRollupInputs } from '@aztec/stdlib/rollup';
6
6
  import { type ProofStore } from '../proving_broker/proof_store/index.js';
7
7
  export declare class TestBroker implements ProvingJobProducer {
8
8
  private proofStore;
@@ -28,6 +28,7 @@ export declare class MockProver implements ServerCircuitProver {
28
28
  getMergeRollupProof(_input: MergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
29
29
  getBlockMergeRollupProof(_input: BlockMergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, 535>>;
30
30
  getEmptyBlockRootRollupProof(_input: EmptyBlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
31
+ getPaddingBlockRootRollupProof(_input: PaddingBlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
31
32
  getBlockRootRollupProof(_input: BlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
32
33
  getSingleTxBlockRootRollupProof(_input: SingleTxBlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
33
34
  getRootRollupProof(_input: RootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs>>;
@@ -1 +1 @@
1
- {"version":3,"file":"mock_prover.d.ts","sourceRoot":"","sources":["../../src/test/mock_prover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock_prover.d.ts","sourceRoot":"","sources":["../../src/test/mock_prover.ts"],"names":[],"mappings":"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"}
@@ -67,6 +67,9 @@ export class MockProver {
67
67
  getEmptyBlockRootRollupProof(_input, _signal, _epochNumber) {
68
68
  return Promise.resolve(makePublicInputsAndRecursiveProof(makeBlockRootOrBlockMergeRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
69
69
  }
70
+ getPaddingBlockRootRollupProof(_input, _signal, _epochNumber) {
71
+ return Promise.resolve(makePublicInputsAndRecursiveProof(makeBlockRootOrBlockMergeRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
72
+ }
70
73
  getBlockRootRollupProof(_input, _signal, _epochNumber) {
71
74
  return Promise.resolve(makePublicInputsAndRecursiveProof(makeBlockRootOrBlockMergeRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
72
75
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/prover-client",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -68,19 +68,19 @@
68
68
  ]
69
69
  },
70
70
  "dependencies": {
71
- "@aztec/bb-prover": "1.0.0",
72
- "@aztec/blob-lib": "1.0.0",
73
- "@aztec/constants": "1.0.0",
74
- "@aztec/ethereum": "1.0.0",
75
- "@aztec/foundation": "1.0.0",
76
- "@aztec/kv-store": "1.0.0",
77
- "@aztec/noir-protocol-circuits-types": "1.0.0",
78
- "@aztec/noir-types": "1.0.0",
79
- "@aztec/protocol-contracts": "1.0.0",
80
- "@aztec/simulator": "1.0.0",
81
- "@aztec/stdlib": "1.0.0",
82
- "@aztec/telemetry-client": "1.0.0",
83
- "@aztec/world-state": "1.0.0",
71
+ "@aztec/bb-prover": "1.1.0",
72
+ "@aztec/blob-lib": "1.1.0",
73
+ "@aztec/constants": "1.1.0",
74
+ "@aztec/ethereum": "1.1.0",
75
+ "@aztec/foundation": "1.1.0",
76
+ "@aztec/kv-store": "1.1.0",
77
+ "@aztec/noir-protocol-circuits-types": "1.1.0",
78
+ "@aztec/noir-types": "1.1.0",
79
+ "@aztec/protocol-contracts": "1.1.0",
80
+ "@aztec/simulator": "1.1.0",
81
+ "@aztec/stdlib": "1.1.0",
82
+ "@aztec/telemetry-client": "1.1.0",
83
+ "@aztec/world-state": "1.1.0",
84
84
  "@google-cloud/storage": "^7.15.0",
85
85
  "@iarna/toml": "^2.2.5",
86
86
  "commander": "^12.1.0",
@@ -90,7 +90,7 @@
90
90
  "zod": "^3.23.8"
91
91
  },
92
92
  "devDependencies": {
93
- "@aztec/noir-contracts.js": "1.0.0",
93
+ "@aztec/noir-contracts.js": "1.1.0",
94
94
  "@jest/globals": "^30.0.0",
95
95
  "@types/jest": "^30.0.0",
96
96
  "@types/node": "^22.15.17",
@@ -25,12 +25,14 @@ import {
25
25
  BlockRootRollupData,
26
26
  BlockRootRollupInputs,
27
27
  EmptyBlockRootRollupInputs,
28
+ EpochConstantData,
28
29
  MergeRollupInputs,
30
+ PaddingBlockRootRollupInputs,
29
31
  PreviousRollupData,
30
32
  SingleTxBlockRootRollupInputs,
31
33
  } from '@aztec/stdlib/rollup';
32
34
  import type { CircuitName } from '@aztec/stdlib/stats';
33
- import type { AppendOnlyTreeSnapshot, MerkleTreeId } from '@aztec/stdlib/trees';
35
+ import { AppendOnlyTreeSnapshot, type MerkleTreeId } from '@aztec/stdlib/trees';
34
36
  import { type BlockHeader, type GlobalVariables, StateReference } from '@aztec/stdlib/tx';
35
37
  import { VkData } from '@aztec/stdlib/vks';
36
38
 
@@ -79,6 +81,7 @@ export class BlockProvingState {
79
81
  private readonly lastArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
80
82
  private readonly newArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
81
83
  private readonly previousBlockHeader: BlockHeader,
84
+ private readonly proverId: Fr,
82
85
  private readonly parentEpoch: EpochProvingState,
83
86
  ) {
84
87
  this.baseParityProvingOutputs = Array.from({ length: NUM_BASE_PARITY_PER_ROOT_PARITY }).map(_ => undefined);
@@ -204,7 +207,7 @@ export class BlockProvingState {
204
207
  return new MergeRollupInputs([this.#getPreviousRollupData(left), this.#getPreviousRollupData(right)]);
205
208
  }
206
209
 
207
- public async getBlockRootRollupTypeAndInputs(proverId: Fr) {
210
+ public async getBlockRootRollupTypeAndInputs() {
208
211
  if (!this.rootParityProvingOutput) {
209
212
  throw new Error('Root parity is not ready.');
210
213
  }
@@ -215,7 +218,7 @@ export class BlockProvingState {
215
218
  throw new Error('At lease one child is not ready for the block root.');
216
219
  }
217
220
 
218
- const data = this.#getBlockRootRollupData(proverId);
221
+ const data = this.#getBlockRootRollupData();
219
222
 
220
223
  if (this.totalNumTxs === 0) {
221
224
  const constants = BlockConstantData.from({
@@ -233,7 +236,6 @@ export class BlockProvingState {
233
236
  inputs: EmptyBlockRootRollupInputs.from({
234
237
  data,
235
238
  constants,
236
- isPadding: false,
237
239
  }),
238
240
  };
239
241
  }
@@ -259,43 +261,15 @@ export class BlockProvingState {
259
261
  }
260
262
  }
261
263
 
262
- public async getPaddingBlockRootInputs(proverId: Fr) {
263
- if (!this.rootParityProvingOutput) {
264
- throw new Error('Root parity is not ready.');
265
- }
266
-
267
- if (!this.blockRootProvingOutput || !this.endBlobAccumulator) {
268
- throw new Error('Block root not ready for padding.');
269
- }
270
-
271
- // Use the new block header, archive and l1toL2 of the current block as the previous header, archive and l1toL2 of the next padding block.
272
- const previousBlockHeader = await this.buildHeaderFromProvingOutputs();
273
- const lastArchive = this.blockRootProvingOutput!.inputs.newArchive;
274
- const lastL1ToL2 = this.l1ToL2MessageTreeSnapshotAfterInsertion;
275
-
276
- const data = BlockRootRollupData.from({
277
- l1ToL2Roots: this.#getRootParityData(this.rootParityProvingOutput!),
278
- l1ToL2MessageSubtreeSiblingPath: this.l1ToL2MessageSubtreeSiblingPath,
279
- previousArchiveSiblingPath: this.lastArchiveSiblingPath,
280
- newArchiveSiblingPath: this.newArchiveSiblingPath,
281
- previousBlockHeader,
282
- startBlobAccumulator: BlobAccumulatorPublicInputs.fromBatchedBlobAccumulator(this.endBlobAccumulator),
283
- finalBlobChallenges: this.endBlobAccumulator.finalBlobChallenges,
284
- proverId,
285
- });
286
-
287
- const constants = BlockConstantData.from({
288
- lastArchive,
289
- lastL1ToL2,
290
- globalVariables: this.globalVariables,
264
+ public getPaddingBlockRootInputs() {
265
+ const constants = EpochConstantData.from({
291
266
  vkTreeRoot: getVKTreeRoot(),
292
267
  protocolContractTreeRoot,
268
+ proverId: this.proverId,
293
269
  });
294
270
 
295
- return EmptyBlockRootRollupInputs.from({
296
- data,
271
+ return PaddingBlockRootRollupInputs.from({
297
272
  constants,
298
- isPadding: true,
299
273
  });
300
274
  }
301
275
 
@@ -375,7 +349,7 @@ export class BlockProvingState {
375
349
  this.parentEpoch.reject(reason);
376
350
  }
377
351
 
378
- #getBlockRootRollupData(proverId: Fr) {
352
+ #getBlockRootRollupData() {
379
353
  return BlockRootRollupData.from({
380
354
  l1ToL2Roots: this.#getRootParityData(this.rootParityProvingOutput!),
381
355
  l1ToL2MessageSubtreeSiblingPath: this.l1ToL2MessageSubtreeSiblingPath,
@@ -384,7 +358,7 @@ export class BlockProvingState {
384
358
  previousBlockHeader: this.previousBlockHeader,
385
359
  startBlobAccumulator: BlobAccumulatorPublicInputs.fromBatchedBlobAccumulator(this.startBlobAccumulator!),
386
360
  finalBlobChallenges: this.startBlobAccumulator!.finalBlobChallenges,
387
- proverId,
361
+ proverId: this.proverId,
388
362
  });
389
363
  }
390
364
 
@@ -80,6 +80,7 @@ export class EpochProvingState {
80
80
  lastArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
81
81
  newArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
82
82
  previousBlockHeader: BlockHeader,
83
+ proverId: Fr,
83
84
  ): BlockProvingState {
84
85
  const index = globalVariables.blockNumber - this.firstBlockNumber;
85
86
  const block = new BlockProvingState(
@@ -93,6 +94,7 @@ export class EpochProvingState {
93
94
  lastArchiveSiblingPath,
94
95
  newArchiveSiblingPath,
95
96
  previousBlockHeader,
97
+ proverId,
96
98
  this,
97
99
  );
98
100
  this.blocks[index] = block;
@@ -197,12 +199,12 @@ export class EpochProvingState {
197
199
  });
198
200
  }
199
201
 
200
- public getPaddingBlockRootInputs(proverId: Fr) {
202
+ public getPaddingBlockRootInputs() {
201
203
  if (!this.blocks[0]?.isComplete()) {
202
204
  throw new Error('Epoch needs one completed block in order to be padded.');
203
205
  }
204
206
 
205
- return this.blocks[0].getPaddingBlockRootInputs(proverId);
207
+ return this.blocks[0].getPaddingBlockRootInputs();
206
208
  }
207
209
 
208
210
  // Returns a specific transaction proving state
@@ -178,6 +178,7 @@ export class ProvingOrchestrator implements EpochProver {
178
178
  lastArchiveSiblingPath,
179
179
  newArchiveSiblingPath,
180
180
  previousBlockHeader,
181
+ this.proverId,
181
182
  );
182
183
 
183
184
  // Enqueue base parity circuits for the block
@@ -681,7 +682,7 @@ export class ProvingOrchestrator implements EpochProver {
681
682
 
682
683
  provingState.blockRootRollupStarted = true;
683
684
 
684
- const { rollupType, inputs } = await provingState.getBlockRootRollupTypeAndInputs(this.proverId);
685
+ const { rollupType, inputs } = await provingState.getBlockRootRollupTypeAndInputs();
685
686
 
686
687
  logger.debug(
687
688
  `Enqueuing ${rollupType} for block ${provingState.blockNumber} with ${provingState.newL1ToL2Messages.length} l1 to l2 msgs.`,
@@ -743,7 +744,7 @@ export class ProvingOrchestrator implements EpochProver {
743
744
  const epochProvingState = this.provingState!;
744
745
  const leafLocation = epochProvingState.setBlockRootRollupProof(provingState.index, result);
745
746
  if (epochProvingState.totalNumBlocks === 1) {
746
- await this.enqueueEpochPadding(epochProvingState);
747
+ this.enqueueEpochPadding(epochProvingState);
747
748
  } else {
748
749
  this.checkAndEnqueueNextBlockMergeRollup(epochProvingState, leafLocation);
749
750
  }
@@ -837,25 +838,25 @@ export class ProvingOrchestrator implements EpochProver {
837
838
  );
838
839
  }
839
840
 
840
- private async enqueueEpochPadding(provingState: EpochProvingState) {
841
+ private enqueueEpochPadding(provingState: EpochProvingState) {
841
842
  if (!provingState.verifyState()) {
842
843
  logger.debug('Not running epoch padding. State no longer valid.');
843
844
  return;
844
845
  }
845
846
 
846
- logger.debug('Padding epoch proof with an empty block root proof.');
847
+ logger.debug('Padding epoch proof with a padding block root proof.');
847
848
 
848
- const inputs = await provingState.getPaddingBlockRootInputs(this.proverId);
849
+ const inputs = provingState.getPaddingBlockRootInputs();
849
850
 
850
851
  this.deferredProving(
851
852
  provingState,
852
853
  wrapCallbackInSpan(
853
854
  this.tracer,
854
- 'ProvingOrchestrator.prover.getEmptyBlockRootRollupProof',
855
+ 'ProvingOrchestrator.prover.getPaddingBlockRootRollupProof',
855
856
  {
856
- [Attributes.PROTOCOL_CIRCUIT_NAME]: 'empty-block-root-rollup' satisfies CircuitName,
857
+ [Attributes.PROTOCOL_CIRCUIT_NAME]: 'padding-block-root-rollup' satisfies CircuitName,
857
858
  },
858
- signal => this.prover.getEmptyBlockRootRollupProof(inputs, signal, provingState.epochNumber),
859
+ signal => this.prover.getPaddingBlockRootRollupProof(inputs, signal, provingState.epochNumber),
859
860
  ),
860
861
  result => {
861
862
  logger.debug('Completed proof for padding block root.');
@@ -1,10 +1,11 @@
1
1
  import {
2
2
  AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED,
3
3
  AVM_VK_INDEX,
4
+ PRIVATE_TUBE_VK_INDEX,
5
+ PUBLIC_TUBE_VK_INDEX,
4
6
  type TUBE_PROOF_LENGTH,
5
- TUBE_VK_INDEX,
6
7
  } from '@aztec/constants';
7
- import { getVKIndex, getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vk-tree';
8
+ import { getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vk-tree';
8
9
  import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
9
10
  import type { ProofAndVerificationKey } from '@aztec/stdlib/interfaces/server';
10
11
  import {
@@ -21,7 +22,7 @@ import {
21
22
  import type { CircuitName } from '@aztec/stdlib/stats';
22
23
  import type { AppendOnlyTreeSnapshot, MerkleTreeId } from '@aztec/stdlib/trees';
23
24
  import type { ProcessedTx } from '@aztec/stdlib/tx';
24
- import { VkData } from '@aztec/stdlib/vks';
25
+ import { VerificationKeyData, VkData } from '@aztec/stdlib/vks';
25
26
 
26
27
  /**
27
28
  * Helper class to manage the proving cycle of a transaction
@@ -81,7 +82,7 @@ export class TxProvingState {
81
82
  throw new Error('Tx not ready for proving base rollup.');
82
83
  }
83
84
 
84
- const vkData = this.#getTubeVkData();
85
+ const vkData = this.#getVkData(this.tube!.verificationKey, PRIVATE_TUBE_VK_INDEX);
85
86
  const tubeData = new PrivateTubeData(
86
87
  this.processedTx.data.toPrivateToRollupKernelCircuitPublicInputs(),
87
88
  this.tube.proof,
@@ -108,13 +109,13 @@ export class TxProvingState {
108
109
  const tubeData = new PublicTubeData(
109
110
  this.processedTx.data.toPrivateToPublicKernelCircuitPublicInputs(),
110
111
  this.tube.proof,
111
- this.#getTubeVkData(),
112
+ this.#getVkData(this.tube!.verificationKey, PUBLIC_TUBE_VK_INDEX),
112
113
  );
113
114
 
114
115
  const avmProofData = new AvmProofData(
115
116
  this.processedTx.avmProvingRequest.inputs.publicInputs,
116
117
  this.avm.proof,
117
- this.#getAvmVkData(),
118
+ this.#getVkData(this.avm!.verificationKey, AVM_VK_INDEX),
118
119
  );
119
120
 
120
121
  if (!(this.baseRollupHints instanceof PublicBaseRollupHints)) {
@@ -124,21 +125,8 @@ export class TxProvingState {
124
125
  return new PublicBaseRollupInputs(tubeData, avmProofData, this.baseRollupHints);
125
126
  }
126
127
 
127
- #getTubeVkData() {
128
- let vkIndex = TUBE_VK_INDEX;
129
- try {
130
- vkIndex = getVKIndex(this.tube!.verificationKey);
131
- } catch {
132
- // TODO(#7410) The VK for the tube won't be in the tree for now, so we manually set it to the tube vk index
133
- }
134
- const vkPath = getVKSiblingPath(vkIndex);
135
-
136
- return new VkData(this.tube!.verificationKey, vkIndex, vkPath);
137
- }
138
-
139
- #getAvmVkData() {
140
- const vkIndex = AVM_VK_INDEX;
128
+ #getVkData(verificationKey: VerificationKeyData, vkIndex: number) {
141
129
  const vkPath = getVKSiblingPath(vkIndex);
142
- return new VkData(this.avm!.verificationKey, vkIndex, vkPath);
130
+ return new VkData(verificationKey, vkIndex, vkPath);
143
131
  }
144
132
  }
@@ -32,6 +32,7 @@ import type {
32
32
  BlockRootRollupInputs,
33
33
  EmptyBlockRootRollupInputs,
34
34
  MergeRollupInputs,
35
+ PaddingBlockRootRollupInputs,
35
36
  PrivateBaseRollupInputs,
36
37
  PublicBaseRollupInputs,
37
38
  RootRollupInputs,
@@ -488,6 +489,22 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
488
489
  );
489
490
  }
490
491
 
492
+ getPaddingBlockRootRollupProof(
493
+ input: PaddingBlockRootRollupInputs,
494
+ signal?: AbortSignal,
495
+ epochNumber?: number,
496
+ ): Promise<
497
+ PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
498
+ > {
499
+ return this.enqueueJob(
500
+ this.generateId(ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP, input, epochNumber),
501
+ ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP,
502
+ input,
503
+ epochNumber,
504
+ signal,
505
+ );
506
+ }
507
+
491
508
  getMergeRollupProof(
492
509
  input: MergeRollupInputs,
493
510
  signal?: AbortSignal,
@@ -55,6 +55,7 @@ export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Tr
55
55
  [ProvingRequestType.BLOCK_ROOT_ROLLUP]: new PriorityMemoryQueue<EnqueuedProvingJob>(provingJobComparator),
56
56
  [ProvingRequestType.SINGLE_TX_BLOCK_ROOT_ROLLUP]: new PriorityMemoryQueue<EnqueuedProvingJob>(provingJobComparator),
57
57
  [ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP]: new PriorityMemoryQueue<EnqueuedProvingJob>(provingJobComparator),
58
+ [ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP]: new PriorityMemoryQueue<EnqueuedProvingJob>(provingJobComparator),
58
59
 
59
60
  [ProvingRequestType.BASE_PARITY]: new PriorityMemoryQueue<EnqueuedProvingJob>(provingJobComparator),
60
61
  [ProvingRequestType.ROOT_PARITY]: new PriorityMemoryQueue<EnqueuedProvingJob>(provingJobComparator),
@@ -144,6 +144,10 @@ export class ProvingJobController {
144
144
  return await this.circuitProver.getEmptyBlockRootRollupProof(inputs, signal, this.epochNumber);
145
145
  }
146
146
 
147
+ case ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP: {
148
+ return await this.circuitProver.getPaddingBlockRootRollupProof(inputs, signal, this.epochNumber);
149
+ }
150
+
147
151
  case ProvingRequestType.BLOCK_ROOT_ROLLUP: {
148
152
  return await this.circuitProver.getBlockRootRollupProof(inputs, signal, this.epochNumber);
149
153
  }
@@ -28,6 +28,7 @@ import type {
28
28
  BlockRootRollupInputs,
29
29
  EmptyBlockRootRollupInputs,
30
30
  MergeRollupInputs,
31
+ PaddingBlockRootRollupInputs,
31
32
  PrivateBaseRollupInputs,
32
33
  PublicBaseRollupInputs,
33
34
  RootRollupInputs,
@@ -204,6 +205,22 @@ export class MockProver implements ServerCircuitProver {
204
205
  );
205
206
  }
206
207
 
208
+ getPaddingBlockRootRollupProof(
209
+ _input: PaddingBlockRootRollupInputs,
210
+ _signal?: AbortSignal,
211
+ _epochNumber?: number,
212
+ ): Promise<
213
+ PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
214
+ > {
215
+ return Promise.resolve(
216
+ makePublicInputsAndRecursiveProof(
217
+ makeBlockRootOrBlockMergeRollupPublicInputs(),
218
+ makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
219
+ VerificationKeyData.makeFakeRollupHonk(),
220
+ ),
221
+ );
222
+ }
223
+
207
224
  getBlockRootRollupProof(
208
225
  _input: BlockRootRollupInputs,
209
226
  _signal?: AbortSignal,