@aztec/prover-client 0.0.0-test.0

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.
Files changed (154) hide show
  1. package/README.md +1 -0
  2. package/dest/bin/get-proof-inputs.d.ts +2 -0
  3. package/dest/bin/get-proof-inputs.d.ts.map +1 -0
  4. package/dest/bin/get-proof-inputs.js +51 -0
  5. package/dest/block_builder/index.d.ts +6 -0
  6. package/dest/block_builder/index.d.ts.map +1 -0
  7. package/dest/block_builder/index.js +1 -0
  8. package/dest/block_builder/light.d.ts +33 -0
  9. package/dest/block_builder/light.d.ts.map +1 -0
  10. package/dest/block_builder/light.js +82 -0
  11. package/dest/config.d.ts +17 -0
  12. package/dest/config.d.ts.map +1 -0
  13. package/dest/config.js +39 -0
  14. package/dest/index.d.ts +4 -0
  15. package/dest/index.d.ts.map +1 -0
  16. package/dest/index.js +2 -0
  17. package/dest/mocks/fixtures.d.ts +20 -0
  18. package/dest/mocks/fixtures.d.ts.map +1 -0
  19. package/dest/mocks/fixtures.js +77 -0
  20. package/dest/mocks/test_context.d.ts +55 -0
  21. package/dest/mocks/test_context.d.ts.map +1 -0
  22. package/dest/mocks/test_context.js +193 -0
  23. package/dest/orchestrator/block-building-helpers.d.ts +55 -0
  24. package/dest/orchestrator/block-building-helpers.d.ts.map +1 -0
  25. package/dest/orchestrator/block-building-helpers.js +285 -0
  26. package/dest/orchestrator/block-proving-state.d.ts +76 -0
  27. package/dest/orchestrator/block-proving-state.d.ts.map +1 -0
  28. package/dest/orchestrator/block-proving-state.js +269 -0
  29. package/dest/orchestrator/epoch-proving-state.d.ts +60 -0
  30. package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -0
  31. package/dest/orchestrator/epoch-proving-state.js +163 -0
  32. package/dest/orchestrator/index.d.ts +2 -0
  33. package/dest/orchestrator/index.d.ts.map +1 -0
  34. package/dest/orchestrator/index.js +1 -0
  35. package/dest/orchestrator/orchestrator.d.ts +110 -0
  36. package/dest/orchestrator/orchestrator.d.ts.map +1 -0
  37. package/dest/orchestrator/orchestrator.js +690 -0
  38. package/dest/orchestrator/orchestrator_metrics.d.ts +8 -0
  39. package/dest/orchestrator/orchestrator_metrics.d.ts.map +1 -0
  40. package/dest/orchestrator/orchestrator_metrics.js +17 -0
  41. package/dest/orchestrator/tx-proving-state.d.ts +34 -0
  42. package/dest/orchestrator/tx-proving-state.d.ts.map +1 -0
  43. package/dest/orchestrator/tx-proving-state.js +94 -0
  44. package/dest/prover-client/factory.d.ts +6 -0
  45. package/dest/prover-client/factory.d.ts.map +1 -0
  46. package/dest/prover-client/factory.js +5 -0
  47. package/dest/prover-client/index.d.ts +3 -0
  48. package/dest/prover-client/index.d.ts.map +1 -0
  49. package/dest/prover-client/index.js +2 -0
  50. package/dest/prover-client/prover-client.d.ts +42 -0
  51. package/dest/prover-client/prover-client.d.ts.map +1 -0
  52. package/dest/prover-client/prover-client.js +110 -0
  53. package/dest/prover-client/server-epoch-prover.d.ts +28 -0
  54. package/dest/prover-client/server-epoch-prover.d.ts.map +1 -0
  55. package/dest/prover-client/server-epoch-prover.js +40 -0
  56. package/dest/proving_broker/broker_prover_facade.d.ts +46 -0
  57. package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -0
  58. package/dest/proving_broker/broker_prover_facade.js +344 -0
  59. package/dest/proving_broker/config.d.ts +83 -0
  60. package/dest/proving_broker/config.d.ts.map +1 -0
  61. package/dest/proving_broker/config.js +104 -0
  62. package/dest/proving_broker/factory.d.ts +5 -0
  63. package/dest/proving_broker/factory.d.ts.map +1 -0
  64. package/dest/proving_broker/factory.js +9 -0
  65. package/dest/proving_broker/fixtures.d.ts +5 -0
  66. package/dest/proving_broker/fixtures.d.ts.map +1 -0
  67. package/dest/proving_broker/fixtures.js +12 -0
  68. package/dest/proving_broker/index.d.ts +10 -0
  69. package/dest/proving_broker/index.d.ts.map +1 -0
  70. package/dest/proving_broker/index.js +9 -0
  71. package/dest/proving_broker/proof_store/factory.d.ts +6 -0
  72. package/dest/proving_broker/proof_store/factory.d.ts.map +1 -0
  73. package/dest/proving_broker/proof_store/factory.js +36 -0
  74. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +14 -0
  75. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +1 -0
  76. package/dest/proving_broker/proof_store/gcs_proof_store.js +51 -0
  77. package/dest/proving_broker/proof_store/index.d.ts +4 -0
  78. package/dest/proving_broker/proof_store/index.d.ts.map +1 -0
  79. package/dest/proving_broker/proof_store/index.js +3 -0
  80. package/dest/proving_broker/proof_store/inline_proof_store.d.ts +15 -0
  81. package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +1 -0
  82. package/dest/proving_broker/proof_store/inline_proof_store.js +41 -0
  83. package/dest/proving_broker/proof_store/proof_store.d.ts +36 -0
  84. package/dest/proving_broker/proof_store/proof_store.d.ts.map +1 -0
  85. package/dest/proving_broker/proof_store/proof_store.js +3 -0
  86. package/dest/proving_broker/proving_agent.d.ts +46 -0
  87. package/dest/proving_broker/proving_agent.d.ts.map +1 -0
  88. package/dest/proving_broker/proving_agent.js +134 -0
  89. package/dest/proving_broker/proving_agent_instrumentation.d.ts +8 -0
  90. package/dest/proving_broker/proving_agent_instrumentation.d.ts.map +1 -0
  91. package/dest/proving_broker/proving_agent_instrumentation.js +16 -0
  92. package/dest/proving_broker/proving_broker.d.ts +64 -0
  93. package/dest/proving_broker/proving_broker.d.ts.map +1 -0
  94. package/dest/proving_broker/proving_broker.js +570 -0
  95. package/dest/proving_broker/proving_broker_database/memory.d.ts +16 -0
  96. package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -0
  97. package/dest/proving_broker/proving_broker_database/memory.js +54 -0
  98. package/dest/proving_broker/proving_broker_database/persisted.d.ts +25 -0
  99. package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -0
  100. package/dest/proving_broker/proving_broker_database/persisted.js +182 -0
  101. package/dest/proving_broker/proving_broker_database.d.ts +39 -0
  102. package/dest/proving_broker/proving_broker_database.d.ts.map +1 -0
  103. package/dest/proving_broker/proving_broker_database.js +3 -0
  104. package/dest/proving_broker/proving_broker_instrumentation.d.ts +29 -0
  105. package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -0
  106. package/dest/proving_broker/proving_broker_instrumentation.js +110 -0
  107. package/dest/proving_broker/proving_job_controller.d.ts +33 -0
  108. package/dest/proving_broker/proving_job_controller.d.ts.map +1 -0
  109. package/dest/proving_broker/proving_job_controller.js +166 -0
  110. package/dest/proving_broker/rpc.d.ts +27 -0
  111. package/dest/proving_broker/rpc.d.ts.map +1 -0
  112. package/dest/proving_broker/rpc.js +66 -0
  113. package/dest/test/mock_prover.d.ts +35 -0
  114. package/dest/test/mock_prover.d.ts.map +1 -0
  115. package/dest/test/mock_prover.js +82 -0
  116. package/package.json +112 -0
  117. package/src/bin/get-proof-inputs.ts +59 -0
  118. package/src/block_builder/index.ts +6 -0
  119. package/src/block_builder/light.ts +101 -0
  120. package/src/config.ts +55 -0
  121. package/src/index.ts +4 -0
  122. package/src/mocks/fixtures.ts +117 -0
  123. package/src/mocks/test_context.ts +257 -0
  124. package/src/orchestrator/block-building-helpers.ts +553 -0
  125. package/src/orchestrator/block-proving-state.ts +379 -0
  126. package/src/orchestrator/epoch-proving-state.ts +252 -0
  127. package/src/orchestrator/index.ts +1 -0
  128. package/src/orchestrator/orchestrator.ts +971 -0
  129. package/src/orchestrator/orchestrator_metrics.ts +22 -0
  130. package/src/orchestrator/tx-proving-state.ts +139 -0
  131. package/src/prover-client/factory.ts +14 -0
  132. package/src/prover-client/index.ts +2 -0
  133. package/src/prover-client/prover-client.ts +162 -0
  134. package/src/prover-client/server-epoch-prover.ts +51 -0
  135. package/src/proving_broker/broker_prover_facade.ts +585 -0
  136. package/src/proving_broker/config.ts +138 -0
  137. package/src/proving_broker/factory.ts +18 -0
  138. package/src/proving_broker/fixtures.ts +15 -0
  139. package/src/proving_broker/index.ts +9 -0
  140. package/src/proving_broker/proof_store/factory.ts +42 -0
  141. package/src/proving_broker/proof_store/gcs_proof_store.ts +72 -0
  142. package/src/proving_broker/proof_store/index.ts +3 -0
  143. package/src/proving_broker/proof_store/inline_proof_store.ts +63 -0
  144. package/src/proving_broker/proof_store/proof_store.ts +54 -0
  145. package/src/proving_broker/proving_agent.ts +181 -0
  146. package/src/proving_broker/proving_agent_instrumentation.ts +21 -0
  147. package/src/proving_broker/proving_broker.ts +687 -0
  148. package/src/proving_broker/proving_broker_database/memory.ts +63 -0
  149. package/src/proving_broker/proving_broker_database/persisted.ts +218 -0
  150. package/src/proving_broker/proving_broker_database.ts +44 -0
  151. package/src/proving_broker/proving_broker_instrumentation.ts +145 -0
  152. package/src/proving_broker/proving_job_controller.ts +194 -0
  153. package/src/proving_broker/rpc.ts +95 -0
  154. package/src/test/mock_prover.ts +253 -0
