Trait AccumulationSchemeProver

Source
pub trait AccumulationSchemeProver<C>: AccumulationScheme<C, NativeLoader>
where C: CurveAffine,
{ type ProvingKey: Clone + Debug; // Required method fn create_proof<T, R>( pk: &Self::ProvingKey, instances: &[Self::Accumulator], transcript: &mut T, rng: R, ) -> Result<Self::Accumulator, Error> where T: TranscriptWrite<C>, R: Rng; }
Expand description

Accumulation scheme prover.

Required Associated Types§

Source

type ProvingKey: Clone + Debug

Proving key.

Required Methods§

Source

fn create_proof<T, R>( pk: &Self::ProvingKey, instances: &[Self::Accumulator], transcript: &mut T, rng: R, ) -> Result<Self::Accumulator, Error>
where T: TranscriptWrite<C>, R: Rng,

Create a proof that argues if old AccumulationScheme::Accumulators are properly accumulated into the new one, and returns the new one as output.

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.

Implementors§

Source§

impl<C, MOS> AccumulationSchemeProver<C> for IpaAs<C, MOS>
where C: CurveAffine, MOS: Clone + Debug,

Source§

impl<M, MOS> AccumulationSchemeProver<<M as Engine>::G1Affine> for KzgAs<M, MOS>
where M: MultiMillerLoop, M::G1Affine: CurveAffine<ScalarExt = M::Fr, CurveExt = M::G1>, MOS: Clone + Debug,