pub struct HierarchicalProof<const M: usize, const N: usize, const D: usize> {
pub outer_commitment: RqVector<M, D>,
pub outer_opening: Opening<N, D>,
pub inner_commitments: Vec<RqVector<M, D>>,
pub inner_openings: Vec<Opening<N, D>>,
pub flattened_parts: Vec<Rq<D>>,
}
Expand description
Proof structure for hierarchical commitments Contains all information needed to verify the commitment structure:
- Outer commitment and its opening
- All inner commitments and their openings
- The flattened decomposed parts for consistency checking
Fields§
§outer_commitment: RqVector<M, D>
Outer commitment that summarizes inner commitments
outer_opening: Opening<N, D>
Opening information for the outer commitment
inner_commitments: Vec<RqVector<M, D>>
Inner commitments for individual witnesses
inner_openings: Vec<Opening<N, D>>
Opening information for each inner commitment
flattened_parts: Vec<Rq<D>>
Flattened parts of all inner commitments
Trait Implementations§
Auto Trait Implementations§
impl<const M: usize, const N: usize, const D: usize> Freeze for HierarchicalProof<M, N, D>
impl<const M: usize, const N: usize, const D: usize> RefUnwindSafe for HierarchicalProof<M, N, D>
impl<const M: usize, const N: usize, const D: usize> Send for HierarchicalProof<M, N, D>
impl<const M: usize, const N: usize, const D: usize> Sync for HierarchicalProof<M, N, D>
impl<const M: usize, const N: usize, const D: usize> Unpin for HierarchicalProof<M, N, D>
impl<const M: usize, const N: usize, const D: usize> UnwindSafe for HierarchicalProof<M, N, D>
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