aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamen Mladenov <kamen@syndamia.com>2025-01-30 13:09:26 +0200
committerKamen Mladenov <kamen@syndamia.com>2025-01-30 13:09:26 +0200
commitb0fda4ce1557a316e4d4ed1152025d9def753831 (patch)
tree8084816a391cf7e3155c6e8b424d47b934c1d5fe
parenta2104811772e771445766ce77c692023d4efb746 (diff)
downloadzkVMs-benchmarks-b0fda4ce1557a316e4d4ed1152025d9def753831.tar
zkVMs-benchmarks-b0fda4ce1557a316e4d4ed1152025d9def753831.tar.gz
zkVMs-benchmarks-b0fda4ce1557a316e4d4ed1152025d9def753831.zip
feat: Pass guest entrypoint type to host
-rw-r--r--guests_macro/src/lib.rs6
-rw-r--r--zkvms_host_io/input_macros/src/lib.rs3
2 files changed, 7 insertions, 2 deletions
diff --git a/guests_macro/src/lib.rs b/guests_macro/src/lib.rs
index ba6a9ec..f87e8a5 100644
--- a/guests_macro/src/lib.rs
+++ b/guests_macro/src/lib.rs
@@ -1,9 +1,15 @@
+use std::{ fs::File, io::Write };
use proc_macro::TokenStream;
mod parse_fn;
#[proc_macro_attribute]
pub fn proving_entrypoint(_: TokenStream, mut item: TokenStream) -> TokenStream {
let (name, args, ret) = parse_fn::split_fn(&item);
+
+ // Put the file in zkVMs-benchmarks/guests/
+ let mut output = File::create("../type.txt").unwrap();
+ write!(output, "{}", args);
+
item.extend(format!("#[macro_export]
macro_rules! entrypoint_expr {{
() => {{
diff --git a/zkvms_host_io/input_macros/src/lib.rs b/zkvms_host_io/input_macros/src/lib.rs
index 2585653..84c2792 100644
--- a/zkvms_host_io/input_macros/src/lib.rs
+++ b/zkvms_host_io/input_macros/src/lib.rs
@@ -4,9 +4,8 @@ use proc_macro::TokenStream;
mod parse_fn;
use crate::parse_fn::{ args_split, args_divide, group_streams };
-
fn get_args() -> TokenStream {
- "(graph: Vec<Vec<bool>>, colors: u32, coloring: Vec<Vec<u32>>,)".parse::<TokenStream>().unwrap()
+ include_str!("../../../guests/type.txt").parse::<TokenStream>().unwrap()
}
#[proc_macro]