Struct diem_types::proof::definition::AccumulatorRangeProof
source · 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§
source§impl<H> AccumulatorRangeProof<H>where
H: CryptoHasher,
impl<H> AccumulatorRangeProof<H>where H: CryptoHasher,
sourcepub fn new(left_siblings: Vec<HashValue>, right_siblings: Vec<HashValue>) -> Self
pub fn new(left_siblings: Vec<HashValue>, right_siblings: Vec<HashValue>) -> Self
Constructs a new AccumulatorRangeProof
using left_siblings
and right_siblings
.
sourcepub fn left_siblings(&self) -> &Vec<HashValue> ⓘ
pub fn left_siblings(&self) -> &Vec<HashValue> ⓘ
Get all the left siblngs.
sourcepub fn right_siblings(&self) -> &Vec<HashValue> ⓘ
pub fn right_siblings(&self) -> &Vec<HashValue> ⓘ
Get all the right siblngs.
Trait Implementations§
source§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
.source§fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
source§impl<H: Clone> Clone for AccumulatorRangeProof<H>
impl<H: Clone> Clone for AccumulatorRangeProof<H>
source§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 moresource§impl<H> Debug for AccumulatorRangeProof<H>
impl<H> Debug for AccumulatorRangeProof<H>
source§impl<'de, H> Deserialize<'de> for AccumulatorRangeProof<H>
impl<'de, H> Deserialize<'de> for AccumulatorRangeProof<H>
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<H> PartialEq<AccumulatorRangeProof<H>> for AccumulatorRangeProof<H>
impl<H> PartialEq<AccumulatorRangeProof<H>> for AccumulatorRangeProof<H>
source§impl<H> Serialize for AccumulatorRangeProof<H>
impl<H> Serialize for AccumulatorRangeProof<H>
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> TestOnlyHash for Twhere
T: Serialize + ?Sized,
impl<T> TestOnlyHash for Twhere T: Serialize + ?Sized,
source§fn test_only_hash(&self) -> HashValue
fn test_only_hash(&self) -> HashValue
Generates a hash used only for tests.