mirror of
https://github.com/logos-blockchain/lssa.git
synced 2026-01-03 22:03:06 +00:00
add execute function
This commit is contained in:
parent
3d86cc745e
commit
54df676a87
@ -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<T: serde::ser::Serialize>(input_vec: Vec<T>, elf: &[u8]) -> (u64, Receipt) {
|
||||
let mut builder = ExecutorEnv::builder();
|
||||
@ -17,6 +17,21 @@ pub fn prove<T: serde::ser::Serialize>(input_vec: Vec<T>, elf: &[u8]) -> (u64, R
|
||||
(digest, receipt)
|
||||
}
|
||||
|
||||
// This only executes the program and does not generate a receipt.
|
||||
pub fn execute<T: serde::ser::Serialize>(input_vec: Vec<T>, 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<Digest>) {
|
||||
receipt
|
||||
.verify(image_id)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user