pub struct KBPositiveAccumulator<E: Pairing>(pub NonAdaptivePositiveAccumulator<E>);
Expand description
A dynamic positive accumulator
Tuple Fields§
§0: NonAdaptivePositiveAccumulator<E>
Implementations§
source§impl<E: Pairing> KBPositiveAccumulator<E>
impl<E: Pairing> KBPositiveAccumulator<E>
pub fn initialize<R: RngCore>( rng: &mut R, params_gen: impl AsRef<E::G1Affine> ) -> Self
sourcepub fn add<D: Default + DynDigest + Clone>(
&self,
element: &E::ScalarField,
sk: &SecretKey<E::ScalarField>,
params: &SetupParams<E>,
state: &mut dyn State<E::ScalarField>
) -> Result<KBPositiveAccumulatorWitness<E>, VBAccumulatorError>
pub fn add<D: Default + DynDigest + Clone>( &self, element: &E::ScalarField, sk: &SecretKey<E::ScalarField>, params: &SetupParams<E>, state: &mut dyn State<E::ScalarField> ) -> Result<KBPositiveAccumulatorWitness<E>, VBAccumulatorError>
Add an element to the accumulator. Returns the membership witness of that element
sourcepub fn remove<D: Default + DynDigest + Clone>(
&self,
element: &E::ScalarField,
sk: &SecretKey<E::ScalarField>,
state: &mut dyn State<E::ScalarField>
) -> Result<Self, VBAccumulatorError>
pub fn remove<D: Default + DynDigest + Clone>( &self, element: &E::ScalarField, sk: &SecretKey<E::ScalarField>, state: &mut dyn State<E::ScalarField> ) -> Result<Self, VBAccumulatorError>
Removes an element from the accumulator. Returns the new value of the accumulator
sourcepub fn add_batch<D: Default + DynDigest + Clone>(
&self,
elements: Vec<E::ScalarField>,
sk: &SecretKey<E::ScalarField>,
params: &SetupParams<E>,
state: &mut dyn State<E::ScalarField>
) -> Result<Vec<KBPositiveAccumulatorWitness<E>>, VBAccumulatorError>
pub fn add_batch<D: Default + DynDigest + Clone>( &self, elements: Vec<E::ScalarField>, sk: &SecretKey<E::ScalarField>, params: &SetupParams<E>, state: &mut dyn State<E::ScalarField> ) -> Result<Vec<KBPositiveAccumulatorWitness<E>>, VBAccumulatorError>
Add a batch of elements to the accumulator. Returns the membership witness of that batch
sourcepub fn remove_batch<D: Default + DynDigest + Clone>(
&self,
elements: &[E::ScalarField],
sk: &SecretKey<E::ScalarField>,
state: &mut dyn State<E::ScalarField>
) -> Result<Self, VBAccumulatorError>
pub fn remove_batch<D: Default + DynDigest + Clone>( &self, elements: &[E::ScalarField], sk: &SecretKey<E::ScalarField>, state: &mut dyn State<E::ScalarField> ) -> Result<Self, VBAccumulatorError>
Removes a batch of elements from the accumulator. Returns the new value of the accumulator
sourcepub fn batch_updates<D: Default + DynDigest + Clone>(
&self,
additions: Vec<E::ScalarField>,
removals: &[E::ScalarField],
sk: &SecretKey<E::ScalarField>,
params: &SetupParams<E>,
state: &mut dyn State<E::ScalarField>
) -> Result<(Self, Vec<KBPositiveAccumulatorWitness<E>>), VBAccumulatorError>
pub fn batch_updates<D: Default + DynDigest + Clone>( &self, additions: Vec<E::ScalarField>, removals: &[E::ScalarField], sk: &SecretKey<E::ScalarField>, params: &SetupParams<E>, state: &mut dyn State<E::ScalarField> ) -> Result<(Self, Vec<KBPositiveAccumulatorWitness<E>>), VBAccumulatorError>
Add and removes batches of elements. Returns the new accumulator value and the membership witnesses of the added batch.
sourcepub fn get_witness<D: Default + DynDigest + Clone>(
&self,
member: &E::ScalarField,
sk: &SecretKey<E::ScalarField>,
params: &SetupParams<E>,
state: &dyn State<E::ScalarField>
) -> Result<KBPositiveAccumulatorWitness<E>, VBAccumulatorError>
pub fn get_witness<D: Default + DynDigest + Clone>( &self, member: &E::ScalarField, sk: &SecretKey<E::ScalarField>, params: &SetupParams<E>, state: &dyn State<E::ScalarField> ) -> Result<KBPositiveAccumulatorWitness<E>, VBAccumulatorError>
Get membership witness of an element
pub fn get_witnesses_for_batch<D: Default + DynDigest + Clone>( &self, members: &[E::ScalarField], sk: &SecretKey<E::ScalarField>, params: &SetupParams<E>, state: &dyn State<E::ScalarField> ) -> Result<Vec<KBPositiveAccumulatorWitness<E>>, VBAccumulatorError>
pub fn verify_membership( &self, member: &E::ScalarField, witness: &KBPositiveAccumulatorWitness<E>, pk: &PublicKey<E>, params: &SetupParams<E> ) -> Result<(), VBAccumulatorError>
pub fn value(&self) -> &E::G1Affine
pub fn from_accumulated(accumulated: E::G1Affine) -> Self
sourcepub fn accumulator_member<D: Default + DynDigest + Clone>(
element: &E::ScalarField,
sk: &SecretKey<E::ScalarField>
) -> E::ScalarField
pub fn accumulator_member<D: Default + DynDigest + Clone>( element: &E::ScalarField, sk: &SecretKey<E::ScalarField> ) -> E::ScalarField
The value corresponding to element
that is added to the non-adaptive accumulator
Trait Implementations§
source§impl<E: Pairing> CanonicalDeserialize for KBPositiveAccumulator<E>
impl<E: Pairing> CanonicalDeserialize for KBPositiveAccumulator<E>
source§fn deserialize_with_mode<R: Read>(
reader: R,
compress: Compress,
validate: Validate
) -> Result<Self, SerializationError>
fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>
The general deserialize method that takes in customization flags.
fn deserialize_compressed<R>(reader: R) -> Result<Self, SerializationError>where
R: Read,
fn deserialize_compressed_unchecked<R>(
reader: R
) -> Result<Self, SerializationError>where
R: Read,
fn deserialize_uncompressed<R>(reader: R) -> Result<Self, SerializationError>where
R: Read,
fn deserialize_uncompressed_unchecked<R>(
reader: R
) -> Result<Self, SerializationError>where
R: Read,
source§impl<E: Pairing> CanonicalSerialize for KBPositiveAccumulator<E>
impl<E: Pairing> CanonicalSerialize for KBPositiveAccumulator<E>
source§fn serialize_with_mode<W: Write>(
&self,
writer: W,
compress: Compress
) -> Result<(), SerializationError>
fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>
The general serialize method that takes in customization flags.
fn serialized_size(&self, compress: Compress) -> usize
fn serialize_compressed<W>(&self, writer: W) -> Result<(), SerializationError>where
W: Write,
fn compressed_size(&self) -> usize
fn serialize_uncompressed<W>(&self, writer: W) -> Result<(), SerializationError>where
W: Write,
fn uncompressed_size(&self) -> usize
source§impl<E: Clone + Pairing> Clone for KBPositiveAccumulator<E>
impl<E: Clone + Pairing> Clone for KBPositiveAccumulator<E>
source§fn clone(&self) -> KBPositiveAccumulator<E>
fn clone(&self) -> KBPositiveAccumulator<E>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'de, E: Pairing> Deserialize<'de> for KBPositiveAccumulator<E>
impl<'de, E: Pairing> Deserialize<'de> for KBPositiveAccumulator<E>
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<E: PartialEq + Pairing> PartialEq for KBPositiveAccumulator<E>
impl<E: PartialEq + Pairing> PartialEq for KBPositiveAccumulator<E>
source§fn eq(&self, other: &KBPositiveAccumulator<E>) -> bool
fn eq(&self, other: &KBPositiveAccumulator<E>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<E: Pairing> Serialize for KBPositiveAccumulator<E>
impl<E: Pairing> Serialize for KBPositiveAccumulator<E>
source§impl<E: Pairing> Valid for KBPositiveAccumulator<E>
impl<E: Pairing> Valid for KBPositiveAccumulator<E>
fn check(&self) -> Result<(), SerializationError>
fn batch_check<'a>(
batch: impl Iterator<Item = &'a Self> + Send
) -> Result<(), SerializationError>where
Self: 'a,
impl<E: Eq + Pairing> Eq for KBPositiveAccumulator<E>
impl<E: Pairing> StructuralPartialEq for KBPositiveAccumulator<E>
Auto Trait Implementations§
impl<E> Freeze for KBPositiveAccumulator<E>
impl<E> RefUnwindSafe for KBPositiveAccumulator<E>
impl<E> Send for KBPositiveAccumulator<E>
impl<E> Sync for KBPositiveAccumulator<E>
impl<E> Unpin for KBPositiveAccumulator<E>
impl<E> UnwindSafe for KBPositiveAccumulator<E>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more