diff --git a/Cargo.lock b/Cargo.lock index 024fa09..3efaadc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9531,6 +9531,7 @@ name = "zkvm-interface" version = "0.1.0" dependencies = [ "anyhow", + "auto_impl", "bincode", "indexmap 2.9.0", "serde", diff --git a/crates/zkvm-interface/Cargo.toml b/crates/zkvm-interface/Cargo.toml index 0cb2f90..ac35507 100644 --- a/crates/zkvm-interface/Cargo.toml +++ b/crates/zkvm-interface/Cargo.toml @@ -11,6 +11,7 @@ serde = { version = "1.0", features = ["derive"] } bincode = "1.3" indexmap = { version = "2.9.0", features = ["serde"] } thiserror = "2" +auto_impl = "1.0" [lints] workspace = true diff --git a/crates/zkvm-interface/src/lib.rs b/crates/zkvm-interface/src/lib.rs index 842ee67..794cbfd 100644 --- a/crates/zkvm-interface/src/lib.rs +++ b/crates/zkvm-interface/src/lib.rs @@ -24,6 +24,7 @@ pub enum ProverResourceType { } #[allow(non_camel_case_types)] +#[auto_impl::auto_impl(&, Arc, Box)] /// zkVM trait to abstract away the differences between each zkVM pub trait zkVM { type Error: std::error::Error + Send + Sync + 'static;