pub struct DefaultVerifierChannel<E: FieldElement, H: ElementHasher<BaseField = E::BaseField>, V: VectorCommitment<H>> { /* private fields */ }Expand description
Provides a default implementation of the VerifierChannel trait.
Default verifier channel can be instantiated directly from a FriProof struct.
Though this implementation is primarily intended for testing purposes, it can be used in production use cases as well.
Implementations§
Source§impl<E, H, V> DefaultVerifierChannel<E, H, V>
impl<E, H, V> DefaultVerifierChannel<E, H, V>
Trait Implementations§
Source§impl<E, H, V> VerifierChannel<E> for DefaultVerifierChannel<E, H, V>
impl<E, H, V> VerifierChannel<E> for DefaultVerifierChannel<E, H, V>
Source§type VectorCommitment = V
type VectorCommitment = V
Vector commitment used to commit to polynomial evaluations.
Source§fn read_fri_num_partitions(&self) -> usize
fn read_fri_num_partitions(&self) -> usize
Returns the number of partitions used during proof generation.
Source§fn read_fri_layer_commitments(&mut self) -> Vec<H::Digest>
fn read_fri_layer_commitments(&mut self) -> Vec<H::Digest>
Reads and removes from the channel all FRI layer commitments sent by the prover. Read more
Source§fn take_next_fri_layer_proof(&mut self) -> V::MultiProof
fn take_next_fri_layer_proof(&mut self) -> V::MultiProof
Reads and removes from the channel vector commitment opening proofs of queried evaluations
for the next FRI layer. Read more
Source§fn take_next_fri_layer_queries(&mut self) -> Vec<E>
fn take_next_fri_layer_queries(&mut self) -> Vec<E>
Reads and removes from the channel evaluations of the polynomial at the queried positions
for the next FRI layer. Read more
Source§fn take_fri_remainder(&mut self) -> Vec<E>
fn take_fri_remainder(&mut self) -> Vec<E>
Reads and removes the remainder polynomial from the channel.
Source§fn read_layer_queries<const N: usize>(
&mut self,
positions: &[usize],
commitment: &<Self::Hasher as Hasher>::Digest,
) -> Result<Vec<[E; N]>, VerifierError>
fn read_layer_queries<const N: usize>( &mut self, positions: &[usize], commitment: &<Self::Hasher as Hasher>::Digest, ) -> Result<Vec<[E; N]>, VerifierError>
Returns FRI query values at the specified positions from the current FRI layer and advances
layer pointer by one. Read more
Source§fn read_remainder(&mut self) -> Result<Vec<E>, VerifierError>
fn read_remainder(&mut self) -> Result<Vec<E>, VerifierError>
Returns FRI remainder polynomial read from this channel.
Auto Trait Implementations§
impl<E, H, V> Freeze for DefaultVerifierChannel<E, H, V>
impl<E, H, V> RefUnwindSafe for DefaultVerifierChannel<E, H, V>where
H: RefUnwindSafe,
<H as Hasher>::Digest: RefUnwindSafe,
<V as VectorCommitment<H>>::MultiProof: RefUnwindSafe,
E: RefUnwindSafe,
impl<E, H, V> Send for DefaultVerifierChannel<E, H, V>
impl<E, H, V> Sync for DefaultVerifierChannel<E, H, V>
impl<E, H, V> Unpin for DefaultVerifierChannel<E, H, V>where
H: Unpin,
<H as Hasher>::Digest: Unpin,
<V as VectorCommitment<H>>::MultiProof: Unpin,
E: Unpin,
impl<E, H, V> UnwindSafe for DefaultVerifierChannel<E, H, V>where
H: UnwindSafe,
<H as Hasher>::Digest: UnwindSafe,
<V as VectorCommitment<H>>::MultiProof: UnwindSafe,
E: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more