pub trait Prover<'params, Scheme: CommitmentScheme> {
const QUERY_INSTANCE: bool;
// Required methods
fn new(params: &'params Scheme::ParamsProver) -> Self;
fn create_proof<'com, E: EncodedChallenge<Scheme::Curve>, T: TranscriptWrite<Scheme::Curve, E>, R, I>(
&self,
rng: R,
transcript: &mut T,
queries: I,
) -> Result<()>
where I: IntoIterator<Item = ProverQuery<'com, Scheme::Curve>> + Clone,
R: RngCore;
}
Expand description
Common multi-open prover interface for various commitment schemes
Required Associated Constants§
Sourceconst QUERY_INSTANCE: bool
const QUERY_INSTANCE: bool
Query instance or not
Required Methods§
Sourcefn new(params: &'params Scheme::ParamsProver) -> Self
fn new(params: &'params Scheme::ParamsProver) -> Self
Creates new prover instance
Sourcefn create_proof<'com, E: EncodedChallenge<Scheme::Curve>, T: TranscriptWrite<Scheme::Curve, E>, R, I>(
&self,
rng: R,
transcript: &mut T,
queries: I,
) -> Result<()>
fn create_proof<'com, E: EncodedChallenge<Scheme::Curve>, T: TranscriptWrite<Scheme::Curve, E>, R, I>( &self, rng: R, transcript: &mut T, queries: I, ) -> Result<()>
Create a multi-opening proof
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.