From e9dc84a5d2dcf9eb842cf68b44018112ec83eecb Mon Sep 17 00:00:00 2001 From: ada Date: Fri, 12 Feb 2021 20:10:00 +0100 Subject: [PATCH] fixing jubjub --- lisp/jubjub-add.lisp | 12 ++++++------ lisp/lisp.rs | 11 +++-------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/lisp/jubjub-add.lisp b/lisp/jubjub-add.lisp index 6290bd1b7..a0d668946 100644 --- a/lisp/jubjub-add.lisp +++ b/lisp/jubjub-add.lisp @@ -6,17 +6,17 @@ ( (let* [ - u1 (alloc-input "u1" param1) - v1 (alloc-input "v1" param2) - u2 (alloc-input "u2" param3) - v2 (alloc-input "v2" param4) + u1 (alloc "u1" param1) + v1 (alloc "v1" param2) + u2 (alloc "u2" param3) + v2 (alloc "v2" param4) EDWARDS_D (alloc-const "EDWARDS_D" (scalar "2a9318e74bfa2b48f5fd9207e6bd7fd4292d7f6d37579d2601065fd6d6343eb1")) U (alloc "U" (* (+ u1 v1) (+ u2 v2))) A (alloc "A" (* v2 u1)) B (alloc "B" (* u2 v1)) C (alloc "C" (* EDWARDS_D (* A B))) - u3 (alloc "u3" (/ (+ A B) (+ scalar::one C))) - v3 (alloc "v3" (/ (- (- U A) B) (- scalar::one C))) + u3 (alloc-input "u3" (/ (+ A B) (+ scalar::one C))) + v3 (alloc-input "v3" (/ (- (- U A) B) (- scalar::one C))) ] (prove (setup diff --git a/lisp/lisp.rs b/lisp/lisp.rs index d551032eb..a69f037ae 100644 --- a/lisp/lisp.rs +++ b/lisp/lisp.rs @@ -566,18 +566,13 @@ pub fn prove(_ast: MalVal, env: Env) -> MalRet { let proof = groth16::create_random_proof(circuit, params.as_ref().unwrap(), &mut OsRng)?; // todo save the proof and keys on a file - let mut vec_input = vec![]; - for (k, val) in allocs_input.iter() { - if let MalVal::ZKScalar(v) = val { - vec_input.push(*v); - } - } - println!("vec input {:?}", vec_input); + let mut vec_public = Vec::new(); let result = groth16::verify_proof( verifying_key.as_ref().unwrap(), &proof, - vec_input.as_slice(), + &vec_public, ); + println!("vec public {:?}", vec_public); println!("{:?}", result); Ok(MalVal::Nil)