pub struct ColumnCommitments<C> { /* private fields */ }Expand description
Commitments for a collection of columns with some metadata.
These columns do not need to belong to the same table, and can have differing lengths.
Implementations§
Source§impl<C: Commitment> ColumnCommitments<C>
 
impl<C: Commitment> ColumnCommitments<C>
Sourcepub fn from_accessor_with_max_bounds(
    table: TableRef,
    columns: &[ColumnField],
    accessor: &impl CommitmentAccessor<C>,
) -> Self
 
pub fn from_accessor_with_max_bounds( table: TableRef, columns: &[ColumnField], accessor: &impl CommitmentAccessor<C>, ) -> Self
Create a new ColumnCommitments for a table from a commitment accessor.
Sourcepub fn commitments(&self) -> &Vec<C>
 
pub fn commitments(&self) -> &Vec<C>
Returns a reference to the stored commitments.
Sourcepub fn column_metadata(&self) -> &ColumnCommitmentMetadataMap
 
pub fn column_metadata(&self) -> &ColumnCommitmentMetadataMap
Returns a reference to the stored column metadata.
Sourcepub fn get_commitment(&self, identifier: &Identifier) -> Option<C>
 
pub fn get_commitment(&self, identifier: &Identifier) -> Option<C>
Returns the commitment with the given identifier.
Sourcepub fn get_metadata(
    &self,
    identifier: &Identifier,
) -> Option<&ColumnCommitmentMetadata>
 
