diff --git a/Cargo.lock b/Cargo.lock index 59fa7f59b1..109e1e4369 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8393,7 +8393,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-prover" version = "0.5.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.5.0rc1#0eb4c11df4909dc6096dfc98875038385578264a" +source = "git+https://github.com/scroll-tech/zkvm-prover?branch=prune%2Fprover#6eba9059f9e2afa0592a33da410a972c23b552a6" dependencies = [ "alloy-primitives", "base64 0.22.1", @@ -8431,15 +8431,17 @@ dependencies = [ [[package]] name = "scroll-zkvm-types" version = "0.5.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.5.0rc1#0eb4c11df4909dc6096dfc98875038385578264a" +source = "git+https://github.com/scroll-tech/zkvm-prover?branch=prune%2Fprover#6eba9059f9e2afa0592a33da410a972c23b552a6" dependencies = [ "base64 0.22.1", "bincode", + "c-kzg", "openvm-continuations", "openvm-native-recursion", "openvm-sdk", "openvm-stark-sdk", "rkyv", + "sbv-primitives", "scroll-zkvm-types-base", "scroll-zkvm-types-batch", "scroll-zkvm-types-bundle", @@ -8451,7 +8453,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-base" version = "0.5.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.5.0rc1#0eb4c11df4909dc6096dfc98875038385578264a" +source = "git+https://github.com/scroll-tech/zkvm-prover?branch=prune%2Fprover#6eba9059f9e2afa0592a33da410a972c23b552a6" dependencies = [ "alloy-primitives", "alloy-serde 1.0.16", @@ -8466,7 +8468,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-batch" version = "0.5.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.5.0rc1#0eb4c11df4909dc6096dfc98875038385578264a" +source = "git+https://github.com/scroll-tech/zkvm-prover?branch=prune%2Fprover#6eba9059f9e2afa0592a33da410a972c23b552a6" dependencies = [ "alloy-primitives", "halo2curves-axiom", @@ -8486,7 +8488,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-bundle" version = "0.5.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.5.0rc1#0eb4c11df4909dc6096dfc98875038385578264a" +source = "git+https://github.com/scroll-tech/zkvm-prover?branch=prune%2Fprover#6eba9059f9e2afa0592a33da410a972c23b552a6" dependencies = [ "alloy-primitives", "itertools 0.14.0", @@ -8499,7 +8501,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-types-chunk" version = "0.5.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.5.0rc1#0eb4c11df4909dc6096dfc98875038385578264a" +source = "git+https://github.com/scroll-tech/zkvm-prover?branch=prune%2Fprover#6eba9059f9e2afa0592a33da410a972c23b552a6" dependencies = [ "alloy-primitives", "itertools 0.14.0", @@ -8519,7 +8521,7 @@ dependencies = [ [[package]] name = "scroll-zkvm-verifier" version = "0.5.0" -source = "git+https://github.com/scroll-tech/zkvm-prover?tag=v0.5.0rc1#0eb4c11df4909dc6096dfc98875038385578264a" +source = "git+https://github.com/scroll-tech/zkvm-prover?branch=prune%2Fprover#6eba9059f9e2afa0592a33da410a972c23b552a6" dependencies = [ "bincode", "eyre", @@ -8533,6 +8535,7 @@ dependencies = [ "revm 24.0.0", "scroll-zkvm-types", "serde", + "serde_json", "snark-verifier-sdk", ] diff --git a/Cargo.toml b/Cargo.toml index cf3cbd9557..1d0dcd03e5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,9 +17,9 @@ repository = "https://github.com/scroll-tech/scroll" version = "4.5.8" [workspace.dependencies] -scroll-zkvm-prover-euclid = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.5.0rc1", package = "scroll-zkvm-prover" } -scroll-zkvm-verifier-euclid = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.5.0rc1", package = "scroll-zkvm-verifier" } -scroll-zkvm-types = { git = "https://github.com/scroll-tech/zkvm-prover", tag = "v0.5.0rc1" } +scroll-zkvm-prover-euclid = { git = "https://github.com/scroll-tech/zkvm-prover", branch = "prune/prover", package = "scroll-zkvm-prover" } +scroll-zkvm-verifier-euclid = { git = "https://github.com/scroll-tech/zkvm-prover", branch = "prune/prover", package = "scroll-zkvm-verifier" } +scroll-zkvm-types = { git = "https://github.com/scroll-tech/zkvm-prover", branch = "prune/prover" } sbv-primitives = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "chore/openvm-1.3", features = ["scroll"] } sbv-utils = { git = "https://github.com/scroll-tech/stateless-block-verifier", branch = "chore/openvm-1.3" } diff --git a/crates/libzkp/src/lib.rs b/crates/libzkp/src/lib.rs index c2902210f9..1fbb3673b8 100644 --- a/crates/libzkp/src/lib.rs +++ b/crates/libzkp/src/lib.rs @@ -5,7 +5,7 @@ pub use verifier::{TaskType, VerifierConfig}; mod utils; use sbv_primitives::B256; -use scroll_zkvm_types::util::vec_as_base64; +use scroll_zkvm_types::utils::vec_as_base64; use serde::{Deserialize, Serialize}; use serde_json::value::RawValue; use std::path::Path; diff --git a/crates/libzkp/src/proofs.rs b/crates/libzkp/src/proofs.rs index c9a09a9ebc..eaa5f0f3f2 100644 --- a/crates/libzkp/src/proofs.rs +++ b/crates/libzkp/src/proofs.rs @@ -10,7 +10,7 @@ use scroll_zkvm_types::{ proof::{EvmProof, OpenVmEvmProof, ProofEnum, RootProof}, public_inputs::{ForkName, MultiVersionPublicInputs}, types_agg::{AggregationInput, ProgramCommitment}, - util::vec_as_base64, + utils::vec_as_base64, }; use serde::{de::DeserializeOwned, Deserialize, Serialize}; diff --git a/crates/libzkp/src/tasks/batch/utils.rs b/crates/libzkp/src/tasks/batch/utils.rs index 260bd4b828..31a7a2f26d 100644 --- a/crates/libzkp/src/tasks/batch/utils.rs +++ b/crates/libzkp/src/tasks/batch/utils.rs @@ -18,7 +18,7 @@ pub mod base64 { pub mod point_eval { use c_kzg; use sbv_primitives::{types::eips::eip4844::BLS_MODULUS, B256 as H256, U256}; - use scroll_zkvm_types::util::sha256_rv32; + use scroll_zkvm_types::utils::sha256_rv32; /// Given the blob-envelope, translate it to a fixed size EIP-4844 blob. /// diff --git a/crates/prover-bin/src/zk_circuits_handler.rs b/crates/prover-bin/src/zk_circuits_handler.rs index f4c84b5a12..5d804b1de9 100644 --- a/crates/prover-bin/src/zk_circuits_handler.rs +++ b/crates/prover-bin/src/zk_circuits_handler.rs @@ -26,7 +26,7 @@ impl Phase { let dir_cache = Some(workspace_path.join("cache")); let path_app_exe = workspace_path.join("chunk/app.vmexe"); let path_app_config = workspace_path.join("chunk/openvm.toml"); - let segment_len = Some((1 << 22) - 100); + let segment_len = (1 << 22) - 100; ProverConfig { dir_cache, path_app_config, @@ -40,7 +40,7 @@ impl Phase { let dir_cache = Some(workspace_path.join("cache")); let path_app_exe = workspace_path.join("batch/app.vmexe"); let path_app_config = workspace_path.join("batch/openvm.toml"); - let segment_len = Some((1 << 22) - 100); + let segment_len = (1 << 22) - 100; ProverConfig { dir_cache, path_app_config, @@ -53,7 +53,7 @@ impl Phase { pub fn phase_spec_bundle(&self, workspace_path: &Path) -> ProverConfig { let dir_cache = Some(workspace_path.join("cache")); let path_app_config = workspace_path.join("bundle/openvm.toml"); - let segment_len = Some((1 << 22) - 100); + let segment_len = (1 << 22) - 100; ProverConfig { dir_cache, path_app_config, diff --git a/crates/prover-bin/src/zk_circuits_handler/euclidV2.rs b/crates/prover-bin/src/zk_circuits_handler/euclidV2.rs index 79df0fc276..dc98cc0a62 100644 --- a/crates/prover-bin/src/zk_circuits_handler/euclidV2.rs +++ b/crates/prover-bin/src/zk_circuits_handler/euclidV2.rs @@ -10,13 +10,13 @@ use async_trait::async_trait; use base64::{prelude::BASE64_STANDARD, Engine}; use eyre::Result; use scroll_proving_sdk::prover::{proving_service::ProveRequest, ProofType}; -use scroll_zkvm_prover_euclid::{BatchProver, BundleProverEuclidV2, ChunkProver}; +use scroll_zkvm_prover_euclid::Prover; use scroll_zkvm_types::ProvingTask; use tokio::sync::Mutex; pub struct EuclidV2Handler { - chunk_prover: ChunkProver, - batch_prover: BatchProver, - bundle_prover: BundleProverEuclidV2, + chunk_prover: Prover, + batch_prover: Prover, + bundle_prover: Prover, cached_vks: HashMap>, } @@ -27,13 +27,13 @@ impl EuclidV2Handler { let workspace_path = &cfg.workspace_path; let p = Phase::EuclidV2; let workspace_path = Path::new(workspace_path); - let chunk_prover = ChunkProver::setup(p.phase_spec_chunk(workspace_path)) + let chunk_prover = Prover::setup(p.phase_spec_chunk(workspace_path), false, None) .expect("Failed to setup chunk prover"); - let batch_prover = BatchProver::setup(p.phase_spec_batch(workspace_path)) + let batch_prover = Prover::setup(p.phase_spec_batch(workspace_path), false, None) .expect("Failed to setup batch prover"); - let bundle_prover = BundleProverEuclidV2::setup(p.phase_spec_bundle(workspace_path)) + let bundle_prover = Prover::setup(p.phase_spec_bundle(workspace_path), true, None) .expect("Failed to setup bundle prover"); let build_vk_cache = |proof_type: ProofType| { @@ -59,7 +59,7 @@ impl EuclidV2Handler { /// get_prover get the inner prover, later we would replace chunk/batch/bundle_prover with /// universal prover, before that, use bundle_prover as the represent one - pub fn get_prover(&self) -> &BundleProverEuclidV2 { + pub fn get_prover(&self) -> &Prover { &self.bundle_prover }