pub trait Prover {
type ProvingKeyView<'a>
where Self: 'a;
type ProvingContext<'a>
where Self: 'a;
type Proof;
// Required method
fn prove<'a>(
&'a mut self,
pk: Self::ProvingKeyView<'a>,
ctx: Self::ProvingContext<'a>,
) -> Self::Proof;
}
Expand description
Trait for STARK/SNARK proving at the highest abstraction level.
Required Associated Types§
type ProvingKeyView<'a> where Self: 'a
type ProvingContext<'a> where Self: 'a
type Proof
Required Methods§
Sourcefn prove<'a>(
&'a mut self,
pk: Self::ProvingKeyView<'a>,
ctx: Self::ProvingContext<'a>,
) -> Self::Proof
fn prove<'a>( &'a mut self, pk: Self::ProvingKeyView<'a>, ctx: Self::ProvingContext<'a>, ) -> Self::Proof
The prover should own the challenger, whose state mutates during proving.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.