@aztec/prover-client 1.0.0-staging.3 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/orchestrator/block-proving-state.d.ts +5 -6
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/block-proving-state.js +38 -15
- package/dest/orchestrator/epoch-proving-state.d.ts +2 -2
- package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/epoch-proving-state.js +4 -4
- package/dest/orchestrator/orchestrator.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator.js +9 -9
- package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/tx-proving-state.js +18 -7
- package/dest/proving_broker/broker_prover_facade.d.ts +1 -2
- package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
- package/dest/proving_broker/broker_prover_facade.js +0 -3
- package/dest/proving_broker/proving_broker.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker.js +0 -1
- package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
- package/dest/proving_broker/proving_job_controller.js +0 -4
- package/dest/test/mock_prover.d.ts +1 -2
- package/dest/test/mock_prover.d.ts.map +1 -1
- package/dest/test/mock_prover.js +0 -3
- package/package.json +15 -15
- package/src/orchestrator/block-proving-state.ts +38 -12
- package/src/orchestrator/epoch-proving-state.ts +2 -4
- package/src/orchestrator/orchestrator.ts +8 -9
- package/src/orchestrator/tx-proving-state.ts +21 -9
- package/src/proving_broker/broker_prover_facade.ts +0 -17
- package/src/proving_broker/proving_broker.ts +0 -1
- package/src/proving_broker/proving_job_controller.ts +0 -4
- package/src/test/mock_prover.ts +0 -17
|
@@ -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,
|
|
10
|
-
import { AppendOnlyTreeSnapshot,
|
|
9
|
+
import { type BaseOrMergeRollupPublicInputs, type BlockRootOrBlockMergePublicInputs, BlockRootRollupInputs, EmptyBlockRootRollupInputs, MergeRollupInputs, SingleTxBlockRootRollupInputs } from '@aztec/stdlib/rollup';
|
|
10
|
+
import type { AppendOnlyTreeSnapshot, 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,7 +28,6 @@ export declare class BlockProvingState {
|
|
|
28
28
|
private readonly lastArchiveSiblingPath;
|
|
29
29
|
private readonly newArchiveSiblingPath;
|
|
30
30
|
private readonly previousBlockHeader;
|
|
31
|
-
private readonly proverId;
|
|
32
31
|
private readonly parentEpoch;
|
|
33
32
|
private baseOrMergeProvingOutputs;
|
|
34
33
|
private baseParityProvingOutputs;
|
|
@@ -43,7 +42,7 @@ export declare class BlockProvingState {
|
|
|
43
42
|
totalNumTxs: number;
|
|
44
43
|
private txs;
|
|
45
44
|
error: string | undefined;
|
|
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,
|
|
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);
|
|
47
46
|
get blockNumber(): number;
|
|
48
47
|
startNewBlock(numTxs: number, numBlobFields: number): void;
|
|
49
48
|
addNewTx(tx: TxProvingState): number;
|
|
@@ -61,7 +60,7 @@ export declare class BlockProvingState {
|
|
|
61
60
|
get epochNumber(): number;
|
|
62
61
|
getParentLocation(location: TreeNodeLocation): TreeNodeLocation;
|
|
63
62
|
getMergeRollupInputs(mergeLocation: TreeNodeLocation): MergeRollupInputs;
|
|
64
|
-
getBlockRootRollupTypeAndInputs(): Promise<{
|
|
63
|
+
getBlockRootRollupTypeAndInputs(proverId: Fr): Promise<{
|
|
65
64
|
rollupType: string;
|
|
66
65
|
inputs: EmptyBlockRootRollupInputs;
|
|
67
66
|
} | {
|
|
@@ -71,7 +70,7 @@ export declare class BlockProvingState {
|
|
|
71
70
|
rollupType: string;
|
|
72
71
|
inputs: BlockRootRollupInputs;
|
|
73
72
|
}>;
|
|
74
|
-
getPaddingBlockRootInputs():
|
|
73
|
+
getPaddingBlockRootInputs(proverId: Fr): Promise<EmptyBlockRootRollupInputs>;
|
|
75
74
|
getRootParityInputs(): RootParityInputs;
|
|
76
75
|
getTxProvingState(txIndex: number): TxProvingState;
|
|
77
76
|
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,
|
|
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,
|
|
9
|
+
import { BlockConstantData, BlockRootRollupBlobData, BlockRootRollupData, BlockRootRollupInputs, EmptyBlockRootRollupInputs, MergeRollupInputs, 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,7 +24,6 @@ import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmpt
|
|
|
24
24
|
lastArchiveSiblingPath;
|
|
25
25
|
newArchiveSiblingPath;
|
|
26
26
|
previousBlockHeader;
|
|
27
|
-
proverId;
|
|
28
27
|
parentEpoch;
|
|
29
28
|
baseOrMergeProvingOutputs;
|
|
30
29
|
baseParityProvingOutputs;
|
|
@@ -39,7 +38,7 @@ import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmpt
|
|
|
39
38
|
totalNumTxs;
|
|
40
39
|
txs;
|
|
41
40
|
error;
|
|
42
|
-
constructor(index, globalVariables, newL1ToL2Messages, l1ToL2MessageTreeSnapshot, l1ToL2MessageSubtreeSiblingPath, l1ToL2MessageTreeSnapshotAfterInsertion, lastArchiveSnapshot, lastArchiveSiblingPath, newArchiveSiblingPath, previousBlockHeader,
|
|
41
|
+
constructor(index, globalVariables, newL1ToL2Messages, l1ToL2MessageTreeSnapshot, l1ToL2MessageSubtreeSiblingPath, l1ToL2MessageTreeSnapshotAfterInsertion, lastArchiveSnapshot, lastArchiveSiblingPath, newArchiveSiblingPath, previousBlockHeader, parentEpoch){
|
|
43
42
|
this.index = index;
|
|
44
43
|
this.globalVariables = globalVariables;
|
|
45
44
|
this.newL1ToL2Messages = newL1ToL2Messages;
|
|
@@ -50,7 +49,6 @@ import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmpt
|
|
|
50
49
|
this.lastArchiveSiblingPath = lastArchiveSiblingPath;
|
|
51
50
|
this.newArchiveSiblingPath = newArchiveSiblingPath;
|
|
52
51
|
this.previousBlockHeader = previousBlockHeader;
|
|
53
|
-
this.proverId = proverId;
|
|
54
52
|
this.parentEpoch = parentEpoch;
|
|
55
53
|
this.baseOrMergeProvingOutputs = new UnbalancedTreeStore(0);
|
|
56
54
|
this.blockRootRollupStarted = false;
|
|
@@ -141,7 +139,7 @@ import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmpt
|
|
|
141
139
|
this.#getPreviousRollupData(right)
|
|
142
140
|
]);
|
|
143
141
|
}
|
|
144
|
-
async getBlockRootRollupTypeAndInputs() {
|
|
142
|
+
async getBlockRootRollupTypeAndInputs(proverId) {
|
|
145
143
|
if (!this.rootParityProvingOutput) {
|
|
146
144
|
throw new Error('Root parity is not ready.');
|
|
147
145
|
}
|
|
@@ -150,7 +148,7 @@ import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmpt
|
|
|
150
148
|
if (proofs.length !== nonEmptyProofs.length) {
|
|
151
149
|
throw new Error('At lease one child is not ready for the block root.');
|
|
152
150
|
}
|
|
153
|
-
const data = this.#getBlockRootRollupData();
|
|
151
|
+
const data = this.#getBlockRootRollupData(proverId);
|
|
154
152
|
if (this.totalNumTxs === 0) {
|
|
155
153
|
const constants = BlockConstantData.from({
|
|
156
154
|
lastArchive: this.lastArchiveSnapshot,
|
|
@@ -164,7 +162,8 @@ import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmpt
|
|
|
164
162
|
rollupType: 'empty-block-root-rollup',
|
|
165
163
|
inputs: EmptyBlockRootRollupInputs.from({
|
|
166
164
|
data,
|
|
167
|
-
constants
|
|
165
|
+
constants,
|
|
166
|
+
isPadding: false
|
|
168
167
|
})
|
|
169
168
|
};
|
|
170
169
|
}
|
|
@@ -183,14 +182,38 @@ import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmpt
|
|
|
183
182
|
};
|
|
184
183
|
}
|
|
185
184
|
}
|
|
186
|
-
getPaddingBlockRootInputs() {
|
|
187
|
-
|
|
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,
|
|
188
210
|
vkTreeRoot: getVKTreeRoot(),
|
|
189
|
-
protocolContractTreeRoot
|
|
190
|
-
proverId: this.proverId
|
|
211
|
+
protocolContractTreeRoot
|
|
191
212
|
});
|
|
192
|
-
return
|
|
193
|
-
|
|
213
|
+
return EmptyBlockRootRollupInputs.from({
|
|
214
|
+
data,
|
|
215
|
+
constants,
|
|
216
|
+
isPadding: true
|
|
194
217
|
});
|
|
195
218
|
}
|
|
196
219
|
getRootParityInputs() {
|
|
@@ -241,7 +264,7 @@ import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmpt
|
|
|
241
264
|
this.error = reason;
|
|
242
265
|
this.parentEpoch.reject(reason);
|
|
243
266
|
}
|
|
244
|
-
#getBlockRootRollupData() {
|
|
267
|
+
#getBlockRootRollupData(proverId) {
|
|
245
268
|
return BlockRootRollupData.from({
|
|
246
269
|
l1ToL2Roots: this.#getRootParityData(this.rootParityProvingOutput),
|
|
247
270
|
l1ToL2MessageSubtreeSiblingPath: this.l1ToL2MessageSubtreeSiblingPath,
|
|
@@ -250,7 +273,7 @@ import { accumulateBlobs, buildBlobHints, buildHeaderFromCircuitOutputs, getEmpt
|
|
|
250
273
|
previousBlockHeader: this.previousBlockHeader,
|
|
251
274
|
startBlobAccumulator: BlobAccumulatorPublicInputs.fromBatchedBlobAccumulator(this.startBlobAccumulator),
|
|
252
275
|
finalBlobChallenges: this.startBlobAccumulator.finalBlobChallenges,
|
|
253
|
-
proverId
|
|
276
|
+
proverId
|
|
254
277
|
});
|
|
255
278
|
}
|
|
256
279
|
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
|
|
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;
|
|
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(): import("@aztec/stdlib/rollup").
|
|
53
|
+
getPaddingBlockRootInputs(proverId: Fr): Promise<import("@aztec/stdlib/rollup").EmptyBlockRootRollupInputs>;
|
|
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":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,KAAK,EACV,cAAc,EACd,wCAAwC,EACxC,yCAAyC,EAE1C,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;AAErF,OAAO,KAAK,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC9G,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EACL,sBAAsB,EACtB,KAAK,iCAAiC,EAEtC,gBAAgB,EAChB,KAAK,sBAAsB,EAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,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;;aAiBV,WAAW,EAAE,MAAM;aACnB,gBAAgB,EAAE,MAAM;aACxB,cAAc,EAAE,MAAM;aACtB,2BAA2B,EAAE,2BAA2B;IACxE,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,iBAAiB;IArB3B,OAAO,CAAC,8BAA8B,CAEpC;IACF,OAAO,CAAC,6BAA6B,CAEvB;IACd,OAAO,CAAC,uBAAuB,CAAoE;IACnG,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,qBAAqB,CAAiD;IAG9E,SAAgB,gBAAgB,qDAAiF;IAE1G,MAAM,EAAE,CAAC,iBAAiB,GAAG,SAAS,CAAC,EAAE,CAAM;gBAGpC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,EACtB,2BAA2B,EAAE,2BAA2B,EAChE,kBAAkB,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,EACnD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI;IAO9C,aAAa,CAClB,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,EAAE,EAAE,EACpB,yBAAyB,EAAE,sBAAsB,EACjD,+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,
|
|
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) {
|
|
48
48
|
const index = globalVariables.blockNumber - this.firstBlockNumber;
|
|
49
|
-
const block = new BlockProvingState(index, globalVariables, l1ToL2Messages, l1ToL2MessageTreeSnapshot, l1ToL2MessageSubtreeSiblingPath, l1ToL2MessageTreeSnapshotAfterInsertion, lastArchiveSnapshot, lastArchiveSiblingPath, newArchiveSiblingPath, previousBlockHeader,
|
|
49
|
+
const block = new BlockProvingState(index, globalVariables, l1ToL2Messages, l1ToL2MessageTreeSnapshot, l1ToL2MessageSubtreeSiblingPath, l1ToL2MessageTreeSnapshotAfterInsertion, lastArchiveSnapshot, lastArchiveSiblingPath, newArchiveSiblingPath, previousBlockHeader, 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() {
|
|
123
|
+
getPaddingBlockRootInputs(proverId) {
|
|
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();
|
|
127
|
+
return this.blocks[0].getPaddingBlockRootInputs(proverId);
|
|
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;
|
|
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"}
|
|
@@ -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);
|
|
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();
|
|
464
|
+
const { rollupType, inputs } = await provingState.getBlockRootRollupTypeAndInputs(this.proverId);
|
|
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
|
-
this.enqueueEpochPadding(epochProvingState);
|
|
500
|
+
await 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
|
-
enqueueEpochPadding(provingState) {
|
|
556
|
+
async 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
|
|
562
|
-
const inputs = provingState.getPaddingBlockRootInputs();
|
|
563
|
-
this.deferredProving(provingState, wrapCallbackInSpan(this.tracer, 'ProvingOrchestrator.prover.
|
|
564
|
-
[Attributes.PROTOCOL_CIRCUIT_NAME]: '
|
|
565
|
-
}, (signal)=>this.prover.
|
|
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)=>{
|
|
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,
|
|
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,5 +1,5 @@
|
|
|
1
|
-
import { AVM_VK_INDEX,
|
|
2
|
-
import { getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
1
|
+
import { AVM_VK_INDEX, TUBE_VK_INDEX } from '@aztec/constants';
|
|
2
|
+
import { getVKIndex, 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.#
|
|
55
|
+
const vkData = this.#getTubeVkData();
|
|
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,15 +69,26 @@ 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.#
|
|
73
|
-
const avmProofData = new AvmProofData(this.processedTx.avmProvingRequest.inputs.publicInputs, this.avm.proof, this.#
|
|
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());
|
|
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
|
-
#
|
|
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;
|
|
80
91
|
const vkPath = getVKSiblingPath(vkIndex);
|
|
81
|
-
return new VkData(verificationKey, vkIndex, vkPath);
|
|
92
|
+
return new VkData(this.avm.verificationKey, vkIndex, vkPath);
|
|
82
93
|
}
|
|
83
94
|
}
|
|
@@ -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,
|
|
5
|
+
import type { BaseOrMergeRollupPublicInputs, BlockMergeRollupInputs, BlockRootOrBlockMergePublicInputs, BlockRootRollupInputs, EmptyBlockRootRollupInputs, MergeRollupInputs, 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,7 +36,6 @@ 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>>;
|
|
40
39
|
getMergeRollupProof(input: MergeRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
41
40
|
getPrivateBaseRollupProof(baseRollupInput: PrivateBaseRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
42
41
|
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":"AAAA,OAAO,KAAK,EACV,oCAAoC,EACpC,6BAA6B,EAC7B,yCAAyC,EACzC,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EACL,KAAK,uBAAuB,EAI5B,KAAK,kBAAkB,EAGvB,KAAK,6BAA6B,EAClC,KAAK,mBAAmB,EAEzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEnG,OAAO,KAAK,EACV,6BAA6B,EAC7B,sBAAsB,EACtB,iCAAiC,EACjC,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,EACjB,
|
|
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,9 +326,6 @@ 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
|
-
}
|
|
332
329
|
getMergeRollupProof(input, signal, epochNumber) {
|
|
333
330
|
return this.enqueueJob(this.generateId(ProvingRequestType.MERGE_ROLLUP, input, epochNumber), ProvingRequestType.MERGE_ROLLUP, input, epochNumber, signal);
|
|
334
331
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proving_broker.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_broker.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAEvB,KAAK,gBAAgB,EAEtB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,KAAK,kBAAkB,EAA6B,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAW1E;;;GAGG;AACH,qBAAa,aAAc,YAAW,kBAAkB,EAAE,kBAAkB,EAAE,SAAS;;
|
|
1
|
+
{"version":3,"file":"proving_broker.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_broker.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,7 +70,6 @@ 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),
|
|
74
73
|
[ProvingRequestType.BASE_PARITY]: new PriorityMemoryQueue(provingJobComparator),
|
|
75
74
|
[ProvingRequestType.ROOT_PARITY]: new PriorityMemoryQueue(provingJobComparator)
|
|
76
75
|
};
|
|
@@ -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;
|
|
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"}
|
|
@@ -132,10 +132,6 @@ 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
|
-
}
|
|
139
135
|
case ProvingRequestType.BLOCK_ROOT_ROLLUP:
|
|
140
136
|
{
|
|
141
137
|
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,
|
|
5
|
+
import type { BaseOrMergeRollupPublicInputs, BlockMergeRollupInputs, BlockRootOrBlockMergePublicInputs, BlockRootRollupInputs, EmptyBlockRootRollupInputs, MergeRollupInputs, 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,7 +28,6 @@ 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>>;
|
|
32
31
|
getBlockRootRollupProof(_input: BlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
33
32
|
getSingleTxBlockRootRollupProof(_input: SingleTxBlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
34
33
|
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":"AAAA,OAAO,EAIL,yCAAyC,EAEzC,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,6BAA6B,EAClC,KAAK,mBAAmB,EAGzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,KAAK,EACV,6BAA6B,EAC7B,sBAAsB,EACtB,iCAAiC,EACjC,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"mock_prover.d.ts","sourceRoot":"","sources":["../../src/test/mock_prover.ts"],"names":[],"mappings":"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"}
|
package/dest/test/mock_prover.js
CHANGED
|
@@ -67,9 +67,6 @@ 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
|
-
}
|
|
73
70
|
getBlockRootRollupProof(_input, _signal, _epochNumber) {
|
|
74
71
|
return Promise.resolve(makePublicInputsAndRecursiveProof(makeBlockRootOrBlockMergeRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
75
72
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/prover-client",
|
|
3
|
-
"version": "1.0.0
|
|
3
|
+
"version": "1.0.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.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",
|
|
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.0.0",
|
|
94
94
|
"@jest/globals": "^30.0.0",
|
|
95
95
|
"@types/jest": "^30.0.0",
|
|
96
96
|
"@types/node": "^22.15.17",
|
|
@@ -25,14 +25,12 @@ import {
|
|
|
25
25
|
BlockRootRollupData,
|
|
26
26
|
BlockRootRollupInputs,
|
|
27
27
|
EmptyBlockRootRollupInputs,
|
|
28
|
-
EpochConstantData,
|
|
29
28
|
MergeRollupInputs,
|
|
30
|
-
PaddingBlockRootRollupInputs,
|
|
31
29
|
PreviousRollupData,
|
|
32
30
|
SingleTxBlockRootRollupInputs,
|
|
33
31
|
} from '@aztec/stdlib/rollup';
|
|
34
32
|
import type { CircuitName } from '@aztec/stdlib/stats';
|
|
35
|
-
import { AppendOnlyTreeSnapshot,
|
|
33
|
+
import type { AppendOnlyTreeSnapshot, MerkleTreeId } from '@aztec/stdlib/trees';
|
|
36
34
|
import { type BlockHeader, type GlobalVariables, StateReference } from '@aztec/stdlib/tx';
|
|
37
35
|
import { VkData } from '@aztec/stdlib/vks';
|
|
38
36
|
|
|
@@ -81,7 +79,6 @@ export class BlockProvingState {
|
|
|
81
79
|
private readonly lastArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
|
|
82
80
|
private readonly newArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
|
|
83
81
|
private readonly previousBlockHeader: BlockHeader,
|
|
84
|
-
private readonly proverId: Fr,
|
|
85
82
|
private readonly parentEpoch: EpochProvingState,
|
|
86
83
|
) {
|
|
87
84
|
this.baseParityProvingOutputs = Array.from({ length: NUM_BASE_PARITY_PER_ROOT_PARITY }).map(_ => undefined);
|
|
@@ -207,7 +204,7 @@ export class BlockProvingState {
|
|
|
207
204
|
return new MergeRollupInputs([this.#getPreviousRollupData(left), this.#getPreviousRollupData(right)]);
|
|
208
205
|
}
|
|
209
206
|
|
|
210
|
-
public async getBlockRootRollupTypeAndInputs() {
|
|
207
|
+
public async getBlockRootRollupTypeAndInputs(proverId: Fr) {
|
|
211
208
|
if (!this.rootParityProvingOutput) {
|
|
212
209
|
throw new Error('Root parity is not ready.');
|
|
213
210
|
}
|
|
@@ -218,7 +215,7 @@ export class BlockProvingState {
|
|
|
218
215
|
throw new Error('At lease one child is not ready for the block root.');
|
|
219
216
|
}
|
|
220
217
|
|
|
221
|
-
const data = this.#getBlockRootRollupData();
|
|
218
|
+
const data = this.#getBlockRootRollupData(proverId);
|
|
222
219
|
|
|
223
220
|
if (this.totalNumTxs === 0) {
|
|
224
221
|
const constants = BlockConstantData.from({
|
|
@@ -236,6 +233,7 @@ export class BlockProvingState {
|
|
|
236
233
|
inputs: EmptyBlockRootRollupInputs.from({
|
|
237
234
|
data,
|
|
238
235
|
constants,
|
|
236
|
+
isPadding: false,
|
|
239
237
|
}),
|
|
240
238
|
};
|
|
241
239
|
}
|
|
@@ -261,15 +259,43 @@ export class BlockProvingState {
|
|
|
261
259
|
}
|
|
262
260
|
}
|
|
263
261
|
|
|
264
|
-
public getPaddingBlockRootInputs() {
|
|
265
|
-
|
|
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,
|
|
266
291
|
vkTreeRoot: getVKTreeRoot(),
|
|
267
292
|
protocolContractTreeRoot,
|
|
268
|
-
proverId: this.proverId,
|
|
269
293
|
});
|
|
270
294
|
|
|
271
|
-
return
|
|
295
|
+
return EmptyBlockRootRollupInputs.from({
|
|
296
|
+
data,
|
|
272
297
|
constants,
|
|
298
|
+
isPadding: true,
|
|
273
299
|
});
|
|
274
300
|
}
|
|
275
301
|
|
|
@@ -349,7 +375,7 @@ export class BlockProvingState {
|
|
|
349
375
|
this.parentEpoch.reject(reason);
|
|
350
376
|
}
|
|
351
377
|
|
|
352
|
-
#getBlockRootRollupData() {
|
|
378
|
+
#getBlockRootRollupData(proverId: Fr) {
|
|
353
379
|
return BlockRootRollupData.from({
|
|
354
380
|
l1ToL2Roots: this.#getRootParityData(this.rootParityProvingOutput!),
|
|
355
381
|
l1ToL2MessageSubtreeSiblingPath: this.l1ToL2MessageSubtreeSiblingPath,
|
|
@@ -358,7 +384,7 @@ export class BlockProvingState {
|
|
|
358
384
|
previousBlockHeader: this.previousBlockHeader,
|
|
359
385
|
startBlobAccumulator: BlobAccumulatorPublicInputs.fromBatchedBlobAccumulator(this.startBlobAccumulator!),
|
|
360
386
|
finalBlobChallenges: this.startBlobAccumulator!.finalBlobChallenges,
|
|
361
|
-
proverId
|
|
387
|
+
proverId,
|
|
362
388
|
});
|
|
363
389
|
}
|
|
364
390
|
|
|
@@ -80,7 +80,6 @@ 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,
|
|
84
83
|
): BlockProvingState {
|
|
85
84
|
const index = globalVariables.blockNumber - this.firstBlockNumber;
|
|
86
85
|
const block = new BlockProvingState(
|
|
@@ -94,7 +93,6 @@ export class EpochProvingState {
|
|
|
94
93
|
lastArchiveSiblingPath,
|
|
95
94
|
newArchiveSiblingPath,
|
|
96
95
|
previousBlockHeader,
|
|
97
|
-
proverId,
|
|
98
96
|
this,
|
|
99
97
|
);
|
|
100
98
|
this.blocks[index] = block;
|
|
@@ -199,12 +197,12 @@ export class EpochProvingState {
|
|
|
199
197
|
});
|
|
200
198
|
}
|
|
201
199
|
|
|
202
|
-
public getPaddingBlockRootInputs() {
|
|
200
|
+
public getPaddingBlockRootInputs(proverId: Fr) {
|
|
203
201
|
if (!this.blocks[0]?.isComplete()) {
|
|
204
202
|
throw new Error('Epoch needs one completed block in order to be padded.');
|
|
205
203
|
}
|
|
206
204
|
|
|
207
|
-
return this.blocks[0].getPaddingBlockRootInputs();
|
|
205
|
+
return this.blocks[0].getPaddingBlockRootInputs(proverId);
|
|
208
206
|
}
|
|
209
207
|
|
|
210
208
|
// Returns a specific transaction proving state
|
|
@@ -178,7 +178,6 @@ export class ProvingOrchestrator implements EpochProver {
|
|
|
178
178
|
lastArchiveSiblingPath,
|
|
179
179
|
newArchiveSiblingPath,
|
|
180
180
|
previousBlockHeader,
|
|
181
|
-
this.proverId,
|
|
182
181
|
);
|
|
183
182
|
|
|
184
183
|
// Enqueue base parity circuits for the block
|
|
@@ -682,7 +681,7 @@ export class ProvingOrchestrator implements EpochProver {
|
|
|
682
681
|
|
|
683
682
|
provingState.blockRootRollupStarted = true;
|
|
684
683
|
|
|
685
|
-
const { rollupType, inputs } = await provingState.getBlockRootRollupTypeAndInputs();
|
|
684
|
+
const { rollupType, inputs } = await provingState.getBlockRootRollupTypeAndInputs(this.proverId);
|
|
686
685
|
|
|
687
686
|
logger.debug(
|
|
688
687
|
`Enqueuing ${rollupType} for block ${provingState.blockNumber} with ${provingState.newL1ToL2Messages.length} l1 to l2 msgs.`,
|
|
@@ -744,7 +743,7 @@ export class ProvingOrchestrator implements EpochProver {
|
|
|
744
743
|
const epochProvingState = this.provingState!;
|
|
745
744
|
const leafLocation = epochProvingState.setBlockRootRollupProof(provingState.index, result);
|
|
746
745
|
if (epochProvingState.totalNumBlocks === 1) {
|
|
747
|
-
this.enqueueEpochPadding(epochProvingState);
|
|
746
|
+
await this.enqueueEpochPadding(epochProvingState);
|
|
748
747
|
} else {
|
|
749
748
|
this.checkAndEnqueueNextBlockMergeRollup(epochProvingState, leafLocation);
|
|
750
749
|
}
|
|
@@ -838,25 +837,25 @@ export class ProvingOrchestrator implements EpochProver {
|
|
|
838
837
|
);
|
|
839
838
|
}
|
|
840
839
|
|
|
841
|
-
private enqueueEpochPadding(provingState: EpochProvingState) {
|
|
840
|
+
private async enqueueEpochPadding(provingState: EpochProvingState) {
|
|
842
841
|
if (!provingState.verifyState()) {
|
|
843
842
|
logger.debug('Not running epoch padding. State no longer valid.');
|
|
844
843
|
return;
|
|
845
844
|
}
|
|
846
845
|
|
|
847
|
-
logger.debug('Padding epoch proof with
|
|
846
|
+
logger.debug('Padding epoch proof with an empty block root proof.');
|
|
848
847
|
|
|
849
|
-
const inputs = provingState.getPaddingBlockRootInputs();
|
|
848
|
+
const inputs = await provingState.getPaddingBlockRootInputs(this.proverId);
|
|
850
849
|
|
|
851
850
|
this.deferredProving(
|
|
852
851
|
provingState,
|
|
853
852
|
wrapCallbackInSpan(
|
|
854
853
|
this.tracer,
|
|
855
|
-
'ProvingOrchestrator.prover.
|
|
854
|
+
'ProvingOrchestrator.prover.getEmptyBlockRootRollupProof',
|
|
856
855
|
{
|
|
857
|
-
[Attributes.PROTOCOL_CIRCUIT_NAME]: '
|
|
856
|
+
[Attributes.PROTOCOL_CIRCUIT_NAME]: 'empty-block-root-rollup' satisfies CircuitName,
|
|
858
857
|
},
|
|
859
|
-
signal => this.prover.
|
|
858
|
+
signal => this.prover.getEmptyBlockRootRollupProof(inputs, signal, provingState.epochNumber),
|
|
860
859
|
),
|
|
861
860
|
result => {
|
|
862
861
|
logger.debug('Completed proof for padding block root.');
|
|
@@ -1,11 +1,10 @@
|
|
|
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,
|
|
6
4
|
type TUBE_PROOF_LENGTH,
|
|
5
|
+
TUBE_VK_INDEX,
|
|
7
6
|
} from '@aztec/constants';
|
|
8
|
-
import { getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
7
|
+
import { getVKIndex, getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
9
8
|
import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
|
|
10
9
|
import type { ProofAndVerificationKey } from '@aztec/stdlib/interfaces/server';
|
|
11
10
|
import {
|
|
@@ -22,7 +21,7 @@ import {
|
|
|
22
21
|
import type { CircuitName } from '@aztec/stdlib/stats';
|
|
23
22
|
import type { AppendOnlyTreeSnapshot, MerkleTreeId } from '@aztec/stdlib/trees';
|
|
24
23
|
import type { ProcessedTx } from '@aztec/stdlib/tx';
|
|
25
|
-
import {
|
|
24
|
+
import { VkData } from '@aztec/stdlib/vks';
|
|
26
25
|
|
|
27
26
|
/**
|
|
28
27
|
* Helper class to manage the proving cycle of a transaction
|
|
@@ -82,7 +81,7 @@ export class TxProvingState {
|
|
|
82
81
|
throw new Error('Tx not ready for proving base rollup.');
|
|
83
82
|
}
|
|
84
83
|
|
|
85
|
-
const vkData = this.#
|
|
84
|
+
const vkData = this.#getTubeVkData();
|
|
86
85
|
const tubeData = new PrivateTubeData(
|
|
87
86
|
this.processedTx.data.toPrivateToRollupKernelCircuitPublicInputs(),
|
|
88
87
|
this.tube.proof,
|
|
@@ -109,13 +108,13 @@ export class TxProvingState {
|
|
|
109
108
|
const tubeData = new PublicTubeData(
|
|
110
109
|
this.processedTx.data.toPrivateToPublicKernelCircuitPublicInputs(),
|
|
111
110
|
this.tube.proof,
|
|
112
|
-
this.#
|
|
111
|
+
this.#getTubeVkData(),
|
|
113
112
|
);
|
|
114
113
|
|
|
115
114
|
const avmProofData = new AvmProofData(
|
|
116
115
|
this.processedTx.avmProvingRequest.inputs.publicInputs,
|
|
117
116
|
this.avm.proof,
|
|
118
|
-
this.#
|
|
117
|
+
this.#getAvmVkData(),
|
|
119
118
|
);
|
|
120
119
|
|
|
121
120
|
if (!(this.baseRollupHints instanceof PublicBaseRollupHints)) {
|
|
@@ -125,8 +124,21 @@ export class TxProvingState {
|
|
|
125
124
|
return new PublicBaseRollupInputs(tubeData, avmProofData, this.baseRollupHints);
|
|
126
125
|
}
|
|
127
126
|
|
|
128
|
-
#
|
|
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;
|
|
129
141
|
const vkPath = getVKSiblingPath(vkIndex);
|
|
130
|
-
return new VkData(verificationKey, vkIndex, vkPath);
|
|
142
|
+
return new VkData(this.avm!.verificationKey, vkIndex, vkPath);
|
|
131
143
|
}
|
|
132
144
|
}
|
|
@@ -32,7 +32,6 @@ import type {
|
|
|
32
32
|
BlockRootRollupInputs,
|
|
33
33
|
EmptyBlockRootRollupInputs,
|
|
34
34
|
MergeRollupInputs,
|
|
35
|
-
PaddingBlockRootRollupInputs,
|
|
36
35
|
PrivateBaseRollupInputs,
|
|
37
36
|
PublicBaseRollupInputs,
|
|
38
37
|
RootRollupInputs,
|
|
@@ -489,22 +488,6 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
489
488
|
);
|
|
490
489
|
}
|
|
491
490
|
|
|
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
|
-
|
|
508
491
|
getMergeRollupProof(
|
|
509
492
|
input: MergeRollupInputs,
|
|
510
493
|
signal?: AbortSignal,
|
|
@@ -55,7 +55,6 @@ 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),
|
|
59
58
|
|
|
60
59
|
[ProvingRequestType.BASE_PARITY]: new PriorityMemoryQueue<EnqueuedProvingJob>(provingJobComparator),
|
|
61
60
|
[ProvingRequestType.ROOT_PARITY]: new PriorityMemoryQueue<EnqueuedProvingJob>(provingJobComparator),
|
|
@@ -144,10 +144,6 @@ 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
|
-
|
|
151
147
|
case ProvingRequestType.BLOCK_ROOT_ROLLUP: {
|
|
152
148
|
return await this.circuitProver.getBlockRootRollupProof(inputs, signal, this.epochNumber);
|
|
153
149
|
}
|
package/src/test/mock_prover.ts
CHANGED
|
@@ -28,7 +28,6 @@ import type {
|
|
|
28
28
|
BlockRootRollupInputs,
|
|
29
29
|
EmptyBlockRootRollupInputs,
|
|
30
30
|
MergeRollupInputs,
|
|
31
|
-
PaddingBlockRootRollupInputs,
|
|
32
31
|
PrivateBaseRollupInputs,
|
|
33
32
|
PublicBaseRollupInputs,
|
|
34
33
|
RootRollupInputs,
|
|
@@ -205,22 +204,6 @@ export class MockProver implements ServerCircuitProver {
|
|
|
205
204
|
);
|
|
206
205
|
}
|
|
207
206
|
|
|
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
|
-
|
|
224
207
|
getBlockRootRollupProof(
|
|
225
208
|
_input: BlockRootRollupInputs,
|
|
226
209
|
_signal?: AbortSignal,
|