arnaucube
arnaucube/sonobePublic Self-hosted repository
sonobe/folding-schemes/src/folding/circuits/mod.rs
folding-schemes/src/folding/circuits/mod.rsRaw
 1/// Circuits and gadgets shared across the different folding schemes.
 2use ark_ec::{AffineRepr, CurveGroup};
 3use ark_ff::Field;
 4
 5pub mod nonnative;
 6pub mod sum_check;
 7pub mod utils;
 8
 9/// CF1 represents the ConstraintField used for the main folding circuit which is over E1::Fr, where
10/// E1 is the main curve where we do the folding.
11pub type CF1<C> = <<C as CurveGroup>::Affine as AffineRepr>::ScalarField;
12/// CF2 represents the ConstraintField used for the CycleFold circuit which is over E2::Fr=E1::Fq,
13/// where E2 is the auxiliary curve (from [CycleFold](https://eprint.iacr.org/2023/1192.pdf)
14/// approach) where we check the folding of the commitments (elliptic curve points).
15pub type CF2<C> = <<C as CurveGroup>::BaseField as Field>::BasePrimeField;