diff --git a/zkvm/src/lib.rs b/zkvm/src/lib.rs index 175d77c..8e54a60 100644 --- a/zkvm/src/lib.rs +++ b/zkvm/src/lib.rs @@ -1,4 +1,4 @@ -use risc0_zkvm::{default_prover, sha::Digest, ExecutorEnv, Receipt}; +use risc0_zkvm::{default_prover, sha::Digest, ExecutorEnv, Receipt, default_executor}; pub fn prove(input_vec: Vec, elf: &[u8]) -> (u64, Receipt) { let mut builder = ExecutorEnv::builder(); @@ -17,6 +17,21 @@ pub fn prove(input_vec: Vec, elf: &[u8]) -> (u64, R (digest, receipt) } +// This only executes the program and does not generate a receipt. +pub fn execute(input_vec: Vec, elf: &[u8]) { + let mut builder = ExecutorEnv::builder(); + + for input in input_vec { + builder.write(&input).unwrap(); + } + + let env = builder.build().unwrap(); + + let exec = default_executor(); + + exec.execute(env, elf).unwrap(); +} + pub fn verify(receipt: Receipt, image_id: impl Into) { receipt .verify(image_id)