aboutsummaryrefslogtreecommitdiff
path: root/zkvms/jolt
diff options
context:
space:
mode:
authorKamen Mladenov <kamen@syndamia.com>2025-02-27 11:35:32 +0200
committerKamen Mladenov <kamen@syndamia.com>2025-02-27 15:08:11 +0200
commit5b82ac769339938570c0d1f7230afc53732993b4 (patch)
treeb510f409458097a3c473ab80791a7717961ebd5b /zkvms/jolt
parent39ec264c0d90555237debff519cc890b755a0646 (diff)
downloadzkVMs-benchmarks-5b82ac769339938570c0d1f7230afc53732993b4.tar
zkVMs-benchmarks-5b82ac769339938570c0d1f7230afc53732993b4.tar.gz
zkVMs-benchmarks-5b82ac769339938570c0d1f7230afc53732993b4.zip
chore: Rust fmt
Diffstat (limited to 'zkvms/jolt')
-rw-r--r--zkvms/jolt/guest/src/lib.rs4
-rw-r--r--zkvms/jolt/host/src/main.rs9
-rw-r--r--zkvms/jolt/wrapper_macro/src/lib.rs46
3 files changed, 45 insertions, 14 deletions
diff --git a/zkvms/jolt/guest/src/lib.rs b/zkvms/jolt/guest/src/lib.rs
index d90b3f2..e8618e8 100644
--- a/zkvms/jolt/guest/src/lib.rs
+++ b/zkvms/jolt/guest/src/lib.rs
@@ -1,7 +1,7 @@
//#![cfg_attr(feature = "guest", no_std)]
#![no_main]
-use wrapper_macro::make_wrapper;
use std::collections::*;
+use wrapper_macro::make_wrapper;
-zkp::entrypoint_expr!{}
+zkp::entrypoint_expr! {}
diff --git a/zkvms/jolt/host/src/main.rs b/zkvms/jolt/host/src/main.rs
index 54a6e61..3ad8377 100644
--- a/zkvms/jolt/host/src/main.rs
+++ b/zkvms/jolt/host/src/main.rs
@@ -1,4 +1,7 @@
-use zkvms_host_io::{benchmarkable, read_args, RunType::{ Execute, Prove, Verify }};
+use zkvms_host_io::{
+ benchmarkable, read_args,
+ RunType::{Execute, Prove, Verify},
+};
type Input = (Vec<Vec<bool>>, u32, Vec<Vec<u32>>);
@@ -14,11 +17,11 @@ pub fn main() {
match run_info.run_type {
Execute => unreachable!(),
- Prove => benchmarkable!{
+ Prove => benchmarkable! {
let (output, _) = prove_guest(run_info.input.clone().into());
println!("Prove output: {}", output);
},
- Verify => benchmarkable!{
+ Verify => benchmarkable! {
let (_, proof) = prove_guest(run_info.input.clone().into());
let is_valid = verify_guest(proof);
println!("Verify is valid: {}", is_valid);
diff --git a/zkvms/jolt/wrapper_macro/src/lib.rs b/zkvms/jolt/wrapper_macro/src/lib.rs
index 7631950..5f73e70 100644
--- a/zkvms/jolt/wrapper_macro/src/lib.rs
+++ b/zkvms/jolt/wrapper_macro/src/lib.rs
@@ -4,7 +4,7 @@ use quote::quote;
#[path = "../../../../guests_macro/src/parse_fn.rs"]
mod parse_fn;
-use crate::parse_fn::{ split_fn, args_split, args_divide, group_streams };
+use crate::parse_fn::{args_divide, args_split, group_streams, split_fn};
/// Create a set of three helper functions.
///
@@ -54,10 +54,28 @@ pub fn make_wrapper(item: TokenStream) -> TokenStream {
out.extend(format!("zkp::{}{}", name, ts_patterns).parse::<TokenStream>());
let mut func = TokenStream::new();
- func.extend(format!("#[jolt::provable(max_input_size = 100000)] fn guest{} -> {} {{ {} }}", args, ret, out).parse::<TokenStream>());
-
- func.extend(make_build_fn(patterns.clone(), types.clone(), ts_patterns.clone(), ts_types.clone(), ret.clone()));
- func.extend(make_preprocess_fn(patterns, types, ts_patterns, ts_types, ret));
+ func.extend(
+ format!(
+ "#[jolt::provable(max_input_size = 100000)] fn guest{} -> {} {{ {} }}",
+ args, ret, out
+ )
+ .parse::<TokenStream>(),
+ );
+
+ func.extend(make_build_fn(
+ patterns.clone(),
+ types.clone(),
+ ts_patterns.clone(),
+ ts_types.clone(),
+ ret.clone(),
+ ));
+ func.extend(make_preprocess_fn(
+ patterns,
+ types,
+ ts_patterns,
+ ts_types,
+ ret,
+ ));
func
}
@@ -75,7 +93,11 @@ fn make_build_fn(
let types = types.iter().map(|t| TokenStream2::from(t.clone()));
let ts_patterns = TokenStream2::from(ts_patterns);
let ts_types = TokenStream2::from(ts_types);
- let ret = if ret.is_empty() { quote!{ () } } else { TokenStream2::from(ret) };
+ let ret = if ret.is_empty() {
+ quote! { () }
+ } else {
+ TokenStream2::from(ret)
+ };
let imports = make_imports();
@@ -109,7 +131,8 @@ fn make_build_fn(
(prove_closure, verify_closure)
}
- }.into()
+ }
+ .into()
}
fn make_preprocess_fn(
@@ -123,7 +146,11 @@ fn make_preprocess_fn(
let types = types.iter().map(|t| TokenStream2::from(t.clone()));
let ts_patterns = TokenStream2::from(ts_patterns);
let ts_types = TokenStream2::from(ts_types);
- let ret = if ret.is_empty() { quote!{ () } } else { TokenStream2::from(ret) };
+ let ret = if ret.is_empty() {
+ quote! { () }
+ } else {
+ TokenStream2::from(ret)
+ };
let imports = make_imports();
@@ -159,7 +186,8 @@ fn make_preprocess_fn(
(program, preprocessing)
}
- }.into()
+ }
+ .into()
}
fn make_imports() -> TokenStream2 {