Struct diem_types::proof::definition::AccumulatorConsistencyProof
source · pub struct AccumulatorConsistencyProof { /* private fields */ }
Expand description
A proof that can be used to show that two Merkle accumulators are consistent – the big one can
be obtained by appending certain leaves to the small one. For example, at some point in time a
client knows that the root hash of the ledger at version 10 is old_root
(it could be a
waypoint). If a server wants to prove that the new ledger at version N
is derived from the
old ledger the client knows, it can show the subtrees that represent all the new leaves. If
the client can verify that it can indeed obtain the new root hash by appending these new
leaves, it can be convinced that the two accumulators are consistent.
See [crate::proof::accumulator::Accumulator::append_subtrees
] for more details.
Implementations§
Trait Implementations§
source§impl Arbitrary for AccumulatorConsistencyProof
impl Arbitrary for AccumulatorConsistencyProof
§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<AccumulatorConsistencyProof>
type Strategy = BoxedStrategy<AccumulatorConsistencyProof>
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 Clone for AccumulatorConsistencyProof
impl Clone for AccumulatorConsistencyProof
source§fn clone(&self) -> AccumulatorConsistencyProof
fn clone(&self) -> AccumulatorConsistencyProof
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 Debug for AccumulatorConsistencyProof
impl Debug for AccumulatorConsistencyProof
source§impl<'de> Deserialize<'de> for AccumulatorConsistencyProof
impl<'de> Deserialize<'de> for AccumulatorConsistencyProof
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 PartialEq<AccumulatorConsistencyProof> for AccumulatorConsistencyProof
impl PartialEq<AccumulatorConsistencyProof> for AccumulatorConsistencyProof
source§fn eq(&self, other: &AccumulatorConsistencyProof) -> bool
fn eq(&self, other: &AccumulatorConsistencyProof) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for AccumulatorConsistencyProof
impl StructuralEq for AccumulatorConsistencyProof
impl StructuralPartialEq for AccumulatorConsistencyProof
Auto Trait Implementations§
impl RefUnwindSafe for AccumulatorConsistencyProof
impl Send for AccumulatorConsistencyProof
impl Sync for AccumulatorConsistencyProof
impl Unpin for AccumulatorConsistencyProof
impl UnwindSafe for AccumulatorConsistencyProof
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.