diff --git a/crates/zkvm-interface/Cargo.toml b/crates/zkvm-interface/Cargo.toml index c00ffac..0cb2f90 100644 --- a/crates/zkvm-interface/Cargo.toml +++ b/crates/zkvm-interface/Cargo.toml @@ -9,7 +9,7 @@ license.workspace = true anyhow = "1.0" serde = { version = "1.0", features = ["derive"] } bincode = "1.3" -indexmap = "2.9.0" +indexmap = { version = "2.9.0", features = ["serde"] } thiserror = "2" [lints] diff --git a/crates/zkvm-interface/src/lib.rs b/crates/zkvm-interface/src/lib.rs index 5b226b1..398e5ff 100644 --- a/crates/zkvm-interface/src/lib.rs +++ b/crates/zkvm-interface/src/lib.rs @@ -1,4 +1,5 @@ use indexmap::IndexMap; +use serde::{Deserialize, Serialize}; use std::{path::Path, time::Duration}; mod input; @@ -38,7 +39,7 @@ pub trait zkVM { /// ProgramExecutionReport produces information about a particular program /// execution. -#[derive(Debug, Clone, Default)] +#[derive(Debug, Clone, Default, Serialize, Deserialize)] pub struct ProgramExecutionReport { /// Total number of cycles for the entire workload execution. pub total_num_cycles: u64, @@ -60,7 +61,7 @@ impl ProgramExecutionReport { /// ProgramProvingReport produces information about proving a particular /// program's instance. -#[derive(Debug, Clone, Default)] +#[derive(Debug, Clone, Default, Serialize, Deserialize)] pub struct ProgramProvingReport { pub proving_time: Duration, }