Revert "feat: add euclidv2 verifier"

This reverts commit ef9e25f14c.
This commit is contained in:
colinlyguo
2025-03-13 00:40:24 +08:00
parent 5f8bb53dce
commit 7d5b77a36c
4 changed files with 8 additions and 155 deletions

View File

@@ -5779,21 +5779,6 @@ dependencies = [
"serde_json",
]
[[package]]
name = "scroll-zkvm-circuit-input-types"
version = "0.1.0-rc.6"
source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084"
dependencies = [
"alloy-primitives",
"alloy-serde 0.8.3",
"openvm",
"openvm-rv32im-guest",
"rkyv",
"sbv",
"serde",
"tiny-keccak",
]
[[package]]
name = "scroll-zkvm-circuit-input-types"
version = "0.1.1-rc.2"
@@ -5811,38 +5796,6 @@ dependencies = [
"vm-zstd",
]
[[package]]
name = "scroll-zkvm-prover"
version = "0.1.0-rc.6"
source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084"
dependencies = [
"alloy-primitives",
"base64 0.22.1",
"bincode",
"git-version",
"hex",
"metrics 0.23.0",
"metrics-util",
"once_cell",
"openvm-circuit",
"openvm-native-circuit",
"openvm-native-recursion",
"openvm-sdk",
"openvm-stark-sdk",
"revm 19.5.0",
"rkyv",
"sbv",
"scroll-zkvm-circuit-input-types 0.1.0-rc.6",
"scroll-zkvm-verifier 0.1.0-rc.6",
"serde",
"serde_json",
"serde_stacker",
"snark-verifier-sdk",
"thiserror 2.0.11",
"toml",
"tracing",
]
[[package]]
name = "scroll-zkvm-prover"
version = "0.1.1-rc.2"
@@ -5866,8 +5819,8 @@ dependencies = [
"revm 19.5.0",
"rkyv",
"sbv",
"scroll-zkvm-circuit-input-types 0.1.1-rc.2",
"scroll-zkvm-verifier 0.1.1-rc.2",
"scroll-zkvm-circuit-input-types",
"scroll-zkvm-verifier",
"serde",
"serde_json",
"serde_stacker",
@@ -5877,25 +5830,6 @@ dependencies = [
"tracing",
]
[[package]]
name = "scroll-zkvm-verifier"
version = "0.1.0-rc.6"
source = "git+https://github.com/scroll-tech/zkvm-prover.git?tag=v0.1.0-rc.6#8adaaf856b00ca992e76c95e657761a5148d6084"
dependencies = [
"bincode",
"eyre",
"itertools 0.14.0",
"openvm-circuit",
"openvm-native-circuit",
"openvm-native-recursion",
"openvm-sdk",
"openvm-stark-sdk",
"revm 19.5.0",
"scroll-zkvm-circuit-input-types 0.1.0-rc.6",
"serde",
"snark-verifier-sdk",
]
[[package]]
name = "scroll-zkvm-verifier"
version = "0.1.1-rc.2"
@@ -5910,7 +5844,7 @@ dependencies = [
"openvm-sdk",
"openvm-stark-sdk",
"revm 19.5.0",
"scroll-zkvm-circuit-input-types 0.1.1-rc.2",
"scroll-zkvm-circuit-input-types",
"serde",
"snark-verifier-sdk",
]
@@ -7424,10 +7358,8 @@ dependencies = [
"libc",
"log",
"once_cell",
"scroll-zkvm-prover 0.1.0-rc.6",
"scroll-zkvm-prover 0.1.1-rc.2",
"scroll-zkvm-verifier 0.1.0-rc.6",
"scroll-zkvm-verifier 0.1.1-rc.2",
"scroll-zkvm-prover",
"scroll-zkvm-verifier",
"serde",
"serde_derive",
"serde_json",

View File

@@ -14,10 +14,8 @@ ruint = { git = "https://github.com/scroll-tech/uint.git", branch = "v1.12.3" }
tiny-keccak = { git = "https://github.com/scroll-tech/tiny-keccak", branch = "scroll-patch-v2.0.2-openvm-v1.0.0-rc.1" }
[dependencies]
euclid_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.0-rc.6", package = "scroll-zkvm-prover" }
euclid_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.0-rc.6", package = "scroll-zkvm-verifier" }
euclidv2_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-prover" }
euclidv2_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-verifier" }
euclid_prover = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-prover" }
euclid_verifier = { git = "https://github.com/scroll-tech/zkvm-prover.git", tag = "v0.1.1-rc.2", package = "scroll-zkvm-verifier" }
base64 = "0.13.0"
env_logger = "0.9.0"

View File

@@ -1,11 +1,9 @@
#![allow(static_mut_refs)]
mod euclid;
mod euclidv2;
use anyhow::{bail, Result};
use euclid::EuclidVerifier;
use euclidv2::EuclidV2Verifier;
use serde::{Deserialize, Serialize};
use std::{cell::OnceCell, path::Path, rc::Rc};
@@ -49,17 +47,7 @@ static mut VERIFIER_LOW: OnceCell<VerifierPair> = OnceCell::new();
static mut VERIFIER_HIGH: OnceCell<VerifierPair> = OnceCell::new();
pub fn init(config: VerifierConfig) {
let verifier = EuclidVerifier::new(&config.low_version_circuit.assets_path);
unsafe {
VERIFIER_LOW
.set(VerifierPair(
config.low_version_circuit.fork_name,
Rc::new(Box::new(verifier)),
))
.unwrap_unchecked();
}
let verifier = EuclidV2Verifier::new(&config.high_version_circuit.assets_path);
let verifier = EuclidVerifier::new(&config.high_version_circuit.assets_path);
unsafe {
VERIFIER_LOW
.set(VerifierPair(

View File

@@ -1,65 +0,0 @@
use super::{ProofVerifier, TaskType, VKDump};
use anyhow::Result;
use crate::utils::panic_catch;
use euclidv2_prover::{BatchProof, BundleProof, ChunkProof};
use euclidv2_verifier::verifier::{BatchVerifier, BundleVerifier, ChunkVerifier};
use std::{fs::File, path::Path};
pub struct EuclidV2Verifier {
chunk_verifier: ChunkVerifier,
batch_verifier: BatchVerifier,
bundle_verifier: BundleVerifier,
}
impl EuclidV2Verifier {
pub fn new(assets_dir: &str) -> Self {
let verifier_bin = Path::new(assets_dir).join("verifier.bin");
let config = Path::new(assets_dir).join("root-verifier-vm-config");
let exe = Path::new(assets_dir).join("root-verifier-committed-exe");
Self {
chunk_verifier: ChunkVerifier::setup(&config, &exe, &verifier_bin)
.expect("Setting up chunk verifier"),
batch_verifier: BatchVerifier::setup(&config, &exe, &verifier_bin)
.expect("Setting up batch verifier"),
bundle_verifier: BundleVerifier::setup(&config, &exe, &verifier_bin)
.expect("Setting up bundle verifier"),
}
}
}
impl ProofVerifier for EuclidV2Verifier {
fn verify(&self, task_type: super::TaskType, proof: Vec<u8>) -> Result<bool> {
panic_catch(|| match task_type {
TaskType::Chunk => {
let proof = serde_json::from_slice::<ChunkProof>(proof.as_slice()).unwrap();
self.chunk_verifier
.verify_proof(proof.proof.as_root_proof().unwrap())
}
TaskType::Batch => {
let proof = serde_json::from_slice::<BatchProof>(proof.as_slice()).unwrap();
self.batch_verifier
.verify_proof(proof.proof.as_root_proof().unwrap())
}
TaskType::Bundle => {
let proof = serde_json::from_slice::<BundleProof>(proof.as_slice()).unwrap();
self.bundle_verifier
.verify_proof_evm(&proof.proof.as_evm_proof().unwrap())
}
})
.map_err(|err_str: String| anyhow::anyhow!(err_str))
}
fn dump_vk(&self, file: &Path) {
let f = File::create(file).expect("Failed to open file to dump VK");
let dump = VKDump {
chunk_vk: base64::encode(self.chunk_verifier.get_app_vk()),
batch_vk: base64::encode(self.batch_verifier.get_app_vk()),
bundle_vk: base64::encode(self.bundle_verifier.get_app_vk()),
};
serde_json::to_writer(f, &dump).expect("Failed to dump VK");
}
}