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 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

Required Associated Constants§

const EDWARDS_A: Self::Field

The coefficient A of the twisted Edwards curve.

const EDWARDS_D: Self::Field

The coefficient D of the twisted Edwards curve.

const MONTGOMERY_A: Self::Field

The coefficient A of the Montgomery curve.

const MONTGOMERY_B: Self::Field

The coefficient B of the Montgomery curve.

Provided Associated Constants§

const MAX_STRING_BYTES: u32 = 255u32

The maximum number of bytes allowed in a string.

Provided Methods§

fn halt<S, T>(message: S) -> T
where S: Into<String>,

Halts the program from further synthesis, evaluation, and execution in the current environment.

Object Safety§

This trait is not object safe.

Implementors§

§

impl Environment for Console

§

type Affine = Affine<EdwardsParameters>

§

type BigInteger = <<Console as Environment>::Field as PrimeField>::BigInteger

§

type Field = <<Console as Environment>::Affine as AffineCurve>::BaseField

§

type PairingCurve = Bls12<Bls12_377Parameters>

§

type Projective = <<Console as Environment>::Affine as AffineCurve>::Projective

§

type Scalar = <<Console as Environment>::Affine as AffineCurve>::ScalarField

§

const EDWARDS_A: <Console as Environment>::Field = <EdwardsParameters as TwistedEdwardsParameters>::EDWARDS_A

§

const EDWARDS_D: <Console as Environment>::Field = <EdwardsParameters as TwistedEdwardsParameters>::EDWARDS_D

§

const MONTGOMERY_A: <Console as Environment>::Field = <EdwardsParameters as MontgomeryParameters>::MONTGOMERY_A

§

const MONTGOMERY_B: <Console as Environment>::Field = <EdwardsParameters as MontgomeryParameters>::MONTGOMERY_B