Skip to main content

Engine

Trait Engine 

Source
pub trait Engine:
    Clone
    + Copy
    + Debug
    + Send
    + Sync
    + Sized
    + Eq
    + PartialEq {
    type Base: PrimeFieldBits + TranscriptReprTrait<Self::GE> + Serialize + for<'de> Deserialize<'de> + CustomSerdeTrait;
    type Scalar: PrimeFieldBits + PrimeFieldExt + Send + Sync + TranscriptReprTrait<Self::GE> + Serialize + for<'de> Deserialize<'de> + CustomSerdeTrait;
    type GE: Group<Base = Self::Base, Scalar = Self::Scalar> + Serialize + for<'de> Deserialize<'de> + CustomSerdeTrait;
    type RO: ROTrait<Self::Base>;
    type ROCircuit: ROCircuitTrait<Self::Base>;
    type RO2: ROTrait<Self::Scalar>;
    type RO2Circuit: ROCircuitTrait<Self::Scalar>;
    type TE: TranscriptEngineTrait<Self>;
    type CE: CommitmentEngineTrait<Self>;
}
Expand description

A collection of engines that are required by the library

Required Associated Types§

Source

type Base: PrimeFieldBits + TranscriptReprTrait<Self::GE> + Serialize + for<'de> Deserialize<'de> + CustomSerdeTrait

A type representing an element of the base field of the group

Source

type Scalar: PrimeFieldBits + PrimeFieldExt + Send + Sync + TranscriptReprTrait<Self::GE> + Serialize + for<'de> Deserialize<'de> + CustomSerdeTrait

A type representing an element of the scalar field of the group

Source

type GE: Group<Base = Self::Base, Scalar = Self::Scalar> + Serialize + for<'de> Deserialize<'de> + CustomSerdeTrait

A type that represents an element of the group

Source

type RO: ROTrait<Self::Base>

A type that represents a circuit-friendly sponge that consumes elements from the base field

Source

type ROCircuit: ROCircuitTrait<Self::Base>

An alternate implementation of Self::RO in the circuit model

Source

type RO2: ROTrait<Self::Scalar>

A type that represents a circuit-friendly sponge that consumes elements from the scalar field

Source

type RO2Circuit: ROCircuitTrait<Self::Scalar>

An alternate implementation of Self::RO2 in the circuit model

Source

type TE: TranscriptEngineTrait<Self>

A type that provides a generic Fiat-Shamir transcript to be used when externalizing proofs

Source

type CE: CommitmentEngineTrait<Self>

A type that defines a commitment engine over scalars in the group

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Engine for Bn256EngineIPA

Source§

impl Engine for Bn256EngineKZG

Source§

impl Engine for GrumpkinEngine

Source§

impl Engine for PallasEngine

Source§

impl Engine for Secp256k1Engine

Source§

impl Engine for Secq256k1Engine

Source§

impl Engine for VestaEngine