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) -> Twhere S: Into<String>,

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

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Environment for Testnet3

source§

const EDWARDS_A: <Testnet3 as Environment>::Field = Console::EDWARDS_A

The coefficient A of the twisted Edwards curve.

source§

const EDWARDS_D: <Testnet3 as Environment>::Field = Console::EDWARDS_D

The coefficient D of the twisted Edwards curve.

source§

const MONTGOMERY_A: <Testnet3 as Environment>::Field = Console::MONTGOMERY_A

The coefficient A of the Montgomery curve.

source§

const MONTGOMERY_B: <Testnet3 as Environment>::Field = Console::MONTGOMERY_B

The coefficient B of the Montgomery curve.

§

type Affine = <Console as Environment>::Affine

§

type BigInteger = <Console as Environment>::BigInteger

§

type Field = <Console as Environment>::Field

§

type PairingCurve = <Console as Environment>::PairingCurve

§

type Projective = <Console as Environment>::Projective

§

type Scalar = <Console as Environment>::Scalar

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