Trait TranscriptWrite

Source
pub trait TranscriptWrite<C: CurveAffine, E: EncodedChallenge<C>>: Transcript<C, E> {
    // Required methods
    fn write_point(&mut self, point: C) -> Result<()>;
    fn write_scalar(&mut self, scalar: C::Scalar) -> Result<()>;
}
Expand description

Transcript view from the perspective of a prover that has access to an output stream of messages from the prover to the verifier.

Required Methods§

Source

fn write_point(&mut self, point: C) -> Result<()>

Write a curve point to the proof and the transcript.

Source

fn write_scalar(&mut self, scalar: C::Scalar) -> Result<()>

Write a scalar to the proof and the transcript.

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<W: Write, C: CurveAffine> TranscriptWrite<C, Challenge255<C>> for Blake2bWrite<W, C, Challenge255<C>>
where C::Scalar: FromUniformBytes<64>,

Source§

impl<W: Write, C: CurveAffine> TranscriptWrite<C, Challenge255<C>> for Keccak256Write<W, C, Challenge255<C>>
where C::Scalar: FromUniformBytes<64>,

impl<C, W, const T: usize, const RATE: usize, const R_F: usize, const R_P: usize> TranscriptWrite<C, ChallengeScalar<C>> for PoseidonTranscript<C, NativeLoader, W, T, RATE, R_F, R_P>
where C: CurveAffine, W: Write,

impl<C, W: Write> TranscriptWrite<C, ChallengeEvm<C>> for EvmTranscript<C, NativeLoader, W, Vec<u8>>
where C: CurveAffine, C::Scalar: PrimeField<Repr = [u8; 32]>,