use ark_ff::{Field, PrimeField, Zero};
pub mod bls12;
pub mod bn;
pub mod bw6;
pub mod mnt4;
pub mod mnt6;
pub mod double_odd;
pub mod short_weierstrass;
pub mod twisted_edwards;
pub trait CurveConfig: Send + Sync + Sized + 'static {
type BaseField: Field;
type ScalarField: PrimeField + Into<<Self::ScalarField as PrimeField>::BigInt>;
const COFACTOR: &[u64];
const COFACTOR_INV: Self::ScalarField;
fn cofactor_is_one() -> bool {
Self::COFACTOR[0] == 1 && Self::COFACTOR.iter().skip(1).all(Zero::is_zero)
}
}