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§
Sourcetype Base: PrimeFieldBits + TranscriptReprTrait<Self::GE> + Serialize + for<'de> Deserialize<'de> + CustomSerdeTrait
type Base: PrimeFieldBits + TranscriptReprTrait<Self::GE> + Serialize + for<'de> Deserialize<'de> + CustomSerdeTrait
A type representing an element of the base field of the group
Sourcetype Scalar: PrimeFieldBits + PrimeFieldExt + Send + Sync + TranscriptReprTrait<Self::GE> + Serialize + for<'de> Deserialize<'de> + CustomSerdeTrait
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
Sourcetype GE: Group<Base = Self::Base, Scalar = Self::Scalar> + Serialize + for<'de> Deserialize<'de> + CustomSerdeTrait
type GE: Group<Base = Self::Base, Scalar = Self::Scalar> + Serialize + for<'de> Deserialize<'de> + CustomSerdeTrait
A type that represents an element of the group
Sourcetype RO: ROTrait<Self::Base>
type RO: ROTrait<Self::Base>
A type that represents a circuit-friendly sponge that consumes elements from the base field
Sourcetype ROCircuit: ROCircuitTrait<Self::Base>
type ROCircuit: ROCircuitTrait<Self::Base>
An alternate implementation of Self::RO in the circuit model
Sourcetype RO2: ROTrait<Self::Scalar>
type RO2: ROTrait<Self::Scalar>
A type that represents a circuit-friendly sponge that consumes elements from the scalar field
Sourcetype RO2Circuit: ROCircuitTrait<Self::Scalar>
type RO2Circuit: ROCircuitTrait<Self::Scalar>
An alternate implementation of Self::RO2 in the circuit model
Sourcetype TE: TranscriptEngineTrait<Self>
type TE: TranscriptEngineTrait<Self>
A type that provides a generic Fiat-Shamir transcript to be used when externalizing proofs
Sourcetype CE: CommitmentEngineTrait<Self>
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.