pub trait Environment:
    'static
    + Copy
    + Clone
    + Debug
    + PartialEq
    + Eq
    + Hash
    + Serialize
    + DeserializeOwned
    + Send
    + Sync {
    type Affine: AffineCurve<Projective = Self::Projective, BaseField = Self::Field, ScalarField = Self::Scalar, Coordinates = (Self::Field, Self::Field)>;
    type BigInteger: BigInteger;
    type Field: PrimeField<BigInteger = Self::BigInteger> + SquareRootField + Copy + Zeroize;
    type PairingCurve: PairingEngine<Fr = Self::Field>;
    type Projective: ProjectiveCurve<Affine = Self::Affine, BaseField = Self::Field, ScalarField = Self::Scalar>;
    type Scalar: PrimeField<BigInteger = Self::BigInteger> + Copy + Zeroize;
    const EDWARDS_A: Self::Field;
    const EDWARDS_D: Self::Field;
    const MONTGOMERY_A: Self::Field;
    const MONTGOMERY_B: Self::Field;
    const MAX_STRING_BYTES: u32 = 255u32;
    // Provided method
    fn halt<S, T>(message: S) -> T
       where S: Into<String> { ... }
}Required Associated Constants§
Sourceconst MONTGOMERY_A: Self::Field
 
const MONTGOMERY_A: Self::Field
The coefficient A of the Montgomery curve.
Sourceconst MONTGOMERY_B: Self::Field
 
const MONTGOMERY_B: Self::Field
The coefficient B of the Montgomery curve.
Provided Associated Constants§
Sourceconst MAX_STRING_BYTES: u32 = 255u32
 
const MAX_STRING_BYTES: u32 = 255u32
The maximum number of bytes allowed in a string.
Required Associated Types§
type Affine: AffineCurve<Projective = Self::Projective, BaseField = Self::Field, ScalarField = Self::Scalar, Coordinates = (Self::Field, Self::Field)>
type BigInteger: BigInteger
type Field: PrimeField<BigInteger = Self::BigInteger> + SquareRootField + Copy + Zeroize
type PairingCurve: PairingEngine<Fr = Self::Field>
type Projective: ProjectiveCurve<Affine = Self::Affine, BaseField = Self::Field, ScalarField = Self::Scalar>
type Scalar: PrimeField<BigInteger = Self::BigInteger> + Copy + Zeroize
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.