pub trait Environment: 'static + Copy + Clone + Debug + PartialEq<Self> + 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;
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;
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 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
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
Required Associated Constants§
const MONTGOMERY_A: Self::Field
const MONTGOMERY_A: Self::Field
The coefficient A
of the Montgomery curve.
const MONTGOMERY_B: Self::Field
const MONTGOMERY_B: Self::Field
The coefficient B
of the Montgomery curve.
Provided Associated Constants§
const MAX_STRING_BYTES: u32 = 255u32
const MAX_STRING_BYTES: u32 = 255u32
The maximum number of bytes allowed in a string.