aboutsummaryrefslogtreecommitdiff
path: root/zkvms/risc0/wrapper_macro/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'zkvms/risc0/wrapper_macro/src/lib.rs')
-rw-r--r--zkvms/risc0/wrapper_macro/src/lib.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/zkvms/risc0/wrapper_macro/src/lib.rs b/zkvms/risc0/wrapper_macro/src/lib.rs
index 67aaad6..bbdf6e4 100644
--- a/zkvms/risc0/wrapper_macro/src/lib.rs
+++ b/zkvms/risc0/wrapper_macro/src/lib.rs
@@ -14,9 +14,18 @@ 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 mut commitment = String::new();
+ for input in public_inputs.keys() {
+ commitment += &format!("{}.clone(), ", input);
+ }
+
let (ts_patterns, _) = args_divide_grouped(&args);
- out.extend(format!("commit(&zkp::{}{});", name, ts_patterns).parse::<TokenStream>());
+ out.extend(format!("commit(&({} zkp::{}{}));", commitment, name, ts_patterns).parse::<TokenStream>());
let mut block = TokenStream::new();
block.extend(format!("{{ {} }}", out).parse::<TokenStream>());