Trait snarkvm_curves::traits::group::PairingCurve
source · pub trait PairingCurve: AffineCurve {
type Engine: PairingEngine<Fr = Self::ScalarField>;
type Prepared: CanonicalSerialize + CanonicalDeserialize + ToBytes + FromBytes + PartialEq + Eq + Default + Clone + Send + Sync + Debug + 'static;
type PairWith: PairingCurve<PairWith = Self>;
type PairingResult: Field;
fn prepare(&self) -> Self::Prepared;
fn pairing_with(&self, other: &Self::PairWith) -> Self::PairingResult;
}
Required Associated Types§
type Engine: PairingEngine<Fr = Self::ScalarField>
type Prepared: CanonicalSerialize + CanonicalDeserialize + ToBytes + FromBytes + PartialEq + Eq + Default + Clone + Send + Sync + Debug + 'static
type PairWith: PairingCurve<PairWith = Self>
type PairingResult: Field
Required Methods§
sourcefn pairing_with(&self, other: &Self::PairWith) -> Self::PairingResult
fn pairing_with(&self, other: &Self::PairWith) -> Self::PairingResult
Perform a pairing