From b0fda4ce1557a316e4d4ed1152025d9def753831 Mon Sep 17 00:00:00 2001 From: Kamen Mladenov Date: Thu, 30 Jan 2025 13:09:26 +0200 Subject: feat: Pass guest entrypoint type to host --- guests_macro/src/lib.rs | 6 ++++++ zkvms_host_io/input_macros/src/lib.rs | 3 +-- 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>, colors: u32, coloring: Vec>,)".parse::().unwrap() + include_str!("../../../guests/type.txt").parse::().unwrap() } #[proc_macro] -- cgit v1.2.3