mirror of
https://github.com/logos-blockchain/logos-execution-zone.git
synced 2026-05-05 15:49:29 +00:00
add result to execute
This commit is contained in:
parent
54df676a87
commit
b8a80cc06f
@ -18,7 +18,7 @@ pub fn prove<T: serde::ser::Serialize>(input_vec: Vec<T>, elf: &[u8]) -> (u64, R
|
|||||||
}
|
}
|
||||||
|
|
||||||
// This only executes the program and does not generate a 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]) {
|
pub fn execute<T: serde::ser::Serialize + for<'de> serde::Deserialize<'de>>(input_vec: Vec<T>, elf: &[u8]) -> T {
|
||||||
let mut builder = ExecutorEnv::builder();
|
let mut builder = ExecutorEnv::builder();
|
||||||
|
|
||||||
for input in input_vec {
|
for input in input_vec {
|
||||||
@ -28,8 +28,12 @@ pub fn execute<T: serde::ser::Serialize>(input_vec: Vec<T>, elf: &[u8]) {
|
|||||||
let env = builder.build().unwrap();
|
let env = builder.build().unwrap();
|
||||||
|
|
||||||
let exec = default_executor();
|
let exec = default_executor();
|
||||||
|
let session = exec.execute(env, elf).unwrap();
|
||||||
|
|
||||||
exec.execute(env, elf).unwrap();
|
// We read the result committed to the journal by the guest code.
|
||||||
|
let result: T = session.journal.decode().unwrap();
|
||||||
|
|
||||||
|
result
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn verify(receipt: Receipt, image_id: impl Into<Digest>) {
|
pub fn verify(receipt: Receipt, image_id: impl Into<Digest>) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user