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

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