diff options
| author | Kamen Mladenov <kamen@syndamia.com> | 2025-02-10 14:29:15 +0200 |
|---|---|---|
| committer | Kamen Mladenov <kamen@syndamia.com> | 2025-02-10 14:29:15 +0200 |
| commit | 1cb88615eaa0b6a37d42d99c59ad1e23c5d5aa7a (patch) | |
| tree | 55944e6d38a0e4b717577c74632cafd649cc6994 /zkvms/zkm/wrapper_macro | |
| parent | 10fb5333c341445303205bc25fb121630a99b27b (diff) | |
| download | zkVMs-benchmarks-1cb88615eaa0b6a37d42d99c59ad1e23c5d5aa7a.tar zkVMs-benchmarks-1cb88615eaa0b6a37d42d99c59ad1e23c5d5aa7a.tar.gz zkVMs-benchmarks-1cb88615eaa0b6a37d42d99c59ad1e23c5d5aa7a.zip | |
docs(zkvms/zkm): Add detailed documentation comments
Diffstat (limited to 'zkvms/zkm/wrapper_macro')
| -rw-r--r-- | zkvms/zkm/wrapper_macro/src/lib.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/zkvms/zkm/wrapper_macro/src/lib.rs b/zkvms/zkm/wrapper_macro/src/lib.rs index 4bb580c..216d3d8 100644 --- a/zkvms/zkm/wrapper_macro/src/lib.rs +++ b/zkvms/zkm/wrapper_macro/src/lib.rs @@ -4,6 +4,29 @@ use proc_macro::TokenStream; mod parse_fn; use crate::parse_fn::{ split_fn, args_split, args_divide_public, args_divide_grouped, group_streams }; +/// Create a body, which reads all public and private inputs, stores them in +/// variables, then executes the guest entrypoint function with those arguments +/// and commits its output. +/// +/// `default_public_input.toml` shows which variables are public. +/// +/// # Usage +/// +/// Inside ZKM's guest (excluding the `entrypoint_expr` call): +/// +/// ```rust +/// make_wrapper!{fn main(...) -> ...} +/// ``` +/// +/// # Example output +/// +/// ```rust +/// { +/// let (...) : (...) = read(); // Public inputs +/// let (...) : (...) = read(); // Private inputs +/// commit::<...>(&zkp::main(..., ..., ...)); +/// } +/// ``` #[proc_macro] pub fn make_wrapper(item: TokenStream) -> TokenStream { let (name, args, ret) = split_fn(&item); |
