ada 5 лет назад
Родитель
Сommit
cd67a8c8c7
1 измененных файлов с 16 добавлено и 36 удалено
  1. 16 36
      lisp/jubjub.lisp

+ 16 - 36
lisp/jubjub.lisp

@@ -1,38 +1,19 @@
-    (def! D "0x2a9318e74bfa2b48f5fd9207e6bd7fd4292d7f6d37579d2601065fd6d6343eb1")
-    (def! ONE "0x0000000000000000000000000000000000000000000000000000000000000001")
-    (def! jj-add (fn* [x1 y1 x2 y2] (println x1 y1 x2 y2 D ONE)))
-    (jj-add 1 2 3 4)
-;;        (def! U (mul (add (x1 y1)) (add (x2 y2))))
-;;        (enforce 
-;;            (add_lc0 (x1 y1)) 
-;;            (add_lc1 (x2 y2))
-;;            (add_lc2 U))
-;;        (def A (mul (x2 x1)))
-;;        (def B (mul (x2 y1)))
-;;        (def C (mul (C_ONE A)))
-;;        (enforce
-;;            (add_coeff_lc0 (C_D A))
-;;            (add_lc1 B)
-;;            (add_lc2 C))
-;;        (def Px
-;;            (div (add A B)
-;;                 (add C_ONE C)))
-;;        (enforce 
-;;            (add_one_lc0)
-;;            (sub_lc0 C)
-;;            (add_lc1 Px)
-;;            (add_lc2 (A B)))
-;;
-;;        (def Py
-;;            (div (sub U A B)
-;;                (sub C_ONE C)))
-;;        (enforce 
-;;            (add_one_lc0)
-;;            (sub_lc0 C)
-;;            (add_lc1 Py)
-;;            (add_lc2 (U A B)))
-;;        (Px Py)
-;;    )
+(def! D "0x2a9318e74bfa2b48f5fd9207e6bd7fd4292d7f6d37579d2601065fd6d6343eb1")
+(def! ONE "0x0000000000000000000000000000000000000000000000000000000000000001")
+(def! jj-add (fn* [x1 y1 x2 y2] (
+    (def! U (mul (add (x1 y1)) (add (x2 y2))))
+    (enforce (add-lc0 (x1 y1)) (add-lc1 (x2 y2)) (add-lc2 U))
+    (def! A (mul (x2 x1)))
+    (def! B (mul (x2 y1)))
+    (def! C (mul (ONE A)))
+    (enforce (add-coeff-lc0 (D A)) (add-lc1 B) (add-lc2 C))
+    (def! Px (div (add A B) (add C_ONE C)))
+    (enforce (add-one-lc0) (sub-lc0 C) (add-lc1 Px) (add-lc2 (A B)))
+
+    (def! Py (div (sub U A B) (sub C_ONE C))) 
+    (enforce (add-one-lc0) (sub-lc0 C) (add-lc1 Py) (add-lc2 (U A B)))
+    (Px Py)
+)))
 ;;    (def input_spend (contract x1 y1 x2 y2) (
 ;;        (def P (jjadd (x1 y1 x2 y2)))
 ;;        (enforce 
@@ -44,4 +25,3 @@
 ;;            (add_lc1_one)
 ;;            (add_lc2 Py))
 ;;    )
-