Просмотр исходного кода

Add sigma_compiler_{prover,verifier} macros to only emit one party's code

Ian Goldberg 4 месяцев назад
Родитель
Сommit
f0104198ed
2 измененных файлов с 13 добавлено и 1 удалено
  1. 12 0
      sigma_compiler_derive/src/lib.rs
  2. 1 1
      src/lib.rs

+ 12 - 0
sigma_compiler_derive/src/lib.rs

@@ -7,3 +7,15 @@ pub fn sigma_compiler(input: TokenStream) -> TokenStream {
     let mut spec = parse_macro_input!(input as SigmaCompSpec);
     sigma_compiler_core(&mut spec, true, true).into()
 }
+
+#[proc_macro]
+pub fn sigma_compiler_prover(input: TokenStream) -> TokenStream {
+    let mut spec = parse_macro_input!(input as SigmaCompSpec);
+    sigma_compiler_core(&mut spec, true, false).into()
+}
+
+#[proc_macro]
+pub fn sigma_compiler_verifier(input: TokenStream) -> TokenStream {
+    let mut spec = parse_macro_input!(input as SigmaCompSpec);
+    sigma_compiler_core(&mut spec, false, true).into()
+}

+ 1 - 1
src/lib.rs

@@ -1,6 +1,6 @@
 pub use group;
 pub use rand;
-pub use sigma_compiler_derive::sigma_compiler;
+pub use sigma_compiler_derive::{sigma_compiler, sigma_compiler_prover, sigma_compiler_verifier};
 pub use sigma_rs;
 
 pub mod rangeutils;