pub fn get_metadata( &self, identifier: &Identifier, ) -> Option<&ColumnCommitmentMetadata>
Returns the metadata for the commitment with the given identifier.
Sourcepub fn iter(
    &self,
) -> Map<Zip<<&'_ ColumnCommitmentMetadataMap as IntoIterator>::IntoIter, Iter<'_, C>>, fn(_: ((&'_ Identifier, &'_ ColumnCommitmentMetadata), &'_ C)) -> (&'_ Identifier, &'_ ColumnCommitmentMetadata, &'_ C)> ⓘ
 
pub fn iter( &self, ) -> Map<Zip<<&'_ ColumnCommitmentMetadataMap as IntoIterator>::IntoIter, Iter<'_, C>>, fn(_: ((&'_ Identifier, &'_ ColumnCommitmentMetadata), &'_ C)) -> (&'_ Identifier, &'_ ColumnCommitmentMetadata, &'_ C)> ⓘ
Iterate over the metadata and commitments by reference.
Sourcepub fn try_from_columns_with_offset<'a, COL>(
    columns: impl IntoIterator<Item = (&'a Identifier, COL)>,
    offset: usize,
    setup: &C::PublicSetup<'_>,
) -> Result<ColumnCommitments<C>, DuplicateIdentifiers>where
    COL: Into<CommittableColumn<'a>>,
 
pub fn try_from_columns_with_offset<'a, COL>(
    columns: impl IntoIterator<Item = (&'a Identifier, COL)>,
    offset: usize,
    setup: &C::PublicSetup<'_>,
) -> Result<ColumnCommitments<C>, DuplicateIdentifiers>where
    COL: Into<CommittableColumn<'a>>,
Returns ColumnCommitments to the provided columns using the given generator offset
Sourcepub fn try_append_rows_with_offset<'a, COL>(
    &mut self,
    columns: impl IntoIterator<Item = (&'a Identifier, COL)>,
    offset: usize,
    setup: &C::PublicSetup<'_>,
) -> Result<(), AppendColumnCommitmentsError>where
    COL: Into<CommittableColumn<'a>>,
 
pub fn try_append_rows_with_offset<'a, COL>(
    &mut self,
    columns: impl IntoIterator<Item = (&'a Identifier, COL)>,
    offset: usize,
    setup: &C::PublicSetup<'_>,
) -> Result<(), AppendColumnCommitmentsError>where
    COL: Into<CommittableColumn<'a>>,
Append rows of data from the provided columns to the existing commitments.
The given generator offset will be used for committing to the new rows. You most likely want this to be equal to the 0-indexed row number of the first new row.
Will error on a variety of mismatches.
See ColumnCommitmentsMismatch for an enumeration of these errors.
Sourcepub fn try_extend_columns_with_offset<'a, COL>(
    &mut self,
    columns: impl IntoIterator<Item = (&'a Identifier, COL)>,
    offset: usize,
    setup: &C::PublicSetup<'_>,
) -> Result<(), DuplicateIdentifiers>where
    COL: Into<CommittableColumn<'a>>,
 
pub fn try_extend_columns_with_offset<'a, COL>(
    &mut self,
    columns: impl IntoIterator<Item = (&'a Identifier, COL)>,
    offset: usize,
    setup: &C::PublicSetup<'_>,
) -> Result<(), DuplicateIdentifiers>where
    COL: Into<CommittableColumn<'a>>,
Add new columns to this ColumnCommitments using the given generator offset.
Sourcepub fn try_add(self, other: Self) -> Result<Self, ColumnCommitmentsMismatch>where
    Self: Sized,
 
pub fn try_add(self, other: Self) -> Result<Self, ColumnCommitmentsMismatch>where
    Self: Sized,
Add two ColumnCommitments together.
Will error on a variety of mismatches.
See ColumnCommitmentsMismatch for an enumeration of these errors.
Sourcepub fn try_sub(self, other: Self) -> Result<Self, ColumnCommitmentsMismatch>where
    Self: Sized,
 
pub fn try_sub(self, other: Self) -> Result<Self, ColumnCommitmentsMismatch>where
    Self: Sized,
Subtract two ColumnCommitments.
Will error on a variety of mismatches.
See ColumnCommitmentsMismatch for an enumeration of these errors.
Trait Implementations§
Source§impl<C: Clone> Clone for ColumnCommitments<C>
 
impl<C: Clone> Clone for ColumnCommitments<C>
Source§fn clone(&self) -> ColumnCommitments<C>
 
fn clone(&self) -> ColumnCommitments<C>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<C: Debug> Debug for ColumnCommitments<C>
 
impl<C: Debug> Debug for ColumnCommitments<C>
Source§impl<C: Default> Default for ColumnCommitments<C>
 
impl<C: Default> Default for ColumnCommitments<C>
Source§fn default() -> ColumnCommitments<C>
 
fn default() -> ColumnCommitments<C>
Source§impl<'de, C> Deserialize<'de> for ColumnCommitments<C>where
    C: Deserialize<'de>,
 
impl<'de, C> Deserialize<'de> for ColumnCommitments<C>where
    C: Deserialize<'de>,
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>,
Source§impl<C> FromIterator<(Identifier, ColumnCommitmentMetadata, C)> for ColumnCommitments<C>
 
impl<C> FromIterator<(Identifier, ColumnCommitmentMetadata, C)> for ColumnCommitments<C>
Source§fn from_iter<T: IntoIterator<Item = (Identifier, ColumnCommitmentMetadata, C)>>(
    iter: T,
) -> Self
 
fn from_iter<T: IntoIterator<Item = (Identifier, ColumnCommitmentMetadata, C)>>( iter: T, ) -> Self
Source§impl<'a, C> IntoIterator for &'a ColumnCommitments<C>
 
impl<'a, C> IntoIterator for &'a ColumnCommitments<C>
Source§type Item = (&'a Identifier, &'a ColumnCommitmentMetadata, &'a C)
 
type Item = (&'a Identifier, &'a ColumnCommitmentMetadata, &'a C)
Source§type IntoIter = Map<Zip<<&'a IndexMap<Identifier, ColumnCommitmentMetadata, BuildHasherDefault<AHasher>> as IntoIterator>::IntoIter, Iter<'a, C>>, fn(_: ((&'a Identifier, &'a ColumnCommitmentMetadata), &'a C)) -> (&'a Identifier, &'a ColumnCommitmentMetadata, &'a C)>
 
type IntoIter = Map<Zip<<&'a IndexMap<Identifier, ColumnCommitmentMetadata, BuildHasherDefault<AHasher>> as IntoIterator>::IntoIter, Iter<'a, C>>, fn(_: ((&'a Identifier, &'a ColumnCommitmentMetadata), &'a C)) -> (&'a Identifier, &'a ColumnCommitmentMetadata, &'a C)>
Source§impl<C> IntoIterator for ColumnCommitments<C>
 
impl<C> IntoIterator for ColumnCommitments<C>
Source§type Item = (Identifier, ColumnCommitmentMetadata, C)
 
type Item = (Identifier, ColumnCommitmentMetadata, C)
Source§type IntoIter = Map<Zip<<IndexMap<Identifier, ColumnCommitmentMetadata, BuildHasherDefault<AHasher>> as IntoIterator>::IntoIter, IntoIter<C>>, fn(_: ((Identifier, ColumnCommitmentMetadata), C)) -> (Identifier, ColumnCommitmentMetadata, C)>
 
type IntoIter = Map<Zip<<IndexMap<Identifier, ColumnCommitmentMetadata, BuildHasherDefault<AHasher>> as IntoIterator>::IntoIter, IntoIter<C>>, fn(_: ((Identifier, ColumnCommitmentMetadata), C)) -> (Identifier, ColumnCommitmentMetadata, C)>
Source§impl<C: PartialEq> PartialEq for ColumnCommitments<C>
 
impl<C: PartialEq> PartialEq for ColumnCommitments<C>
Source§impl<C> Serialize for ColumnCommitments<C>where
    C: Serialize,
 
impl<C> Serialize for ColumnCommitments<C>where
    C: Serialize,
impl<C: Eq> Eq for ColumnCommitments<C>
impl<C> StructuralPartialEq for ColumnCommitments<C>
Auto Trait Implementations§
impl<C> Freeze for ColumnCommitments<C>
impl<C> RefUnwindSafe for ColumnCommitments<C>where
    C: RefUnwindSafe,
impl<C> Send for ColumnCommitments<C>where
    C: Send,
impl<C> Sync for ColumnCommitments<C>where
    C: Sync,
impl<C> Unpin for ColumnCommitments<C>where
    C: Unpin,
impl<C> UnwindSafe for ColumnCommitments<C>where
    C: UnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
 
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more