pub trait AccumulationDecider<C, L>: AccumulationScheme<C, L>where
C: CurveAffine,
L: Loader<C>,{
type DecidingKey: Clone + Debug;
// Required methods
fn decide(
dk: &Self::DecidingKey,
accumulator: Self::Accumulator,
) -> Result<(), Error>;
fn decide_all(
dk: &Self::DecidingKey,
accumulators: Vec<Self::Accumulator>,
) -> Result<(), Error>;
}
Expand description
Accumulation scheme decider. When accumulation is going to end, the decider will perform the check if the final accumulator is valid or not, where the check is usually much more expensive than accumulation verification.
Required Associated Types§
Sourcetype DecidingKey: Clone + Debug
type DecidingKey: Clone + Debug
Deciding key. The key for decider for perform the final accumulator check.
Required Methods§
Sourcefn decide(
dk: &Self::DecidingKey,
accumulator: Self::Accumulator,
) -> Result<(), Error>
fn decide( dk: &Self::DecidingKey, accumulator: Self::Accumulator, ) -> Result<(), Error>
Decide if a AccumulationScheme::Accumulator
is valid.
Sourcefn decide_all(
dk: &Self::DecidingKey,
accumulators: Vec<Self::Accumulator>,
) -> Result<(), Error>
fn decide_all( dk: &Self::DecidingKey, accumulators: Vec<Self::Accumulator>, ) -> Result<(), Error>
Decide if all AccumulationScheme::Accumulator
s are valid.
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.