pub struct FRIVerifier<'a, F, FA, VCS>{ /* private fields */ }
Expand description
A verifier for the FRI query phase.
The verifier is instantiated after the folding rounds and is used to test consistency of the round messages and the original purported codeword.
Implementations§
source§impl<'a, F, FA, VCS> FRIVerifier<'a, F, FA, VCS>
impl<'a, F, FA, VCS> FRIVerifier<'a, F, FA, VCS>
pub fn new( committed_rs_code: &'a ReedSolomonCode<FA>, final_rs_code: &'a ReedSolomonCode<F>, committed_codeword_vcs: &'a VCS, round_vcss: &'a [VCS], codeword_commitment: &'a VCS::Commitment, round_commitments: &'a [VCS::Commitment], challenges: &'a [F], final_message: FinalMessage<F>, ) -> Result<Self, Error>
sourcepub fn verify_query(
&self,
index: usize,
proof: QueryProof<F, VCS::Proof>,
) -> Result<(), Error>
pub fn verify_query( &self, index: usize, proof: QueryProof<F, VCS::Proof>, ) -> Result<(), Error>
Verifies a FRI challenge query.
§Arguments
index
- an index into the original codeword domainproof
- a query proof
Trait Implementations§
source§impl<'a, F, FA, VCS> Debug for FRIVerifier<'a, F, FA, VCS>where
F: BinaryField + Debug,
FA: BinaryField + Debug,
VCS: VectorCommitScheme<F> + Debug,
VCS::Commitment: Debug,
impl<'a, F, FA, VCS> Debug for FRIVerifier<'a, F, FA, VCS>where
F: BinaryField + Debug,
FA: BinaryField + Debug,
VCS: VectorCommitScheme<F> + Debug,
VCS::Commitment: Debug,
Auto Trait Implementations§
impl<'a, F, FA, VCS> Freeze for FRIVerifier<'a, F, FA, VCS>
impl<'a, F, FA, VCS> RefUnwindSafe for FRIVerifier<'a, F, FA, VCS>where
<FA as WithUnderlier>::Underlier: Sized,
<F as WithUnderlier>::Underlier: Sized,
VCS: RefUnwindSafe,
<VCS as VectorCommitScheme<F>>::Commitment: RefUnwindSafe,
F: RefUnwindSafe,
FA: RefUnwindSafe,
impl<'a, F, FA, VCS> Send for FRIVerifier<'a, F, FA, VCS>where
<FA as WithUnderlier>::Underlier: Sized,
<F as WithUnderlier>::Underlier: Sized,
VCS: Sync,
<VCS as VectorCommitScheme<F>>::Commitment: Sync,
impl<'a, F, FA, VCS> Sync for FRIVerifier<'a, F, FA, VCS>where
<FA as WithUnderlier>::Underlier: Sized,
<F as WithUnderlier>::Underlier: Sized,
VCS: Sync,
<VCS as VectorCommitScheme<F>>::Commitment: Sync,
impl<'a, F, FA, VCS> Unpin for FRIVerifier<'a, F, FA, VCS>
impl<'a, F, FA, VCS> UnwindSafe for FRIVerifier<'a, F, FA, VCS>where
<FA as WithUnderlier>::Underlier: Sized,
<F as WithUnderlier>::Underlier: Sized,
VCS: RefUnwindSafe,
<VCS as VectorCommitScheme<F>>::Commitment: RefUnwindSafe,
F: RefUnwindSafe + UnwindSafe,
FA: RefUnwindSafe,
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more