@aztec/prover-client 0.0.1-fake-c83136db25 → 0.0.1-fake-ceab37513c
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/bin/get-proof-inputs.d.ts +2 -0
- package/dest/bin/get-proof-inputs.d.ts.map +1 -0
- package/dest/bin/get-proof-inputs.js +51 -0
- package/dest/block-factory/light.d.ts +3 -5
- package/dest/block-factory/light.d.ts.map +1 -1
- package/dest/block-factory/light.js +9 -16
- package/dest/config.js +1 -1
- package/dest/mocks/fixtures.d.ts +1 -4
- package/dest/mocks/fixtures.d.ts.map +1 -1
- package/dest/mocks/fixtures.js +3 -31
- package/dest/mocks/test_context.d.ts +9 -32
- package/dest/mocks/test_context.d.ts.map +1 -1
- package/dest/mocks/test_context.js +22 -78
- package/dest/orchestrator/block-building-helpers.d.ts +31 -33
- package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
- package/dest/orchestrator/block-building-helpers.js +137 -126
- package/dest/orchestrator/block-proving-state.d.ts +53 -60
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/block-proving-state.js +187 -214
- package/dest/orchestrator/epoch-proving-state.d.ts +28 -34
- package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/epoch-proving-state.js +84 -128
- package/dest/orchestrator/orchestrator.d.ts +30 -31
- package/dest/orchestrator/orchestrator.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator.js +236 -368
- package/dest/orchestrator/tx-proving-state.d.ts +9 -11
- package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/tx-proving-state.js +23 -26
- package/dest/prover-client/server-epoch-prover.d.ts +8 -9
- package/dest/prover-client/server-epoch-prover.d.ts.map +1 -1
- package/dest/prover-client/server-epoch-prover.js +9 -9
- package/dest/proving_broker/broker_prover_facade.d.ts +15 -20
- package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
- package/dest/proving_broker/broker_prover_facade.js +21 -36
- package/dest/proving_broker/fixtures.js +1 -1
- package/dest/proving_broker/proof_store/index.d.ts +0 -1
- package/dest/proving_broker/proof_store/index.d.ts.map +1 -1
- package/dest/proving_broker/proof_store/index.js +0 -1
- package/dest/proving_broker/proving_broker.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker.js +18 -29
- package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
- package/dest/proving_broker/proving_job_controller.js +18 -38
- package/dest/test/mock_prover.d.ts +17 -22
- package/dest/test/mock_prover.d.ts.map +1 -1
- package/dest/test/mock_prover.js +20 -35
- package/package.json +17 -16
- package/src/bin/get-proof-inputs.ts +59 -0
- package/src/block-factory/light.ts +9 -35
- package/src/config.ts +1 -1
- package/src/mocks/fixtures.ts +11 -39
- package/src/mocks/test_context.ts +31 -137
- package/src/orchestrator/block-building-helpers.ts +211 -211
- package/src/orchestrator/block-proving-state.ts +245 -235
- package/src/orchestrator/epoch-proving-state.ts +127 -172
- package/src/orchestrator/orchestrator.ts +303 -545
- package/src/orchestrator/tx-proving-state.ts +43 -49
- package/src/prover-client/server-epoch-prover.ts +18 -28
- package/src/proving_broker/broker_prover_facade.ts +86 -157
- package/src/proving_broker/fixtures.ts +1 -1
- package/src/proving_broker/proof_store/index.ts +0 -1
- package/src/proving_broker/proving_broker.ts +18 -36
- package/src/proving_broker/proving_job_controller.ts +18 -38
- package/src/test/mock_prover.ts +60 -142
- package/dest/orchestrator/checkpoint-proving-state.d.ts +0 -63
- package/dest/orchestrator/checkpoint-proving-state.d.ts.map +0 -1
- package/dest/orchestrator/checkpoint-proving-state.js +0 -211
- package/src/orchestrator/checkpoint-proving-state.ts +0 -299
|
@@ -116,74 +116,54 @@ export class ProvingJobController {
|
|
|
116
116
|
// TODO(#14234)[Unconditional PIs validation]: Remove argument "undefined".
|
|
117
117
|
return await this.circuitProver.getAvmProof(inputs, undefined, signal, this.epochNumber);
|
|
118
118
|
}
|
|
119
|
-
case ProvingRequestType.
|
|
119
|
+
case ProvingRequestType.PRIVATE_BASE_ROLLUP:
|
|
120
120
|
{
|
|
121
|
-
return await this.circuitProver.
|
|
121
|
+
return await this.circuitProver.getPrivateBaseRollupProof(inputs, signal, this.epochNumber);
|
|
122
122
|
}
|
|
123
|
-
case ProvingRequestType.
|
|
123
|
+
case ProvingRequestType.PUBLIC_BASE_ROLLUP:
|
|
124
124
|
{
|
|
125
|
-
return await this.circuitProver.
|
|
125
|
+
return await this.circuitProver.getPublicBaseRollupProof(inputs, signal, this.epochNumber);
|
|
126
126
|
}
|
|
127
|
-
case ProvingRequestType.
|
|
127
|
+
case ProvingRequestType.MERGE_ROLLUP:
|
|
128
128
|
{
|
|
129
|
-
return await this.circuitProver.
|
|
129
|
+
return await this.circuitProver.getMergeRollupProof(inputs, signal, this.epochNumber);
|
|
130
130
|
}
|
|
131
|
-
case ProvingRequestType.
|
|
131
|
+
case ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP:
|
|
132
132
|
{
|
|
133
|
-
return await this.circuitProver.
|
|
133
|
+
return await this.circuitProver.getEmptyBlockRootRollupProof(inputs, signal, this.epochNumber);
|
|
134
134
|
}
|
|
135
|
-
case ProvingRequestType.
|
|
135
|
+
case ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP:
|
|
136
136
|
{
|
|
137
|
-
return await this.circuitProver.
|
|
138
|
-
}
|
|
139
|
-
case ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP:
|
|
140
|
-
{
|
|
141
|
-
return await this.circuitProver.getBlockRootSingleTxFirstRollupProof(inputs, signal, this.epochNumber);
|
|
142
|
-
}
|
|
143
|
-
case ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP:
|
|
144
|
-
{
|
|
145
|
-
return await this.circuitProver.getBlockRootEmptyTxFirstRollupProof(inputs, signal, this.epochNumber);
|
|
137
|
+
return await this.circuitProver.getPaddingBlockRootRollupProof(inputs, signal, this.epochNumber);
|
|
146
138
|
}
|
|
147
139
|
case ProvingRequestType.BLOCK_ROOT_ROLLUP:
|
|
148
140
|
{
|
|
149
141
|
return await this.circuitProver.getBlockRootRollupProof(inputs, signal, this.epochNumber);
|
|
150
142
|
}
|
|
151
|
-
case ProvingRequestType.
|
|
143
|
+
case ProvingRequestType.SINGLE_TX_BLOCK_ROOT_ROLLUP:
|
|
152
144
|
{
|
|
153
|
-
return await this.circuitProver.
|
|
145
|
+
return await this.circuitProver.getSingleTxBlockRootRollupProof(inputs, signal, this.epochNumber);
|
|
154
146
|
}
|
|
155
147
|
case ProvingRequestType.BLOCK_MERGE_ROLLUP:
|
|
156
148
|
{
|
|
157
149
|
return await this.circuitProver.getBlockMergeRollupProof(inputs, signal, this.epochNumber);
|
|
158
150
|
}
|
|
159
|
-
case ProvingRequestType.CHECKPOINT_ROOT_ROLLUP:
|
|
160
|
-
{
|
|
161
|
-
return await this.circuitProver.getCheckpointRootRollupProof(inputs, signal, this.epochNumber);
|
|
162
|
-
}
|
|
163
|
-
case ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP:
|
|
164
|
-
{
|
|
165
|
-
return await this.circuitProver.getCheckpointRootSingleBlockRollupProof(inputs, signal, this.epochNumber);
|
|
166
|
-
}
|
|
167
|
-
case ProvingRequestType.CHECKPOINT_PADDING_ROLLUP:
|
|
168
|
-
{
|
|
169
|
-
return await this.circuitProver.getCheckpointPaddingRollupProof(inputs, signal, this.epochNumber);
|
|
170
|
-
}
|
|
171
|
-
case ProvingRequestType.CHECKPOINT_MERGE_ROLLUP:
|
|
172
|
-
{
|
|
173
|
-
return await this.circuitProver.getCheckpointMergeRollupProof(inputs, signal, this.epochNumber);
|
|
174
|
-
}
|
|
175
151
|
case ProvingRequestType.ROOT_ROLLUP:
|
|
176
152
|
{
|
|
177
153
|
return await this.circuitProver.getRootRollupProof(inputs, signal, this.epochNumber);
|
|
178
154
|
}
|
|
179
|
-
case ProvingRequestType.
|
|
155
|
+
case ProvingRequestType.BASE_PARITY:
|
|
180
156
|
{
|
|
181
157
|
return await this.circuitProver.getBaseParityProof(inputs, signal, this.epochNumber);
|
|
182
158
|
}
|
|
183
|
-
case ProvingRequestType.
|
|
159
|
+
case ProvingRequestType.ROOT_PARITY:
|
|
184
160
|
{
|
|
185
161
|
return await this.circuitProver.getRootParityProof(inputs, signal, this.epochNumber);
|
|
186
162
|
}
|
|
163
|
+
case ProvingRequestType.TUBE_PROOF:
|
|
164
|
+
{
|
|
165
|
+
return await this.circuitProver.getTubeProof(inputs, signal, this.epochNumber);
|
|
166
|
+
}
|
|
187
167
|
default:
|
|
188
168
|
{
|
|
189
169
|
const _exhaustive = type;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
|
|
1
|
+
import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, TUBE_PROOF_LENGTH } from '@aztec/constants';
|
|
2
2
|
import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
|
|
3
|
-
import { type ProvingJob, type ProvingJobId, type ProvingJobProducer, type ProvingJobStatus, type PublicInputsAndRecursiveProof, type ServerCircuitProver } from '@aztec/stdlib/interfaces/server';
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
3
|
+
import { type ProofAndVerificationKey, type ProvingJob, type ProvingJobId, type ProvingJobProducer, type ProvingJobStatus, type PublicInputsAndRecursiveProof, type ServerCircuitProver } from '@aztec/stdlib/interfaces/server';
|
|
4
|
+
import type { BaseParityInputs, RootParityInputs } from '@aztec/stdlib/parity';
|
|
5
|
+
import type { BaseOrMergeRollupPublicInputs, BlockMergeRollupInputs, BlockRootOrBlockMergePublicInputs, BlockRootRollupInputs, EmptyBlockRootRollupInputs, MergeRollupInputs, PaddingBlockRootRollupInputs, PrivateBaseRollupInputs, PublicBaseRollupInputs, RootRollupInputs, RootRollupPublicInputs, SingleTxBlockRootRollupInputs } from '@aztec/stdlib/rollup';
|
|
6
6
|
import { type ProofStore } from '../proving_broker/proof_store/index.js';
|
|
7
7
|
export declare class TestBroker implements ProvingJobProducer {
|
|
8
8
|
private proofStore;
|
|
@@ -20,23 +20,18 @@ export declare class TestBroker implements ProvingJobProducer {
|
|
|
20
20
|
export declare class MockProver implements ServerCircuitProver {
|
|
21
21
|
constructor();
|
|
22
22
|
getAvmProof(_inputs: AvmCircuitInputs, _skipPublicInputsValidation?: boolean, // TODO(#14234)[Unconditional PIs validation]: Remove.
|
|
23
|
-
_signal?: AbortSignal, _epochNumber?: number): Promise<
|
|
24
|
-
getBaseParityProof(_inputs:
|
|
25
|
-
getRootParityProof(_inputs:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
getCheckpointRootRollupProof(_input: CheckpointRootRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
37
|
-
getCheckpointRootSingleBlockRollupProof(_input: CheckpointRootSingleBlockRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
38
|
-
getCheckpointMergeRollupProof(_input: CheckpointMergeRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
39
|
-
getCheckpointPaddingRollupProof(_input: CheckpointPaddingRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
40
|
-
getRootRollupProof(_input: RootRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs>>;
|
|
23
|
+
_signal?: AbortSignal, _epochNumber?: number): Promise<ProofAndVerificationKey<20000>>;
|
|
24
|
+
getBaseParityProof(_inputs: BaseParityInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<import("@aztec/stdlib/parity").ParityPublicInputs, 457>>;
|
|
25
|
+
getRootParityProof(_inputs: RootParityInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<import("@aztec/stdlib/parity").ParityPublicInputs, 457>>;
|
|
26
|
+
getPrivateBaseRollupProof(_baseRollupInput: PrivateBaseRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
27
|
+
getPublicBaseRollupProof(_inputs: PublicBaseRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
28
|
+
getMergeRollupProof(_input: MergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
29
|
+
getBlockMergeRollupProof(_input: BlockMergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, 535>>;
|
|
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
|
+
getBlockRootRollupProof(_input: BlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
33
|
+
getSingleTxBlockRootRollupProof(_input: SingleTxBlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
34
|
+
getRootRollupProof(_input: RootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs>>;
|
|
35
|
+
getTubeProof(): Promise<ProofAndVerificationKey<typeof TUBE_PROOF_LENGTH>>;
|
|
41
36
|
}
|
|
42
37
|
//# sourceMappingURL=mock_prover.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock_prover.d.ts","sourceRoot":"","sources":["../../src/test/mock_prover.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,yCAAyC,
|
|
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
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH } from '@aztec/constants';
|
|
1
|
+
import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, TUBE_PROOF_LENGTH } from '@aztec/constants';
|
|
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 { makeBaseOrMergeRollupPublicInputs, makeBlockRootOrBlockMergeRollupPublicInputs, makeParityPublicInputs, makeRootRollupPublicInputs } 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';
|
|
@@ -52,49 +52,34 @@ export class MockProver {
|
|
|
52
52
|
getRootParityProof(_inputs, _signal, _epochNumber) {
|
|
53
53
|
return Promise.resolve(makePublicInputsAndRecursiveProof(makeParityPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_PROOF_LENGTH), VerificationKeyData.makeFakeHonk()));
|
|
54
54
|
}
|
|
55
|
-
|
|
56
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(
|
|
55
|
+
getPrivateBaseRollupProof(_baseRollupInput, _signal, _epochNumber) {
|
|
56
|
+
return Promise.resolve(makePublicInputsAndRecursiveProof(makeBaseOrMergeRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
57
57
|
}
|
|
58
|
-
|
|
59
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(
|
|
58
|
+
getPublicBaseRollupProof(_inputs, _signal, _epochNumber) {
|
|
59
|
+
return Promise.resolve(makePublicInputsAndRecursiveProof(makeBaseOrMergeRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
60
60
|
}
|
|
61
|
-
|
|
62
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(
|
|
63
|
-
}
|
|
64
|
-
getTxMergeRollupProof(_input, _signal, _epochNumber) {
|
|
65
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(makeTxRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
66
|
-
}
|
|
67
|
-
getBlockRootFirstRollupProof(_input, _signal, _epochNumber) {
|
|
68
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(makeBlockRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
69
|
-
}
|
|
70
|
-
getBlockRootSingleTxFirstRollupProof(_input, _signal, _epochNumber) {
|
|
71
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(makeBlockRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeHonk()));
|
|
72
|
-
}
|
|
73
|
-
getBlockRootEmptyTxFirstRollupProof(_input, _signal, _epochNumber) {
|
|
74
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(makeBlockRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
75
|
-
}
|
|
76
|
-
getBlockRootRollupProof(_input, _signal, _epochNumber) {
|
|
77
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(makeBlockRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
78
|
-
}
|
|
79
|
-
getBlockRootSingleTxRollupProof(_input, _signal, _epochNumber) {
|
|
80
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(makeBlockRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeHonk()));
|
|
61
|
+
getMergeRollupProof(_input, _signal, _epochNumber) {
|
|
62
|
+
return Promise.resolve(makePublicInputsAndRecursiveProof(makeBaseOrMergeRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
81
63
|
}
|
|
82
64
|
getBlockMergeRollupProof(_input, _signal, _epochNumber) {
|
|
83
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(
|
|
65
|
+
return Promise.resolve(makePublicInputsAndRecursiveProof(makeBlockRootOrBlockMergeRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
84
66
|
}
|
|
85
|
-
|
|
86
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(
|
|
67
|
+
getEmptyBlockRootRollupProof(_input, _signal, _epochNumber) {
|
|
68
|
+
return Promise.resolve(makePublicInputsAndRecursiveProof(makeBlockRootOrBlockMergeRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
87
69
|
}
|
|
88
|
-
|
|
89
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(
|
|
70
|
+
getPaddingBlockRootRollupProof(_input, _signal, _epochNumber) {
|
|
71
|
+
return Promise.resolve(makePublicInputsAndRecursiveProof(makeBlockRootOrBlockMergeRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
90
72
|
}
|
|
91
|
-
|
|
92
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(
|
|
73
|
+
getBlockRootRollupProof(_input, _signal, _epochNumber) {
|
|
74
|
+
return Promise.resolve(makePublicInputsAndRecursiveProof(makeBlockRootOrBlockMergeRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
93
75
|
}
|
|
94
|
-
|
|
95
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(
|
|
76
|
+
getSingleTxBlockRootRollupProof(_input, _signal, _epochNumber) {
|
|
77
|
+
return Promise.resolve(makePublicInputsAndRecursiveProof(makeBlockRootOrBlockMergeRollupPublicInputs(), makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VerificationKeyData.makeFakeHonk()));
|
|
96
78
|
}
|
|
97
79
|
getRootRollupProof(_input, _signal, _epochNumber) {
|
|
98
80
|
return Promise.resolve(makePublicInputsAndRecursiveProof(makeRootRollupPublicInputs(), makeRecursiveProof(RECURSIVE_PROOF_LENGTH), VerificationKeyData.makeFakeHonk()));
|
|
99
81
|
}
|
|
82
|
+
getTubeProof() {
|
|
83
|
+
return Promise.resolve(makeProofAndVerificationKey(makeRecursiveProof(TUBE_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
84
|
+
}
|
|
100
85
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/prover-client",
|
|
3
|
-
"version": "0.0.1-fake-
|
|
3
|
+
"version": "0.0.1-fake-ceab37513c",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -27,7 +27,8 @@
|
|
|
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"
|
|
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"
|
|
31
32
|
},
|
|
32
33
|
"jest": {
|
|
33
34
|
"moduleNameMapper": {
|
|
@@ -67,19 +68,19 @@
|
|
|
67
68
|
]
|
|
68
69
|
},
|
|
69
70
|
"dependencies": {
|
|
70
|
-
"@aztec/bb-prover": "0.0.1-fake-
|
|
71
|
-
"@aztec/blob-lib": "0.0.1-fake-
|
|
72
|
-
"@aztec/constants": "0.0.1-fake-
|
|
73
|
-
"@aztec/ethereum": "0.0.1-fake-
|
|
74
|
-
"@aztec/foundation": "0.0.1-fake-
|
|
75
|
-
"@aztec/kv-store": "0.0.1-fake-
|
|
76
|
-
"@aztec/noir-protocol-circuits-types": "0.0.1-fake-
|
|
77
|
-
"@aztec/noir-types": "0.0.1-fake-
|
|
78
|
-
"@aztec/protocol-contracts": "0.0.1-fake-
|
|
79
|
-
"@aztec/simulator": "0.0.1-fake-
|
|
80
|
-
"@aztec/stdlib": "0.0.1-fake-
|
|
81
|
-
"@aztec/telemetry-client": "0.0.1-fake-
|
|
82
|
-
"@aztec/world-state": "0.0.1-fake-
|
|
71
|
+
"@aztec/bb-prover": "0.0.1-fake-ceab37513c",
|
|
72
|
+
"@aztec/blob-lib": "0.0.1-fake-ceab37513c",
|
|
73
|
+
"@aztec/constants": "0.0.1-fake-ceab37513c",
|
|
74
|
+
"@aztec/ethereum": "0.0.1-fake-ceab37513c",
|
|
75
|
+
"@aztec/foundation": "0.0.1-fake-ceab37513c",
|
|
76
|
+
"@aztec/kv-store": "0.0.1-fake-ceab37513c",
|
|
77
|
+
"@aztec/noir-protocol-circuits-types": "0.0.1-fake-ceab37513c",
|
|
78
|
+
"@aztec/noir-types": "0.0.1-fake-ceab37513c",
|
|
79
|
+
"@aztec/protocol-contracts": "0.0.1-fake-ceab37513c",
|
|
80
|
+
"@aztec/simulator": "0.0.1-fake-ceab37513c",
|
|
81
|
+
"@aztec/stdlib": "0.0.1-fake-ceab37513c",
|
|
82
|
+
"@aztec/telemetry-client": "0.0.1-fake-ceab37513c",
|
|
83
|
+
"@aztec/world-state": "0.0.1-fake-ceab37513c",
|
|
83
84
|
"@google-cloud/storage": "^7.15.0",
|
|
84
85
|
"@iarna/toml": "^2.2.5",
|
|
85
86
|
"commander": "^12.1.0",
|
|
@@ -89,7 +90,7 @@
|
|
|
89
90
|
"zod": "^3.23.8"
|
|
90
91
|
},
|
|
91
92
|
"devDependencies": {
|
|
92
|
-
"@aztec/noir-contracts.js": "0.0.1-fake-
|
|
93
|
+
"@aztec/noir-contracts.js": "0.0.1-fake-ceab37513c",
|
|
93
94
|
"@jest/globals": "^30.0.0",
|
|
94
95
|
"@types/jest": "^30.0.0",
|
|
95
96
|
"@types/node": "^22.15.17",
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
import { AVM_INPUTS_FILENAME } from '@aztec/bb-prover';
|
|
3
|
+
import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
|
|
4
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
5
|
+
import { type ProofUri, ProvingJobInputs } from '@aztec/stdlib/interfaces/server';
|
|
6
|
+
import { ProvingRequestType } from '@aztec/stdlib/proofs';
|
|
7
|
+
|
|
8
|
+
import { mkdirSync, writeFileSync } from 'fs';
|
|
9
|
+
|
|
10
|
+
import { createProofStoreForUri } from '../proving_broker/index.js';
|
|
11
|
+
|
|
12
|
+
const logger = createLogger('prover-client:get-proof-inputs');
|
|
13
|
+
|
|
14
|
+
function printUsage() {
|
|
15
|
+
console.error('Usage: get-proof-inputs <proof-uri> [out-dir=.]');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
async function main() {
|
|
19
|
+
if (process.argv[2] === '--help') {
|
|
20
|
+
printUsage();
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const uri = process.argv[2];
|
|
25
|
+
const outDir = process.argv[3] || '.';
|
|
26
|
+
if (!uri) {
|
|
27
|
+
printUsage();
|
|
28
|
+
throw new Error('Missing proof URI');
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
mkdirSync(outDir, { recursive: true });
|
|
32
|
+
|
|
33
|
+
const proofStore = createProofStoreForUri(uri);
|
|
34
|
+
logger.info(`Processing uri ${uri}`);
|
|
35
|
+
const input = await proofStore.getProofInput(uri as ProofUri);
|
|
36
|
+
logger.info(`Found inputs for ${ProvingRequestType[input.type]}`);
|
|
37
|
+
writeProofInputs(input, outDir);
|
|
38
|
+
|
|
39
|
+
console.log(jsonParseWithSchema(jsonStringify(input), ProvingJobInputs).inputs);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// This mimics the behavior of bb-prover/src/bb/execute.ts
|
|
43
|
+
function writeProofInputs(input: ProvingJobInputs, outDir: string) {
|
|
44
|
+
switch (input.type) {
|
|
45
|
+
case ProvingRequestType.PUBLIC_VM: {
|
|
46
|
+
writeFileSync(`${outDir}/${AVM_INPUTS_FILENAME}`, input.inputs.serializeWithMessagePack());
|
|
47
|
+
logger.info(`Wrote AVM inputs to ${AVM_INPUTS_FILENAME}`);
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
default: {
|
|
51
|
+
throw new Error(`Unimplemented proving request type: ${ProvingRequestType[input.type]}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
main().catch(err => {
|
|
57
|
+
console.error(err);
|
|
58
|
+
process.exit(1);
|
|
59
|
+
});
|
|
@@ -6,7 +6,7 @@ import { createLogger } from '@aztec/foundation/log';
|
|
|
6
6
|
import { L2Block } from '@aztec/stdlib/block';
|
|
7
7
|
import type { IBlockFactory, MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
|
|
8
8
|
import { MerkleTreeId } from '@aztec/stdlib/trees';
|
|
9
|
-
import type
|
|
9
|
+
import { type GlobalVariables, type ProcessedTx, toNumBlobFields } from '@aztec/stdlib/tx';
|
|
10
10
|
import { type TelemetryClient, getTelemetryClient } from '@aztec/telemetry-client';
|
|
11
11
|
|
|
12
12
|
import {
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
export class LightweightBlockFactory implements IBlockFactory {
|
|
31
31
|
private globalVariables?: GlobalVariables;
|
|
32
32
|
private l1ToL2Messages?: Fr[];
|
|
33
|
-
|
|
33
|
+
|
|
34
34
|
private txs: ProcessedTx[] | undefined;
|
|
35
35
|
|
|
36
36
|
private readonly logger = createLogger('lightweight-block-factory');
|
|
@@ -40,21 +40,12 @@ export class LightweightBlockFactory implements IBlockFactory {
|
|
|
40
40
|
private telemetry: TelemetryClient = getTelemetryClient(),
|
|
41
41
|
) {}
|
|
42
42
|
|
|
43
|
-
async startNewBlock(
|
|
44
|
-
globalVariables: GlobalVariables,
|
|
45
|
-
l1ToL2Messages: Fr[],
|
|
46
|
-
// Must be provided to generate the correct spongeBlobHash for the block header if there's more than one block in the checkpoint.
|
|
47
|
-
startSpongeBlob?: SpongeBlob,
|
|
48
|
-
// Only insert l1 to l2 messages for the first block in a checkpoint.
|
|
49
|
-
isFirstBlock = true,
|
|
50
|
-
): Promise<void> {
|
|
43
|
+
async startNewBlock(globalVariables: GlobalVariables, l1ToL2Messages: Fr[]): Promise<void> {
|
|
51
44
|
this.logger.debug('Starting new block', { globalVariables: globalVariables.toInspect(), l1ToL2Messages });
|
|
52
45
|
this.globalVariables = globalVariables;
|
|
53
|
-
this.l1ToL2Messages =
|
|
54
|
-
? padArrayEnd<Fr, number>(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP)
|
|
55
|
-
: [];
|
|
56
|
-
this.startSpongeBlob = startSpongeBlob;
|
|
46
|
+
this.l1ToL2Messages = padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP);
|
|
57
47
|
this.txs = undefined;
|
|
48
|
+
|
|
58
49
|
// Update L1 to L2 tree
|
|
59
50
|
await this.db.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, this.l1ToL2Messages!);
|
|
60
51
|
}
|
|
@@ -80,17 +71,14 @@ export class LightweightBlockFactory implements IBlockFactory {
|
|
|
80
71
|
this.globalVariables!,
|
|
81
72
|
this.l1ToL2Messages!,
|
|
82
73
|
this.db,
|
|
83
|
-
this.startSpongeBlob,
|
|
84
74
|
);
|
|
85
75
|
|
|
86
76
|
header.state.validate();
|
|
87
77
|
|
|
88
|
-
|
|
89
|
-
await this.db.updateArchive(blockHeader);
|
|
78
|
+
await this.db.updateArchive(header);
|
|
90
79
|
const newArchive = await getTreeSnapshot(MerkleTreeId.ARCHIVE, this.db);
|
|
91
80
|
|
|
92
81
|
const block = new L2Block(newArchive, header, body);
|
|
93
|
-
|
|
94
82
|
this.logger.debug(`Built block ${block.number}`, {
|
|
95
83
|
globalVariables: this.globalVariables?.toInspect(),
|
|
96
84
|
archiveRoot: newArchive.root.toString(),
|
|
@@ -112,29 +100,15 @@ export async function buildBlockWithCleanDB(
|
|
|
112
100
|
globalVariables: GlobalVariables,
|
|
113
101
|
l1ToL2Messages: Fr[],
|
|
114
102
|
db: MerkleTreeWriteOperations,
|
|
115
|
-
startSpongeBlob?: SpongeBlob,
|
|
116
|
-
isFirstBlock = true,
|
|
117
103
|
telemetry: TelemetryClient = getTelemetryClient(),
|
|
118
104
|
) {
|
|
119
|
-
const
|
|
105
|
+
const spongeBlobState = SpongeBlob.init(toNumBlobFields(txs));
|
|
120
106
|
const builder = new LightweightBlockFactory(db, telemetry);
|
|
121
|
-
await builder.startNewBlock(globalVariables, l1ToL2Messages
|
|
107
|
+
await builder.startNewBlock(globalVariables, l1ToL2Messages);
|
|
122
108
|
const l1ToL2MessageTree = await getTreeSnapshot(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, db);
|
|
123
|
-
|
|
124
109
|
for (const tx of txs) {
|
|
125
|
-
|
|
126
|
-
// Their values don't matter here because we are not using the return private inputs to build the block.
|
|
127
|
-
const proverId = Fr.ZERO;
|
|
128
|
-
await insertSideEffectsAndBuildBaseRollupHints(
|
|
129
|
-
tx,
|
|
130
|
-
lastArchive,
|
|
131
|
-
l1ToL2MessageTree,
|
|
132
|
-
startSpongeBlob?.clone() ?? SpongeBlob.empty(),
|
|
133
|
-
proverId,
|
|
134
|
-
db,
|
|
135
|
-
);
|
|
110
|
+
await insertSideEffectsAndBuildBaseRollupHints(tx, globalVariables, l1ToL2MessageTree, db, spongeBlobState);
|
|
136
111
|
}
|
|
137
112
|
await builder.addTxs(txs);
|
|
138
|
-
|
|
139
113
|
return await builder.setBlockCompleted();
|
|
140
114
|
}
|
package/src/config.ts
CHANGED
|
@@ -44,7 +44,7 @@ export const bbConfigMappings: ConfigMappingsType<BBConfig & ACVMConfig> = {
|
|
|
44
44
|
},
|
|
45
45
|
numConcurrentIVCVerifiers: {
|
|
46
46
|
env: 'BB_NUM_IVC_VERIFIERS',
|
|
47
|
-
description: 'Max number of
|
|
47
|
+
description: 'Max number of client IVC verifiers to run concurrently',
|
|
48
48
|
...numberConfigHelper(8),
|
|
49
49
|
},
|
|
50
50
|
bbIVCConcurrency: {
|
package/src/mocks/fixtures.ts
CHANGED
|
@@ -4,15 +4,11 @@ import { randomBytes } from '@aztec/foundation/crypto';
|
|
|
4
4
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
5
|
import { Fr } from '@aztec/foundation/fields';
|
|
6
6
|
import type { Logger } from '@aztec/foundation/log';
|
|
7
|
-
import type { FieldsOf } from '@aztec/foundation/types';
|
|
8
7
|
import { fileURLToPath } from '@aztec/foundation/url';
|
|
9
|
-
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
10
|
-
import { protocolContractsHash } from '@aztec/protocol-contracts';
|
|
11
8
|
import { type CircuitSimulator, NativeACVMSimulator, WASMSimulatorWithBlobs } from '@aztec/simulator/server';
|
|
12
9
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
13
10
|
import { GasFees } from '@aztec/stdlib/gas';
|
|
14
11
|
import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
|
|
15
|
-
import { CheckpointConstantData } from '@aztec/stdlib/rollup';
|
|
16
12
|
import { MerkleTreeId } from '@aztec/stdlib/trees';
|
|
17
13
|
import type { ProcessedTx } from '@aztec/stdlib/tx';
|
|
18
14
|
import { GlobalVariables } from '@aztec/stdlib/tx';
|
|
@@ -36,7 +32,7 @@ export const getEnvironmentConfig = async (logger: Logger) => {
|
|
|
36
32
|
try {
|
|
37
33
|
const expectedBBPath = BB_BINARY_PATH
|
|
38
34
|
? BB_BINARY_PATH
|
|
39
|
-
: `${path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../../../barretenberg/', BB_RELEASE_DIR)}/bb
|
|
35
|
+
: `${path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../../../barretenberg/', BB_RELEASE_DIR)}/bb`;
|
|
40
36
|
await fs.access(expectedBBPath, fs.constants.R_OK);
|
|
41
37
|
const tempWorkingDirectory = `${TEMP_DIR}/${randomBytes(4).toString('hex')}`;
|
|
42
38
|
const bbWorkingDirectory = BB_WORKING_DIRECTORY ? BB_WORKING_DIRECTORY : `${tempWorkingDirectory}/bb`;
|
|
@@ -107,39 +103,15 @@ export const updateExpectedTreesFromTxs = async (db: MerkleTreeWriteOperations,
|
|
|
107
103
|
}
|
|
108
104
|
};
|
|
109
105
|
|
|
110
|
-
export const makeGlobals = (
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
) => {
|
|
115
|
-
const checkpointConstants = makeCheckpointConstants(slotNumber, overrides);
|
|
116
|
-
return GlobalVariables.from({
|
|
117
|
-
chainId: checkpointConstants.chainId,
|
|
118
|
-
version: checkpointConstants.version,
|
|
106
|
+
export const makeGlobals = (blockNumber: number) => {
|
|
107
|
+
return new GlobalVariables(
|
|
108
|
+
Fr.ZERO,
|
|
109
|
+
Fr.ZERO,
|
|
119
110
|
blockNumber /** block number */,
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
});
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
export const makeCheckpointConstants = (
|
|
130
|
-
slotNumber: number,
|
|
131
|
-
overrides: Partial<FieldsOf<CheckpointConstantData>> = {},
|
|
132
|
-
) => {
|
|
133
|
-
return CheckpointConstantData.from({
|
|
134
|
-
chainId: Fr.ZERO,
|
|
135
|
-
version: Fr.ZERO,
|
|
136
|
-
vkTreeRoot: getVKTreeRoot(),
|
|
137
|
-
protocolContractsHash,
|
|
138
|
-
proverId: Fr.ZERO,
|
|
139
|
-
slotNumber: new Fr(slotNumber),
|
|
140
|
-
coinbase: EthAddress.ZERO,
|
|
141
|
-
feeRecipient: AztecAddress.ZERO,
|
|
142
|
-
gasFees: GasFees.empty(),
|
|
143
|
-
...overrides,
|
|
144
|
-
});
|
|
111
|
+
new Fr(blockNumber) /** slot number */,
|
|
112
|
+
BigInt(blockNumber) /** block number as pseudo-timestamp for testing */,
|
|
113
|
+
EthAddress.ZERO,
|
|
114
|
+
AztecAddress.ZERO,
|
|
115
|
+
GasFees.empty(),
|
|
116
|
+
);
|
|
145
117
|
};
|