Struct diem_sdk::types::proof::definition::AccumulatorRangeProof
pub struct AccumulatorRangeProof<H> { /* private fields */ }
Expand description
A proof that is similar to AccumulatorProof
, but can be used to authenticate a range of
leaves. For example, given the following accumulator:
root
/ \
/ \
/ \
o o
/ \ / \
/ \ / \
X o o Y
/ \ / \ / \ / \
o o a b c Z o o
if the proof wants to show that [a, b, c]
exists in the accumulator, it would need X
on the
left and Y
and Z
on the right.
Implementations§
§impl<H> AccumulatorRangeProof<H>where
H: CryptoHasher,
impl<H> AccumulatorRangeProof<H>where H: CryptoHasher,
pub fn new(
left_siblings: Vec<HashValue, Global>,
right_siblings: Vec<HashValue, Global>
) -> AccumulatorRangeProof<H>
pub fn new( left_siblings: Vec<HashValue, Global>, right_siblings: Vec<HashValue, Global> ) -> AccumulatorRangeProof<H>
Constructs a new AccumulatorRangeProof
using left_siblings
and right_siblings
.
pub fn new_empty() -> AccumulatorRangeProof<H>
pub fn new_empty() -> AccumulatorRangeProof<H>
Constructs a new AccumulatorRangeProof
for an empty list of leaves.
pub fn left_siblings(&self) -> &Vec<HashValue, Global> ⓘ
pub fn left_siblings(&self) -> &Vec<HashValue, Global> ⓘ
Get all the left siblngs.
pub fn right_siblings(&self) -> &Vec<HashValue, Global> ⓘ
pub fn right_siblings(&self) -> &Vec<HashValue, Global> ⓘ
Get all the right siblngs.
Trait Implementations§
§impl<H> Arbitrary for AccumulatorRangeProof<H>where
H: CryptoHasher,
impl<H> Arbitrary for AccumulatorRangeProof<H>where H: CryptoHasher,
§type Parameters = ()
type Parameters = ()
The type of parameters that
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.§type Strategy = BoxedStrategy<AccumulatorRangeProof<H>>
type Strategy = BoxedStrategy<AccumulatorRangeProof<H>>
The type of
Strategy
used to generate values of type Self
.§fn arbitrary_with(
_args: <AccumulatorRangeProof<H> as Arbitrary>::Parameters
) -> <AccumulatorRangeProof<H> as Arbitrary>::Strategy
fn arbitrary_with( _args: <AccumulatorRangeProof<H> as Arbitrary>::Parameters ) -> <AccumulatorRangeProof<H> as Arbitrary>::Strategy
§impl<H> Clone for AccumulatorRangeProof<H>where
H: Clone,
impl<H> Clone for AccumulatorRangeProof<H>where H: Clone,
§fn clone(&self) -> AccumulatorRangeProof<H>
fn clone(&self) -> AccumulatorRangeProof<H>
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 more§impl<H> Debug for AccumulatorRangeProof<H>
impl<H> Debug for AccumulatorRangeProof<H>
§impl<'de, H> Deserialize<'de> for AccumulatorRangeProof<H>
impl<'de, H> Deserialize<'de> for AccumulatorRangeProof<H>
§fn deserialize<__D>(
__deserializer: __D
) -> Result<AccumulatorRangeProof<H>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<AccumulatorRangeProof<H>, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl<H> PartialEq<AccumulatorRangeProof<H>> for AccumulatorRangeProof<H>
impl<H> PartialEq<AccumulatorRangeProof<H>> for AccumulatorRangeProof<H>
§fn eq(&self, other: &AccumulatorRangeProof<H>) -> bool
fn eq(&self, other: &AccumulatorRangeProof<H>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.§impl<H> Serialize for AccumulatorRangeProof<H>
impl<H> Serialize for AccumulatorRangeProof<H>
§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where __S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl<H> Eq for AccumulatorRangeProof<H>
Auto Trait Implementations§
impl<H> RefUnwindSafe for AccumulatorRangeProof<H>where H: RefUnwindSafe,
impl<H> Send for AccumulatorRangeProof<H>where H: Send,
impl<H> Sync for AccumulatorRangeProof<H>where H: Sync,
impl<H> Unpin for AccumulatorRangeProof<H>where H: Unpin,
impl<H> UnwindSafe for AccumulatorRangeProof<H>where H: UnwindSafe,
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
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>
§impl<T> TestOnlyHash for Twhere
T: Serialize + ?Sized,
impl<T> TestOnlyHash for Twhere T: Serialize + ?Sized,
§fn test_only_hash(&self) -> HashValue
fn test_only_hash(&self) -> HashValue
Generates a hash used only for tests.