Skip to main content

BinaryPcsVerifierTranscript

Struct BinaryPcsVerifierTranscript 

Source
pub struct BinaryPcsVerifierTranscript<'a, F: TranscriptField, EF, C> { /* private fields */ }
Expand description

Verifier-side transcript of one binary-tower PCS run.

Mirrors the prover driver step for step, so the two walk one description.

Implementations§

Source§

impl<'a, F, EF, C> BinaryPcsVerifierTranscript<'a, F, EF, C>

Source

pub fn new(challenger: &'a mut C, shape: BinaryPcsShape) -> Self

Seed the transcript from the shape.

§Arguments
  • challenger: sponge of the surrounding protocol, borrowed for this run.
  • shape: the numbers that fix this run’s transcript.
Source

pub fn fold_batch<R>(&mut self, run: impl FnOnce(&mut C) -> R) -> R

Lend the sponge to the delegated sumcheck rounds of one fold batch.

Source

pub fn oracle_commitment<Com>(&mut self, commitment: Com)
where Com: Clone, C: CanObserve<Com>,

Replay one folded oracle’s Merkle root.

Source

pub fn final_codeword( &mut self, codeword: &[EF], ) -> Result<(), TranscriptFailure<F>>

Replay the final codeword the proof carries.

§Errors

When the codeword is not the length the run was described with.

Source

pub fn query_pow(&mut self, witness: F) -> Result<(), TranscriptFailure<F>>

Replay the grind guarding the query positions.

§Errors
  • The witness is not zero where the site asks for no work.
  • The witness misses the difficulty the site requires.
Source

pub fn query_pairs(&mut self) -> Vec<usize>

Redraw the distinct fold pairs this run opens.

Source

pub fn abort(&mut self)

Release the completeness check because the proof is being rejected.

Source

pub fn finish(self)

Close the transcript once every described step has been replayed.

§Panics

When the run replayed fewer steps than it was described with.

Auto Trait Implementations§

§

impl<'a, F, EF, C> !UnwindSafe for BinaryPcsVerifierTranscript<'a, F, EF, C>

§

impl<'a, F, EF, C> Freeze for BinaryPcsVerifierTranscript<'a, F, EF, C>

§

impl<'a, F, EF, C> RefUnwindSafe for BinaryPcsVerifierTranscript<'a, F, EF, C>

§

impl<'a, F, EF, C> Send for BinaryPcsVerifierTranscript<'a, F, EF, C>

§

impl<'a, F, EF, C> Sync for BinaryPcsVerifierTranscript<'a, F, EF, C>

§

impl<'a, F, EF, C> Unpin for BinaryPcsVerifierTranscript<'a, F, EF, C>

§

impl<'a, F, EF, C> UnsafeUnpin for BinaryPcsVerifierTranscript<'a, F, EF, C>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more