arnaucube
arnaucube/ark-r1cs-stdPublic Self-hosted repository
ark-r1cs-std/r1cs-std/src/groups/curves/twisted_edwards/jubjub.rs
r1cs-std/src/groups/curves/twisted_edwards/jubjub.rsRaw
 1use crate::groups::curves::twisted_edwards::AffineGadget;
 2use algebra::{curves::jubjub::JubJubParameters, fields::jubjub::fq::Fq};
 3
 4use crate::fields::jubjub::FqGadget;
 5
 6pub type JubJubGadget = AffineGadget<JubJubParameters, Fq, FqGadget>;
 7
 8#[cfg(test)]
 9mod test {
10    use super::JubJubGadget as EdwardsG;
11    use crate::{
12        groups::curves::twisted_edwards::test::{edwards_constraint_costs, edwards_test},
13        test_constraint_system::TestConstraintSystem,
14    };
15    use algebra::{curves::jubjub::JubJubParameters as EdwardsParameters, fields::jubjub::fq::Fq};
16
17    #[test]
18    fn edwards_constraint_costs_test() {
19        let mut cs = TestConstraintSystem::<Fq>::new();
20        edwards_constraint_costs::<_, EdwardsParameters, EdwardsG, _>(&mut cs);
21        assert!(cs.is_satisfied());
22    }
23
24    #[test]
25    fn jubjub_gadget_test() {
26        let mut cs = TestConstraintSystem::<Fq>::new();
27        edwards_test::<_, EdwardsParameters, EdwardsG, _>(&mut cs);
28        assert!(cs.is_satisfied());
29    }
30}