pub trait Reduction<F: Field> {
type A: Message<F>;
type B;
type Key;
type Proof;
type Error;
// Required methods
fn transcript_pattern(
key: &Self::Key,
builder: TranscriptBuilder,
) -> TranscriptBuilder;
fn verify_reduction<S: Duplex<F>>(
key: &Self::Key,
instance: MessageGuard<Self::A>,
transcript: TranscriptGuard<'_, F, S, Self::Proof>,
) -> Result<Self::B, Self::Error>;
}Required Associated Types§
Required Methods§
fn transcript_pattern( key: &Self::Key, builder: TranscriptBuilder, ) -> TranscriptBuilder
fn verify_reduction<S: Duplex<F>>( key: &Self::Key, instance: MessageGuard<Self::A>, transcript: TranscriptGuard<'_, F, S, Self::Proof>, ) -> Result<Self::B, Self::Error>
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.