pub struct OpeningProver<'pcs, SC: StarkGenericConfig> { /* private fields */ }
Implementations§
Source§impl<'pcs, SC: StarkGenericConfig> OpeningProver<'pcs, SC>
impl<'pcs, SC: StarkGenericConfig> OpeningProver<'pcs, SC>
pub fn new(pcs: &'pcs SC::Pcs, zeta: SC::Challenge) -> Self
Sourcepub fn open(
&self,
challenger: &mut SC::Challenger,
preprocessed: Vec<(&PcsProverData<SC>, Domain<SC>)>,
main: Vec<(&PcsProverData<SC>, Vec<Domain<SC>>)>,
after_challenge: Vec<(&PcsProverData<SC>, Vec<Domain<SC>>)>,
quotient_data: &PcsProverData<SC>,
quotient_degrees: &[usize],
) -> OpeningProof<SC>
pub fn open( &self, challenger: &mut SC::Challenger, preprocessed: Vec<(&PcsProverData<SC>, Domain<SC>)>, main: Vec<(&PcsProverData<SC>, Vec<Domain<SC>>)>, after_challenge: Vec<(&PcsProverData<SC>, Vec<Domain<SC>>)>, quotient_data: &PcsProverData<SC>, quotient_degrees: &[usize], ) -> OpeningProof<SC>
Opening proof for multiple RAP matrices, where
- (for now) each preprocessed trace matrix has a separate commitment
- main trace matrices can have multiple commitments
- for each after_challenge phase, all matrices in the phase share a commitment
- quotient poly chunks are all committed together
Auto Trait Implementations§
impl<'pcs, SC> Freeze for OpeningProver<'pcs, SC>
impl<'pcs, SC> RefUnwindSafe for OpeningProver<'pcs, SC>where
<SC as StarkGenericConfig>::Challenge: RefUnwindSafe,
<SC as StarkGenericConfig>::Pcs: RefUnwindSafe,
impl<'pcs, SC> Send for OpeningProver<'pcs, SC>
impl<'pcs, SC> Sync for OpeningProver<'pcs, SC>
impl<'pcs, SC> Unpin for OpeningProver<'pcs, SC>
impl<'pcs, SC> UnwindSafe for OpeningProver<'pcs, SC>where
<SC as StarkGenericConfig>::Challenge: UnwindSafe,
<SC as StarkGenericConfig>::Pcs: 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