@@ -0,0 +1,95 @@
1
+ import { createSafeJsonRpcClient } from '@aztec/foundation/json-rpc/client';
2
+ import type { SafeJsonRpcServer } from '@aztec/foundation/json-rpc/server';
3
+ import {
4
+ type GetProvingJobResponse,
5
+ ProofUri,
6
+ ProvingJob,
7
+ type ProvingJobBroker,
8
+ type ProvingJobConsumer,
9
+ ProvingJobId,
10
+ type ProvingJobProducer,
11
+ ProvingJobStatus,
12
+ } from '@aztec/stdlib/interfaces/server';
13
+ import { ProvingRequestType } from '@aztec/stdlib/proofs';
14
+ import { type ApiSchemaFor, optional } from '@aztec/stdlib/schemas';
15
+ import { type ComponentsVersions, getVersioningResponseHandler } from '@aztec/stdlib/versioning';
16
+ import { createTracedJsonRpcServer, makeTracedFetch } from '@aztec/telemetry-client';
17
+
18
+ import { z } from 'zod';
19
+
20
+ const ProvingJobFilterSchema = z.object({
21
+ allowList: z.array(z.nativeEnum(ProvingRequestType)),
22
+ });
23
+
24
+ const GetProvingJobResponse = z.object({
25
+ job: ProvingJob,
26
+ time: z.number(),
27
+ });
28
+
29
+ export const ProvingJobProducerSchema: ApiSchemaFor<ProvingJobProducer> = {
30
+ enqueueProvingJob: z.function().args(ProvingJob).returns(ProvingJobStatus),
31
+ getProvingJobStatus: z.function().args(ProvingJobId).returns(ProvingJobStatus),
32
+ cancelProvingJob: z.function().args(ProvingJobId).returns(z.void()),
33
+ getCompletedJobs: z.function().args(z.array(ProvingJobId)).returns(z.array(ProvingJobId)),
34
+ };
35
+
36
+ export const ProvingJobConsumerSchema: ApiSchemaFor<ProvingJobConsumer> = {
37
+ getProvingJob: z.function().args(optional(ProvingJobFilterSchema)).returns(GetProvingJobResponse.optional()),
38
+ reportProvingJobError: z
39
+ .function()
40
+ .args(ProvingJobId, z.string(), optional(z.boolean()), optional(ProvingJobFilterSchema))
41
+ .returns(GetProvingJobResponse.optional()),
42
+ reportProvingJobProgress: z
43
+ .function()
44
+ .args(ProvingJobId, z.number(), optional(ProvingJobFilterSchema))
45
+ .returns(GetProvingJobResponse.optional()),
46
+ reportProvingJobSuccess: z
47
+ .function()
48
+ .args(ProvingJobId, ProofUri, optional(ProvingJobFilterSchema))
49
+ .returns(GetProvingJobResponse.optional()),
50
+ };
51
+
52
+ export const ProvingJobBrokerSchema: ApiSchemaFor<ProvingJobBroker> = {
53
+ ...ProvingJobConsumerSchema,
54
+ ...ProvingJobProducerSchema,
55
+ };
56
+
57
+ export function createProvingBrokerServer(broker: ProvingJobBroker): SafeJsonRpcServer {
58
+ return createTracedJsonRpcServer(broker, ProvingJobBrokerSchema);
59
+ }
60
+
61
+ export function createProvingJobBrokerClient(
62
+ url: string,
63
+ versions: Partial<ComponentsVersions>,
64
+ fetch = makeTracedFetch([1, 2, 3], false),
65
+ ): ProvingJobBroker {
66
+ return createSafeJsonRpcClient(url, ProvingJobBrokerSchema, {
67
+ namespaceMethods: 'proverBroker',
68
+ fetch,
69
+ onResponse: getVersioningResponseHandler(versions),
70
+ });
71
+ }
72
+
73
+ export function createProvingJobProducerClient(
74
+ url: string,
75
+ versions: Partial<ComponentsVersions>,
76
+ fetch = makeTracedFetch([1, 2, 3], false),
77
+ ): ProvingJobProducer {
78
+ return createSafeJsonRpcClient(url, ProvingJobProducerSchema, {
79
+ namespaceMethods: 'provingJobProducer',
80
+ fetch,
81
+ onResponse: getVersioningResponseHandler(versions),
82
+ });
83
+ }
84
+
85
+ export function createProvingJobConsumerClient(
86
+ url: string,
87
+ versions: Partial<ComponentsVersions>,
88
+ fetch = makeTracedFetch([1, 2, 3], false),
89
+ ): ProvingJobConsumer {
90
+ return createSafeJsonRpcClient(url, ProvingJobConsumerSchema, {
91
+ namespaceMethods: 'provingJobConsumer',
92
+ fetch,
93
+ onResponse: getVersioningResponseHandler(versions),
94
+ });
95
+ }
@@ -0,0 +1,253 @@
1
+ import {
2
+ AVM_PROOF_LENGTH_IN_FIELDS,
3
+ AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS,
4
+ NESTED_RECURSIVE_PROOF_LENGTH,
5
+ NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
6
+ RECURSIVE_PROOF_LENGTH,
7
+ TUBE_PROOF_LENGTH,
8
+ } from '@aztec/constants';
9
+ import { times } from '@aztec/foundation/collection';
10
+ import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
11
+ import {
12
+ type ProofAndVerificationKey,
13
+ type ProvingJob,
14
+ type ProvingJobId,
15
+ type ProvingJobProducer,
16
+ type ProvingJobStatus,
17
+ type PublicInputsAndRecursiveProof,
18
+ type ServerCircuitProver,
19
+ makeProofAndVerificationKey,
20
+ makePublicInputsAndRecursiveProof,
21
+ } from '@aztec/stdlib/interfaces/server';
22
+ import type { BaseParityInputs, RootParityInputs } from '@aztec/stdlib/parity';
23
+ import { makeEmptyRecursiveProof, makeRecursiveProof } from '@aztec/stdlib/proofs';
24
+ import type {
25
+ BaseOrMergeRollupPublicInputs,
26
+ BlockMergeRollupInputs,
27
+ BlockRootOrBlockMergePublicInputs,
28
+ BlockRootRollupInputs,
29
+ EmptyBlockRootRollupInputs,
30
+ MergeRollupInputs,
31
+ PrivateBaseRollupInputs,
32
+ PublicBaseRollupInputs,
33
+ RootRollupInputs,
34
+ RootRollupPublicInputs,
35
+ SingleTxBlockRootRollupInputs,
36
+ } from '@aztec/stdlib/rollup';
37
+ import {
38
+ makeBaseOrMergeRollupPublicInputs,
39
+ makeBlockRootOrBlockMergeRollupPublicInputs,
40
+ makeParityPublicInputs,
41
+ makeRootRollupPublicInputs,
42
+ } from '@aztec/stdlib/testing';
43
+ import { VerificationKeyData } from '@aztec/stdlib/vks';
44
+
45
+ import { InlineProofStore, type ProofStore } from '../proving_broker/proof_store/index.js';
46
+ import { ProvingAgent } from '../proving_broker/proving_agent.js';
47
+ import { ProvingBroker } from '../proving_broker/proving_broker.js';
48
+ import { InMemoryBrokerDatabase } from '../proving_broker/proving_broker_database/memory.js';
49
+
50
+ export class TestBroker implements ProvingJobProducer {
51
+ private broker: ProvingBroker;
52
+ private agents: ProvingAgent[];
53
+
54
+ constructor(
55
+ agentCount: number,
56
+ prover: ServerCircuitProver,
57
+ private proofStore: ProofStore = new InlineProofStore(),
58
+ agentPollInterval = 100,
59
+ ) {
60
+ this.broker = new ProvingBroker(new InMemoryBrokerDatabase());
61
+ this.agents = times(
62
+ agentCount,
63
+ () => new ProvingAgent(this.broker, proofStore, prover, undefined, agentPollInterval),
64
+ );
65
+ }
66
+
67
+ public async start() {
68
+ await this.broker.start();
69
+ this.agents.forEach(agent => agent.start());
70
+ }
71
+
72
+ public async stop() {
73
+ await Promise.all(this.agents.map(agent => agent.stop()));
74
+ await this.broker.stop();
75
+ }
76
+
77
+ public getProofStore(): ProofStore {
78
+ return this.proofStore;
79
+ }
80
+
81
+ enqueueProvingJob(job: ProvingJob): Promise<ProvingJobStatus> {
82
+ return this.broker.enqueueProvingJob(job);
83
+ }
84
+ getProvingJobStatus(id: ProvingJobId): Promise<ProvingJobStatus> {
85
+ return this.broker.getProvingJobStatus(id);
86
+ }
87
+ cancelProvingJob(id: string): Promise<void> {
88
+ return this.broker.cancelProvingJob(id);
89
+ }
90
+
91
+ getCompletedJobs(ids: ProvingJobId[]): Promise<ProvingJobId[]> {
92
+ return this.broker.getCompletedJobs(ids);
93
+ }
94
+ }
95
+
96
+ export class MockProver implements ServerCircuitProver {
97
+ constructor() {}
98
+
99
+ getAvmProof(_inputs: AvmCircuitInputs, _signal?: AbortSignal, _epochNumber?: number) {
100
+ return Promise.resolve(
101
+ makeProofAndVerificationKey(
102
+ makeEmptyRecursiveProof(AVM_PROOF_LENGTH_IN_FIELDS),
103
+ VerificationKeyData.makeFake(AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS),
104
+ ),
105
+ );
106
+ }
107
+
108
+ getBaseParityProof(_inputs: BaseParityInputs, _signal?: AbortSignal, _epochNumber?: number) {
109
+ return Promise.resolve(
110
+ makePublicInputsAndRecursiveProof(
111
+ makeParityPublicInputs(),
112
+ makeRecursiveProof(RECURSIVE_PROOF_LENGTH),
113
+ VerificationKeyData.makeFakeHonk(),
114
+ ),
115
+ );
116
+ }
117
+
118
+ getRootParityProof(_inputs: RootParityInputs, _signal?: AbortSignal, _epochNumber?: number) {
119
+ return Promise.resolve(
120
+ makePublicInputsAndRecursiveProof(
121
+ makeParityPublicInputs(),
122
+ makeRecursiveProof(NESTED_RECURSIVE_PROOF_LENGTH),
123
+ VerificationKeyData.makeFakeHonk(),
124
+ ),
125
+ );
126
+ }
127
+
128
+ getPrivateBaseRollupProof(
129
+ _baseRollupInput: PrivateBaseRollupInputs,
130
+ _signal?: AbortSignal,
131
+ _epochNumber?: number,
132
+ ): Promise<
133
+ PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
134
+ > {
135
+ return Promise.resolve(
136
+ makePublicInputsAndRecursiveProof(
137
+ makeBaseOrMergeRollupPublicInputs(),
138
+ makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
139
+ VerificationKeyData.makeFakeRollupHonk(),
140
+ ),
141
+ );
142
+ }
143
+
144
+ getPublicBaseRollupProof(
145
+ _inputs: PublicBaseRollupInputs,
146
+ _signal?: AbortSignal,
147
+ _epochNumber?: number,
148
+ ): Promise<
149
+ PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
150
+ > {
151
+ return Promise.resolve(
152
+ makePublicInputsAndRecursiveProof(
153
+ makeBaseOrMergeRollupPublicInputs(),
154
+ makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
155
+ VerificationKeyData.makeFakeRollupHonk(),
156
+ ),
157
+ );
158
+ }
159
+
160
+ getMergeRollupProof(
161
+ _input: MergeRollupInputs,
162
+ _signal?: AbortSignal,
163
+ _epochNumber?: number,
164
+ ): Promise<
165
+ PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
166
+ > {
167
+ return Promise.resolve(
168
+ makePublicInputsAndRecursiveProof(
169
+ makeBaseOrMergeRollupPublicInputs(),
170
+ makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
171
+ VerificationKeyData.makeFakeRollupHonk(),
172
+ ),
173
+ );
174
+ }
175
+
176
+ getBlockMergeRollupProof(_input: BlockMergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number) {
177
+ return Promise.resolve(
178
+ makePublicInputsAndRecursiveProof(
179
+ makeBlockRootOrBlockMergeRollupPublicInputs(),
180
+ makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
181
+ VerificationKeyData.makeFakeRollupHonk(),
182
+ ),
183
+ );
184
+ }
185
+
186
+ getEmptyBlockRootRollupProof(
187
+ _input: EmptyBlockRootRollupInputs,
188
+ _signal?: AbortSignal,
189
+ _epochNumber?: number,
190
+ ): Promise<
191
+ PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
192
+ > {
193
+ return Promise.resolve(
194
+ makePublicInputsAndRecursiveProof(
195
+ makeBlockRootOrBlockMergeRollupPublicInputs(),
196
+ makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
197
+ VerificationKeyData.makeFakeRollupHonk(),
198
+ ),
199
+ );
200
+ }
201
+
202
+ getBlockRootRollupProof(
203
+ _input: BlockRootRollupInputs,
204
+ _signal?: AbortSignal,
205
+ _epochNumber?: number,
206
+ ): Promise<
207
+ PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
208
+ > {
209
+ return Promise.resolve(
210
+ makePublicInputsAndRecursiveProof(
211
+ makeBlockRootOrBlockMergeRollupPublicInputs(),
212
+ makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
213
+ VerificationKeyData.makeFakeRollupHonk(),
214
+ ),
215
+ );
216
+ }
217
+
218
+ getSingleTxBlockRootRollupProof(
219
+ _input: SingleTxBlockRootRollupInputs,
220
+ _signal?: AbortSignal,
221
+ _epochNumber?: number,
222
+ ): Promise<
223
+ PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
224
+ > {
225
+ return Promise.resolve(
226
+ makePublicInputsAndRecursiveProof(
227
+ makeBlockRootOrBlockMergeRollupPublicInputs(),
228
+ makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
229
+ VerificationKeyData.makeFakeHonk(),
230
+ ),
231
+ );
232
+ }
233
+
234
+ getRootRollupProof(
235
+ _input: RootRollupInputs,
236
+ _signal?: AbortSignal,
237
+ _epochNumber?: number,
238
+ ): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs>> {
239
+ return Promise.resolve(
240
+ makePublicInputsAndRecursiveProof(
241
+ makeRootRollupPublicInputs(),
242
+ makeRecursiveProof(RECURSIVE_PROOF_LENGTH),
243
+ VerificationKeyData.makeFakeHonk(),
244
+ ),
245
+ );
246
+ }
247
+
248
+ getTubeProof(): Promise<ProofAndVerificationKey<typeof TUBE_PROOF_LENGTH>> {
249
+ return Promise.resolve(
250
+ makeProofAndVerificationKey(makeRecursiveProof(TUBE_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()),
251
+ );
252
+ }
253
+ }