pub struct Prover<P, H>{ /* private fields */ }Expand description
Struct for proving instances of a particular constraint system.
The Self::setup constructor pre-processes reusable structures for proving instances of the
given constraint system. Then Self::prove is called one or more times with individual
instances.
Implementations§
Source§impl<F, P, H> Prover<P, H>where
F: BinaryField,
P: PackedField<Scalar = F>,
H: ParallelHashSuite,
Output<H::LeafHash>: SerializeBytes,
impl<F, P, H> Prover<P, H>where
F: BinaryField,
P: PackedField<Scalar = F>,
H: ParallelHashSuite,
Output<H::LeafHash>: SerializeBytes,
Sourcepub fn setup(verifier: &Verifier<F, H>) -> Result<Self, Error>
pub fn setup(verifier: &Verifier<F, H>) -> Result<Self, Error>
Constructs a prover corresponding to a constraint system verifier.
See Prover struct documentation for details.
Sourcepub const fn iop_prover(&self) -> &IOPProver<P::Scalar>
pub const fn iop_prover(&self) -> &IOPProver<P::Scalar>
Returns a reference to the IOP prover.
Sourcepub const fn iop_compiler(
&self,
) -> &BaseFoldProverCompiler<P, NeighborsLastMultiThread<GaoMateerPreExpanded<F>>>
pub const fn iop_compiler( &self, ) -> &BaseFoldProverCompiler<P, NeighborsLastMultiThread<GaoMateerPreExpanded<F>>>
Returns a reference to the BaseFold ZK prover compiler.
Sourcepub fn prove<Challenger_: Challenger>(
&self,
witness: &Witness<F>,
rng: impl CryptoRng,
transcript: &mut ProverTranscript<Challenger_>,
) -> Result<(), Error>
pub fn prove<Challenger_: Challenger>( &self, witness: &Witness<F>, rng: impl CryptoRng, transcript: &mut ProverTranscript<Challenger_>, ) -> Result<(), Error>
Auto Trait Implementations§
impl<P, H> !Freeze for Prover<P, H>
impl<P, H> RefUnwindSafe for Prover<P, H>where
<<P as FieldOps>::Scalar as UnderlierView>::Underlier: Sized,
<P as FieldOps>::Scalar: Sized + RefUnwindSafe,
H: RefUnwindSafe,
P: RefUnwindSafe,
impl<P, H> Send for Prover<P, H>
impl<P, H> Sync for Prover<P, H>
impl<P, H> Unpin for Prover<P, H>
impl<P, H> UnsafeUnpin for Prover<P, H>
impl<P, H> UnwindSafe for Prover<P, H>where
<<P as FieldOps>::Scalar as UnderlierView>::Underlier: Sized,
<P as FieldOps>::Scalar: Sized + UnwindSafe,
H: UnwindSafe,
P: 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
§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