aboutsummaryrefslogtreecommitdiff
path: root/zkvms/risc0/wrapper_macro/src
diff options
context:
space:
mode:
authorKamen Mladenov <kamen@syndamia.com>2025-02-03 12:52:50 +0200
committerKamen Mladenov <kamen@syndamia.com>2025-02-03 12:52:50 +0200
commit6155820b9436acaac824cb02015225ba5de26921 (patch)
treed659a6e94d44fd33fdd0fd6b45b63c681462948b /zkvms/risc0/wrapper_macro/src
parent6bfa6d957104249bcc1dbb4084200f9a5b7c983c (diff)
downloadzkVMs-benchmarks-6155820b9436acaac824cb02015225ba5de26921.tar
zkVMs-benchmarks-6155820b9436acaac824cb02015225ba5de26921.tar.gz
zkVMs-benchmarks-6155820b9436acaac824cb02015225ba5de26921.zip
feat: Move some public input parsing logic to parse_fn
Diffstat (limited to 'zkvms/risc0/wrapper_macro/src')
-rw-r--r--zkvms/risc0/wrapper_macro/src/lib.rs13
1 files changed, 7 insertions, 6 deletions
diff --git a/zkvms/risc0/wrapper_macro/src/lib.rs b/zkvms/risc0/wrapper_macro/src/lib.rs
index bbdf6e4..d4ba858 100644
--- a/zkvms/risc0/wrapper_macro/src/lib.rs
+++ b/zkvms/risc0/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::{ split_fn, args_split, args_divide_public, args_divide_grouped };
#[proc_macro]
pub fn make_wrapper(item: TokenStream) -> TokenStream {
@@ -18,14 +18,15 @@ pub fn make_wrapper(item: TokenStream) -> TokenStream {
include_str!(concat!(env!("INPUTS_DIR"), "/default_public_input.toml"))
)
.unwrap();
- let mut commitment = String::new();
- for input in public_inputs.keys() {
- commitment += &format!("{}.clone(), ", input);
- }
+ let public_patterns = args_divide_public(&args, &public_inputs.keys().collect())
+ .0
+ .iter()
+ .map(|x| x.to_string() + ".clone(), ")
+ .collect::<String>();
let (ts_patterns, _) = args_divide_grouped(&args);
- out.extend(format!("commit(&({} zkp::{}{}));", commitment, name, ts_patterns).parse::<TokenStream>());
+ out.extend(format!("commit(&({} zkp::{}{}));", public_patterns, name, ts_patterns).parse::<TokenStream>());
let mut block = TokenStream::new();
block.extend(format!("{{ {} }}", out).parse::<TokenStream>());