Skip to main content

VerifierChannel

Trait VerifierChannel 

Source
pub trait VerifierChannel: Channel {
Show 13 methods // Required methods fn receive_field_slice( &mut self, count: usize, ) -> Result<&[Self::F], TranscriptError>; fn receive_commitment_slice( &mut self, count: usize, ) -> Result<&[Self::Commitment], TranscriptError>; fn receive_hint_field_slice( &mut self, count: usize, ) -> Result<&[Self::F], TranscriptError>; fn receive_hint_commitment_slice( &mut self, count: usize, ) -> Result<&[Self::Commitment], TranscriptError>; fn grind(&mut self, bits: usize) -> Result<Self::F, TranscriptError>; fn is_empty(&self) -> bool; // Provided methods fn receive_field(&mut self) -> Result<&Self::F, TranscriptError> { ... } fn receive_algebra_element<A>(&mut self) -> Result<A, TranscriptError> where Self::F: Field, A: BasedVectorSpace<Self::F> { ... } fn receive_algebra_slice<A>( &mut self, count: usize, ) -> Result<Vec<A>, TranscriptError> where Self::F: Field, A: BasedVectorSpace<Self::F> { ... } fn receive_commitment( &mut self, ) -> Result<&Self::Commitment, TranscriptError> { ... } fn receive_hint_field(&mut self) -> Result<&Self::F, TranscriptError> { ... } fn receive_hint_field_array<const N: usize>( &mut self, ) -> Result<[Self::F; N], TranscriptError> where Self::F: Copy { ... } fn receive_hint_commitment( &mut self, ) -> Result<&Self::Commitment, TranscriptError> { ... }
}
Expand description

Verifier-side channel interface for transcript operations.

Required Methods§

Source

fn receive_field_slice( &mut self, count: usize, ) -> Result<&[Self::F], TranscriptError>

Source

fn receive_commitment_slice( &mut self, count: usize, ) -> Result<&[Self::Commitment], TranscriptError>

Source

fn receive_hint_field_slice( &mut self, count: usize, ) -> Result<&[Self::F], TranscriptError>

Source

fn receive_hint_commitment_slice( &mut self, count: usize, ) -> Result<&[Self::Commitment], TranscriptError>

Source

fn grind(&mut self, bits: usize) -> Result<Self::F, TranscriptError>

Source

fn is_empty(&self) -> bool

Provided Methods§

Source

fn receive_field(&mut self) -> Result<&Self::F, TranscriptError>

Source

fn receive_algebra_element<A>(&mut self) -> Result<A, TranscriptError>
where Self::F: Field, A: BasedVectorSpace<Self::F>,

Source

fn receive_algebra_slice<A>( &mut self, count: usize, ) -> Result<Vec<A>, TranscriptError>
where Self::F: Field, A: BasedVectorSpace<Self::F>,

Source

fn receive_commitment(&mut self) -> Result<&Self::Commitment, TranscriptError>

Source

fn receive_hint_field(&mut self) -> Result<&Self::F, TranscriptError>

Source

fn receive_hint_field_array<const N: usize>( &mut self, ) -> Result<[Self::F; N], TranscriptError>
where Self::F: Copy,

Read exactly N hint field elements as a fixed-size array.

Source

fn receive_hint_commitment( &mut self, ) -> Result<&Self::Commitment, TranscriptError>

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<'a, F, C, Ch> VerifierChannel for VerifierTranscript<'a, F, C, Ch>
where F: Field, C: Clone, Ch: TranscriptChallenger<F, C>,