@@ -59,6 +59,7 @@ export class CachingBrokerFacade implements ServerCircuitProver {
59
59
id : ProvingJobId ,
60
60
type : T ,
61
61
inputs : ProvingJobInputsMap [ T ] ,
62
+ epochNumber = 0 ,
62
63
signal ?: AbortSignal ,
63
64
) : Promise < ProvingJobResultsMap [ T ] > {
64
65
// first try the cache
@@ -95,6 +96,7 @@ export class CachingBrokerFacade implements ServerCircuitProver {
95
96
id,
96
97
type,
97
98
inputsUri,
99
+ epochNumber,
98
100
} ) ;
99
101
await this . cache . setProvingJobStatus ( id , { status : 'in-queue' } ) ;
100
102
} catch ( err ) {
@@ -107,7 +109,7 @@ export class CachingBrokerFacade implements ServerCircuitProver {
107
109
// notify broker of cancelled job
108
110
const abortFn = async ( ) => {
109
111
signal ?. removeEventListener ( 'abort' , abortFn ) ;
110
- await this . broker . removeAndCancelProvingJob ( id ) ;
112
+ await this . broker . cancelProvingJob ( id ) ;
111
113
} ;
112
114
113
115
signal ?. addEventListener ( 'abort' , abortFn ) ;
@@ -147,160 +149,174 @@ export class CachingBrokerFacade implements ServerCircuitProver {
147
149
}
148
150
} finally {
149
151
signal ?. removeEventListener ( 'abort' , abortFn ) ;
152
+ // we've saved the result in our cache. We can tell the broker to clear its state
153
+ await this . broker . cleanUpProvingJobState ( id ) ;
150
154
}
151
155
}
152
156
153
157
getAvmProof (
154
158
inputs : AvmCircuitInputs ,
155
159
signal ?: AbortSignal ,
156
- _blockNumber ?: number ,
160
+ epochNumber ?: number ,
157
161
) : Promise < ProofAndVerificationKey < typeof AVM_PROOF_LENGTH_IN_FIELDS > > {
158
162
return this . enqueueAndWaitForJob (
159
163
this . generateId ( ProvingRequestType . PUBLIC_VM , inputs ) ,
160
164
ProvingRequestType . PUBLIC_VM ,
161
165
inputs ,
166
+ epochNumber ,
162
167
signal ,
163
168
) ;
164
169
}
165
170
166
171
getBaseParityProof (
167
172
inputs : BaseParityInputs ,
168
173
signal ?: AbortSignal ,
169
- _epochNumber ?: number ,
174
+ epochNumber ?: number ,
170
175
) : Promise < PublicInputsAndRecursiveProof < ParityPublicInputs , typeof RECURSIVE_PROOF_LENGTH > > {
171
176
return this . enqueueAndWaitForJob (
172
177
this . generateId ( ProvingRequestType . BASE_PARITY , inputs ) ,
173
178
ProvingRequestType . BASE_PARITY ,
174
179
inputs ,
180
+ epochNumber ,
175
181
signal ,
176
182
) ;
177
183
}
178
184
179
185
getBlockMergeRollupProof (
180
186
input : BlockMergeRollupInputs ,
181
187
signal ?: AbortSignal ,
182
- _epochNumber ?: number ,
188
+ epochNumber ?: number ,
183
189
) : Promise < PublicInputsAndRecursiveProof < BlockRootOrBlockMergePublicInputs , typeof RECURSIVE_PROOF_LENGTH > > {
184
190
return this . enqueueAndWaitForJob (
185
191
this . generateId ( ProvingRequestType . BLOCK_MERGE_ROLLUP , input ) ,
186
192
ProvingRequestType . BLOCK_MERGE_ROLLUP ,
187
193
input ,
194
+ epochNumber ,
188
195
signal ,
189
196
) ;
190
197
}
191
198
192
199
getBlockRootRollupProof (
193
200
input : BlockRootRollupInputs ,
194
201
signal ?: AbortSignal ,
195
- _epochNumber ?: number ,
202
+ epochNumber ?: number ,
196
203
) : Promise < PublicInputsAndRecursiveProof < BlockRootOrBlockMergePublicInputs , typeof RECURSIVE_PROOF_LENGTH > > {
197
204
return this . enqueueAndWaitForJob (
198
205
this . generateId ( ProvingRequestType . BLOCK_ROOT_ROLLUP , input ) ,
199
206
ProvingRequestType . BLOCK_ROOT_ROLLUP ,
200
207
input ,
208
+ epochNumber ,
201
209
signal ,
202
210
) ;
203
211
}
204
212
205
213
getEmptyBlockRootRollupProof (
206
214
input : EmptyBlockRootRollupInputs ,
207
215
signal ?: AbortSignal ,
208
- _epochNumber ?: number ,
216
+ epochNumber ?: number ,
209
217
) : Promise < PublicInputsAndRecursiveProof < BlockRootOrBlockMergePublicInputs > > {
210
218
return this . enqueueAndWaitForJob (
211
219
this . generateId ( ProvingRequestType . EMPTY_BLOCK_ROOT_ROLLUP , input ) ,
212
220
ProvingRequestType . EMPTY_BLOCK_ROOT_ROLLUP ,
213
221
input ,
222
+ epochNumber ,
214
223
signal ,
215
224
) ;
216
225
}
217
226
218
227
getEmptyPrivateKernelProof (
219
228
inputs : PrivateKernelEmptyInputData ,
220
229
signal ?: AbortSignal ,
221
- _epochNumber ?: number ,
230
+ epochNumber ?: number ,
222
231
) : Promise < PublicInputsAndRecursiveProof < KernelCircuitPublicInputs , typeof RECURSIVE_PROOF_LENGTH > > {
223
232
return this . enqueueAndWaitForJob (
224
233
this . generateId ( ProvingRequestType . PRIVATE_KERNEL_EMPTY , inputs ) ,
225
234
ProvingRequestType . PRIVATE_KERNEL_EMPTY ,
226
235
inputs ,
236
+ epochNumber ,
227
237
signal ,
228
238
) ;
229
239
}
230
240
231
241
getMergeRollupProof (
232
242
input : MergeRollupInputs ,
233
243
signal ?: AbortSignal ,
234
- _epochNumber ?: number ,
244
+ epochNumber ?: number ,
235
245
) : Promise < PublicInputsAndRecursiveProof < BaseOrMergeRollupPublicInputs , typeof RECURSIVE_PROOF_LENGTH > > {
236
246
return this . enqueueAndWaitForJob (
237
247
this . generateId ( ProvingRequestType . MERGE_ROLLUP , input ) ,
238
248
ProvingRequestType . MERGE_ROLLUP ,
239
249
input ,
250
+ epochNumber ,
240
251
signal ,
241
252
) ;
242
253
}
243
254
getPrivateBaseRollupProof (
244
255
baseRollupInput : PrivateBaseRollupInputs ,
245
256
signal ?: AbortSignal ,
246
- _epochNumber ?: number ,
257
+ epochNumber ?: number ,
247
258
) : Promise < PublicInputsAndRecursiveProof < BaseOrMergeRollupPublicInputs , typeof RECURSIVE_PROOF_LENGTH > > {
248
259
return this . enqueueAndWaitForJob (
249
260
this . generateId ( ProvingRequestType . PRIVATE_BASE_ROLLUP , baseRollupInput ) ,
250
261
ProvingRequestType . PRIVATE_BASE_ROLLUP ,
251
262
baseRollupInput ,
263
+ epochNumber ,
252
264
signal ,
253
265
) ;
254
266
}
255
267
256
268
getPublicBaseRollupProof (
257
269
inputs : PublicBaseRollupInputs ,
258
270
signal ?: AbortSignal ,
259
- _epochNumber ?: number ,
271
+ epochNumber ?: number ,
260
272
) : Promise < PublicInputsAndRecursiveProof < BaseOrMergeRollupPublicInputs , typeof RECURSIVE_PROOF_LENGTH > > {
261
273
return this . enqueueAndWaitForJob (
262
274
this . generateId ( ProvingRequestType . PUBLIC_BASE_ROLLUP , inputs ) ,
263
275
ProvingRequestType . PUBLIC_BASE_ROLLUP ,
264
276
inputs ,
277
+ epochNumber ,
265
278
signal ,
266
279
) ;
267
280
}
268
281
269
282
getRootParityProof (
270
283
inputs : RootParityInputs ,
271
284
signal ?: AbortSignal ,
272
- _epochNumber ?: number ,
285
+ epochNumber ?: number ,
273
286
) : Promise < PublicInputsAndRecursiveProof < ParityPublicInputs , typeof NESTED_RECURSIVE_PROOF_LENGTH > > {
274
287
return this . enqueueAndWaitForJob (
275
288
this . generateId ( ProvingRequestType . ROOT_PARITY , inputs ) ,
276
289
ProvingRequestType . ROOT_PARITY ,
277
290
inputs ,
291
+ epochNumber ,
278
292
signal ,
279
293
) ;
280
294
}
281
295
282
296
getRootRollupProof (
283
297
input : RootRollupInputs ,
284
298
signal ?: AbortSignal ,
285
- _epochNumber ?: number ,
299
+ epochNumber ?: number ,
286
300
) : Promise < PublicInputsAndRecursiveProof < RootRollupPublicInputs , typeof RECURSIVE_PROOF_LENGTH > > {
287
301
return this . enqueueAndWaitForJob (
288
302
this . generateId ( ProvingRequestType . ROOT_ROLLUP , input ) ,
289
303
ProvingRequestType . ROOT_ROLLUP ,
290
304
input ,
305
+ epochNumber ,
291
306
signal ,
292
307
) ;
293
308
}
294
309
295
310
getTubeProof (
296
311
tubeInput : TubeInputs ,
297
312
signal ?: AbortSignal ,
298
- _epochNumber ?: number ,
313
+ epochNumber ?: number ,
299
314
) : Promise < ProofAndVerificationKey < typeof TUBE_PROOF_LENGTH > > {
300
315
return this . enqueueAndWaitForJob (
301
316
this . generateId ( ProvingRequestType . TUBE_PROOF , tubeInput ) ,
302
317
ProvingRequestType . TUBE_PROOF ,
303
318
tubeInput ,
319
+ epochNumber ,
304
320
signal ,
305
321
) ;
306
322
}
0 commit comments