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