mirror of
https://github.com/logos-blockchain/lssa.git
synced 2026-01-04 14:23:11 +00:00
add prove functionality
This commit is contained in:
parent
60d7769ed5
commit
3c72e22346
@ -1 +1,22 @@
|
||||
//ToDo: Add zkvm module
|
||||
use risc0_zkvm::{default_prover, sha::Digest, ExecutorEnv, Receipt};
|
||||
|
||||
pub fn prove<T: serde::ser::Serialize>(input_vec: Vec<T>, elf: &[u8]) -> (u64, Receipt) {
|
||||
let mut builder = ExecutorEnv::builder();
|
||||
|
||||
for input in input_vec {
|
||||
builder
|
||||
.write(&input)
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
let env = builder
|
||||
.build()
|
||||
.unwrap();
|
||||
|
||||
let prover = default_prover();
|
||||
|
||||
let receipt = prover.prove(env, elf).unwrap().receipt;
|
||||
|
||||
let digest = receipt.journal.decode().unwrap();
|
||||
(digest, receipt)
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user