aboutsummaryrefslogtreecommitdiff
path: root/zkvms/zkwasm/guest/src/lib.rs
diff options
context:
space:
mode:
authorKamen Mladenov <kamen@syndamia.com>2025-02-05 11:14:19 +0200
committerKamen Mladenov <kamen@syndamia.com>2025-02-05 11:14:19 +0200
commit8e6ec28ab29ebb97e1c59e79d4f143dc4563a07c (patch)
tree188f9a94b0896e4edab41048ddaf8ef2457f4f45 /zkvms/zkwasm/guest/src/lib.rs
parent7a98d5ec0849f0d13235a8f09dadf736c9409aa2 (diff)
downloadzkVMs-benchmarks-8e6ec28ab29ebb97e1c59e79d4f143dc4563a07c.tar
zkVMs-benchmarks-8e6ec28ab29ebb97e1c59e79d4f143dc4563a07c.tar.gz
zkVMs-benchmarks-8e6ec28ab29ebb97e1c59e79d4f143dc4563a07c.zip
feat(zkvms/zkwasm): Rework read macro into a procedural macro and improve type composition
Diffstat (limited to 'zkvms/zkwasm/guest/src/lib.rs')
-rw-r--r--zkvms/zkwasm/guest/src/lib.rs25
1 files changed, 1 insertions, 24 deletions
diff --git a/zkvms/zkwasm/guest/src/lib.rs b/zkvms/zkwasm/guest/src/lib.rs
index c92b97c..c7c0572 100644
--- a/zkvms/zkwasm/guest/src/lib.rs
+++ b/zkvms/zkwasm/guest/src/lib.rs
@@ -1,5 +1,5 @@
use wasm_bindgen::prelude::wasm_bindgen;
-use wrapper_macro::make_wrapper;
+use wrapper_macro::{ make_wrapper, read };
// https://github.com/DelphinusLab/zkWasm-rust/blob/main/src/lib.rs
use zkwasm_rust_sdk::{require, wasm_input, wasm_output};
@@ -19,29 +19,6 @@ fn write(value: u64) {
unsafe { wasm_output(value); }
}
-static VERTICES: u64 = 10;
-
-macro_rules! read {
- // Vec<Vec<...<Vec<primitive>>>> is converted by entrypoint_expr! to
- // Vec,Vec,...,Vec,primitive
- (Vec $size:literal , $($type:tt)*) => {
- {
- let mut ret = Vec::new();
- for _ in 0..$size {
- ret.push(read!($($type)*));
- }
- ret
- }
- };
- (bool $readfn:tt) => {
- ($readfn() != 0)
- };
- // Has to be primitive!
- ($type:tt $readfn:tt) => {
- ($readfn() as $type)
- };
-}
-
#[wasm_bindgen]
pub fn zkmain() {
zkp::entrypoint_expr!()