@aztec/prover-client 0.68.0 → 0.68.2
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/mocks/test_context.d.ts.map +1 -1
- package/dest/mocks/test_context.js +3 -2
- package/dest/orchestrator/block-building-helpers.d.ts +15 -7
- package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
- package/dest/orchestrator/block-building-helpers.js +1 -1
- package/dest/orchestrator/block-proving-state.d.ts +4 -4
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/block-proving-state.js +1 -1
- package/dest/orchestrator/epoch-proving-state.d.ts +4 -4
- package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator.js +1 -1
- package/dest/prover-agent/memory-proving-queue.d.ts +9 -9
- package/dest/prover-agent/memory-proving-queue.d.ts.map +1 -1
- package/dest/prover-agent/memory-proving-queue.js +1 -1
- package/dest/proving_broker/broker_prover_facade.d.ts +8 -8
- package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
- package/dest/proving_broker/broker_prover_facade.js +1 -1
- package/dest/test/mock_prover.d.ts +8 -8
- package/dest/test/mock_prover.d.ts.map +1 -1
- package/dest/test/mock_prover.js +10 -10
- package/package.json +11 -11
- package/src/mocks/test_context.ts +2 -0
- package/src/orchestrator/block-building-helpers.ts +17 -9
- package/src/orchestrator/block-proving-state.ts +4 -3
- package/src/orchestrator/epoch-proving-state.ts +4 -4
- package/src/orchestrator/orchestrator.ts +5 -5
- package/src/prover-agent/memory-proving-queue.ts +24 -8
- package/src/proving_broker/broker_prover_facade.ts +22 -7
- package/src/test/mock_prover.ts +33 -20
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/prover-client",
|
|
3
|
-
"version": "0.68.
|
|
3
|
+
"version": "0.68.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -71,16 +71,16 @@
|
|
|
71
71
|
]
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
|
-
"@aztec/bb-prover": "0.68.
|
|
75
|
-
"@aztec/circuit-types": "0.68.
|
|
76
|
-
"@aztec/circuits.js": "0.68.
|
|
77
|
-
"@aztec/foundation": "0.68.
|
|
78
|
-
"@aztec/kv-store": "0.68.
|
|
79
|
-
"@aztec/noir-protocol-circuits-types": "0.68.
|
|
80
|
-
"@aztec/protocol-contracts": "0.68.
|
|
81
|
-
"@aztec/simulator": "0.68.
|
|
82
|
-
"@aztec/telemetry-client": "0.68.
|
|
83
|
-
"@aztec/world-state": "0.68.
|
|
74
|
+
"@aztec/bb-prover": "0.68.2",
|
|
75
|
+
"@aztec/circuit-types": "0.68.2",
|
|
76
|
+
"@aztec/circuits.js": "0.68.2",
|
|
77
|
+
"@aztec/foundation": "0.68.2",
|
|
78
|
+
"@aztec/kv-store": "0.68.2",
|
|
79
|
+
"@aztec/noir-protocol-circuits-types": "0.68.2",
|
|
80
|
+
"@aztec/protocol-contracts": "0.68.2",
|
|
81
|
+
"@aztec/simulator": "0.68.2",
|
|
82
|
+
"@aztec/telemetry-client": "0.68.2",
|
|
83
|
+
"@aztec/world-state": "0.68.2",
|
|
84
84
|
"@noir-lang/types": "portal:../../noir/packages/types",
|
|
85
85
|
"commander": "^12.1.0",
|
|
86
86
|
"lodash.chunk": "^4.2.0",
|
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
import { times } from '@aztec/foundation/collection';
|
|
19
19
|
import { Fr } from '@aztec/foundation/fields';
|
|
20
20
|
import { type Logger } from '@aztec/foundation/log';
|
|
21
|
+
import { TestDateProvider } from '@aztec/foundation/timer';
|
|
21
22
|
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types';
|
|
22
23
|
import { protocolContractTreeRoot } from '@aztec/protocol-contracts';
|
|
23
24
|
import {
|
|
@@ -91,6 +92,7 @@ export class TestContext {
|
|
|
91
92
|
BlockHeader.empty(),
|
|
92
93
|
worldStateDB,
|
|
93
94
|
publicTxSimulator,
|
|
95
|
+
new TestDateProvider(),
|
|
94
96
|
telemetry,
|
|
95
97
|
);
|
|
96
98
|
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
|
|
19
19
|
MembershipWitness,
|
|
20
20
|
MerkleTreeCalculator,
|
|
21
|
-
type
|
|
21
|
+
type NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
22
22
|
NOTE_HASH_SUBTREE_HEIGHT,
|
|
23
23
|
NOTE_HASH_SUBTREE_SIBLING_PATH_LENGTH,
|
|
24
24
|
NULLIFIER_SUBTREE_HEIGHT,
|
|
@@ -275,8 +275,16 @@ async function getPublicDataHint(db: MerkleTreeWriteOperations, leafSlot: bigint
|
|
|
275
275
|
}
|
|
276
276
|
|
|
277
277
|
export function createMergeRollupInputs(
|
|
278
|
-
left: [
|
|
279
|
-
|
|
278
|
+
left: [
|
|
279
|
+
BaseOrMergeRollupPublicInputs,
|
|
280
|
+
RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>,
|
|
281
|
+
VerificationKeyAsFields,
|
|
282
|
+
],
|
|
283
|
+
right: [
|
|
284
|
+
BaseOrMergeRollupPublicInputs,
|
|
285
|
+
RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>,
|
|
286
|
+
VerificationKeyAsFields,
|
|
287
|
+
],
|
|
280
288
|
) {
|
|
281
289
|
const mergeInputs = new MergeRollupInputs([
|
|
282
290
|
getPreviousRollupDataFromPublicInputs(left[0], left[1], left[2]),
|
|
@@ -288,12 +296,12 @@ export function createMergeRollupInputs(
|
|
|
288
296
|
export function createBlockMergeRollupInputs(
|
|
289
297
|
left: [
|
|
290
298
|
BlockRootOrBlockMergePublicInputs,
|
|
291
|
-
RecursiveProof<typeof
|
|
299
|
+
RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>,
|
|
292
300
|
VerificationKeyAsFields,
|
|
293
301
|
],
|
|
294
302
|
right: [
|
|
295
303
|
BlockRootOrBlockMergePublicInputs,
|
|
296
|
-
RecursiveProof<typeof
|
|
304
|
+
RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>,
|
|
297
305
|
VerificationKeyAsFields,
|
|
298
306
|
],
|
|
299
307
|
) {
|
|
@@ -429,10 +437,10 @@ export async function getRootTreeSiblingPath<TID extends MerkleTreeId>(treeId: T
|
|
|
429
437
|
// Builds the inputs for the final root rollup circuit, without making any changes to trees
|
|
430
438
|
export function getRootRollupInput(
|
|
431
439
|
rollupOutputLeft: BlockRootOrBlockMergePublicInputs,
|
|
432
|
-
rollupProofLeft: RecursiveProof<typeof
|
|
440
|
+
rollupProofLeft: RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>,
|
|
433
441
|
verificationKeyLeft: VerificationKeyAsFields,
|
|
434
442
|
rollupOutputRight: BlockRootOrBlockMergePublicInputs,
|
|
435
|
-
rollupProofRight: RecursiveProof<typeof
|
|
443
|
+
rollupProofRight: RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>,
|
|
436
444
|
verificationKeyRight: VerificationKeyAsFields,
|
|
437
445
|
proverId: Fr,
|
|
438
446
|
) {
|
|
@@ -449,7 +457,7 @@ export function getRootRollupInput(
|
|
|
449
457
|
|
|
450
458
|
export function getPreviousRollupDataFromPublicInputs(
|
|
451
459
|
rollupOutput: BaseOrMergeRollupPublicInputs,
|
|
452
|
-
rollupProof: RecursiveProof<typeof
|
|
460
|
+
rollupProof: RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>,
|
|
453
461
|
vk: VerificationKeyAsFields,
|
|
454
462
|
) {
|
|
455
463
|
const leafIndex = getVKIndex(vk);
|
|
@@ -464,7 +472,7 @@ export function getPreviousRollupDataFromPublicInputs(
|
|
|
464
472
|
|
|
465
473
|
export function getPreviousRollupBlockDataFromPublicInputs(
|
|
466
474
|
rollupOutput: BlockRootOrBlockMergePublicInputs,
|
|
467
|
-
rollupProof: RecursiveProof<typeof
|
|
475
|
+
rollupProof: RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>,
|
|
468
476
|
vk: VerificationKeyAsFields,
|
|
469
477
|
) {
|
|
470
478
|
const leafIndex = getVKIndex(vk);
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
type GlobalVariables,
|
|
7
7
|
type L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH,
|
|
8
8
|
type NESTED_RECURSIVE_PROOF_LENGTH,
|
|
9
|
+
type NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
9
10
|
type NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP,
|
|
10
11
|
NUM_BASE_PARITY_PER_ROOT_PARITY,
|
|
11
12
|
type Proof,
|
|
@@ -24,8 +25,8 @@ import { type TxProvingState } from './tx-proving-state.js';
|
|
|
24
25
|
export type MergeRollupInputData = {
|
|
25
26
|
inputs: [BaseOrMergeRollupPublicInputs | undefined, BaseOrMergeRollupPublicInputs | undefined];
|
|
26
27
|
proofs: [
|
|
27
|
-
RecursiveProof<typeof
|
|
28
|
-
RecursiveProof<typeof
|
|
28
|
+
RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH> | undefined,
|
|
29
|
+
RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH> | undefined,
|
|
29
30
|
];
|
|
30
31
|
verificationKeys: [VerificationKeyAsFields | undefined, VerificationKeyAsFields | undefined];
|
|
31
32
|
};
|
|
@@ -159,7 +160,7 @@ export class BlockProvingState {
|
|
|
159
160
|
public storeMergeInputs(
|
|
160
161
|
mergeInputs: [
|
|
161
162
|
BaseOrMergeRollupPublicInputs,
|
|
162
|
-
RecursiveProof<typeof
|
|
163
|
+
RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>,
|
|
163
164
|
VerificationKeyAsFields,
|
|
164
165
|
],
|
|
165
166
|
indexWithinMerge: number,
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
Fr,
|
|
6
6
|
type GlobalVariables,
|
|
7
7
|
type L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH,
|
|
8
|
-
type
|
|
8
|
+
type NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
9
9
|
NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP,
|
|
10
10
|
type Proof,
|
|
11
11
|
type RecursiveProof,
|
|
@@ -29,8 +29,8 @@ enum PROVING_STATE_LIFECYCLE {
|
|
|
29
29
|
export type BlockMergeRollupInputData = {
|
|
30
30
|
inputs: [BlockRootOrBlockMergePublicInputs | undefined, BlockRootOrBlockMergePublicInputs | undefined];
|
|
31
31
|
proofs: [
|
|
32
|
-
RecursiveProof<typeof
|
|
33
|
-
RecursiveProof<typeof
|
|
32
|
+
RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH> | undefined,
|
|
33
|
+
RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH> | undefined,
|
|
34
34
|
];
|
|
35
35
|
verificationKeys: [VerificationKeyAsFields | undefined, VerificationKeyAsFields | undefined];
|
|
36
36
|
};
|
|
@@ -148,7 +148,7 @@ export class EpochProvingState {
|
|
|
148
148
|
public storeMergeInputs(
|
|
149
149
|
mergeInputs: [
|
|
150
150
|
BlockRootOrBlockMergePublicInputs,
|
|
151
|
-
RecursiveProof<typeof
|
|
151
|
+
RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>,
|
|
152
152
|
VerificationKeyAsFields,
|
|
153
153
|
],
|
|
154
154
|
indexWithinMerge: number,
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
type GlobalVariables,
|
|
26
26
|
L1_TO_L2_MSG_SUBTREE_HEIGHT,
|
|
27
27
|
L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH,
|
|
28
|
-
type
|
|
28
|
+
type NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
29
29
|
NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP,
|
|
30
30
|
NUM_BASE_PARITY_PER_ROOT_PARITY,
|
|
31
31
|
PrivateKernelEmptyInputData,
|
|
@@ -104,7 +104,7 @@ const logger = createLogger('prover-client:orchestrator');
|
|
|
104
104
|
export class ProvingOrchestrator implements EpochProver {
|
|
105
105
|
private provingState: EpochProvingState | undefined = undefined;
|
|
106
106
|
private pendingProvingJobs: AbortController[] = [];
|
|
107
|
-
private paddingTxProof?: ProofAndVerificationKey<typeof
|
|
107
|
+
private paddingTxProof?: ProofAndVerificationKey<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>;
|
|
108
108
|
|
|
109
109
|
private provingPromise: Promise<ProvingResult> | undefined = undefined;
|
|
110
110
|
private metrics: ProvingOrchestratorMetrics;
|
|
@@ -525,7 +525,7 @@ export class ProvingOrchestrator implements EpochProver {
|
|
|
525
525
|
private provePaddingTransactions(
|
|
526
526
|
txInputs: Array<{ hints: BaseRollupHints; snapshot: TreeSnapshots }>,
|
|
527
527
|
paddingTx: ProcessedTx,
|
|
528
|
-
proofAndVk: ProofAndVerificationKey<typeof
|
|
528
|
+
proofAndVk: ProofAndVerificationKey<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>,
|
|
529
529
|
provingState: BlockProvingState,
|
|
530
530
|
) {
|
|
531
531
|
// The padding tx contains the proof and vk, generated separately from the base inputs
|
|
@@ -1147,7 +1147,7 @@ export class ProvingOrchestrator implements EpochProver {
|
|
|
1147
1147
|
currentIndex: bigint,
|
|
1148
1148
|
mergeInputData: [
|
|
1149
1149
|
BaseOrMergeRollupPublicInputs,
|
|
1150
|
-
RecursiveProof<typeof
|
|
1150
|
+
RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>,
|
|
1151
1151
|
VerificationKeyAsFields,
|
|
1152
1152
|
],
|
|
1153
1153
|
) {
|
|
@@ -1185,7 +1185,7 @@ export class ProvingOrchestrator implements EpochProver {
|
|
|
1185
1185
|
currentIndex: bigint,
|
|
1186
1186
|
mergeInputData: [
|
|
1187
1187
|
BlockRootOrBlockMergePublicInputs,
|
|
1188
|
-
RecursiveProof<typeof
|
|
1188
|
+
RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>,
|
|
1189
1189
|
VerificationKeyAsFields,
|
|
1190
1190
|
],
|
|
1191
1191
|
) {
|
|
@@ -14,10 +14,12 @@ import type {
|
|
|
14
14
|
BaseParityInputs,
|
|
15
15
|
KernelCircuitPublicInputs,
|
|
16
16
|
NESTED_RECURSIVE_PROOF_LENGTH,
|
|
17
|
+
NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
17
18
|
ParityPublicInputs,
|
|
18
19
|
PrivateKernelEmptyInputData,
|
|
19
20
|
RECURSIVE_PROOF_LENGTH,
|
|
20
21
|
RootParityInputs,
|
|
22
|
+
TUBE_PROOF_LENGTH,
|
|
21
23
|
} from '@aztec/circuits.js';
|
|
22
24
|
import {
|
|
23
25
|
type BaseOrMergeRollupPublicInputs,
|
|
@@ -273,7 +275,9 @@ export class MemoryProvingQueue implements ServerCircuitProver, ProvingJobSource
|
|
|
273
275
|
inputs: PrivateKernelEmptyInputData,
|
|
274
276
|
signal?: AbortSignal,
|
|
275
277
|
epochNumber?: number,
|
|
276
|
-
): Promise<
|
|
278
|
+
): Promise<
|
|
279
|
+
PublicInputsAndRecursiveProof<KernelCircuitPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
280
|
+
> {
|
|
277
281
|
return this.enqueue(ProvingRequestType.PRIVATE_KERNEL_EMPTY, inputs, signal, epochNumber);
|
|
278
282
|
}
|
|
279
283
|
|
|
@@ -281,7 +285,7 @@ export class MemoryProvingQueue implements ServerCircuitProver, ProvingJobSource
|
|
|
281
285
|
inputs: TubeInputs,
|
|
282
286
|
signal?: AbortSignal,
|
|
283
287
|
epochNumber?: number,
|
|
284
|
-
): Promise<ProofAndVerificationKey<typeof
|
|
288
|
+
): Promise<ProofAndVerificationKey<typeof TUBE_PROOF_LENGTH>> {
|
|
285
289
|
return this.enqueue(ProvingRequestType.TUBE_PROOF, inputs, signal, epochNumber);
|
|
286
290
|
}
|
|
287
291
|
|
|
@@ -313,7 +317,9 @@ export class MemoryProvingQueue implements ServerCircuitProver, ProvingJobSource
|
|
|
313
317
|
inputs: PrivateBaseRollupInputs,
|
|
314
318
|
signal?: AbortSignal,
|
|
315
319
|
epochNumber?: number,
|
|
316
|
-
): Promise<
|
|
320
|
+
): Promise<
|
|
321
|
+
PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
322
|
+
> {
|
|
317
323
|
return this.enqueue(ProvingRequestType.PRIVATE_BASE_ROLLUP, inputs, signal, epochNumber);
|
|
318
324
|
}
|
|
319
325
|
|
|
@@ -321,7 +327,9 @@ export class MemoryProvingQueue implements ServerCircuitProver, ProvingJobSource
|
|
|
321
327
|
inputs: PublicBaseRollupInputs,
|
|
322
328
|
signal?: AbortSignal,
|
|
323
329
|
epochNumber?: number,
|
|
324
|
-
): Promise<
|
|
330
|
+
): Promise<
|
|
331
|
+
PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
332
|
+
> {
|
|
325
333
|
return this.enqueue(ProvingRequestType.PUBLIC_BASE_ROLLUP, inputs, signal, epochNumber);
|
|
326
334
|
}
|
|
327
335
|
|
|
@@ -333,7 +341,9 @@ export class MemoryProvingQueue implements ServerCircuitProver, ProvingJobSource
|
|
|
333
341
|
inputs: MergeRollupInputs,
|
|
334
342
|
signal?: AbortSignal,
|
|
335
343
|
epochNumber?: number,
|
|
336
|
-
): Promise<
|
|
344
|
+
): Promise<
|
|
345
|
+
PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
346
|
+
> {
|
|
337
347
|
return this.enqueue(ProvingRequestType.MERGE_ROLLUP, inputs, signal, epochNumber);
|
|
338
348
|
}
|
|
339
349
|
|
|
@@ -345,7 +355,9 @@ export class MemoryProvingQueue implements ServerCircuitProver, ProvingJobSource
|
|
|
345
355
|
inputs: BlockRootRollupInputs,
|
|
346
356
|
signal?: AbortSignal,
|
|
347
357
|
epochNumber?: number,
|
|
348
|
-
): Promise<
|
|
358
|
+
): Promise<
|
|
359
|
+
PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
360
|
+
> {
|
|
349
361
|
return this.enqueue(ProvingRequestType.BLOCK_ROOT_ROLLUP, inputs, signal, epochNumber);
|
|
350
362
|
}
|
|
351
363
|
|
|
@@ -353,7 +365,9 @@ export class MemoryProvingQueue implements ServerCircuitProver, ProvingJobSource
|
|
|
353
365
|
inputs: EmptyBlockRootRollupInputs,
|
|
354
366
|
signal?: AbortSignal,
|
|
355
367
|
epochNumber?: number,
|
|
356
|
-
): Promise<
|
|
368
|
+
): Promise<
|
|
369
|
+
PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
370
|
+
> {
|
|
357
371
|
return this.enqueue(ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP, inputs, signal, epochNumber);
|
|
358
372
|
}
|
|
359
373
|
|
|
@@ -365,7 +379,9 @@ export class MemoryProvingQueue implements ServerCircuitProver, ProvingJobSource
|
|
|
365
379
|
inputs: BlockMergeRollupInputs,
|
|
366
380
|
signal?: AbortSignal,
|
|
367
381
|
epochNumber?: number,
|
|
368
|
-
): Promise<
|
|
382
|
+
): Promise<
|
|
383
|
+
PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
384
|
+
> {
|
|
369
385
|
return this.enqueue(ProvingRequestType.BLOCK_MERGE_ROLLUP, inputs, signal, epochNumber);
|
|
370
386
|
}
|
|
371
387
|
|
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
type BaseParityInputs,
|
|
15
15
|
type KernelCircuitPublicInputs,
|
|
16
16
|
type NESTED_RECURSIVE_PROOF_LENGTH,
|
|
17
|
+
type NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
17
18
|
type ParityPublicInputs,
|
|
18
19
|
type PrivateKernelEmptyInputData,
|
|
19
20
|
type RECURSIVE_PROOF_LENGTH,
|
|
@@ -149,7 +150,9 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
149
150
|
input: BlockMergeRollupInputs,
|
|
150
151
|
signal?: AbortSignal,
|
|
151
152
|
epochNumber?: number,
|
|
152
|
-
): Promise<
|
|
153
|
+
): Promise<
|
|
154
|
+
PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
155
|
+
> {
|
|
153
156
|
return this.enqueueAndWaitForJob(
|
|
154
157
|
this.generateId(ProvingRequestType.BLOCK_MERGE_ROLLUP, input, epochNumber),
|
|
155
158
|
ProvingRequestType.BLOCK_MERGE_ROLLUP,
|
|
@@ -163,7 +166,9 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
163
166
|
input: BlockRootRollupInputs,
|
|
164
167
|
signal?: AbortSignal,
|
|
165
168
|
epochNumber?: number,
|
|
166
|
-
): Promise<
|
|
169
|
+
): Promise<
|
|
170
|
+
PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
171
|
+
> {
|
|
167
172
|
return this.enqueueAndWaitForJob(
|
|
168
173
|
this.generateId(ProvingRequestType.BLOCK_ROOT_ROLLUP, input, epochNumber),
|
|
169
174
|
ProvingRequestType.BLOCK_ROOT_ROLLUP,
|
|
@@ -177,7 +182,9 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
177
182
|
input: EmptyBlockRootRollupInputs,
|
|
178
183
|
signal?: AbortSignal,
|
|
179
184
|
epochNumber?: number,
|
|
180
|
-
): Promise<
|
|
185
|
+
): Promise<
|
|
186
|
+
PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
187
|
+
> {
|
|
181
188
|
return this.enqueueAndWaitForJob(
|
|
182
189
|
this.generateId(ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP, input, epochNumber),
|
|
183
190
|
ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP,
|
|
@@ -191,7 +198,9 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
191
198
|
inputs: PrivateKernelEmptyInputData,
|
|
192
199
|
signal?: AbortSignal,
|
|
193
200
|
epochNumber?: number,
|
|
194
|
-
): Promise<
|
|
201
|
+
): Promise<
|
|
202
|
+
PublicInputsAndRecursiveProof<KernelCircuitPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
203
|
+
> {
|
|
195
204
|
return this.enqueueAndWaitForJob(
|
|
196
205
|
this.generateId(ProvingRequestType.PRIVATE_KERNEL_EMPTY, inputs, epochNumber),
|
|
197
206
|
ProvingRequestType.PRIVATE_KERNEL_EMPTY,
|
|
@@ -205,7 +214,9 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
205
214
|
input: MergeRollupInputs,
|
|
206
215
|
signal?: AbortSignal,
|
|
207
216
|
epochNumber?: number,
|
|
208
|
-
): Promise<
|
|
217
|
+
): Promise<
|
|
218
|
+
PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
219
|
+
> {
|
|
209
220
|
return this.enqueueAndWaitForJob(
|
|
210
221
|
this.generateId(ProvingRequestType.MERGE_ROLLUP, input, epochNumber),
|
|
211
222
|
ProvingRequestType.MERGE_ROLLUP,
|
|
@@ -218,7 +229,9 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
218
229
|
baseRollupInput: PrivateBaseRollupInputs,
|
|
219
230
|
signal?: AbortSignal,
|
|
220
231
|
epochNumber?: number,
|
|
221
|
-
): Promise<
|
|
232
|
+
): Promise<
|
|
233
|
+
PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
234
|
+
> {
|
|
222
235
|
return this.enqueueAndWaitForJob(
|
|
223
236
|
this.generateId(ProvingRequestType.PRIVATE_BASE_ROLLUP, baseRollupInput, epochNumber),
|
|
224
237
|
ProvingRequestType.PRIVATE_BASE_ROLLUP,
|
|
@@ -232,7 +245,9 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
232
245
|
inputs: PublicBaseRollupInputs,
|
|
233
246
|
signal?: AbortSignal,
|
|
234
247
|
epochNumber?: number,
|
|
235
|
-
): Promise<
|
|
248
|
+
): Promise<
|
|
249
|
+
PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
250
|
+
> {
|
|
236
251
|
return this.enqueueAndWaitForJob(
|
|
237
252
|
this.generateId(ProvingRequestType.PUBLIC_BASE_ROLLUP, inputs, epochNumber),
|
|
238
253
|
ProvingRequestType.PUBLIC_BASE_ROLLUP,
|
package/src/test/mock_prover.ts
CHANGED
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
type BaseParityInputs,
|
|
18
18
|
type KernelCircuitPublicInputs,
|
|
19
19
|
NESTED_RECURSIVE_PROOF_LENGTH,
|
|
20
|
+
NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
20
21
|
type PrivateKernelEmptyInputData,
|
|
21
22
|
RECURSIVE_PROOF_LENGTH,
|
|
22
23
|
type RootParityInputs,
|
|
@@ -132,12 +133,14 @@ export class MockProver implements ServerCircuitProver {
|
|
|
132
133
|
_baseRollupInput: PrivateBaseRollupInputs,
|
|
133
134
|
_signal?: AbortSignal,
|
|
134
135
|
_epochNumber?: number,
|
|
135
|
-
): Promise<
|
|
136
|
+
): Promise<
|
|
137
|
+
PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
138
|
+
> {
|
|
136
139
|
return Promise.resolve(
|
|
137
140
|
makePublicInputsAndRecursiveProof(
|
|
138
141
|
makeBaseOrMergeRollupPublicInputs(),
|
|
139
|
-
makeRecursiveProof(
|
|
140
|
-
VerificationKeyData.
|
|
142
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
143
|
+
VerificationKeyData.makeFakeRollupHonk(),
|
|
141
144
|
),
|
|
142
145
|
);
|
|
143
146
|
}
|
|
@@ -146,12 +149,14 @@ export class MockProver implements ServerCircuitProver {
|
|
|
146
149
|
_inputs: PublicBaseRollupInputs,
|
|
147
150
|
_signal?: AbortSignal,
|
|
148
151
|
_epochNumber?: number,
|
|
149
|
-
): Promise<
|
|
152
|
+
): Promise<
|
|
153
|
+
PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
154
|
+
> {
|
|
150
155
|
return Promise.resolve(
|
|
151
156
|
makePublicInputsAndRecursiveProof(
|
|
152
157
|
makeBaseOrMergeRollupPublicInputs(),
|
|
153
|
-
makeRecursiveProof(
|
|
154
|
-
VerificationKeyData.
|
|
158
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
159
|
+
VerificationKeyData.makeFakeRollupHonk(),
|
|
155
160
|
),
|
|
156
161
|
);
|
|
157
162
|
}
|
|
@@ -160,12 +165,14 @@ export class MockProver implements ServerCircuitProver {
|
|
|
160
165
|
_input: MergeRollupInputs,
|
|
161
166
|
_signal?: AbortSignal,
|
|
162
167
|
_epochNumber?: number,
|
|
163
|
-
): Promise<
|
|
168
|
+
): Promise<
|
|
169
|
+
PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
170
|
+
> {
|
|
164
171
|
return Promise.resolve(
|
|
165
172
|
makePublicInputsAndRecursiveProof(
|
|
166
173
|
makeBaseOrMergeRollupPublicInputs(),
|
|
167
|
-
makeRecursiveProof(
|
|
168
|
-
VerificationKeyData.
|
|
174
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
175
|
+
VerificationKeyData.makeFakeRollupHonk(),
|
|
169
176
|
),
|
|
170
177
|
);
|
|
171
178
|
}
|
|
@@ -174,8 +181,8 @@ export class MockProver implements ServerCircuitProver {
|
|
|
174
181
|
return Promise.resolve(
|
|
175
182
|
makePublicInputsAndRecursiveProof(
|
|
176
183
|
makeBlockRootOrBlockMergeRollupPublicInputs(),
|
|
177
|
-
makeRecursiveProof(
|
|
178
|
-
VerificationKeyData.
|
|
184
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
185
|
+
VerificationKeyData.makeFakeRollupHonk(),
|
|
179
186
|
),
|
|
180
187
|
);
|
|
181
188
|
}
|
|
@@ -184,12 +191,14 @@ export class MockProver implements ServerCircuitProver {
|
|
|
184
191
|
_input: EmptyBlockRootRollupInputs,
|
|
185
192
|
_signal?: AbortSignal,
|
|
186
193
|
_epochNumber?: number,
|
|
187
|
-
): Promise<
|
|
194
|
+
): Promise<
|
|
195
|
+
PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
196
|
+
> {
|
|
188
197
|
return Promise.resolve(
|
|
189
198
|
makePublicInputsAndRecursiveProof(
|
|
190
199
|
makeBlockRootOrBlockMergeRollupPublicInputs(),
|
|
191
|
-
makeRecursiveProof(
|
|
192
|
-
VerificationKeyData.
|
|
200
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
201
|
+
VerificationKeyData.makeFakeRollupHonk(),
|
|
193
202
|
),
|
|
194
203
|
);
|
|
195
204
|
}
|
|
@@ -198,12 +207,14 @@ export class MockProver implements ServerCircuitProver {
|
|
|
198
207
|
_input: BlockRootRollupInputs,
|
|
199
208
|
_signal?: AbortSignal,
|
|
200
209
|
_epochNumber?: number,
|
|
201
|
-
): Promise<
|
|
210
|
+
): Promise<
|
|
211
|
+
PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
212
|
+
> {
|
|
202
213
|
return Promise.resolve(
|
|
203
214
|
makePublicInputsAndRecursiveProof(
|
|
204
215
|
makeBlockRootOrBlockMergeRollupPublicInputs(),
|
|
205
|
-
makeRecursiveProof(
|
|
206
|
-
VerificationKeyData.
|
|
216
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
217
|
+
VerificationKeyData.makeFakeRollupHonk(),
|
|
207
218
|
),
|
|
208
219
|
);
|
|
209
220
|
}
|
|
@@ -212,11 +223,13 @@ export class MockProver implements ServerCircuitProver {
|
|
|
212
223
|
_inputs: PrivateKernelEmptyInputData,
|
|
213
224
|
_signal?: AbortSignal,
|
|
214
225
|
_epochNumber?: number,
|
|
215
|
-
): Promise<
|
|
226
|
+
): Promise<
|
|
227
|
+
PublicInputsAndRecursiveProof<KernelCircuitPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
228
|
+
> {
|
|
216
229
|
return Promise.resolve(
|
|
217
230
|
makePublicInputsAndRecursiveProof(
|
|
218
231
|
makeKernelCircuitPublicInputs(),
|
|
219
|
-
makeRecursiveProof(
|
|
232
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
220
233
|
VerificationKeyData.makeFakeHonk(),
|
|
221
234
|
),
|
|
222
235
|
);
|
|
@@ -238,7 +251,7 @@ export class MockProver implements ServerCircuitProver {
|
|
|
238
251
|
|
|
239
252
|
getTubeProof(): Promise<ProofAndVerificationKey<typeof TUBE_PROOF_LENGTH>> {
|
|
240
253
|
return Promise.resolve(
|
|
241
|
-
makeProofAndVerificationKey(makeRecursiveProof(TUBE_PROOF_LENGTH), VerificationKeyData.
|
|
254
|
+
makeProofAndVerificationKey(makeRecursiveProof(TUBE_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()),
|
|
242
255
|
);
|
|
243
256
|
}
|
|
244
257
|
}
|