pub trait Prover {
type ProvingKeyView<'a>
where Self: 'a;
type ProvingContext<'a>
where Self: 'a;
type Proof;
type Error;
// Required method
fn prove<'a>(
&'a mut self,
pk: Self::ProvingKeyView<'a>,
ctx: Self::ProvingContext<'a>,
) -> Result<Self::Proof, Self::Error>;
}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
type Error
Required Methods§
Sourcefn prove<'a>(
&'a mut self,
pk: Self::ProvingKeyView<'a>,
ctx: Self::ProvingContext<'a>,
) -> Result<Self::Proof, Self::Error>
fn prove<'a>( &'a mut self, pk: Self::ProvingKeyView<'a>, ctx: Self::ProvingContext<'a>, ) -> Result<Self::Proof, Self::Error>
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".