| 123456789101112131415161718192021222324252627 |
- (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
- ;; (add_lc0 Px)
- ;; (add_lc1_one)
- ;; (add_lc2 Px))
- ;; (enforce
- ;; (add_lc0 Py)
- ;; (add_lc1_one)
- ;; (add_lc2 Py))
- ;; )
|