@aztec/prover-client 0.0.0-test.0 → 0.0.1-commit.21caa21
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/block-factory/index.d.ts +2 -0
- package/dest/block-factory/index.d.ts.map +1 -0
- package/dest/block-factory/light.d.ts +38 -0
- package/dest/block-factory/light.d.ts.map +1 -0
- package/dest/block-factory/light.js +108 -0
- package/dest/config.d.ts +7 -7
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +11 -1
- package/dest/index.d.ts +1 -1
- package/dest/light/lightweight_checkpoint_builder.d.ts +28 -0
- package/dest/light/lightweight_checkpoint_builder.d.ts.map +1 -0
- package/dest/light/lightweight_checkpoint_builder.js +107 -0
- package/dest/mocks/fixtures.d.ts +8 -8
- package/dest/mocks/fixtures.d.ts.map +1 -1
- package/dest/mocks/fixtures.js +32 -14
- package/dest/mocks/test_context.d.ts +40 -31
- package/dest/mocks/test_context.d.ts.map +1 -1
- package/dest/mocks/test_context.js +134 -86
- package/dest/orchestrator/block-building-helpers.d.ts +36 -29
- package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
- package/dest/orchestrator/block-building-helpers.js +168 -188
- package/dest/orchestrator/block-proving-state.d.ts +68 -47
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/block-proving-state.js +281 -176
- package/dest/orchestrator/checkpoint-proving-state.d.ts +62 -0
- package/dest/orchestrator/checkpoint-proving-state.d.ts.map +1 -0
- package/dest/orchestrator/checkpoint-proving-state.js +208 -0
- package/dest/orchestrator/epoch-proving-state.d.ts +40 -26
- package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/epoch-proving-state.js +143 -73
- package/dest/orchestrator/index.d.ts +1 -1
- package/dest/orchestrator/orchestrator.d.ts +35 -32
- package/dest/orchestrator/orchestrator.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator.js +389 -239
- package/dest/orchestrator/orchestrator_metrics.d.ts +3 -1
- package/dest/orchestrator/orchestrator_metrics.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator_metrics.js +9 -0
- package/dest/orchestrator/tx-proving-state.d.ts +13 -11
- package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/tx-proving-state.js +23 -40
- package/dest/prover-client/factory.d.ts +1 -1
- package/dest/prover-client/index.d.ts +1 -1
- package/dest/prover-client/prover-client.d.ts +4 -4
- package/dest/prover-client/prover-client.d.ts.map +1 -1
- package/dest/prover-client/prover-client.js +5 -4
- package/dest/prover-client/server-epoch-prover.d.ts +15 -11
- package/dest/prover-client/server-epoch-prover.d.ts.map +1 -1
- package/dest/prover-client/server-epoch-prover.js +11 -11
- package/dest/proving_broker/broker_prover_facade.d.ts +23 -16
- package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
- package/dest/proving_broker/broker_prover_facade.js +67 -41
- package/dest/proving_broker/config.d.ts +18 -9
- package/dest/proving_broker/config.d.ts.map +1 -1
- package/dest/proving_broker/config.js +22 -5
- package/dest/proving_broker/factory.d.ts +2 -2
- package/dest/proving_broker/factory.d.ts.map +1 -1
- package/dest/proving_broker/factory.js +5 -1
- package/dest/proving_broker/fixtures.d.ts +3 -2
- package/dest/proving_broker/fixtures.d.ts.map +1 -1
- package/dest/proving_broker/fixtures.js +2 -1
- package/dest/proving_broker/index.d.ts +1 -1
- package/dest/proving_broker/proof_store/factory.d.ts +2 -2
- package/dest/proving_broker/proof_store/factory.js +1 -1
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +1 -1
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +1 -1
- package/dest/proving_broker/proof_store/gcs_proof_store.js +1 -0
- package/dest/proving_broker/proof_store/index.d.ts +2 -1
- 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/proof_store/inline_proof_store.d.ts +1 -1
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +1 -1
- package/dest/proving_broker/proof_store/proof_store.d.ts +1 -1
- package/dest/proving_broker/proving_agent.d.ts +4 -4
- package/dest/proving_broker/proving_agent.d.ts.map +1 -1
- package/dest/proving_broker/proving_agent.js +83 -47
- package/dest/proving_broker/proving_agent_instrumentation.d.ts +1 -1
- package/dest/proving_broker/proving_agent_instrumentation.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker.d.ts +13 -4
- package/dest/proving_broker/proving_broker.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker.js +36 -23
- package/dest/proving_broker/proving_broker_database/memory.d.ts +3 -2
- package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_database/memory.js +1 -1
- package/dest/proving_broker/proving_broker_database/persisted.d.ts +3 -2
- package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_database/persisted.js +12 -10
- package/dest/proving_broker/proving_broker_database.d.ts +3 -2
- package/dest/proving_broker/proving_broker_database.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_instrumentation.d.ts +1 -1
- package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -1
- package/dest/proving_broker/proving_job_controller.d.ts +9 -9
- package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
- package/dest/proving_broker/proving_job_controller.js +89 -61
- package/dest/proving_broker/rpc.d.ts +4 -6
- package/dest/proving_broker/rpc.d.ts.map +1 -1
- package/dest/proving_broker/rpc.js +1 -4
- package/dest/test/mock_proof_store.d.ts +9 -0
- package/dest/test/mock_proof_store.d.ts.map +1 -0
- package/dest/test/mock_proof_store.js +10 -0
- package/dest/test/mock_prover.d.ts +23 -17
- package/dest/test/mock_prover.d.ts.map +1 -1
- package/dest/test/mock_prover.js +38 -20
- package/package.json +32 -31
- package/src/block-factory/index.ts +1 -0
- package/src/block-factory/light.ts +137 -0
- package/src/config.ts +24 -8
- package/src/light/lightweight_checkpoint_builder.ts +142 -0
- package/src/mocks/fixtures.ts +42 -37
- package/src/mocks/test_context.ts +207 -115
- package/src/orchestrator/block-building-helpers.ts +256 -333
- package/src/orchestrator/block-proving-state.ts +323 -230
- package/src/orchestrator/checkpoint-proving-state.ts +301 -0
- package/src/orchestrator/epoch-proving-state.ts +187 -112
- package/src/orchestrator/orchestrator.ts +592 -299
- package/src/orchestrator/orchestrator_metrics.ts +20 -1
- package/src/orchestrator/tx-proving-state.ts +50 -64
- package/src/prover-client/prover-client.ts +16 -14
- package/src/prover-client/server-epoch-prover.ts +39 -21
- package/src/proving_broker/broker_prover_facade.ts +214 -126
- package/src/proving_broker/config.ts +24 -6
- package/src/proving_broker/factory.ts +2 -1
- package/src/proving_broker/fixtures.ts +7 -2
- package/src/proving_broker/proof_store/factory.ts +1 -1
- package/src/proving_broker/proof_store/gcs_proof_store.ts +5 -1
- package/src/proving_broker/proof_store/index.ts +1 -0
- package/src/proving_broker/proof_store/inline_proof_store.ts +1 -1
- package/src/proving_broker/proving_agent.ts +89 -47
- package/src/proving_broker/proving_broker.ts +53 -33
- package/src/proving_broker/proving_broker_database/memory.ts +3 -2
- package/src/proving_broker/proving_broker_database/persisted.ts +14 -12
- package/src/proving_broker/proving_broker_database.ts +2 -1
- package/src/proving_broker/proving_job_controller.ts +94 -82
- package/src/proving_broker/rpc.ts +1 -6
- package/src/test/mock_proof_store.ts +14 -0
- package/src/test/mock_prover.ts +164 -60
- 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/dest/block_builder/index.d.ts +0 -6
- package/dest/block_builder/index.d.ts.map +0 -1
- package/dest/block_builder/light.d.ts +0 -33
- package/dest/block_builder/light.d.ts.map +0 -1
- package/dest/block_builder/light.js +0 -82
- package/src/bin/get-proof-inputs.ts +0 -59
- package/src/block_builder/index.ts +0 -6
- package/src/block_builder/light.ts +0 -101
- /package/dest/{block_builder → block-factory}/index.js +0 -0
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { randomBytes } from '@aztec/foundation/crypto';
|
|
3
|
+
import { AbortError } from '@aztec/foundation/error';
|
|
1
4
|
import { createLogger } from '@aztec/foundation/log';
|
|
2
5
|
import type {
|
|
3
6
|
ProvingJobId,
|
|
@@ -9,38 +12,29 @@ import { ProvingRequestType } from '@aztec/stdlib/proofs';
|
|
|
9
12
|
|
|
10
13
|
export enum ProvingJobControllerStatus {
|
|
11
14
|
IDLE = 'idle',
|
|
12
|
-
|
|
15
|
+
RUNNING = 'running',
|
|
13
16
|
DONE = 'done',
|
|
14
|
-
ABORTED = 'aborted',
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
interface ProvingJobCompletionCallback<T extends ProvingRequestType = ProvingRequestType> {
|
|
18
|
-
(
|
|
19
|
-
jobId: ProvingJobId,
|
|
20
|
-
type: T,
|
|
21
|
-
error: Error | undefined,
|
|
22
|
-
result: ProvingJobResultsMap[T] | undefined,
|
|
23
|
-
): void | Promise<void>;
|
|
24
17
|
}
|
|
25
18
|
|
|
26
19
|
export class ProvingJobController {
|
|
27
20
|
private status: ProvingJobControllerStatus = ProvingJobControllerStatus.IDLE;
|
|
28
21
|
private promise?: Promise<void>;
|
|
29
22
|
private abortController = new AbortController();
|
|
23
|
+
private result?: ProvingJobResultsMap[ProvingRequestType] | Error;
|
|
30
24
|
|
|
31
25
|
constructor(
|
|
32
26
|
private jobId: ProvingJobId,
|
|
33
27
|
private inputs: ProvingJobInputs,
|
|
34
|
-
private epochNumber:
|
|
28
|
+
private epochNumber: EpochNumber,
|
|
35
29
|
private startedAt: number,
|
|
36
30
|
private circuitProver: ServerCircuitProver,
|
|
37
|
-
private onComplete:
|
|
38
|
-
private log = createLogger('prover-client:proving-agent:job-controller'),
|
|
31
|
+
private onComplete: () => void,
|
|
32
|
+
private log = createLogger('prover-client:proving-agent:job-controller-' + randomBytes(4).toString('hex')),
|
|
39
33
|
) {}
|
|
40
34
|
|
|
41
35
|
public start(): void {
|
|
42
36
|
if (this.status !== ProvingJobControllerStatus.IDLE) {
|
|
43
|
-
this.log.
|
|
37
|
+
this.log.warn(
|
|
44
38
|
`Job controller for jobId=${this.jobId} not starting because it is not idle currentStatus=${this.status}`,
|
|
45
39
|
{
|
|
46
40
|
currentStatus: this.status,
|
|
@@ -50,63 +44,23 @@ export class ProvingJobController {
|
|
|
50
44
|
return;
|
|
51
45
|
}
|
|
52
46
|
|
|
53
|
-
this.
|
|
54
|
-
|
|
47
|
+
this.promise = this.run();
|
|
48
|
+
|
|
49
|
+
this.log.info(`Job controller started jobId=${this.jobId}`, {
|
|
55
50
|
jobId: this.jobId,
|
|
56
51
|
});
|
|
57
|
-
|
|
58
|
-
this.promise = this.generateProof()
|
|
59
|
-
.then(
|
|
60
|
-
result => {
|
|
61
|
-
if (this.status === ProvingJobControllerStatus.ABORTED) {
|
|
62
|
-
this.log.warn(`Job controller for jobId=${this.jobId} completed successfully but job was aborted`, {
|
|
63
|
-
currentStatus: this.status,
|
|
64
|
-
jobId: this.jobId,
|
|
65
|
-
});
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
this.status = ProvingJobControllerStatus.DONE;
|
|
69
|
-
this.log.verbose(`Job controller for jobId=${this.jobId} completed successfully`, {
|
|
70
|
-
jobId: this.jobId,
|
|
71
|
-
});
|
|
72
|
-
return this.onComplete(this.jobId, this.inputs.type, undefined, result);
|
|
73
|
-
},
|
|
74
|
-
error => {
|
|
75
|
-
if (this.status === ProvingJobControllerStatus.ABORTED) {
|
|
76
|
-
this.log.warn(`Job controller for jobId=${this.jobId} finished with an error but job was aborted`, {
|
|
77
|
-
currentStatus: this.status,
|
|
78
|
-
jobId: this.jobId,
|
|
79
|
-
});
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
if (error.name === 'AbortError') {
|
|
84
|
-
// Ignore abort errors
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
this.log.verbose(`Job controller for jobId=${this.jobId} finished with an error`, {
|
|
89
|
-
jobId: this.jobId,
|
|
90
|
-
err: error,
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
this.status = ProvingJobControllerStatus.DONE;
|
|
94
|
-
return this.onComplete(this.jobId, this.inputs.type, error, undefined);
|
|
95
|
-
},
|
|
96
|
-
)
|
|
97
|
-
.catch(err => {
|
|
98
|
-
this.log.error(`Job constroller failed to send result for jobId=${this.jobId}: ${err}`, err, {
|
|
99
|
-
jobId: this.jobId,
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
52
|
}
|
|
103
53
|
|
|
104
54
|
public getStatus(): ProvingJobControllerStatus {
|
|
105
55
|
return this.status;
|
|
106
56
|
}
|
|
107
57
|
|
|
58
|
+
public getResult(): ProvingJobResultsMap[ProvingRequestType] | Error | undefined {
|
|
59
|
+
return this.result;
|
|
60
|
+
}
|
|
61
|
+
|
|
108
62
|
public abort(): void {
|
|
109
|
-
if (this.status !== ProvingJobControllerStatus.
|
|
63
|
+
if (this.status !== ProvingJobControllerStatus.RUNNING) {
|
|
110
64
|
this.log.warn(`Tried to abort job controller for jobId=${this.jobId} but it is not running`, {
|
|
111
65
|
currentStatus: this.status,
|
|
112
66
|
jobId: this.jobId,
|
|
@@ -114,9 +68,8 @@ export class ProvingJobController {
|
|
|
114
68
|
return;
|
|
115
69
|
}
|
|
116
70
|
|
|
117
|
-
this.status = ProvingJobControllerStatus.ABORTED;
|
|
118
71
|
this.abortController.abort();
|
|
119
|
-
this.log.
|
|
72
|
+
this.log.warn(`Aborted job controller for jobId=${this.jobId}`, {
|
|
120
73
|
jobId: this.jobId,
|
|
121
74
|
});
|
|
122
75
|
}
|
|
@@ -125,6 +78,10 @@ export class ProvingJobController {
|
|
|
125
78
|
return this.jobId;
|
|
126
79
|
}
|
|
127
80
|
|
|
81
|
+
public getProofType(): ProvingRequestType {
|
|
82
|
+
return this.inputs.type;
|
|
83
|
+
}
|
|
84
|
+
|
|
128
85
|
public getStartedAt(): number {
|
|
129
86
|
return this.startedAt;
|
|
130
87
|
}
|
|
@@ -133,58 +90,113 @@ export class ProvingJobController {
|
|
|
133
90
|
return ProvingRequestType[this.inputs.type];
|
|
134
91
|
}
|
|
135
92
|
|
|
93
|
+
private run = async () => {
|
|
94
|
+
this.status = ProvingJobControllerStatus.RUNNING;
|
|
95
|
+
let result: ProvingJobResultsMap[ProvingRequestType] | Error;
|
|
96
|
+
try {
|
|
97
|
+
result = await this.generateProof();
|
|
98
|
+
} catch (err) {
|
|
99
|
+
if (err && err instanceof Error) {
|
|
100
|
+
result = err;
|
|
101
|
+
} else {
|
|
102
|
+
result = new Error('Unknown proving error: ' + String(err), { cause: err });
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
if (this.abortController.signal.aborted) {
|
|
107
|
+
this.log.warn(`Job controller for jobId=${this.jobId} completed but job was aborted`, {
|
|
108
|
+
currentStatus: this.status,
|
|
109
|
+
jobId: this.jobId,
|
|
110
|
+
});
|
|
111
|
+
result = new AbortError('Proof was aborted');
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
this.result = result;
|
|
115
|
+
this.status = ProvingJobControllerStatus.DONE;
|
|
116
|
+
try {
|
|
117
|
+
this.onComplete();
|
|
118
|
+
} catch (err) {
|
|
119
|
+
this.log.warn(`On complete handler error: ${err}`, { jobId: this.jobId });
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
|
|
136
123
|
private async generateProof(): Promise<ProvingJobResultsMap[ProvingRequestType]> {
|
|
137
124
|
const { type, inputs } = this.inputs;
|
|
138
125
|
const signal = this.abortController.signal;
|
|
139
126
|
switch (type) {
|
|
140
127
|
case ProvingRequestType.PUBLIC_VM: {
|
|
141
|
-
|
|
128
|
+
// TODO(#14234)[Unconditional PIs validation]: Remove argument "undefined".
|
|
129
|
+
return await this.circuitProver.getAvmProof(inputs, undefined, signal, this.epochNumber);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
case ProvingRequestType.PUBLIC_CHONK_VERIFIER: {
|
|
133
|
+
return await this.circuitProver.getPublicChonkVerifierProof(inputs, signal, this.epochNumber);
|
|
142
134
|
}
|
|
143
135
|
|
|
144
|
-
case ProvingRequestType.
|
|
145
|
-
return await this.circuitProver.
|
|
136
|
+
case ProvingRequestType.PRIVATE_TX_BASE_ROLLUP: {
|
|
137
|
+
return await this.circuitProver.getPrivateTxBaseRollupProof(inputs, signal, this.epochNumber);
|
|
146
138
|
}
|
|
147
139
|
|
|
148
|
-
case ProvingRequestType.
|
|
149
|
-
return await this.circuitProver.
|
|
140
|
+
case ProvingRequestType.PUBLIC_TX_BASE_ROLLUP: {
|
|
141
|
+
return await this.circuitProver.getPublicTxBaseRollupProof(inputs, signal, this.epochNumber);
|
|
150
142
|
}
|
|
151
143
|
|
|
152
|
-
case ProvingRequestType.
|
|
153
|
-
return await this.circuitProver.
|
|
144
|
+
case ProvingRequestType.TX_MERGE_ROLLUP: {
|
|
145
|
+
return await this.circuitProver.getTxMergeRollupProof(inputs, signal, this.epochNumber);
|
|
154
146
|
}
|
|
155
147
|
|
|
156
|
-
case ProvingRequestType.
|
|
157
|
-
return await this.circuitProver.
|
|
148
|
+
case ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP: {
|
|
149
|
+
return await this.circuitProver.getBlockRootFirstRollupProof(inputs, signal, this.epochNumber);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
case ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP: {
|
|
153
|
+
return await this.circuitProver.getBlockRootSingleTxFirstRollupProof(inputs, signal, this.epochNumber);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
case ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP: {
|
|
157
|
+
return await this.circuitProver.getBlockRootEmptyTxFirstRollupProof(inputs, signal, this.epochNumber);
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
case ProvingRequestType.BLOCK_ROOT_ROLLUP: {
|
|
161
161
|
return await this.circuitProver.getBlockRootRollupProof(inputs, signal, this.epochNumber);
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
case ProvingRequestType.
|
|
165
|
-
return await this.circuitProver.
|
|
164
|
+
case ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP: {
|
|
165
|
+
return await this.circuitProver.getBlockRootSingleTxRollupProof(inputs, signal, this.epochNumber);
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
case ProvingRequestType.BLOCK_MERGE_ROLLUP: {
|
|
169
169
|
return await this.circuitProver.getBlockMergeRollupProof(inputs, signal, this.epochNumber);
|
|
170
170
|
}
|
|
171
171
|
|
|
172
|
+
case ProvingRequestType.CHECKPOINT_ROOT_ROLLUP: {
|
|
173
|
+
return await this.circuitProver.getCheckpointRootRollupProof(inputs, signal, this.epochNumber);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
case ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP: {
|
|
177
|
+
return await this.circuitProver.getCheckpointRootSingleBlockRollupProof(inputs, signal, this.epochNumber);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
case ProvingRequestType.CHECKPOINT_PADDING_ROLLUP: {
|
|
181
|
+
return await this.circuitProver.getCheckpointPaddingRollupProof(inputs, signal, this.epochNumber);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
case ProvingRequestType.CHECKPOINT_MERGE_ROLLUP: {
|
|
185
|
+
return await this.circuitProver.getCheckpointMergeRollupProof(inputs, signal, this.epochNumber);
|
|
186
|
+
}
|
|
187
|
+
|
|
172
188
|
case ProvingRequestType.ROOT_ROLLUP: {
|
|
173
189
|
return await this.circuitProver.getRootRollupProof(inputs, signal, this.epochNumber);
|
|
174
190
|
}
|
|
175
191
|
|
|
176
|
-
case ProvingRequestType.
|
|
192
|
+
case ProvingRequestType.PARITY_BASE: {
|
|
177
193
|
return await this.circuitProver.getBaseParityProof(inputs, signal, this.epochNumber);
|
|
178
194
|
}
|
|
179
195
|
|
|
180
|
-
case ProvingRequestType.
|
|
196
|
+
case ProvingRequestType.PARITY_ROOT: {
|
|
181
197
|
return await this.circuitProver.getRootParityProof(inputs, signal, this.epochNumber);
|
|
182
198
|
}
|
|
183
199
|
|
|
184
|
-
case ProvingRequestType.TUBE_PROOF: {
|
|
185
|
-
return await this.circuitProver.getTubeProof(inputs, signal, this.epochNumber);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
200
|
default: {
|
|
189
201
|
const _exhaustive: never = type;
|
|
190
202
|
return Promise.reject(new Error(`Invalid proof request type: ${type}`));
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { createSafeJsonRpcClient } from '@aztec/foundation/json-rpc/client';
|
|
2
|
-
import type { SafeJsonRpcServer } from '@aztec/foundation/json-rpc/server';
|
|
3
2
|
import {
|
|
4
3
|
type GetProvingJobResponse,
|
|
5
4
|
ProofUri,
|
|
@@ -13,7 +12,7 @@ import {
|
|
|
13
12
|
import { ProvingRequestType } from '@aztec/stdlib/proofs';
|
|
14
13
|
import { type ApiSchemaFor, optional } from '@aztec/stdlib/schemas';
|
|
15
14
|
import { type ComponentsVersions, getVersioningResponseHandler } from '@aztec/stdlib/versioning';
|
|
16
|
-
import {
|
|
15
|
+
import { makeTracedFetch } from '@aztec/telemetry-client';
|
|
17
16
|
|
|
18
17
|
import { z } from 'zod';
|
|
19
18
|
|
|
@@ -54,10 +53,6 @@ export const ProvingJobBrokerSchema: ApiSchemaFor<ProvingJobBroker> = {
|
|
|
54
53
|
...ProvingJobProducerSchema,
|
|
55
54
|
};
|
|
56
55
|
|
|
57
|
-
export function createProvingBrokerServer(broker: ProvingJobBroker): SafeJsonRpcServer {
|
|
58
|
-
return createTracedJsonRpcServer(broker, ProvingJobBrokerSchema);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
56
|
export function createProvingJobBrokerClient(
|
|
62
57
|
url: string,
|
|
63
58
|
versions: Partial<ComponentsVersions>,
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ProvingJobId } from '@aztec/stdlib/interfaces/server';
|
|
2
|
+
import { ProvingRequestType } from '@aztec/stdlib/proofs';
|
|
3
|
+
|
|
4
|
+
// Mock ProofStore for faster benchmarks with realistic Cloud Storage URIs
|
|
5
|
+
export class MockProofStore {
|
|
6
|
+
private mockCounter = 0;
|
|
7
|
+
private readonly bucketName = 'aztec-proving-benchmarks';
|
|
8
|
+
private readonly basePath = 'proving-jobs';
|
|
9
|
+
|
|
10
|
+
saveProofInput(jobId: ProvingJobId, type: ProvingRequestType): Promise<string> {
|
|
11
|
+
const uri = `gs://${this.bucketName}/${this.basePath}/inputs/${type}/${jobId}`;
|
|
12
|
+
return Promise.resolve(uri as any);
|
|
13
|
+
}
|
|
14
|
+
}
|
package/src/test/mock_prover.ts
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED,
|
|
3
|
+
AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED,
|
|
4
4
|
NESTED_RECURSIVE_PROOF_LENGTH,
|
|
5
5
|
NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
6
6
|
RECURSIVE_PROOF_LENGTH,
|
|
7
|
-
TUBE_PROOF_LENGTH,
|
|
8
7
|
} from '@aztec/constants';
|
|
9
8
|
import { times } from '@aztec/foundation/collection';
|
|
10
9
|
import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
|
|
11
10
|
import {
|
|
12
|
-
type ProofAndVerificationKey,
|
|
13
11
|
type ProvingJob,
|
|
14
12
|
type ProvingJobId,
|
|
15
13
|
type ProvingJobProducer,
|
|
@@ -19,26 +17,37 @@ import {
|
|
|
19
17
|
makeProofAndVerificationKey,
|
|
20
18
|
makePublicInputsAndRecursiveProof,
|
|
21
19
|
} from '@aztec/stdlib/interfaces/server';
|
|
22
|
-
import type {
|
|
20
|
+
import type { ParityBasePrivateInputs, ParityRootPrivateInputs } from '@aztec/stdlib/parity';
|
|
23
21
|
import { makeEmptyRecursiveProof, makeRecursiveProof } from '@aztec/stdlib/proofs';
|
|
24
22
|
import type {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
23
|
+
BlockMergeRollupPrivateInputs,
|
|
24
|
+
BlockRollupPublicInputs,
|
|
25
|
+
BlockRootEmptyTxFirstRollupPrivateInputs,
|
|
26
|
+
BlockRootFirstRollupPrivateInputs,
|
|
27
|
+
BlockRootRollupPrivateInputs,
|
|
28
|
+
BlockRootSingleTxFirstRollupPrivateInputs,
|
|
29
|
+
BlockRootSingleTxRollupPrivateInputs,
|
|
30
|
+
CheckpointMergeRollupPrivateInputs,
|
|
31
|
+
CheckpointPaddingRollupPrivateInputs,
|
|
32
|
+
CheckpointRollupPublicInputs,
|
|
33
|
+
CheckpointRootRollupPrivateInputs,
|
|
34
|
+
CheckpointRootSingleBlockRollupPrivateInputs,
|
|
35
|
+
PrivateTxBaseRollupPrivateInputs,
|
|
36
|
+
PublicChonkVerifierPrivateInputs,
|
|
37
|
+
PublicChonkVerifierPublicInputs,
|
|
38
|
+
PublicTxBaseRollupPrivateInputs,
|
|
39
|
+
RootRollupPrivateInputs,
|
|
34
40
|
RootRollupPublicInputs,
|
|
35
|
-
|
|
41
|
+
TxMergeRollupPrivateInputs,
|
|
42
|
+
TxRollupPublicInputs,
|
|
36
43
|
} from '@aztec/stdlib/rollup';
|
|
37
44
|
import {
|
|
38
|
-
|
|
39
|
-
|
|
45
|
+
makeBlockRollupPublicInputs,
|
|
46
|
+
makeCheckpointRollupPublicInputs,
|
|
40
47
|
makeParityPublicInputs,
|
|
48
|
+
makePublicChonkVerifierPublicInputs,
|
|
41
49
|
makeRootRollupPublicInputs,
|
|
50
|
+
makeTxRollupPublicInputs,
|
|
42
51
|
} from '@aztec/stdlib/testing';
|
|
43
52
|
import { VerificationKeyData } from '@aztec/stdlib/vks';
|
|
44
53
|
|
|
@@ -96,16 +105,21 @@ export class TestBroker implements ProvingJobProducer {
|
|
|
96
105
|
export class MockProver implements ServerCircuitProver {
|
|
97
106
|
constructor() {}
|
|
98
107
|
|
|
99
|
-
getAvmProof(
|
|
108
|
+
getAvmProof(
|
|
109
|
+
_inputs: AvmCircuitInputs,
|
|
110
|
+
_skipPublicInputsValidation?: boolean, // TODO(#14234)[Unconditional PIs validation]: Remove.
|
|
111
|
+
_signal?: AbortSignal,
|
|
112
|
+
_epochNumber?: number,
|
|
113
|
+
) {
|
|
100
114
|
return Promise.resolve(
|
|
101
115
|
makeProofAndVerificationKey(
|
|
102
|
-
makeEmptyRecursiveProof(
|
|
103
|
-
VerificationKeyData.makeFake(
|
|
116
|
+
makeEmptyRecursiveProof(AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED),
|
|
117
|
+
VerificationKeyData.makeFake(AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED),
|
|
104
118
|
),
|
|
105
119
|
);
|
|
106
120
|
}
|
|
107
121
|
|
|
108
|
-
getBaseParityProof(_inputs:
|
|
122
|
+
getBaseParityProof(_inputs: ParityBasePrivateInputs, _signal?: AbortSignal, _epochNumber?: number) {
|
|
109
123
|
return Promise.resolve(
|
|
110
124
|
makePublicInputsAndRecursiveProof(
|
|
111
125
|
makeParityPublicInputs(),
|
|
@@ -115,7 +129,7 @@ export class MockProver implements ServerCircuitProver {
|
|
|
115
129
|
);
|
|
116
130
|
}
|
|
117
131
|
|
|
118
|
-
getRootParityProof(_inputs:
|
|
132
|
+
getRootParityProof(_inputs: ParityRootPrivateInputs, _signal?: AbortSignal, _epochNumber?: number) {
|
|
119
133
|
return Promise.resolve(
|
|
120
134
|
makePublicInputsAndRecursiveProof(
|
|
121
135
|
makeParityPublicInputs(),
|
|
@@ -125,114 +139,210 @@ export class MockProver implements ServerCircuitProver {
|
|
|
125
139
|
);
|
|
126
140
|
}
|
|
127
141
|
|
|
128
|
-
|
|
129
|
-
|
|
142
|
+
getPublicChonkVerifierProof(
|
|
143
|
+
_inputs: PublicChonkVerifierPrivateInputs,
|
|
130
144
|
_signal?: AbortSignal,
|
|
131
145
|
_epochNumber?: number,
|
|
132
146
|
): Promise<
|
|
133
|
-
PublicInputsAndRecursiveProof<
|
|
147
|
+
PublicInputsAndRecursiveProof<PublicChonkVerifierPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
134
148
|
> {
|
|
135
149
|
return Promise.resolve(
|
|
136
150
|
makePublicInputsAndRecursiveProof(
|
|
137
|
-
|
|
151
|
+
makePublicChonkVerifierPublicInputs(),
|
|
138
152
|
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
139
153
|
VerificationKeyData.makeFakeRollupHonk(),
|
|
140
154
|
),
|
|
141
155
|
);
|
|
142
156
|
}
|
|
143
157
|
|
|
144
|
-
|
|
145
|
-
|
|
158
|
+
getPrivateTxBaseRollupProof(
|
|
159
|
+
_baseRollupInput: PrivateTxBaseRollupPrivateInputs,
|
|
146
160
|
_signal?: AbortSignal,
|
|
147
161
|
_epochNumber?: number,
|
|
148
|
-
): Promise<
|
|
149
|
-
PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
150
|
-
> {
|
|
162
|
+
): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
151
163
|
return Promise.resolve(
|
|
152
164
|
makePublicInputsAndRecursiveProof(
|
|
153
|
-
|
|
165
|
+
makeTxRollupPublicInputs(),
|
|
154
166
|
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
155
167
|
VerificationKeyData.makeFakeRollupHonk(),
|
|
156
168
|
),
|
|
157
169
|
);
|
|
158
170
|
}
|
|
159
171
|
|
|
160
|
-
|
|
161
|
-
|
|
172
|
+
getPublicTxBaseRollupProof(
|
|
173
|
+
_inputs: PublicTxBaseRollupPrivateInputs,
|
|
162
174
|
_signal?: AbortSignal,
|
|
163
175
|
_epochNumber?: number,
|
|
164
|
-
): Promise<
|
|
165
|
-
|
|
166
|
-
|
|
176
|
+
): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
177
|
+
return Promise.resolve(
|
|
178
|
+
makePublicInputsAndRecursiveProof(
|
|
179
|
+
makeTxRollupPublicInputs(),
|
|
180
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
181
|
+
VerificationKeyData.makeFakeRollupHonk(),
|
|
182
|
+
),
|
|
183
|
+
);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
getTxMergeRollupProof(
|
|
187
|
+
_input: TxMergeRollupPrivateInputs,
|
|
188
|
+
_signal?: AbortSignal,
|
|
189
|
+
_epochNumber?: number,
|
|
190
|
+
): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
191
|
+
return Promise.resolve(
|
|
192
|
+
makePublicInputsAndRecursiveProof(
|
|
193
|
+
makeTxRollupPublicInputs(),
|
|
194
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
195
|
+
VerificationKeyData.makeFakeRollupHonk(),
|
|
196
|
+
),
|
|
197
|
+
);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
getBlockRootFirstRollupProof(
|
|
201
|
+
_input: BlockRootFirstRollupPrivateInputs,
|
|
202
|
+
_signal?: AbortSignal,
|
|
203
|
+
_epochNumber?: number,
|
|
204
|
+
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
167
205
|
return Promise.resolve(
|
|
168
206
|
makePublicInputsAndRecursiveProof(
|
|
169
|
-
|
|
207
|
+
makeBlockRollupPublicInputs(),
|
|
170
208
|
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
171
209
|
VerificationKeyData.makeFakeRollupHonk(),
|
|
172
210
|
),
|
|
173
211
|
);
|
|
174
212
|
}
|
|
175
213
|
|
|
176
|
-
|
|
214
|
+
getBlockRootSingleTxFirstRollupProof(
|
|
215
|
+
_input: BlockRootSingleTxFirstRollupPrivateInputs,
|
|
216
|
+
_signal?: AbortSignal,
|
|
217
|
+
_epochNumber?: number,
|
|
218
|
+
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
219
|
+
return Promise.resolve(
|
|
220
|
+
makePublicInputsAndRecursiveProof(
|
|
221
|
+
makeBlockRollupPublicInputs(),
|
|
222
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
223
|
+
VerificationKeyData.makeFakeHonk(),
|
|
224
|
+
),
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
getBlockRootEmptyTxFirstRollupProof(
|
|
229
|
+
_input: BlockRootEmptyTxFirstRollupPrivateInputs,
|
|
230
|
+
_signal?: AbortSignal,
|
|
231
|
+
_epochNumber?: number,
|
|
232
|
+
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
177
233
|
return Promise.resolve(
|
|
178
234
|
makePublicInputsAndRecursiveProof(
|
|
179
|
-
|
|
235
|
+
makeBlockRollupPublicInputs(),
|
|
180
236
|
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
181
237
|
VerificationKeyData.makeFakeRollupHonk(),
|
|
182
238
|
),
|
|
183
239
|
);
|
|
184
240
|
}
|
|
185
241
|
|
|
186
|
-
|
|
187
|
-
_input:
|
|
242
|
+
getBlockRootRollupProof(
|
|
243
|
+
_input: BlockRootRollupPrivateInputs,
|
|
244
|
+
_signal?: AbortSignal,
|
|
245
|
+
_epochNumber?: number,
|
|
246
|
+
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
247
|
+
return Promise.resolve(
|
|
248
|
+
makePublicInputsAndRecursiveProof(
|
|
249
|
+
makeBlockRollupPublicInputs(),
|
|
250
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
251
|
+
VerificationKeyData.makeFakeRollupHonk(),
|
|
252
|
+
),
|
|
253
|
+
);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
getBlockRootSingleTxRollupProof(
|
|
257
|
+
_input: BlockRootSingleTxRollupPrivateInputs,
|
|
258
|
+
_signal?: AbortSignal,
|
|
259
|
+
_epochNumber?: number,
|
|
260
|
+
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
261
|
+
return Promise.resolve(
|
|
262
|
+
makePublicInputsAndRecursiveProof(
|
|
263
|
+
makeBlockRollupPublicInputs(),
|
|
264
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
265
|
+
VerificationKeyData.makeFakeHonk(),
|
|
266
|
+
),
|
|
267
|
+
);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
getBlockMergeRollupProof(_input: BlockMergeRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number) {
|
|
271
|
+
return Promise.resolve(
|
|
272
|
+
makePublicInputsAndRecursiveProof(
|
|
273
|
+
makeBlockRollupPublicInputs(),
|
|
274
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
275
|
+
VerificationKeyData.makeFakeRollupHonk(),
|
|
276
|
+
),
|
|
277
|
+
);
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
getCheckpointRootRollupProof(
|
|
281
|
+
_input: CheckpointRootRollupPrivateInputs,
|
|
188
282
|
_signal?: AbortSignal,
|
|
189
283
|
_epochNumber?: number,
|
|
190
284
|
): Promise<
|
|
191
|
-
PublicInputsAndRecursiveProof<
|
|
285
|
+
PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
192
286
|
> {
|
|
193
287
|
return Promise.resolve(
|
|
194
288
|
makePublicInputsAndRecursiveProof(
|
|
195
|
-
|
|
289
|
+
makeCheckpointRollupPublicInputs(),
|
|
196
290
|
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
197
291
|
VerificationKeyData.makeFakeRollupHonk(),
|
|
198
292
|
),
|
|
199
293
|
);
|
|
200
294
|
}
|
|
201
295
|
|
|
202
|
-
|
|
203
|
-
_input:
|
|
296
|
+
getCheckpointRootSingleBlockRollupProof(
|
|
297
|
+
_input: CheckpointRootSingleBlockRollupPrivateInputs,
|
|
204
298
|
_signal?: AbortSignal,
|
|
205
299
|
_epochNumber?: number,
|
|
206
300
|
): Promise<
|
|
207
|
-
PublicInputsAndRecursiveProof<
|
|
301
|
+
PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
208
302
|
> {
|
|
209
303
|
return Promise.resolve(
|
|
210
304
|
makePublicInputsAndRecursiveProof(
|
|
211
|
-
|
|
305
|
+
makeCheckpointRollupPublicInputs(),
|
|
212
306
|
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
213
307
|
VerificationKeyData.makeFakeRollupHonk(),
|
|
214
308
|
),
|
|
215
309
|
);
|
|
216
310
|
}
|
|
217
311
|
|
|
218
|
-
|
|
219
|
-
_input:
|
|
312
|
+
getCheckpointMergeRollupProof(
|
|
313
|
+
_input: CheckpointMergeRollupPrivateInputs,
|
|
220
314
|
_signal?: AbortSignal,
|
|
221
315
|
_epochNumber?: number,
|
|
222
316
|
): Promise<
|
|
223
|
-
PublicInputsAndRecursiveProof<
|
|
317
|
+
PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
224
318
|
> {
|
|
225
319
|
return Promise.resolve(
|
|
226
320
|
makePublicInputsAndRecursiveProof(
|
|
227
|
-
|
|
321
|
+
makeCheckpointRollupPublicInputs(),
|
|
228
322
|
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
229
|
-
VerificationKeyData.
|
|
323
|
+
VerificationKeyData.makeFakeRollupHonk(),
|
|
324
|
+
),
|
|
325
|
+
);
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
getCheckpointPaddingRollupProof(
|
|
329
|
+
_input: CheckpointPaddingRollupPrivateInputs,
|
|
330
|
+
_signal?: AbortSignal,
|
|
331
|
+
_epochNumber?: number,
|
|
332
|
+
): Promise<
|
|
333
|
+
PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
334
|
+
> {
|
|
335
|
+
return Promise.resolve(
|
|
336
|
+
makePublicInputsAndRecursiveProof(
|
|
337
|
+
makeCheckpointRollupPublicInputs(),
|
|
338
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
339
|
+
VerificationKeyData.makeFakeRollupHonk(),
|
|
230
340
|
),
|
|
231
341
|
);
|
|
232
342
|
}
|
|
233
343
|
|
|
234
344
|
getRootRollupProof(
|
|
235
|
-
_input:
|
|
345
|
+
_input: RootRollupPrivateInputs,
|
|
236
346
|
_signal?: AbortSignal,
|
|
237
347
|
_epochNumber?: number,
|
|
238
348
|
): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs>> {
|
|
@@ -244,10 +354,4 @@ export class MockProver implements ServerCircuitProver {
|
|
|
244
354
|
),
|
|
245
355
|
);
|
|
246
356
|
}
|
|
247
|
-
|
|
248
|
-
getTubeProof(): Promise<ProofAndVerificationKey<typeof TUBE_PROOF_LENGTH>> {
|
|
249
|
-
return Promise.resolve(
|
|
250
|
-
makeProofAndVerificationKey(makeRecursiveProof(TUBE_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()),
|
|
251
|
-
);
|
|
252
|
-
}
|
|
253
357
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-proof-inputs.d.ts","sourceRoot":"","sources":["../../src/bin/get-proof-inputs.ts"],"names":[],"mappings":""}
|