@aztec/prover-client 3.0.0-nightly.20250918 → 3.0.0-nightly.20250920
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 +7 -7
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/block-proving-state.js +14 -23
- package/dest/orchestrator/checkpoint-proving-state.d.ts +2 -2
- package/dest/orchestrator/checkpoint-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/checkpoint-proving-state.js +3 -3
- package/dest/orchestrator/epoch-proving-state.d.ts +2 -3
- package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/epoch-proving-state.js +6 -13
- package/dest/orchestrator/orchestrator.d.ts +2 -2
- package/dest/orchestrator/orchestrator.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator.js +21 -21
- package/dest/orchestrator/tx-proving-state.d.ts +3 -3
- package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/tx-proving-state.js +5 -5
- package/dest/prover-client/server-epoch-prover.d.ts +2 -2
- package/dest/prover-client/server-epoch-prover.d.ts.map +1 -1
- package/dest/prover-client/server-epoch-prover.js +4 -4
- package/dest/proving_broker/broker_prover_facade.d.ts +7 -7
- package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
- package/dest/proving_broker/broker_prover_facade.js +8 -8
- package/dest/proving_broker/fixtures.js +1 -1
- package/dest/proving_broker/proof_store/index.d.ts +1 -0
- package/dest/proving_broker/proof_store/index.d.ts.map +1 -1
- package/dest/proving_broker/proof_store/index.js +1 -0
- package/dest/proving_broker/proving_broker.js +10 -10
- package/dest/proving_broker/proving_job_controller.js +8 -8
- package/dest/test/mock_prover.d.ts +7 -7
- package/dest/test/mock_prover.d.ts.map +1 -1
- package/dest/test/mock_prover.js +7 -7
- package/package.json +16 -17
- package/src/orchestrator/block-proving-state.ts +18 -43
- package/src/orchestrator/checkpoint-proving-state.ts +3 -3
- package/src/orchestrator/epoch-proving-state.ts +5 -13
- package/src/orchestrator/orchestrator.ts +21 -19
- package/src/orchestrator/tx-proving-state.ts +6 -6
- package/src/prover-client/server-epoch-prover.ts +3 -7
- package/src/proving_broker/broker_prover_facade.ts +26 -32
- package/src/proving_broker/fixtures.ts +1 -1
- package/src/proving_broker/proof_store/index.ts +1 -0
- package/src/proving_broker/proving_broker.ts +10 -10
- package/src/proving_broker/proving_job_controller.ts +8 -8
- package/src/test/mock_prover.ts +20 -26
- package/dest/bin/get-proof-inputs.d.ts +0 -2
- package/dest/bin/get-proof-inputs.d.ts.map +0 -1
- package/dest/bin/get-proof-inputs.js +0 -51
- package/src/bin/get-proof-inputs.ts +0 -59
|
@@ -2,8 +2,8 @@ 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 { PrivateToPublicKernelCircuitPublicInputs } from '@aztec/stdlib/kernel';
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
5
|
+
import type { ParityBasePrivateInputs, ParityPublicInputs, ParityRootPrivateInputs } from '@aztec/stdlib/parity';
|
|
6
|
+
import type { BlockMergeRollupPrivateInputs, BlockRollupPublicInputs, BlockRootEmptyTxFirstRollupPrivateInputs, BlockRootFirstRollupPrivateInputs, BlockRootRollupPrivateInputs, BlockRootSingleTxFirstRollupPrivateInputs, BlockRootSingleTxRollupPrivateInputs, CheckpointMergeRollupPrivateInputs, CheckpointPaddingRollupPrivateInputs, CheckpointRollupPublicInputs, CheckpointRootRollupPrivateInputs, CheckpointRootSingleBlockRollupPrivateInputs, PrivateTxBaseRollupPrivateInputs, PublicTubePrivateInputs, PublicTxBaseRollupPrivateInputs, RootRollupPrivateInputs, RootRollupPublicInputs, TxMergeRollupPrivateInputs, TxRollupPublicInputs } from '@aztec/stdlib/rollup';
|
|
7
7
|
import { type ProofStore } from './proof_store/index.js';
|
|
8
8
|
export declare class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
9
9
|
private broker;
|
|
@@ -32,12 +32,12 @@ export declare class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
|
32
32
|
private monitorForCompletedJobs;
|
|
33
33
|
getAvmProof(inputs: AvmCircuitInputs, skipPublicInputsValidation?: boolean, // TODO(#14234)[Unconditional PIs validation]: remove this argument
|
|
34
34
|
signal?: AbortSignal, epochNumber?: number): Promise<ProofAndVerificationKey<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>>;
|
|
35
|
-
getBaseParityProof(inputs:
|
|
36
|
-
|
|
35
|
+
getBaseParityProof(inputs: ParityBasePrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof RECURSIVE_PROOF_LENGTH>>;
|
|
36
|
+
getTxMergeRollupProof(input: TxMergeRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
37
37
|
getPublicTubeProof(inputs: PublicTubePrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<PrivateToPublicKernelCircuitPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
getRootParityProof(inputs:
|
|
38
|
+
getPrivateTxBaseRollupProof(baseRollupInput: PrivateTxBaseRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
39
|
+
getPublicTxBaseRollupProof(inputs: PublicTxBaseRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
40
|
+
getRootParityProof(inputs: ParityRootPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof NESTED_RECURSIVE_PROOF_LENGTH>>;
|
|
41
41
|
getBlockRootFirstRollupProof(input: BlockRootFirstRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
42
42
|
getBlockRootSingleTxFirstRollupProof(input: BlockRootSingleTxFirstRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
43
43
|
getBlockRootEmptyTxFirstRollupProof(input: BlockRootEmptyTxFirstRollupPrivateInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, 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,EACvB,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,wCAAwC,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"broker_prover_facade.d.ts","sourceRoot":"","sources":["../../src/proving_broker/broker_prover_facade.ts"],"names":[],"mappings":"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"}
|
|
@@ -312,22 +312,22 @@ export class BrokerCircuitProverFacade {
|
|
|
312
312
|
});
|
|
313
313
|
}
|
|
314
314
|
getBaseParityProof(inputs, signal, epochNumber) {
|
|
315
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
315
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.PARITY_BASE, inputs, epochNumber), ProvingRequestType.PARITY_BASE, inputs, epochNumber, signal);
|
|
316
316
|
}
|
|
317
|
-
|
|
318
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
317
|
+
getTxMergeRollupProof(input, signal, epochNumber) {
|
|
318
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.TX_MERGE_ROLLUP, input, epochNumber), ProvingRequestType.TX_MERGE_ROLLUP, input, epochNumber, signal);
|
|
319
319
|
}
|
|
320
320
|
getPublicTubeProof(inputs, signal, epochNumber) {
|
|
321
321
|
return this.enqueueJob(this.generateId(ProvingRequestType.PUBLIC_TUBE, inputs, epochNumber), ProvingRequestType.PUBLIC_TUBE, inputs, epochNumber, signal);
|
|
322
322
|
}
|
|
323
|
-
|
|
324
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
323
|
+
getPrivateTxBaseRollupProof(baseRollupInput, signal, epochNumber) {
|
|
324
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.PRIVATE_TX_BASE_ROLLUP, baseRollupInput, epochNumber), ProvingRequestType.PRIVATE_TX_BASE_ROLLUP, baseRollupInput, epochNumber, signal);
|
|
325
325
|
}
|
|
326
|
-
|
|
327
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
326
|
+
getPublicTxBaseRollupProof(inputs, signal, epochNumber) {
|
|
327
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.PUBLIC_TX_BASE_ROLLUP, inputs, epochNumber), ProvingRequestType.PUBLIC_TX_BASE_ROLLUP, inputs, epochNumber, signal);
|
|
328
328
|
}
|
|
329
329
|
getRootParityProof(inputs, signal, epochNumber) {
|
|
330
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
330
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.PARITY_ROOT, inputs, epochNumber), ProvingRequestType.PARITY_ROOT, inputs, epochNumber, signal);
|
|
331
331
|
}
|
|
332
332
|
getBlockRootFirstRollupProof(input, signal, epochNumber) {
|
|
333
333
|
return this.enqueueJob(this.generateId(ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP, input, epochNumber), ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP, input, epochNumber, signal);
|
|
@@ -2,7 +2,7 @@ import { randomBytes } from '@aztec/foundation/crypto';
|
|
|
2
2
|
import { makeProvingJobId } from '@aztec/stdlib/interfaces/server';
|
|
3
3
|
import { ProvingRequestType } from '@aztec/stdlib/proofs';
|
|
4
4
|
export function makeRandomProvingJobId(epochNumber) {
|
|
5
|
-
return makeProvingJobId(epochNumber ?? 1, ProvingRequestType.
|
|
5
|
+
return makeProvingJobId(epochNumber ?? 1, ProvingRequestType.PARITY_BASE, randomBytes(8).toString('hex'));
|
|
6
6
|
}
|
|
7
7
|
export function makeInputsUri() {
|
|
8
8
|
return randomBytes(8).toString('hex');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/proving_broker/proof_store/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/proving_broker/proof_store/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC"}
|
|
@@ -62,9 +62,9 @@ import { ProvingBrokerInstrumentation } from './proving_broker_instrumentation.j
|
|
|
62
62
|
this.queues = {
|
|
63
63
|
[ProvingRequestType.PUBLIC_VM]: new PriorityMemoryQueue(provingJobComparator),
|
|
64
64
|
[ProvingRequestType.PUBLIC_TUBE]: new PriorityMemoryQueue(provingJobComparator),
|
|
65
|
-
[ProvingRequestType.
|
|
66
|
-
[ProvingRequestType.
|
|
67
|
-
[ProvingRequestType.
|
|
65
|
+
[ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
66
|
+
[ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
67
|
+
[ProvingRequestType.TX_MERGE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
68
68
|
[ProvingRequestType.ROOT_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
69
69
|
[ProvingRequestType.BLOCK_MERGE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
70
70
|
[ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
@@ -76,8 +76,8 @@ import { ProvingBrokerInstrumentation } from './proving_broker_instrumentation.j
|
|
|
76
76
|
[ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
77
77
|
[ProvingRequestType.CHECKPOINT_MERGE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
78
78
|
[ProvingRequestType.CHECKPOINT_PADDING_ROLLUP]: new PriorityMemoryQueue(provingJobComparator),
|
|
79
|
-
[ProvingRequestType.
|
|
80
|
-
[ProvingRequestType.
|
|
79
|
+
[ProvingRequestType.PARITY_BASE]: new PriorityMemoryQueue(provingJobComparator),
|
|
80
|
+
[ProvingRequestType.PARITY_ROOT]: new PriorityMemoryQueue(provingJobComparator)
|
|
81
81
|
};
|
|
82
82
|
this.jobsCache = new Map();
|
|
83
83
|
this.resultsCache = new Map();
|
|
@@ -572,11 +572,11 @@ _ts_decorate([
|
|
|
572
572
|
ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP,
|
|
573
573
|
ProvingRequestType.CHECKPOINT_MERGE_ROLLUP,
|
|
574
574
|
ProvingRequestType.CHECKPOINT_PADDING_ROLLUP,
|
|
575
|
-
ProvingRequestType.
|
|
576
|
-
ProvingRequestType.
|
|
577
|
-
ProvingRequestType.
|
|
575
|
+
ProvingRequestType.TX_MERGE_ROLLUP,
|
|
576
|
+
ProvingRequestType.PUBLIC_TX_BASE_ROLLUP,
|
|
577
|
+
ProvingRequestType.PRIVATE_TX_BASE_ROLLUP,
|
|
578
578
|
ProvingRequestType.PUBLIC_VM,
|
|
579
579
|
ProvingRequestType.PUBLIC_TUBE,
|
|
580
|
-
ProvingRequestType.
|
|
581
|
-
ProvingRequestType.
|
|
580
|
+
ProvingRequestType.PARITY_ROOT,
|
|
581
|
+
ProvingRequestType.PARITY_BASE
|
|
582
582
|
];
|
|
@@ -120,17 +120,17 @@ export class ProvingJobController {
|
|
|
120
120
|
{
|
|
121
121
|
return await this.circuitProver.getPublicTubeProof(inputs, signal, this.epochNumber);
|
|
122
122
|
}
|
|
123
|
-
case ProvingRequestType.
|
|
123
|
+
case ProvingRequestType.PRIVATE_TX_BASE_ROLLUP:
|
|
124
124
|
{
|
|
125
|
-
return await this.circuitProver.
|
|
125
|
+
return await this.circuitProver.getPrivateTxBaseRollupProof(inputs, signal, this.epochNumber);
|
|
126
126
|
}
|
|
127
|
-
case ProvingRequestType.
|
|
127
|
+
case ProvingRequestType.PUBLIC_TX_BASE_ROLLUP:
|
|
128
128
|
{
|
|
129
|
-
return await this.circuitProver.
|
|
129
|
+
return await this.circuitProver.getPublicTxBaseRollupProof(inputs, signal, this.epochNumber);
|
|
130
130
|
}
|
|
131
|
-
case ProvingRequestType.
|
|
131
|
+
case ProvingRequestType.TX_MERGE_ROLLUP:
|
|
132
132
|
{
|
|
133
|
-
return await this.circuitProver.
|
|
133
|
+
return await this.circuitProver.getTxMergeRollupProof(inputs, signal, this.epochNumber);
|
|
134
134
|
}
|
|
135
135
|
case ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP:
|
|
136
136
|
{
|
|
@@ -176,11 +176,11 @@ export class ProvingJobController {
|
|
|
176
176
|
{
|
|
177
177
|
return await this.circuitProver.getRootRollupProof(inputs, signal, this.epochNumber);
|
|
178
178
|
}
|
|
179
|
-
case ProvingRequestType.
|
|
179
|
+
case ProvingRequestType.PARITY_BASE:
|
|
180
180
|
{
|
|
181
181
|
return await this.circuitProver.getBaseParityProof(inputs, signal, this.epochNumber);
|
|
182
182
|
}
|
|
183
|
-
case ProvingRequestType.
|
|
183
|
+
case ProvingRequestType.PARITY_ROOT:
|
|
184
184
|
{
|
|
185
185
|
return await this.circuitProver.getRootParityProof(inputs, signal, this.epochNumber);
|
|
186
186
|
}
|
|
@@ -2,8 +2,8 @@ import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
|
|
|
2
2
|
import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
|
|
3
3
|
import { type ProvingJob, type ProvingJobId, type ProvingJobProducer, type ProvingJobStatus, type PublicInputsAndRecursiveProof, type ServerCircuitProver } from '@aztec/stdlib/interfaces/server';
|
|
4
4
|
import type { PrivateToPublicKernelCircuitPublicInputs } from '@aztec/stdlib/kernel';
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
5
|
+
import type { ParityBasePrivateInputs, ParityRootPrivateInputs } from '@aztec/stdlib/parity';
|
|
6
|
+
import type { BlockMergeRollupPrivateInputs, BlockRollupPublicInputs, BlockRootEmptyTxFirstRollupPrivateInputs, BlockRootFirstRollupPrivateInputs, BlockRootRollupPrivateInputs, BlockRootSingleTxFirstRollupPrivateInputs, BlockRootSingleTxRollupPrivateInputs, CheckpointMergeRollupPrivateInputs, CheckpointPaddingRollupPrivateInputs, CheckpointRollupPublicInputs, CheckpointRootRollupPrivateInputs, CheckpointRootSingleBlockRollupPrivateInputs, PrivateTxBaseRollupPrivateInputs, PublicTubePrivateInputs, PublicTxBaseRollupPrivateInputs, RootRollupPrivateInputs, RootRollupPublicInputs, TxMergeRollupPrivateInputs, TxRollupPublicInputs } from '@aztec/stdlib/rollup';
|
|
7
7
|
import { type ProofStore } from '../proving_broker/proof_store/index.js';
|
|
8
8
|
export declare class TestBroker implements ProvingJobProducer {
|
|
9
9
|
private proofStore;
|
|
@@ -22,12 +22,12 @@ export declare class MockProver implements ServerCircuitProver {
|
|
|
22
22
|
constructor();
|
|
23
23
|
getAvmProof(_inputs: AvmCircuitInputs, _skipPublicInputsValidation?: boolean, // TODO(#14234)[Unconditional PIs validation]: Remove.
|
|
24
24
|
_signal?: AbortSignal, _epochNumber?: number): Promise<import("@aztec/stdlib/interfaces/server").ProofAndVerificationKey<20000>>;
|
|
25
|
-
getBaseParityProof(_inputs:
|
|
26
|
-
getRootParityProof(_inputs:
|
|
25
|
+
getBaseParityProof(_inputs: ParityBasePrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<import("@aztec/stdlib/parity").ParityPublicInputs, 457>>;
|
|
26
|
+
getRootParityProof(_inputs: ParityRootPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<import("@aztec/stdlib/parity").ParityPublicInputs, 457>>;
|
|
27
27
|
getPublicTubeProof(_inputs: PublicTubePrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<PrivateToPublicKernelCircuitPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
getPrivateTxBaseRollupProof(_baseRollupInput: PrivateTxBaseRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
29
|
+
getPublicTxBaseRollupProof(_inputs: PublicTxBaseRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
30
|
+
getTxMergeRollupProof(_input: TxMergeRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
31
31
|
getBlockRootFirstRollupProof(_input: BlockRootFirstRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
32
32
|
getBlockRootSingleTxFirstRollupProof(_input: BlockRootSingleTxFirstRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
33
33
|
getBlockRootEmptyTxFirstRollupProof(_input: BlockRootEmptyTxFirstRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock_prover.d.ts","sourceRoot":"","sources":["../../src/test/mock_prover.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,yCAAyC,EAE1C,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EACL,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,wCAAwC,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,KAAK,EAAE,
|
|
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
|
@@ -2,7 +2,7 @@ import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, AVM_V2_VERIFICATION_KEY_LENGTH_IN
|
|
|
2
2
|
import { times } from '@aztec/foundation/collection';
|
|
3
3
|
import { makeProofAndVerificationKey, makePublicInputsAndRecursiveProof } from '@aztec/stdlib/interfaces/server';
|
|
4
4
|
import { makeEmptyRecursiveProof, makeRecursiveProof } from '@aztec/stdlib/proofs';
|
|
5
|
-
import {
|
|
5
|
+
import { makeBlockRollupPublicInputs, makeCheckpointRollupPublicInputs, makeParityPublicInputs, makePrivateToPublicKernelCircuitPublicInputs, makeRootRollupPublicInputs, makeTxRollupPublicInputs } from '@aztec/stdlib/testing';
|
|
6
6
|
import { VerificationKeyData } from '@aztec/stdlib/vks';
|
|
7
7
|
import { InlineProofStore } from '../proving_broker/proof_store/index.js';
|
|
8
8
|
import { ProvingAgent } from '../proving_broker/proving_agent.js';
|
|
@@ -55,14 +55,14 @@ export class MockProver {
|
|
|
55
55
|
getPublicTubeProof(_inputs, _signal, _epochNumber) {
|
|
56
56
|
return Promise.resolve(makePublicInputsAndRecursiveProof(makePrivateToPublicKernelCircuitPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
57
57
|
}
|
|
58
|
-
|
|
59
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(
|
|
58
|
+
getPrivateTxBaseRollupProof(_baseRollupInput, _signal, _epochNumber) {
|
|
59
|
+
return Promise.resolve(makePublicInputsAndRecursiveProof(makeTxRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
60
60
|
}
|
|
61
|
-
|
|
62
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(
|
|
61
|
+
getPublicTxBaseRollupProof(_inputs, _signal, _epochNumber) {
|
|
62
|
+
return Promise.resolve(makePublicInputsAndRecursiveProof(makeTxRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
63
63
|
}
|
|
64
|
-
|
|
65
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(
|
|
64
|
+
getTxMergeRollupProof(_input, _signal, _epochNumber) {
|
|
65
|
+
return Promise.resolve(makePublicInputsAndRecursiveProof(makeTxRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
66
66
|
}
|
|
67
67
|
getBlockRootFirstRollupProof(_input, _signal, _epochNumber) {
|
|
68
68
|
return Promise.resolve(makePublicInputsAndRecursiveProof(makeBlockRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/prover-client",
|
|
3
|
-
"version": "3.0.0-nightly.
|
|
3
|
+
"version": "3.0.0-nightly.20250920",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -27,8 +27,7 @@
|
|
|
27
27
|
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
28
28
|
"bb": "node --no-warnings ./dest/bb/index.js",
|
|
29
29
|
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=3500000 --forceExit",
|
|
30
|
-
"test:debug": "LOG_LEVEL=debug NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=1500000 --forceExit --testNamePattern prover/bb_prover/parity"
|
|
31
|
-
"get-proof-inputs": "node --no-warnings ./dest/bin/get-proof-inputs.js"
|
|
30
|
+
"test:debug": "LOG_LEVEL=debug NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=1500000 --forceExit --testNamePattern prover/bb_prover/parity"
|
|
32
31
|
},
|
|
33
32
|
"jest": {
|
|
34
33
|
"moduleNameMapper": {
|
|
@@ -68,19 +67,19 @@
|
|
|
68
67
|
]
|
|
69
68
|
},
|
|
70
69
|
"dependencies": {
|
|
71
|
-
"@aztec/bb-prover": "3.0.0-nightly.
|
|
72
|
-
"@aztec/blob-lib": "3.0.0-nightly.
|
|
73
|
-
"@aztec/constants": "3.0.0-nightly.
|
|
74
|
-
"@aztec/ethereum": "3.0.0-nightly.
|
|
75
|
-
"@aztec/foundation": "3.0.0-nightly.
|
|
76
|
-
"@aztec/kv-store": "3.0.0-nightly.
|
|
77
|
-
"@aztec/noir-protocol-circuits-types": "3.0.0-nightly.
|
|
78
|
-
"@aztec/noir-types": "3.0.0-nightly.
|
|
79
|
-
"@aztec/protocol-contracts": "3.0.0-nightly.
|
|
80
|
-
"@aztec/simulator": "3.0.0-nightly.
|
|
81
|
-
"@aztec/stdlib": "3.0.0-nightly.
|
|
82
|
-
"@aztec/telemetry-client": "3.0.0-nightly.
|
|
83
|
-
"@aztec/world-state": "3.0.0-nightly.
|
|
70
|
+
"@aztec/bb-prover": "3.0.0-nightly.20250920",
|
|
71
|
+
"@aztec/blob-lib": "3.0.0-nightly.20250920",
|
|
72
|
+
"@aztec/constants": "3.0.0-nightly.20250920",
|
|
73
|
+
"@aztec/ethereum": "3.0.0-nightly.20250920",
|
|
74
|
+
"@aztec/foundation": "3.0.0-nightly.20250920",
|
|
75
|
+
"@aztec/kv-store": "3.0.0-nightly.20250920",
|
|
76
|
+
"@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20250920",
|
|
77
|
+
"@aztec/noir-types": "3.0.0-nightly.20250920",
|
|
78
|
+
"@aztec/protocol-contracts": "3.0.0-nightly.20250920",
|
|
79
|
+
"@aztec/simulator": "3.0.0-nightly.20250920",
|
|
80
|
+
"@aztec/stdlib": "3.0.0-nightly.20250920",
|
|
81
|
+
"@aztec/telemetry-client": "3.0.0-nightly.20250920",
|
|
82
|
+
"@aztec/world-state": "3.0.0-nightly.20250920",
|
|
84
83
|
"@google-cloud/storage": "^7.15.0",
|
|
85
84
|
"@iarna/toml": "^2.2.5",
|
|
86
85
|
"commander": "^12.1.0",
|
|
@@ -90,7 +89,7 @@
|
|
|
90
89
|
"zod": "^3.23.8"
|
|
91
90
|
},
|
|
92
91
|
"devDependencies": {
|
|
93
|
-
"@aztec/noir-contracts.js": "3.0.0-nightly.
|
|
92
|
+
"@aztec/noir-contracts.js": "3.0.0-nightly.20250920",
|
|
94
93
|
"@jest/globals": "^30.0.0",
|
|
95
94
|
"@types/jest": "^30.0.0",
|
|
96
95
|
"@types/node": "^22.15.17",
|
|
@@ -5,17 +5,15 @@ import {
|
|
|
5
5
|
NESTED_RECURSIVE_PROOF_LENGTH,
|
|
6
6
|
type NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
7
7
|
NUM_BASE_PARITY_PER_ROOT_PARITY,
|
|
8
|
-
type RECURSIVE_PROOF_LENGTH,
|
|
9
8
|
} from '@aztec/constants';
|
|
10
9
|
import { Fr } from '@aztec/foundation/fields';
|
|
11
|
-
import type
|
|
10
|
+
import { type Tuple, assertLength } from '@aztec/foundation/serialize';
|
|
12
11
|
import { type TreeNodeLocation, UnbalancedTreeStore } from '@aztec/foundation/trees';
|
|
13
|
-
import { getVKIndex, getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
14
12
|
import { getBlockBlobFields } from '@aztec/stdlib/block';
|
|
15
13
|
import type { PublicInputsAndRecursiveProof } from '@aztec/stdlib/interfaces/server';
|
|
16
|
-
import { type ParityPublicInputs,
|
|
14
|
+
import { type ParityPublicInputs, ParityRootPrivateInputs } from '@aztec/stdlib/parity';
|
|
15
|
+
import type { RollupHonkProofData } from '@aztec/stdlib/proofs';
|
|
17
16
|
import {
|
|
18
|
-
type BaseOrMergeRollupPublicInputs,
|
|
19
17
|
BlockRollupPublicInputs,
|
|
20
18
|
BlockRootEmptyTxFirstRollupPrivateInputs,
|
|
21
19
|
BlockRootFirstRollupPrivateInputs,
|
|
@@ -23,15 +21,13 @@ import {
|
|
|
23
21
|
BlockRootSingleTxFirstRollupPrivateInputs,
|
|
24
22
|
BlockRootSingleTxRollupPrivateInputs,
|
|
25
23
|
CheckpointConstantData,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
type RollupProofData,
|
|
24
|
+
TxMergeRollupPrivateInputs,
|
|
25
|
+
type TxRollupPublicInputs,
|
|
29
26
|
} from '@aztec/stdlib/rollup';
|
|
30
27
|
import type { CircuitName } from '@aztec/stdlib/stats';
|
|
31
28
|
import { AppendOnlyTreeSnapshot } from '@aztec/stdlib/trees';
|
|
32
29
|
import { type BlockHeader, GlobalVariables } from '@aztec/stdlib/tx';
|
|
33
30
|
import type { UInt64 } from '@aztec/stdlib/types';
|
|
34
|
-
import { VkData } from '@aztec/stdlib/vks';
|
|
35
31
|
|
|
36
32
|
import { buildHeaderFromCircuitOutputs, toProofData } from './block-building-helpers.js';
|
|
37
33
|
import type { CheckpointProvingState } from './checkpoint-proving-state.js';
|
|
@@ -48,7 +44,7 @@ export type ProofState<T, PROOF_LENGTH extends number> = {
|
|
|
48
44
|
*/
|
|
49
45
|
export class BlockProvingState {
|
|
50
46
|
private baseOrMergeProofs: UnbalancedTreeStore<
|
|
51
|
-
ProofState<
|
|
47
|
+
ProofState<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
52
48
|
> = new UnbalancedTreeStore(0);
|
|
53
49
|
private baseParityProofs: (ProofState<ParityPublicInputs, typeof NESTED_RECURSIVE_PROOF_LENGTH> | undefined)[] =
|
|
54
50
|
Array.from({
|
|
@@ -121,7 +117,7 @@ export class BlockProvingState {
|
|
|
121
117
|
public setBaseRollupProof(
|
|
122
118
|
txIndex: number,
|
|
123
119
|
provingOutput: PublicInputsAndRecursiveProof<
|
|
124
|
-
|
|
120
|
+
TxRollupPublicInputs,
|
|
125
121
|
typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
|
|
126
122
|
>,
|
|
127
123
|
): TreeNodeLocation {
|
|
@@ -140,7 +136,7 @@ export class BlockProvingState {
|
|
|
140
136
|
public setMergeRollupProof(
|
|
141
137
|
location: TreeNodeLocation,
|
|
142
138
|
provingOutput: PublicInputsAndRecursiveProof<
|
|
143
|
-
|
|
139
|
+
TxRollupPublicInputs,
|
|
144
140
|
typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
|
|
145
141
|
>,
|
|
146
142
|
) {
|
|
@@ -254,7 +250,7 @@ export class BlockProvingState {
|
|
|
254
250
|
throw new Error('At least one child is not ready for the merge rollup.');
|
|
255
251
|
}
|
|
256
252
|
|
|
257
|
-
return new
|
|
253
|
+
return new TxMergeRollupPrivateInputs([toProofData(left), toProofData(right)]);
|
|
258
254
|
}
|
|
259
255
|
|
|
260
256
|
public getBlockRootRollupTypeAndInputs() {
|
|
@@ -272,18 +268,18 @@ export class BlockProvingState {
|
|
|
272
268
|
const [leftRollup, rightRollup] = previousRollups;
|
|
273
269
|
if (!rightRollup) {
|
|
274
270
|
return {
|
|
275
|
-
rollupType: 'block-root-single-tx
|
|
271
|
+
rollupType: 'rollup-block-root-single-tx' satisfies CircuitName,
|
|
276
272
|
inputs: new BlockRootSingleTxRollupPrivateInputs(leftRollup, this.lastArchiveSiblingPath),
|
|
277
273
|
};
|
|
278
274
|
} else {
|
|
279
275
|
return {
|
|
280
|
-
rollupType: 'block-root
|
|
276
|
+
rollupType: 'rollup-block-root' satisfies CircuitName,
|
|
281
277
|
inputs: new BlockRootRollupPrivateInputs([leftRollup, rightRollup], this.lastArchiveSiblingPath),
|
|
282
278
|
};
|
|
283
279
|
}
|
|
284
280
|
}
|
|
285
281
|
|
|
286
|
-
#getFirstBlockRootRollupTypeAndInputs([leftRollup, rightRollup]:
|
|
282
|
+
#getFirstBlockRootRollupTypeAndInputs([leftRollup, rightRollup]: RollupHonkProofData<TxRollupPublicInputs>[]) {
|
|
287
283
|
if (!this.rootParityProof?.provingOutput) {
|
|
288
284
|
throw new Error('Root parity is not ready.');
|
|
289
285
|
}
|
|
@@ -291,7 +287,7 @@ export class BlockProvingState {
|
|
|
291
287
|
|
|
292
288
|
if (!leftRollup) {
|
|
293
289
|
return {
|
|
294
|
-
rollupType: 'block-root-empty-tx
|
|
290
|
+
rollupType: 'rollup-block-root-first-empty-tx' satisfies CircuitName,
|
|
295
291
|
inputs: new BlockRootEmptyTxFirstRollupPrivateInputs(
|
|
296
292
|
l1ToL2Roots,
|
|
297
293
|
this.lastArchiveTreeSnapshot,
|
|
@@ -305,7 +301,7 @@ export class BlockProvingState {
|
|
|
305
301
|
};
|
|
306
302
|
} else if (!rightRollup) {
|
|
307
303
|
return {
|
|
308
|
-
rollupType: 'block-root-single-tx
|
|
304
|
+
rollupType: 'rollup-block-root-first-single-tx' satisfies CircuitName,
|
|
309
305
|
inputs: new BlockRootSingleTxFirstRollupPrivateInputs(
|
|
310
306
|
l1ToL2Roots,
|
|
311
307
|
leftRollup,
|
|
@@ -316,7 +312,7 @@ export class BlockProvingState {
|
|
|
316
312
|
};
|
|
317
313
|
} else {
|
|
318
314
|
return {
|
|
319
|
-
rollupType: 'block-root-first
|
|
315
|
+
rollupType: 'rollup-block-root-first' satisfies CircuitName,
|
|
320
316
|
inputs: new BlockRootFirstRollupPrivateInputs(
|
|
321
317
|
l1ToL2Roots,
|
|
322
318
|
[leftRollup, rightRollup],
|
|
@@ -328,16 +324,14 @@ export class BlockProvingState {
|
|
|
328
324
|
}
|
|
329
325
|
}
|
|
330
326
|
|
|
331
|
-
public
|
|
327
|
+
public getParityRootInputs() {
|
|
332
328
|
const baseParityProvingOutputs = this.baseParityProofs.filter(p => !!p?.provingOutput).map(p => p!.provingOutput!);
|
|
333
329
|
if (baseParityProvingOutputs.length !== this.baseParityProofs.length) {
|
|
334
330
|
throw new Error('At lease one base parity is not ready.');
|
|
335
331
|
}
|
|
336
332
|
|
|
337
|
-
const children = baseParityProvingOutputs.map(p =>
|
|
338
|
-
return new
|
|
339
|
-
children as Tuple<RootParityInput<typeof RECURSIVE_PROOF_LENGTH>, typeof NUM_BASE_PARITY_PER_ROOT_PARITY>,
|
|
340
|
-
);
|
|
333
|
+
const children = baseParityProvingOutputs.map(p => toProofData(p));
|
|
334
|
+
return new ParityRootPrivateInputs(assertLength(children, NUM_BASE_PARITY_PER_ROOT_PARITY));
|
|
341
335
|
}
|
|
342
336
|
|
|
343
337
|
// Returns a specific transaction proving state
|
|
@@ -396,23 +390,4 @@ export class BlockProvingState {
|
|
|
396
390
|
? [this.baseOrMergeProofs.getNode(rootLocation)?.provingOutput]
|
|
397
391
|
: this.baseOrMergeProofs.getChildren(rootLocation).map(c => c?.provingOutput);
|
|
398
392
|
}
|
|
399
|
-
|
|
400
|
-
#getPreviousRollupData({
|
|
401
|
-
inputs,
|
|
402
|
-
proof,
|
|
403
|
-
verificationKey,
|
|
404
|
-
}: PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>) {
|
|
405
|
-
const leafIndex = getVKIndex(verificationKey.keyAsFields);
|
|
406
|
-
const vkData = new VkData(verificationKey, leafIndex, getVKSiblingPath(leafIndex));
|
|
407
|
-
return new PreviousRollupData(inputs, proof, vkData);
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
#getRootParityData({ inputs, proof, verificationKey }: PublicInputsAndRecursiveProof<ParityPublicInputs>) {
|
|
411
|
-
return new RootParityInput(
|
|
412
|
-
proof,
|
|
413
|
-
verificationKey.keyAsFields,
|
|
414
|
-
getVKSiblingPath(getVKIndex(verificationKey)),
|
|
415
|
-
inputs,
|
|
416
|
-
);
|
|
417
|
-
}
|
|
418
393
|
}
|
|
@@ -17,7 +17,7 @@ import { BLS12Point, Fr } from '@aztec/foundation/fields';
|
|
|
17
17
|
import type { Tuple } from '@aztec/foundation/serialize';
|
|
18
18
|
import { type TreeNodeLocation, UnbalancedTreeStore } from '@aztec/foundation/trees';
|
|
19
19
|
import type { PublicInputsAndRecursiveProof } from '@aztec/stdlib/interfaces/server';
|
|
20
|
-
import {
|
|
20
|
+
import { ParityBasePrivateInputs } from '@aztec/stdlib/parity';
|
|
21
21
|
import {
|
|
22
22
|
BlockMergeRollupPrivateInputs,
|
|
23
23
|
BlockRollupPublicInputs,
|
|
@@ -185,7 +185,7 @@ export class CheckpointProvingState {
|
|
|
185
185
|
Fr.ZERO,
|
|
186
186
|
NUM_MSGS_PER_BASE_PARITY,
|
|
187
187
|
);
|
|
188
|
-
return new
|
|
188
|
+
return new ParityBasePrivateInputs(messages, this.constants.vkTreeRoot);
|
|
189
189
|
}
|
|
190
190
|
|
|
191
191
|
public async accumulateBlobs(startBlobAccumulator: BatchedBlobAccumulator) {
|
|
@@ -220,7 +220,7 @@ export class CheckpointProvingState {
|
|
|
220
220
|
}
|
|
221
221
|
|
|
222
222
|
public getCheckpointRootRollupType(): CircuitName {
|
|
223
|
-
return this.totalNumBlocks === 1 ? 'checkpoint-root-single-block
|
|
223
|
+
return this.totalNumBlocks === 1 ? 'rollup-checkpoint-root-single-block' : 'rollup-checkpoint-root';
|
|
224
224
|
}
|
|
225
225
|
|
|
226
226
|
public async getCheckpointRootRollupInputs() {
|
|
@@ -70,7 +70,6 @@ export class EpochProvingState {
|
|
|
70
70
|
|
|
71
71
|
constructor(
|
|
72
72
|
public readonly epochNumber: number,
|
|
73
|
-
private readonly firstCheckpointNumber: Fr,
|
|
74
73
|
public readonly totalNumCheckpoints: number,
|
|
75
74
|
private readonly finalBlobBatchingChallenges: FinalBlobBatchingChallenges,
|
|
76
75
|
private onCheckpointBlobAccumulatorSet: (checkpoint: CheckpointProvingState) => void,
|
|
@@ -84,6 +83,7 @@ export class EpochProvingState {
|
|
|
84
83
|
// Adds a block to the proving state, returns its index
|
|
85
84
|
// Will update the proving life cycle if this is the last block
|
|
86
85
|
public startNewCheckpoint(
|
|
86
|
+
checkpointIndex: number,
|
|
87
87
|
constants: CheckpointConstantData,
|
|
88
88
|
totalNumBlocks: number,
|
|
89
89
|
totalNumBlobFields: number,
|
|
@@ -95,22 +95,14 @@ export class EpochProvingState {
|
|
|
95
95
|
newL1ToL2MessageTreeSnapshot: AppendOnlyTreeSnapshot,
|
|
96
96
|
newL1ToL2MessageSubtreeSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH>,
|
|
97
97
|
): CheckpointProvingState {
|
|
98
|
-
|
|
99
|
-
if (slotNumber.lt(this.firstCheckpointNumber)) {
|
|
100
|
-
throw new Error(
|
|
101
|
-
`Unable to start a new checkpoint - checkpoint too old. Epoch started at ${this.firstCheckpointNumber.toNumber()}. Got ${slotNumber.toNumber()}.`,
|
|
102
|
-
);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
const index = slotNumber.sub(this.firstCheckpointNumber).toNumber();
|
|
106
|
-
if (index >= this.totalNumCheckpoints) {
|
|
98
|
+
if (checkpointIndex >= this.totalNumCheckpoints) {
|
|
107
99
|
throw new Error(
|
|
108
|
-
`Unable to start a new checkpoint at index ${
|
|
100
|
+
`Unable to start a new checkpoint at index ${checkpointIndex}. Expected at most ${this.totalNumCheckpoints} checkpoints.`,
|
|
109
101
|
);
|
|
110
102
|
}
|
|
111
103
|
|
|
112
104
|
const checkpoint = new CheckpointProvingState(
|
|
113
|
-
|
|
105
|
+
checkpointIndex,
|
|
114
106
|
constants,
|
|
115
107
|
totalNumBlocks,
|
|
116
108
|
totalNumBlobFields,
|
|
@@ -125,7 +117,7 @@ export class EpochProvingState {
|
|
|
125
117
|
this,
|
|
126
118
|
this.onCheckpointBlobAccumulatorSet,
|
|
127
119
|
);
|
|
128
|
-
this.checkpoints[
|
|
120
|
+
this.checkpoints[checkpointIndex] = checkpoint;
|
|
129
121
|
|
|
130
122
|
if (this.checkpoints.filter(c => !!c).length === this.totalNumCheckpoints) {
|
|
131
123
|
this.provingStateLifecycle = PROVING_STATE_LIFECYCLE.PROVING_STATE_FULL;
|