diff options
| author | Kamen Mladenov <kamen@syndamia.com> | 2025-04-07 16:02:24 +0300 |
|---|---|---|
| committer | Kamen Mladenov <kamen@syndamia.com> | 2025-04-07 17:41:20 +0300 |
| commit | fef25f217b4e32ed943dfb310a32a32b0d2df95a (patch) | |
| tree | c2c130486f3c209ff2471606e328def3b22ee550 /zkvms/nexus/wrapper_macro/src/lib.rs | |
| parent | 882f8e99642931dbed953755344e1ebee4092db8 (diff) | |
| download | zkVMs-benchmarks-fef25f217b4e32ed943dfb310a32a32b0d2df95a.tar zkVMs-benchmarks-fef25f217b4e32ed943dfb310a32a32b0d2df95a.tar.gz zkVMs-benchmarks-fef25f217b4e32ed943dfb310a32a32b0d2df95a.zip | |
feat(zkvms/nexus): Update to use FunctionDefinition
Diffstat (limited to 'zkvms/nexus/wrapper_macro/src/lib.rs')
| -rw-r--r-- | zkvms/nexus/wrapper_macro/src/lib.rs | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/zkvms/nexus/wrapper_macro/src/lib.rs b/zkvms/nexus/wrapper_macro/src/lib.rs index 061a33f..218359b 100644 --- a/zkvms/nexus/wrapper_macro/src/lib.rs +++ b/zkvms/nexus/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::{args_divide_grouped, args_divide_public, args_split, split_fn}; +use crate::parse_fn::FunctionDefinition; /// Creates a body, which reads all inputs, stores them in variables, then /// writes the ones, defined as public in `default_public_input.toml` to the @@ -32,23 +32,16 @@ use crate::parse_fn::{args_divide_grouped, args_divide_public, args_split, split /// ``` #[proc_macro] pub fn make_wrapper(item: TokenStream) -> TokenStream { - let (name, args, ret) = split_fn(&item); - - let (ts_patterns, ts_types) = args_divide_grouped(&args); + let fd = FunctionDefinition::new(&item); let mut out = TokenStream::new(); - out.extend( - format!( - "let {} = read_private_input::<{}>().unwrap();", - ts_patterns, ts_types - ) - .parse::<TokenStream>(), - ); + out.extend(format!("let {} = read_public_input::<{}>().unwrap();", fd.grouped_public_patterns(), fd.grouped_public_types()).parse::<TokenStream>()); + out.extend(format!("let {} = read_private_input::<{}>().unwrap();", fd.grouped_private_patterns(), fd.grouped_private_types()).parse::<TokenStream>()); out.extend( format!( - "write_public_output::<{}>(&zkp::{}{});", - ret, name, ts_patterns + "write_public_output::<{}>(&zkp::{}({}));", + fd.return_type, fd.name, fd.grouped_patterns() ) .parse::<TokenStream>(), ); |
