pub struct OpeningProtocol(/* private fields */);Expand description
Public protocol describing committed tables and their opening schedule.
This is the shape agreement between prover and verifier. The prover must commit to a witness whose table shapes match this protocol, and later opens exactly the point-local column batches listed here.
Implementations§
Source§impl OpeningProtocol
impl OpeningProtocol
Sourcepub fn table_shapes(&self) -> Vec<TableShape>
pub fn table_shapes(&self) -> Vec<TableShape>
Returns the table shapes in protocol order.
Sourcepub fn pad_to_min_num_variables(self, min_num_variables: usize) -> Self
pub fn pad_to_min_num_variables(self, min_num_variables: usize) -> Self
Pads every table shape to at least min_num_variables.
Opening schedules are unchanged because padding only adds zero rows to the committed table.
Sourcepub fn num_openings(&self) -> usize
pub fn num_openings(&self) -> usize
Returns the total number of point-local opening batches.
Sourcepub fn iter_openings(&self) -> impl Iterator<Item = (usize, &[usize])>
pub fn iter_openings(&self) -> impl Iterator<Item = (usize, &[usize])>
Iterates over all opening batches in transcript order.
Trait Implementations§
Source§impl Clone for OpeningProtocol
impl Clone for OpeningProtocol
Source§fn clone(&self) -> OpeningProtocol
fn clone(&self) -> OpeningProtocol
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for OpeningProtocol
impl Debug for OpeningProtocol
Source§impl Default for OpeningProtocol
impl Default for OpeningProtocol
Source§fn default() -> OpeningProtocol
fn default() -> OpeningProtocol
Returns the “default value” for a type. Read more
impl Eq for OpeningProtocol
Source§impl PartialEq for OpeningProtocol
impl PartialEq for OpeningProtocol
Source§fn eq(&self, other: &OpeningProtocol) -> bool
fn eq(&self, other: &OpeningProtocol) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for OpeningProtocol
Auto Trait Implementations§
impl Freeze for OpeningProtocol
impl RefUnwindSafe for OpeningProtocol
impl Send for OpeningProtocol
impl Sync for OpeningProtocol
impl Unpin for OpeningProtocol
impl UnsafeUnpin for OpeningProtocol
impl UnwindSafe for OpeningProtocol
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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