pub trait AccumulationScheme<C, L>where
C: CurveAffine,
L: Loader<C>,{
type Accumulator: Clone + Debug;
type VerifyingKey: Clone + Debug;
type Proof: Clone + Debug;
// Required methods
fn read_proof<T>(
vk: &Self::VerifyingKey,
instances: &[Self::Accumulator],
transcript: &mut T,
) -> Result<Self::Proof, Error>
where T: TranscriptRead<C, L>;
fn verify(
vk: &Self::VerifyingKey,
instances: &[Self::Accumulator],
proof: &Self::Proof,
) -> Result<Self::Accumulator, Error>;
}
Expand description
Accumulation scheme verifier.
Required Associated Types§
Sourcetype Accumulator: Clone + Debug
type Accumulator: Clone + Debug
Accumulator to be accumulated.
Sourcetype VerifyingKey: Clone + Debug
type VerifyingKey: Clone + Debug
Verifying key.
Required Methods§
Sourcefn read_proof<T>(
vk: &Self::VerifyingKey,
instances: &[Self::Accumulator],
transcript: &mut T,
) -> Result<Self::Proof, Error>where
T: TranscriptRead<C, L>,
fn read_proof<T>(
vk: &Self::VerifyingKey,
instances: &[Self::Accumulator],
transcript: &mut T,
) -> Result<Self::Proof, Error>where
T: TranscriptRead<C, L>,
Read a AccumulationScheme::Proof
from transcript.
Sourcefn verify(
vk: &Self::VerifyingKey,
instances: &[Self::Accumulator],
proof: &Self::Proof,
) -> Result<Self::Accumulator, Error>
fn verify( vk: &Self::VerifyingKey, instances: &[Self::Accumulator], proof: &Self::Proof, ) -> Result<Self::Accumulator, Error>
Verify old AccumulationScheme::Accumulator
s are accumulated properly
into a new one with the AccumulationScheme::Proof
, 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.