Browse Source

Have prove() and verify() return Err(sigma_rs::errors::Error) on failure instead of Err(())

Ian Goldberg 3 months ago
parent
commit
73b29275b1
3 changed files with 7 additions and 5 deletions
  1. 3 2
      sigma_compiler_core/src/codegen.rs
  2. 3 2
      sigma_compiler_core/src/sigma/codegen.rs
  3. 1 1
      tests/basic.rs

+ 3 - 2
sigma_compiler_core/src/codegen.rs

@@ -172,7 +172,7 @@ impl CodeGen {
             let codegen_witness_var = format_ident!("{}_sigma_witness", "codegen");
 
             quote! {
-                pub fn prove(params: &Params, witness: &Witness) -> Result<Vec<u8>,()> {
+                pub fn prove(params: &Params, witness: &Witness) -> Result<Vec<u8>, SigmaError> {
                     #dumper
                     let Params { #params_ids } = *params;
                     let Witness { #witness_ids } = *witness;
@@ -205,7 +205,7 @@ impl CodeGen {
             let sigma_rs_params_ids = sigma_rs_params_fields.field_list();
             let codegen_params_var = format_ident!("{}_sigma_params", "codegen");
             quote! {
-                pub fn verify(params: &Params, proof: &[u8]) -> Result<(),()> {
+                pub fn verify(params: &Params, proof: &[u8]) -> Result<(), SigmaError> {
                     #dumper
                     let Params { #params_ids } = *params;
                     let #codegen_params_var = sigma::Params {
@@ -230,6 +230,7 @@ impl CodeGen {
             #[allow(non_snake_case)]
             pub mod #proto_name {
                 use group::ff::PrimeField;
+                use sigma_compiler::sigma_rs::errors::Error as SigmaError;
                 #dump_use
 
                 #group_types

+ 3 - 2
sigma_compiler_core/src/sigma/codegen.rs

@@ -242,7 +242,7 @@ impl<'a> CodeGen<'a> {
             let witness_ids = witness_fields.field_list();
 
             quote! {
-                pub fn prove(params: &Params, witness: &Witness) -> Result<Vec<u8>,()> {
+                pub fn prove(params: &Params, witness: &Witness) -> Result<Vec<u8>, SigmaError> {
                     #dumper
                     let Params { #params_ids } = *params;
                     let Witness { #witness_ids } = *witness;
@@ -266,7 +266,7 @@ impl<'a> CodeGen<'a> {
             };
             let params_ids = pub_params_fields.field_list();
             quote! {
-                pub fn verify(params: &Params, proof: &[u8]) -> Result<(),()> {
+                pub fn verify(params: &Params, proof: &[u8]) -> Result<(), SigmaError> {
                     #dumper
                     let Params { #params_ids } = *params;
                     Ok(())
@@ -287,6 +287,7 @@ impl<'a> CodeGen<'a> {
         quote! {
             #[allow(non_snake_case)]
             pub mod #proto_name {
+                use sigma_compiler::sigma_rs::errors::Error as SigmaError;
                 #dump_use
 
                 #group_types

+ 1 - 1
tests/basic.rs

@@ -6,7 +6,7 @@ use sha2::Sha512;
 use sigma_compiler::*;
 
 #[test]
-fn basic_test() -> Result<(), ()> {
+fn basic_test() -> Result<(), sigma_rs::errors::Error> {
     sigma_compiler! { proof,
         (x, z, rand r, rand s),
         (C, D, const cind A, const cind B),