Struct arkworks_gadgets::merkle_tree::SparseMerkleTree
source · [−]Expand description
Merkle sparse tree
Fields
tree: BTreeMap<u64, Node<P>>
data of the tree
Implementations
sourceimpl<P: Config> SparseMerkleTree<P>
impl<P: Config> SparseMerkleTree<P>
sourcepub fn blank(
inner_params: Rc<<<P as Config>::H as CRH>::Parameters>,
leaf_params: Rc<<<P as Config>::LeafH as CRH>::Parameters>
) -> Self
pub fn blank(
inner_params: Rc<<<P as Config>::H as CRH>::Parameters>,
leaf_params: Rc<<<P as Config>::LeafH as CRH>::Parameters>
) -> Self
obtain an empty tree
pub fn insert_batch<L: Default + ToBytes>(
&mut self,
leaves: &BTreeMap<u32, L>
) -> Result<(), Error>
sourcepub fn new<L: Default + ToBytes>(
inner_params: Rc<<<P as Config>::H as CRH>::Parameters>,
leaf_params: Rc<<<P as Config>::LeafH as CRH>::Parameters>,
leaves: &BTreeMap<u32, L>
) -> Result<Self, Error>
pub fn new<L: Default + ToBytes>(
inner_params: Rc<<<P as Config>::H as CRH>::Parameters>,
leaf_params: Rc<<<P as Config>::LeafH as CRH>::Parameters>,
leaves: &BTreeMap<u32, L>
) -> Result<Self, Error>
initialize a tree (with optional data)
pub fn new_sequential<L: Default + ToBytes + Clone>(
inner_params: Rc<<<P as Config>::H as CRH>::Parameters>,
leaf_params: Rc<<<P as Config>::LeafH as CRH>::Parameters>,
leaves: &[L]
) -> Result<Self, Error>
sourcepub fn generate_membership_proof<const N: usize>(
&self,
index: u64
) -> Path<P, N>
pub fn generate_membership_proof<const N: usize>(
&self,
index: u64
) -> Path<P, N>
generate a membership proof (does not check the data point)
Auto Trait Implementations
impl<P> RefUnwindSafe for SparseMerkleTree<P> where
<<P as Config>::H as CRH>::Output: RefUnwindSafe,
<<P as Config>::LeafH as CRH>::Output: RefUnwindSafe,
<<P as Config>::H as CRH>::Parameters: RefUnwindSafe,
<<P as Config>::LeafH as CRH>::Parameters: RefUnwindSafe,
impl<P> !Send for SparseMerkleTree<P>
impl<P> !Sync for SparseMerkleTree<P>
impl<P> Unpin for SparseMerkleTree<P> where
<<P as Config>::H as CRH>::Output: Unpin,
<<P as Config>::LeafH as CRH>::Output: Unpin,
impl<P> UnwindSafe for SparseMerkleTree<P> where
<<P as Config>::H as CRH>::Output: UnwindSafe + RefUnwindSafe,
<<P as Config>::LeafH as CRH>::Output: UnwindSafe + RefUnwindSafe,
<<P as Config>::H as CRH>::Parameters: RefUnwindSafe,
<<P as Config>::LeafH as CRH>::Parameters: RefUnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more