1
1
use crate :: {
2
2
common,
3
3
config:: { LayerId , AGG_DEGREES } ,
4
- consts:: { BATCH_KECCAK_ROW , BATCH_VK_FILENAME , CHUNK_PROTOCOL_FILENAME } ,
4
+ consts:: { BATCH_KECCAK_ROW , BATCH_VK_FILENAME , BUNDLE_VK_FILENAME , CHUNK_PROTOCOL_FILENAME } ,
5
5
io:: { force_to_read, try_to_read} ,
6
6
proof:: BundleProof ,
7
7
types:: BundleProvingTask ,
@@ -19,7 +19,8 @@ pub struct Prover {
19
19
// Make it public for testing with inner functions (unnecessary for FFI).
20
20
pub prover_impl : common:: Prover ,
21
21
pub chunk_protocol : Vec < u8 > ,
22
- raw_vk : Option < Vec < u8 > > ,
22
+ raw_vk_batch : Option < Vec < u8 > > ,
23
+ raw_vk_bundle : Option < Vec < u8 > > ,
23
24
}
24
25
25
26
impl Prover {
@@ -30,19 +31,28 @@ impl Prover {
30
31
let prover_impl = common:: Prover :: from_params_dir ( params_dir, & AGG_DEGREES ) ;
31
32
let chunk_protocol = force_to_read ( assets_dir, & CHUNK_PROTOCOL_FILENAME ) ;
32
33
33
- let raw_vk = try_to_read ( assets_dir, & BATCH_VK_FILENAME ) ;
34
- if raw_vk. is_none ( ) {
34
+ let raw_vk_batch = try_to_read ( assets_dir, & BATCH_VK_FILENAME ) ;
35
+ let raw_vk_bundle = try_to_read ( assets_dir, & BUNDLE_VK_FILENAME ) ;
36
+ if raw_vk_batch. is_none ( ) {
35
37
log:: warn!(
36
38
"batch-prover: {} doesn't exist in {}" ,
37
39
* BATCH_VK_FILENAME ,
38
40
assets_dir
39
41
) ;
40
42
}
43
+ if raw_vk_bundle. is_none ( ) {
44
+ log:: warn!(
45
+ "batch-prover: {} doesn't exist in {}" ,
46
+ * BUNDLE_VK_FILENAME ,
47
+ assets_dir
48
+ ) ;
49
+ }
41
50
42
51
Self {
43
52
prover_impl,
44
53
chunk_protocol,
45
- raw_vk,
54
+ raw_vk_batch,
55
+ raw_vk_bundle,
46
56
}
47
57
}
48
58
@@ -66,13 +76,13 @@ impl Prover {
66
76
pub fn get_batch_vk ( & self ) -> Option < Vec < u8 > > {
67
77
self . prover_impl
68
78
. raw_vk ( LayerId :: Layer4 . id ( ) )
69
- . or_else ( || self . raw_vk . clone ( ) )
79
+ . or_else ( || self . raw_vk_batch . clone ( ) )
70
80
}
71
81
72
82
pub fn get_bundle_vk ( & self ) -> Option < Vec < u8 > > {
73
83
self . prover_impl
74
- . raw_vk ( LayerId :: Layer5 . id ( ) )
75
- . or_else ( || self . raw_vk . clone ( ) )
84
+ . raw_vk ( LayerId :: Layer6 . id ( ) )
85
+ . or_else ( || self . raw_vk_bundle . clone ( ) )
76
86
}
77
87
78
88
// Return the EVM proof for verification.
@@ -244,7 +254,7 @@ impl Prover {
244
254
245
255
/// Check vk generated is same with vk loaded from assets
246
256
fn check_batch_vk ( & self ) {
247
- if self . raw_vk . is_some ( ) {
257
+ if self . raw_vk_batch . is_some ( ) {
248
258
let gen_vk = self
249
259
. prover_impl
250
260
. raw_vk ( LayerId :: Layer4 . id ( ) )
@@ -253,7 +263,7 @@ impl Prover {
253
263
log:: warn!( "no gen_vk found, skip check_vk" ) ;
254
264
return ;
255
265
}
256
- let init_vk = self . raw_vk . clone ( ) . unwrap_or_default ( ) ;
266
+ let init_vk = self . raw_vk_batch . clone ( ) . unwrap_or_default ( ) ;
257
267
if gen_vk != init_vk {
258
268
log:: error!(
259
269
"batch-prover: generated VK is different with init one - gen_vk = {}, init_vk = {}" ,
@@ -266,7 +276,7 @@ impl Prover {
266
276
267
277
/// Check vk generated is same with vk loaded from assets
268
278
fn check_bundle_vk ( & self ) {
269
- if self . raw_vk . is_some ( ) {
279
+ if self . raw_vk_bundle . is_some ( ) {
270
280
let gen_vk = self
271
281
. prover_impl
272
282
. raw_vk ( LayerId :: Layer6 . id ( ) )
@@ -275,7 +285,7 @@ impl Prover {
275
285
log:: warn!( "no gen_vk found, skip check_vk" ) ;
276
286
return ;
277
287
}
278
- let init_vk = self . raw_vk . clone ( ) . unwrap_or_default ( ) ;
288
+ let init_vk = self . raw_vk_bundle . clone ( ) . unwrap_or_default ( ) ;
279
289
if gen_vk != init_vk {
280
290
log:: error!(
281
291
"bundle-prover: generated VK is different with init one - gen_vk = {}, init_vk = {}" ,
0 commit comments