@aztec/prover-client 0.0.0-test.1 → 0.0.1-commit.03f7ef2
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 +8 -8
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +12 -2
- package/dest/index.d.ts +1 -1
- package/dest/light/index.d.ts +2 -0
- package/dest/light/index.d.ts.map +1 -0
- package/dest/light/index.js +1 -0
- package/dest/light/lightweight_checkpoint_builder.d.ts +36 -0
- package/dest/light/lightweight_checkpoint_builder.d.ts.map +1 -0
- package/dest/light/lightweight_checkpoint_builder.js +147 -0
- package/dest/mocks/fixtures.d.ts +8 -8
- package/dest/mocks/fixtures.d.ts.map +1 -1
- package/dest/mocks/fixtures.js +34 -16
- package/dest/mocks/test_context.d.ts +41 -32
- package/dest/mocks/test_context.d.ts.map +1 -1
- package/dest/mocks/test_context.js +138 -87
- package/dest/orchestrator/block-building-helpers.d.ts +37 -30
- package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
- package/dest/orchestrator/block-building-helpers.js +170 -189
- package/dest/orchestrator/block-proving-state.d.ts +70 -48
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/block-proving-state.js +282 -177
- package/dest/orchestrator/checkpoint-proving-state.d.ts +63 -0
- package/dest/orchestrator/checkpoint-proving-state.d.ts.map +1 -0
- package/dest/orchestrator/checkpoint-proving-state.js +210 -0
- package/dest/orchestrator/epoch-proving-state.d.ts +41 -27
- 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 +36 -33
- package/dest/orchestrator/orchestrator.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator.js +379 -250
- package/dest/orchestrator/orchestrator_metrics.d.ts +1 -1
- package/dest/orchestrator/orchestrator_metrics.d.ts.map +1 -1
- 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 +16 -12
- 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 +59 -40
- package/dest/proving_broker/config.d.ts +19 -10
- package/dest/proving_broker/config.d.ts.map +1 -1
- package/dest/proving_broker/config.js +23 -6
- 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 +3 -2
- 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 +39 -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 +87 -60
- 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 +37 -19
- package/package.json +34 -31
- package/src/block-factory/index.ts +1 -0
- package/src/block-factory/light.ts +137 -0
- package/src/config.ts +25 -9
- package/src/light/index.ts +1 -0
- package/src/light/lightweight_checkpoint_builder.ts +198 -0
- package/src/mocks/fixtures.ts +44 -39
- package/src/mocks/test_context.ts +213 -116
- package/src/orchestrator/block-building-helpers.ts +258 -334
- package/src/orchestrator/block-proving-state.ts +325 -231
- package/src/orchestrator/checkpoint-proving-state.ts +303 -0
- package/src/orchestrator/epoch-proving-state.ts +191 -113
- package/src/orchestrator/orchestrator.ts +582 -314
- package/src/orchestrator/tx-proving-state.ts +49 -64
- package/src/prover-client/prover-client.ts +16 -14
- package/src/prover-client/server-epoch-prover.ts +40 -22
- package/src/proving_broker/broker_prover_facade.ts +205 -126
- package/src/proving_broker/config.ts +25 -7
- package/src/proving_broker/factory.ts +2 -1
- package/src/proving_broker/fixtures.ts +8 -3
- 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 +56 -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 +92 -81
- package/src/proving_broker/rpc.ts +1 -6
- package/src/test/mock_proof_store.ts +14 -0
- package/src/test/mock_prover.ts +158 -59
- 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/random';
|
|
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,6 +90,36 @@ 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;
|
|
@@ -141,50 +128,74 @@ export class ProvingJobController {
|
|
|
141
128
|
return await this.circuitProver.getAvmProof(inputs, signal, this.epochNumber);
|
|
142
129
|
}
|
|
143
130
|
|
|
144
|
-
case ProvingRequestType.
|
|
145
|
-
return await this.circuitProver.
|
|
131
|
+
case ProvingRequestType.PUBLIC_CHONK_VERIFIER: {
|
|
132
|
+
return await this.circuitProver.getPublicChonkVerifierProof(inputs, signal, this.epochNumber);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
case ProvingRequestType.PRIVATE_TX_BASE_ROLLUP: {
|
|
136
|
+
return await this.circuitProver.getPrivateTxBaseRollupProof(inputs, signal, this.epochNumber);
|
|
146
137
|
}
|
|
147
138
|
|
|
148
|
-
case ProvingRequestType.
|
|
149
|
-
return await this.circuitProver.
|
|
139
|
+
case ProvingRequestType.PUBLIC_TX_BASE_ROLLUP: {
|
|
140
|
+
return await this.circuitProver.getPublicTxBaseRollupProof(inputs, signal, this.epochNumber);
|
|
150
141
|
}
|
|
151
142
|
|
|
152
|
-
case ProvingRequestType.
|
|
153
|
-
return await this.circuitProver.
|
|
143
|
+
case ProvingRequestType.TX_MERGE_ROLLUP: {
|
|
144
|
+
return await this.circuitProver.getTxMergeRollupProof(inputs, signal, this.epochNumber);
|
|
154
145
|
}
|
|
155
146
|
|
|
156
|
-
case ProvingRequestType.
|
|
157
|
-
return await this.circuitProver.
|
|
147
|
+
case ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP: {
|
|
148
|
+
return await this.circuitProver.getBlockRootFirstRollupProof(inputs, signal, this.epochNumber);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
case ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP: {
|
|
152
|
+
return await this.circuitProver.getBlockRootSingleTxFirstRollupProof(inputs, signal, this.epochNumber);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
case ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP: {
|
|
156
|
+
return await this.circuitProver.getBlockRootEmptyTxFirstRollupProof(inputs, signal, this.epochNumber);
|
|
158
157
|
}
|
|
159
158
|
|
|
160
159
|
case ProvingRequestType.BLOCK_ROOT_ROLLUP: {
|
|
161
160
|
return await this.circuitProver.getBlockRootRollupProof(inputs, signal, this.epochNumber);
|
|
162
161
|
}
|
|
163
162
|
|
|
164
|
-
case ProvingRequestType.
|
|
165
|
-
return await this.circuitProver.
|
|
163
|
+
case ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP: {
|
|
164
|
+
return await this.circuitProver.getBlockRootSingleTxRollupProof(inputs, signal, this.epochNumber);
|
|
166
165
|
}
|
|
167
166
|
|
|
168
167
|
case ProvingRequestType.BLOCK_MERGE_ROLLUP: {
|
|
169
168
|
return await this.circuitProver.getBlockMergeRollupProof(inputs, signal, this.epochNumber);
|
|
170
169
|
}
|
|
171
170
|
|
|
171
|
+
case ProvingRequestType.CHECKPOINT_ROOT_ROLLUP: {
|
|
172
|
+
return await this.circuitProver.getCheckpointRootRollupProof(inputs, signal, this.epochNumber);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
case ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP: {
|
|
176
|
+
return await this.circuitProver.getCheckpointRootSingleBlockRollupProof(inputs, signal, this.epochNumber);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
case ProvingRequestType.CHECKPOINT_PADDING_ROLLUP: {
|
|
180
|
+
return await this.circuitProver.getCheckpointPaddingRollupProof(inputs, signal, this.epochNumber);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
case ProvingRequestType.CHECKPOINT_MERGE_ROLLUP: {
|
|
184
|
+
return await this.circuitProver.getCheckpointMergeRollupProof(inputs, signal, this.epochNumber);
|
|
185
|
+
}
|
|
186
|
+
|
|
172
187
|
case ProvingRequestType.ROOT_ROLLUP: {
|
|
173
188
|
return await this.circuitProver.getRootRollupProof(inputs, signal, this.epochNumber);
|
|
174
189
|
}
|
|
175
190
|
|
|
176
|
-
case ProvingRequestType.
|
|
191
|
+
case ProvingRequestType.PARITY_BASE: {
|
|
177
192
|
return await this.circuitProver.getBaseParityProof(inputs, signal, this.epochNumber);
|
|
178
193
|
}
|
|
179
194
|
|
|
180
|
-
case ProvingRequestType.
|
|
195
|
+
case ProvingRequestType.PARITY_ROOT: {
|
|
181
196
|
return await this.circuitProver.getRootParityProof(inputs, signal, this.epochNumber);
|
|
182
197
|
}
|
|
183
198
|
|
|
184
|
-
case ProvingRequestType.TUBE_PROOF: {
|
|
185
|
-
return await this.circuitProver.getTubeProof(inputs, signal, this.epochNumber);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
199
|
default: {
|
|
189
200
|
const _exhaustive: never = type;
|
|
190
201
|
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
|
|
|
@@ -99,13 +108,13 @@ export class MockProver implements ServerCircuitProver {
|
|
|
99
108
|
getAvmProof(_inputs: AvmCircuitInputs, _signal?: AbortSignal, _epochNumber?: number) {
|
|
100
109
|
return Promise.resolve(
|
|
101
110
|
makeProofAndVerificationKey(
|
|
102
|
-
makeEmptyRecursiveProof(
|
|
103
|
-
VerificationKeyData.makeFake(
|
|
111
|
+
makeEmptyRecursiveProof(AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED),
|
|
112
|
+
VerificationKeyData.makeFake(AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED),
|
|
104
113
|
),
|
|
105
114
|
);
|
|
106
115
|
}
|
|
107
116
|
|
|
108
|
-
getBaseParityProof(_inputs:
|
|
117
|
+
getBaseParityProof(_inputs: ParityBasePrivateInputs, _signal?: AbortSignal, _epochNumber?: number) {
|
|
109
118
|
return Promise.resolve(
|
|
110
119
|
makePublicInputsAndRecursiveProof(
|
|
111
120
|
makeParityPublicInputs(),
|
|
@@ -115,7 +124,7 @@ export class MockProver implements ServerCircuitProver {
|
|
|
115
124
|
);
|
|
116
125
|
}
|
|
117
126
|
|
|
118
|
-
getRootParityProof(_inputs:
|
|
127
|
+
getRootParityProof(_inputs: ParityRootPrivateInputs, _signal?: AbortSignal, _epochNumber?: number) {
|
|
119
128
|
return Promise.resolve(
|
|
120
129
|
makePublicInputsAndRecursiveProof(
|
|
121
130
|
makeParityPublicInputs(),
|
|
@@ -125,114 +134,210 @@ export class MockProver implements ServerCircuitProver {
|
|
|
125
134
|
);
|
|
126
135
|
}
|
|
127
136
|
|
|
128
|
-
|
|
129
|
-
|
|
137
|
+
getPublicChonkVerifierProof(
|
|
138
|
+
_inputs: PublicChonkVerifierPrivateInputs,
|
|
130
139
|
_signal?: AbortSignal,
|
|
131
140
|
_epochNumber?: number,
|
|
132
141
|
): Promise<
|
|
133
|
-
PublicInputsAndRecursiveProof<
|
|
142
|
+
PublicInputsAndRecursiveProof<PublicChonkVerifierPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
134
143
|
> {
|
|
135
144
|
return Promise.resolve(
|
|
136
145
|
makePublicInputsAndRecursiveProof(
|
|
137
|
-
|
|
146
|
+
makePublicChonkVerifierPublicInputs(),
|
|
138
147
|
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
139
148
|
VerificationKeyData.makeFakeRollupHonk(),
|
|
140
149
|
),
|
|
141
150
|
);
|
|
142
151
|
}
|
|
143
152
|
|
|
144
|
-
|
|
145
|
-
|
|
153
|
+
getPrivateTxBaseRollupProof(
|
|
154
|
+
_baseRollupInput: PrivateTxBaseRollupPrivateInputs,
|
|
146
155
|
_signal?: AbortSignal,
|
|
147
156
|
_epochNumber?: number,
|
|
148
|
-
): Promise<
|
|
149
|
-
PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
150
|
-
> {
|
|
157
|
+
): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
151
158
|
return Promise.resolve(
|
|
152
159
|
makePublicInputsAndRecursiveProof(
|
|
153
|
-
|
|
160
|
+
makeTxRollupPublicInputs(),
|
|
154
161
|
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
155
162
|
VerificationKeyData.makeFakeRollupHonk(),
|
|
156
163
|
),
|
|
157
164
|
);
|
|
158
165
|
}
|
|
159
166
|
|
|
160
|
-
|
|
161
|
-
|
|
167
|
+
getPublicTxBaseRollupProof(
|
|
168
|
+
_inputs: PublicTxBaseRollupPrivateInputs,
|
|
162
169
|
_signal?: AbortSignal,
|
|
163
170
|
_epochNumber?: number,
|
|
164
|
-
): Promise<
|
|
165
|
-
|
|
166
|
-
|
|
171
|
+
): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
172
|
+
return Promise.resolve(
|
|
173
|
+
makePublicInputsAndRecursiveProof(
|
|
174
|
+
makeTxRollupPublicInputs(),
|
|
175
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
176
|
+
VerificationKeyData.makeFakeRollupHonk(),
|
|
177
|
+
),
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
getTxMergeRollupProof(
|
|
182
|
+
_input: TxMergeRollupPrivateInputs,
|
|
183
|
+
_signal?: AbortSignal,
|
|
184
|
+
_epochNumber?: number,
|
|
185
|
+
): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
186
|
+
return Promise.resolve(
|
|
187
|
+
makePublicInputsAndRecursiveProof(
|
|
188
|
+
makeTxRollupPublicInputs(),
|
|
189
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
190
|
+
VerificationKeyData.makeFakeRollupHonk(),
|
|
191
|
+
),
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
getBlockRootFirstRollupProof(
|
|
196
|
+
_input: BlockRootFirstRollupPrivateInputs,
|
|
197
|
+
_signal?: AbortSignal,
|
|
198
|
+
_epochNumber?: number,
|
|
199
|
+
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
200
|
+
return Promise.resolve(
|
|
201
|
+
makePublicInputsAndRecursiveProof(
|
|
202
|
+
makeBlockRollupPublicInputs(),
|
|
203
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
204
|
+
VerificationKeyData.makeFakeRollupHonk(),
|
|
205
|
+
),
|
|
206
|
+
);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
getBlockRootSingleTxFirstRollupProof(
|
|
210
|
+
_input: BlockRootSingleTxFirstRollupPrivateInputs,
|
|
211
|
+
_signal?: AbortSignal,
|
|
212
|
+
_epochNumber?: number,
|
|
213
|
+
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
214
|
+
return Promise.resolve(
|
|
215
|
+
makePublicInputsAndRecursiveProof(
|
|
216
|
+
makeBlockRollupPublicInputs(),
|
|
217
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
218
|
+
VerificationKeyData.makeFakeHonk(),
|
|
219
|
+
),
|
|
220
|
+
);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
getBlockRootEmptyTxFirstRollupProof(
|
|
224
|
+
_input: BlockRootEmptyTxFirstRollupPrivateInputs,
|
|
225
|
+
_signal?: AbortSignal,
|
|
226
|
+
_epochNumber?: number,
|
|
227
|
+
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
228
|
+
return Promise.resolve(
|
|
229
|
+
makePublicInputsAndRecursiveProof(
|
|
230
|
+
makeBlockRollupPublicInputs(),
|
|
231
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
232
|
+
VerificationKeyData.makeFakeRollupHonk(),
|
|
233
|
+
),
|
|
234
|
+
);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
getBlockRootRollupProof(
|
|
238
|
+
_input: BlockRootRollupPrivateInputs,
|
|
239
|
+
_signal?: AbortSignal,
|
|
240
|
+
_epochNumber?: number,
|
|
241
|
+
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
242
|
+
return Promise.resolve(
|
|
243
|
+
makePublicInputsAndRecursiveProof(
|
|
244
|
+
makeBlockRollupPublicInputs(),
|
|
245
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
246
|
+
VerificationKeyData.makeFakeRollupHonk(),
|
|
247
|
+
),
|
|
248
|
+
);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
getBlockRootSingleTxRollupProof(
|
|
252
|
+
_input: BlockRootSingleTxRollupPrivateInputs,
|
|
253
|
+
_signal?: AbortSignal,
|
|
254
|
+
_epochNumber?: number,
|
|
255
|
+
): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>> {
|
|
167
256
|
return Promise.resolve(
|
|
168
257
|
makePublicInputsAndRecursiveProof(
|
|
169
|
-
|
|
258
|
+
makeBlockRollupPublicInputs(),
|
|
259
|
+
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
260
|
+
VerificationKeyData.makeFakeHonk(),
|
|
261
|
+
),
|
|
262
|
+
);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
getBlockMergeRollupProof(_input: BlockMergeRollupPrivateInputs, _signal?: AbortSignal, _epochNumber?: number) {
|
|
266
|
+
return Promise.resolve(
|
|
267
|
+
makePublicInputsAndRecursiveProof(
|
|
268
|
+
makeBlockRollupPublicInputs(),
|
|
170
269
|
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
171
270
|
VerificationKeyData.makeFakeRollupHonk(),
|
|
172
271
|
),
|
|
173
272
|
);
|
|
174
273
|
}
|
|
175
274
|
|
|
176
|
-
|
|
275
|
+
getCheckpointRootRollupProof(
|
|
276
|
+
_input: CheckpointRootRollupPrivateInputs,
|
|
277
|
+
_signal?: AbortSignal,
|
|
278
|
+
_epochNumber?: number,
|
|
279
|
+
): Promise<
|
|
280
|
+
PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
281
|
+
> {
|
|
177
282
|
return Promise.resolve(
|
|
178
283
|
makePublicInputsAndRecursiveProof(
|
|
179
|
-
|
|
284
|
+
makeCheckpointRollupPublicInputs(),
|
|
180
285
|
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
181
286
|
VerificationKeyData.makeFakeRollupHonk(),
|
|
182
287
|
),
|
|
183
288
|
);
|
|
184
289
|
}
|
|
185
290
|
|
|
186
|
-
|
|
187
|
-
_input:
|
|
291
|
+
getCheckpointRootSingleBlockRollupProof(
|
|
292
|
+
_input: CheckpointRootSingleBlockRollupPrivateInputs,
|
|
188
293
|
_signal?: AbortSignal,
|
|
189
294
|
_epochNumber?: number,
|
|
190
295
|
): Promise<
|
|
191
|
-
PublicInputsAndRecursiveProof<
|
|
296
|
+
PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
192
297
|
> {
|
|
193
298
|
return Promise.resolve(
|
|
194
299
|
makePublicInputsAndRecursiveProof(
|
|
195
|
-
|
|
300
|
+
makeCheckpointRollupPublicInputs(),
|
|
196
301
|
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
197
302
|
VerificationKeyData.makeFakeRollupHonk(),
|
|
198
303
|
),
|
|
199
304
|
);
|
|
200
305
|
}
|
|
201
306
|
|
|
202
|
-
|
|
203
|
-
_input:
|
|
307
|
+
getCheckpointMergeRollupProof(
|
|
308
|
+
_input: CheckpointMergeRollupPrivateInputs,
|
|
204
309
|
_signal?: AbortSignal,
|
|
205
310
|
_epochNumber?: number,
|
|
206
311
|
): Promise<
|
|
207
|
-
PublicInputsAndRecursiveProof<
|
|
312
|
+
PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
208
313
|
> {
|
|
209
314
|
return Promise.resolve(
|
|
210
315
|
makePublicInputsAndRecursiveProof(
|
|
211
|
-
|
|
316
|
+
makeCheckpointRollupPublicInputs(),
|
|
212
317
|
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
213
318
|
VerificationKeyData.makeFakeRollupHonk(),
|
|
214
319
|
),
|
|
215
320
|
);
|
|
216
321
|
}
|
|
217
322
|
|
|
218
|
-
|
|
219
|
-
_input:
|
|
323
|
+
getCheckpointPaddingRollupProof(
|
|
324
|
+
_input: CheckpointPaddingRollupPrivateInputs,
|
|
220
325
|
_signal?: AbortSignal,
|
|
221
326
|
_epochNumber?: number,
|
|
222
327
|
): Promise<
|
|
223
|
-
PublicInputsAndRecursiveProof<
|
|
328
|
+
PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
224
329
|
> {
|
|
225
330
|
return Promise.resolve(
|
|
226
331
|
makePublicInputsAndRecursiveProof(
|
|
227
|
-
|
|
332
|
+
makeCheckpointRollupPublicInputs(),
|
|
228
333
|
makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
|
|
229
|
-
VerificationKeyData.
|
|
334
|
+
VerificationKeyData.makeFakeRollupHonk(),
|
|
230
335
|
),
|
|
231
336
|
);
|
|
232
337
|
}
|
|
233
338
|
|
|
234
339
|
getRootRollupProof(
|
|
235
|
-
_input:
|
|
340
|
+
_input: RootRollupPrivateInputs,
|
|
236
341
|
_signal?: AbortSignal,
|
|
237
342
|
_epochNumber?: number,
|
|
238
343
|
): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs>> {
|
|
@@ -244,10 +349,4 @@ export class MockProver implements ServerCircuitProver {
|
|
|
244
349
|
),
|
|
245
350
|
);
|
|
246
351
|
}
|
|
247
|
-
|
|
248
|
-
getTubeProof(): Promise<ProofAndVerificationKey<typeof TUBE_PROOF_LENGTH>> {
|
|
249
|
-
return Promise.resolve(
|
|
250
|
-
makeProofAndVerificationKey(makeRecursiveProof(TUBE_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()),
|
|
251
|
-
);
|
|
252
|
-
}
|
|
253
352
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-proof-inputs.d.ts","sourceRoot":"","sources":["../../src/bin/get-proof-inputs.ts"],"names":[],"mappings":""}
|