ada пре 5 година
родитељ
комит
078492f1bb
4 измењених фајлова са 9 додато и 20 уклоњено
  1. 4 1
      lisp/core.rs
  2. 1 14
      lisp/jubjub-mul.lisp
  3. 1 2
      lisp/lisp.rs
  4. 3 3
      lisp/types.rs

+ 4 - 1
lisp/core.rs

@@ -383,6 +383,9 @@ fn negate_from(a: MalArgs) -> MalRet {
 
 
 fn scalar_from(a: MalArgs) -> MalRet {
 fn scalar_from(a: MalArgs) -> MalRet {
     match a[0].clone() {
     match a[0].clone() {
+        ZKScalar(s0) => {
+            Ok(ZKScalar(s0))
+        }
         Str(a0) => {
         Str(a0) => {
             let s0 = bls12_381::Scalar::from_string(&a0.to_string());
             let s0 = bls12_381::Scalar::from_string(&a0.to_string());
             Ok(ZKScalar(s0))
             Ok(ZKScalar(s0))
@@ -391,7 +394,7 @@ fn scalar_from(a: MalArgs) -> MalRet {
             let s0 = bls12_381::Scalar::from(a0 as u64);
             let s0 = bls12_381::Scalar::from(a0 as u64);
             Ok(ZKScalar(s0))
             Ok(ZKScalar(s0))
         }
         }
-        _ => error("expected (string or int)"),
+        _ => error("scalar from expected (string or int)"),
     }
     }
 }
 }
 
 

+ 1 - 14
lisp/jubjub-mul.lisp

@@ -6,20 +6,7 @@
 
 
 (setup
 (setup
     (prove 
     (prove 
-(
-    (zk* [
-      u11 (alloc "u11" (scalar 2))
-      v11 (alloc "v11" (scalar 2))
-      U1 (alloc-input "U1" (* u11 v11))
-      ]
-  (
-    (enforce  
-      (scalar::one u11) 
-      (scalar::one v11)
-      (scalar::one U1)
-    )
-  )
-  )
+      (
     (zk* [
     (zk* [
       u1 (alloc "u1" param1)
       u1 (alloc "u1" param1)
       v1 (alloc "v1" param2)
       v1 (alloc "v1" param2)

+ 1 - 2
lisp/lisp.rs

@@ -593,7 +593,6 @@ pub fn prove(_ast: MalVal, env: Env) -> MalRet {
     let proof = groth16::create_random_proof(circuit, params.as_ref().unwrap(), &mut OsRng)?;
     let proof = groth16::create_random_proof(circuit, params.as_ref().unwrap(), &mut OsRng)?;
     let mut vec_input = vec![];
     let mut vec_input = vec![];
     for (k, val) in allocs_input.iter() {
     for (k, val) in allocs_input.iter() {
-        println!("{:?}", val);
         match val {
         match val {
             MalVal::Str(v) => {
             MalVal::Str(v) => {
                 vec_input.push(bls12_381::Scalar::from_string(&v.to_string()));
                 vec_input.push(bls12_381::Scalar::from_string(&v.to_string()));
@@ -605,8 +604,8 @@ pub fn prove(_ast: MalVal, env: Env) -> MalRet {
         };
         };
     }
     }
     let result = groth16::verify_proof(verifying_key.as_ref().unwrap(), &proof, &vec_input);
     let result = groth16::verify_proof(verifying_key.as_ref().unwrap(), &proof, &vec_input);
-    println!("{:?}", result);
     println!("vec public {:?}", vec_input);
     println!("vec public {:?}", vec_input);
+    println!("result {:?}", result);
 
 
     Ok(MalVal::Nil)
     Ok(MalVal::Nil)
 }
 }

+ 3 - 3
lisp/types.rs

@@ -142,7 +142,7 @@ impl Circuit<bls12_381::Scalar> for LispCircuit {
                         }
                         }
                     }
                     }
                 }
                 }
-                println!("left: a {:?} b {:?} val_b: {:?}", a, b, val_b);
+//                println!("left: a {:?} b {:?} val_b: {:?}", a, b, val_b);
             }
             }
 
 
             for values in alloc_value.right.iter() {
             for values in alloc_value.right.iter() {
@@ -156,7 +156,7 @@ impl Circuit<bls12_381::Scalar> for LispCircuit {
                 } else if a == "scalar::one::neg" {
                 } else if a == "scalar::one::neg" {
                     right = right + (coeff.neg(), val_b);
                     right = right + (coeff.neg(), val_b);
                 }
                 }
-                println!("right: a {:?} b {:?} val_b: {:?}", a, b, val_b);
+                //println!("right: a {:?} b {:?} val_b: {:?}", a, b, val_b);
             }
             }
 
 
             for values in alloc_value.output.iter() {
             for values in alloc_value.output.iter() {
@@ -170,7 +170,7 @@ impl Circuit<bls12_381::Scalar> for LispCircuit {
                 } else if a == "scalar::one::neg" {
                 } else if a == "scalar::one::neg" {
                     output = output + (coeff.neg(), val_b);
                     output = output + (coeff.neg(), val_b);
                 }
                 }
-                println!("output: a {:?} b {:?} val_b: {:?}", a, b, val_b);
+                //println!("output: a {:?} b {:?} val_b: {:?}", a, b, val_b);
             }
             }
 
 
             println!("Enforcing ...");
             println!("Enforcing ...");