|
@@ -59,33 +59,33 @@ circuit "Lead" {
|
|
|
constrain_instance(c2_cm_x);
|
|
constrain_instance(c2_cm_x);
|
|
|
constrain_instance(c2_cm_y);
|
|
constrain_instance(c2_cm_y);
|
|
|
# root of path to burnt coin commitment at given pos
|
|
# root of path to burnt coin commitment at given pos
|
|
|
- #root = merkle_root(c1_cm_pos, c1_cm_path, c1_cm_hash);
|
|
|
|
|
- #constrain_instance(root);
|
|
|
|
|
|
|
+ root = merkle_root(c1_cm_pos, c1_cm_path, c1_cm_hash);
|
|
|
|
|
+ constrain_instance(root);
|
|
|
# root of path at c1_sk_pos
|
|
# root of path at c1_sk_pos
|
|
|
- #root_sk = merkle_root(c1_sk_pos, c1_sk_path, c1_sk);
|
|
|
|
|
- #constrain_instance(root_sk);
|
|
|
|
|
|
|
+ root_sk = merkle_root(c1_sk_pos, c1_sk_path, c1_sk);
|
|
|
|
|
+ constrain_instance(root_sk);
|
|
|
# coin (1) sn/nullifier
|
|
# coin (1) sn/nullifier
|
|
|
- #sn = poseidon_hash(PREFIX_SN, c1_sk_root, c1_rho, ZERO);
|
|
|
|
|
- #constrain_instance(sn);
|
|
|
|
|
|
|
+ sn = poseidon_hash(PREFIX_SN, c1_sk_root, c1_rho, ZERO);
|
|
|
|
|
+ constrain_instance(sn);
|
|
|
# lottery seed
|
|
# lottery seed
|
|
|
- #seed = poseidon_hash(PREFIX_SEED, c1_sk_root, c1_rho, ZERO);
|
|
|
|
|
|
|
+ seed = poseidon_hash(PREFIX_SEED, c1_sk_root, c1_rho, ZERO);
|
|
|
# y
|
|
# y
|
|
|
- #y = poseidon_hash(seed, mu_y);
|
|
|
|
|
- #constrain_instance(mu_y);
|
|
|
|
|
- #constrain_instance(y);
|
|
|
|
|
|
|
+ y = poseidon_hash(seed, mu_y);
|
|
|
|
|
+ constrain_instance(mu_y);
|
|
|
|
|
+ constrain_instance(y);
|
|
|
# rho
|
|
# rho
|
|
|
- #rho = poseidon_hash(seed, mu_rho);
|
|
|
|
|
- #constrain_instance(mu_rho);
|
|
|
|
|
- #constrain_instance(rho);
|
|
|
|
|
|
|
+ rho = poseidon_hash(seed, mu_rho);
|
|
|
|
|
+ constrain_instance(mu_rho);
|
|
|
|
|
+ constrain_instance(rho);
|
|
|
# target
|
|
# target
|
|
|
- #term1 = base_mul(sigma1, value);
|
|
|
|
|
- #term2_1 = base_mul(sigma2, value);
|
|
|
|
|
- #term2 = base_mul(term2_1, value);
|
|
|
|
|
- #target = base_add(term1, term2);
|
|
|
|
|
|
|
+ term1 = base_mul(sigma1, value);
|
|
|
|
|
+ term2_1 = base_mul(sigma2, value);
|
|
|
|
|
+ term2 = base_mul(term2_1, value);
|
|
|
|
|
+ target = base_add(term1, term2);
|
|
|
#lottery
|
|
#lottery
|
|
|
#constrain public value sigma1
|
|
#constrain public value sigma1
|
|
|
- #constrain_instance(sigma1);
|
|
|
|
|
|
|
+ constrain_instance(sigma1);
|
|
|
# constrain public value sigma2
|
|
# constrain public value sigma2
|
|
|
- #constrain_instance(sigma2);
|
|
|
|
|
- #less_than_loose(y, target);
|
|
|
|
|
|
|
+ constrain_instance(sigma2);
|
|
|
|
|
+ less_than_loose(y, target);
|
|
|
}
|
|
}
|