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;
    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: Into<String>, T>(message: S) -> T { ... }
}

Required Associated Types§

source

type Affine: AffineCurve<Projective = Self::Projective, BaseField = Self::Field, ScalarField = Self::Scalar, Coordinates = (Self::Field, Self::Field)>

source

type BigInteger: BigInteger

source

type Field: PrimeField<BigInteger = Self::BigInteger> + SquareRootField + Copy

source

type PairingCurve: PairingEngine<Fr = Self::Field>

source

type Projective: ProjectiveCurve<Affine = Self::Affine, BaseField = Self::Field, ScalarField = Self::Scalar>

source

type Scalar: PrimeField<BigInteger = Self::BigInteger> + Copy

Required Associated Constants§

source

const EDWARDS_A: Self::Field

The coefficient A of the twisted Edwards curve.

source

const EDWARDS_D: Self::Field

The coefficient D of the twisted Edwards curve.

source

const MONTGOMERY_A: Self::Field

The coefficient A of the Montgomery curve.

source

const MONTGOMERY_B: Self::Field

The coefficient B of the Montgomery curve.

Provided Associated Constants§

source

const MAX_STRING_BYTES: u32 = 255u32

The maximum number of bytes allowed in a string.

Provided Methods§

source

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

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

Implementors§

source§

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

source§

const EDWARDS_A: Self::Field = <EdwardsParameters as TwistedEdwardsParameters>::EDWARDS_A

source§

const EDWARDS_D: Self::Field = <EdwardsParameters as TwistedEdwardsParameters>::EDWARDS_D

source§

const MONTGOMERY_A: Self::Field = <EdwardsParameters as MontgomeryParameters>::MONTGOMERY_A

source§

const MONTGOMERY_B: Self::Field = <EdwardsParameters as MontgomeryParameters>::MONTGOMERY_B