Skip to content

Commit 4d2be34

Browse files
committed
fix: degrees from layer 3 to 6
1 parent 86158b5 commit 4d2be34

File tree

2 files changed

+30
-14
lines changed

2 files changed

+30
-14
lines changed

prover/src/aggregator/prover.rs

+22-12
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use crate::{
22
common,
33
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},
55
io::{force_to_read, try_to_read},
66
proof::BundleProof,
77
types::BundleProvingTask,
@@ -19,7 +19,8 @@ pub struct Prover {
1919
// Make it public for testing with inner functions (unnecessary for FFI).
2020
pub prover_impl: common::Prover,
2121
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>>,
2324
}
2425

2526
impl Prover {
@@ -30,19 +31,28 @@ impl Prover {
3031
let prover_impl = common::Prover::from_params_dir(params_dir, &AGG_DEGREES);
3132
let chunk_protocol = force_to_read(assets_dir, &CHUNK_PROTOCOL_FILENAME);
3233

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() {
3537
log::warn!(
3638
"batch-prover: {} doesn't exist in {}",
3739
*BATCH_VK_FILENAME,
3840
assets_dir
3941
);
4042
}
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+
}
4150

4251
Self {
4352
prover_impl,
4453
chunk_protocol,
45-
raw_vk,
54+
raw_vk_batch,
55+
raw_vk_bundle,
4656
}
4757
}
4858

@@ -66,13 +76,13 @@ impl Prover {
6676
pub fn get_batch_vk(&self) -> Option<Vec<u8>> {
6777
self.prover_impl
6878
.raw_vk(LayerId::Layer4.id())
69-
.or_else(|| self.raw_vk.clone())
79+
.or_else(|| self.raw_vk_batch.clone())
7080
}
7181

7282
pub fn get_bundle_vk(&self) -> Option<Vec<u8>> {
7383
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())
7686
}
7787

7888
// Return the EVM proof for verification.
@@ -244,7 +254,7 @@ impl Prover {
244254

245255
/// Check vk generated is same with vk loaded from assets
246256
fn check_batch_vk(&self) {
247-
if self.raw_vk.is_some() {
257+
if self.raw_vk_batch.is_some() {
248258
let gen_vk = self
249259
.prover_impl
250260
.raw_vk(LayerId::Layer4.id())
@@ -253,7 +263,7 @@ impl Prover {
253263
log::warn!("no gen_vk found, skip check_vk");
254264
return;
255265
}
256-
let init_vk = self.raw_vk.clone().unwrap_or_default();
266+
let init_vk = self.raw_vk_batch.clone().unwrap_or_default();
257267
if gen_vk != init_vk {
258268
log::error!(
259269
"batch-prover: generated VK is different with init one - gen_vk = {}, init_vk = {}",
@@ -266,7 +276,7 @@ impl Prover {
266276

267277
/// Check vk generated is same with vk loaded from assets
268278
fn check_bundle_vk(&self) {
269-
if self.raw_vk.is_some() {
279+
if self.raw_vk_bundle.is_some() {
270280
let gen_vk = self
271281
.prover_impl
272282
.raw_vk(LayerId::Layer6.id())
@@ -275,7 +285,7 @@ impl Prover {
275285
log::warn!("no gen_vk found, skip check_vk");
276286
return;
277287
}
278-
let init_vk = self.raw_vk.clone().unwrap_or_default();
288+
let init_vk = self.raw_vk_bundle.clone().unwrap_or_default();
279289
if gen_vk != init_vk {
280290
log::error!(
281291
"bundle-prover: generated VK is different with init one - gen_vk = {}, init_vk = {}",

prover/src/config.rs

+8-2
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,14 @@ pub static ZKEVM_DEGREES: LazyLock<Vec<u32>> = LazyLock::new(|| {
3636
]))
3737
});
3838

39-
pub static AGG_DEGREES: LazyLock<Vec<u32>> =
40-
LazyLock::new(|| Vec::from_iter(HashSet::from([*LAYER3_DEGREE, *LAYER4_DEGREE])));
39+
pub static AGG_DEGREES: LazyLock<Vec<u32>> = LazyLock::new(|| {
40+
Vec::from_iter(HashSet::from([
41+
*LAYER3_DEGREE,
42+
*LAYER4_DEGREE,
43+
*LAYER5_DEGREE,
44+
*LAYER6_DEGREE,
45+
]))
46+
});
4147

4248
#[derive(Clone, Copy, Debug)]
4349
pub enum LayerId {

0 commit comments

Comments
 (0)