diff options
Diffstat (limited to 'zkvms/sp1')
| -rw-r--r-- | zkvms/sp1/guest/src/main.rs | 2 | ||||
| -rw-r--r-- | zkvms/sp1/host/src/main.rs | 17 | ||||
| -rw-r--r-- | zkvms/sp1/wrapper_macro/src/lib.rs | 11 |
3 files changed, 17 insertions, 13 deletions
diff --git a/zkvms/sp1/guest/src/main.rs b/zkvms/sp1/guest/src/main.rs index 0ca4618..079e0ce 100644 --- a/zkvms/sp1/guest/src/main.rs +++ b/zkvms/sp1/guest/src/main.rs @@ -1,9 +1,9 @@ #![no_main] -use wrapper_macro::make_wrapper; use sp1_zkvm::io::read; use sp1_zkvm::lib::io::commit; use std::collections::*; +use wrapper_macro::make_wrapper; sp1_zkvm::entrypoint!(main); diff --git a/zkvms/sp1/host/src/main.rs b/zkvms/sp1/host/src/main.rs index 50e9d1a..6d19000 100644 --- a/zkvms/sp1/host/src/main.rs +++ b/zkvms/sp1/host/src/main.rs @@ -1,12 +1,15 @@ -use zkvms_host_io::{Input, foreach_input_field, benchmarkable, read_args, RunType::{ Execute, Prove, Verify }}; -use sp1_sdk::{ProverClient, EnvProver, SP1Stdin, SP1ProofWithPublicValues, SP1VerifyingKey}; +use sp1_sdk::{EnvProver, ProverClient, SP1ProofWithPublicValues, SP1Stdin, SP1VerifyingKey}; +use zkvms_host_io::{ + benchmarkable, foreach_input_field, read_args, Input, + RunType::{Execute, Prove, Verify}, +}; /// The ELF (executable and linkable format) file for the Succinct RISC-V zkVM. pub const FIBONACCI_ELF: &[u8] = include_bytes!("./guest"); fn build_stdin(input: &Input) -> SP1Stdin { let mut stdin = SP1Stdin::new(); - foreach_input_field!{ + foreach_input_field! { stdin.write(&input.yield); } stdin @@ -29,14 +32,14 @@ fn main() { let client = ProverClient::new(); match run_info.run_type { - Execute => benchmarkable!{ + Execute => benchmarkable! { let (output, report) = client.execute(FIBONACCI_ELF, &stdin).run().unwrap(); println!("Program executed successfully."); println!("{:?}", output); println!("Number of cycles: {}", report.total_instruction_count()); }, - Prove => benchmarkable!{ + Prove => benchmarkable! { let _ = prove(&client, stdin.clone()); println!("Successfully generated proof!"); }, @@ -44,10 +47,10 @@ fn main() { let (proof, vk) = prove(&client, stdin.clone()); println!("Successfully generated proof!"); - benchmarkable!{ + benchmarkable! { client.verify(&proof, &vk).expect("failed to verify proof"); println!("Successfully verified proof!"); } - }, + } } } diff --git a/zkvms/sp1/wrapper_macro/src/lib.rs b/zkvms/sp1/wrapper_macro/src/lib.rs index e8393b2..14dcfad 100644 --- a/zkvms/sp1/wrapper_macro/src/lib.rs +++ b/zkvms/sp1/wrapper_macro/src/lib.rs @@ -2,7 +2,7 @@ use proc_macro::TokenStream; #[path = "../../../../guests_macro/src/parse_fn.rs"] mod parse_fn; -use crate::parse_fn::{ split_fn, args_split, args_divide_grouped }; +use crate::parse_fn::{args_divide_grouped, args_split, split_fn}; /// Create a body, which reads all inputs, stores them in variables, then /// commits the ones, defined as public in `default_public_input.toml` to the @@ -40,10 +40,11 @@ pub fn make_wrapper(item: TokenStream) -> TokenStream { out.extend(format!("let {} = read();", arg).parse::<TokenStream>()); } - let public_inputs = toml::from_str::<toml::Table>( - include_str!(concat!(env!("INPUTS_DIR"), "/default_public_input.toml")) - ) - .unwrap(); + let public_inputs = toml::from_str::<toml::Table>(include_str!(concat!( + env!("INPUTS_DIR"), + "/default_public_input.toml" + ))) + .unwrap(); for input in public_inputs.keys() { out.extend(format!("commit(&{});", input).parse::<TokenStream>()); } |
