Struct aptos_types::proof::definition::TransactionAccumulatorSummary
source · [−]pub struct TransactionAccumulatorSummary(pub InMemoryAccumulator<TransactionAccumulatorHasher>);Expand description
An in-memory accumulator for storing a summary of the core transaction info accumulator. It is a summary in the sense that it only stores maximally frozen subtree nodes rather than storing all leaves and internal nodes.
Light clients and light nodes use this type to store their currently verified
view of the transaction accumulator. When verifying state proofs, these clients
attempt to extend their accumulator summary with an AccumulatorConsistencyProof
to verifiably ratchet their trusted view of the accumulator to a newer state.
Tuple Fields
0: InMemoryAccumulator<TransactionAccumulatorHasher>Implementations
sourceimpl TransactionAccumulatorSummary
impl TransactionAccumulatorSummary
pub fn new(
accumulator: InMemoryAccumulator<TransactionAccumulatorHasher>
) -> Result<Self>
pub fn version(&self) -> Version
pub fn root_hash(&self) -> HashValue
sourcepub fn verify_consistency(&self, ledger_info: &LedgerInfo) -> Result<()>
pub fn verify_consistency(&self, ledger_info: &LedgerInfo) -> Result<()>
Verify that this accumulator summary is “consistent” with the given
LedgerInfo, i.e., they both have the same version and accumulator
root hash.
sourcepub fn try_from_genesis_proof(
genesis_proof: AccumulatorConsistencyProof,
target_version: Version
) -> Result<Self>
pub fn try_from_genesis_proof(
genesis_proof: AccumulatorConsistencyProof,
target_version: Version
) -> Result<Self>
Try to build an accumulator summary using a consistency proof starting from pre-genesis.
sourcepub fn try_extend_with_proof(
&self,
consistency_proof: &AccumulatorConsistencyProof,
target_li: &LedgerInfo
) -> Result<Self>
pub fn try_extend_with_proof(
&self,
consistency_proof: &AccumulatorConsistencyProof,
target_li: &LedgerInfo
) -> Result<Self>
Try to extend an existing accumulator summary with a consistency proof
starting from our current version. Then validate that the resulting
accumulator summary is consistent with the given target LedgerInfo.
Trait Implementations
sourceimpl Clone for TransactionAccumulatorSummary
impl Clone for TransactionAccumulatorSummary
sourcefn clone(&self) -> TransactionAccumulatorSummary
fn clone(&self) -> TransactionAccumulatorSummary
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl Debug for TransactionAccumulatorSummary
impl Debug for TransactionAccumulatorSummary
sourceimpl<'de> Deserialize<'de> for TransactionAccumulatorSummary
impl<'de> Deserialize<'de> for TransactionAccumulatorSummary
sourcefn 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
sourceimpl PartialEq<TransactionAccumulatorSummary> for TransactionAccumulatorSummary
impl PartialEq<TransactionAccumulatorSummary> for TransactionAccumulatorSummary
sourcefn eq(&self, other: &TransactionAccumulatorSummary) -> bool
fn eq(&self, other: &TransactionAccumulatorSummary) -> bool
This method tests for self and other values to be equal, and is used
by ==. Read more
sourcefn ne(&self, other: &TransactionAccumulatorSummary) -> bool
fn ne(&self, other: &TransactionAccumulatorSummary) -> bool
This method tests for !=.
impl Eq for TransactionAccumulatorSummary
impl StructuralEq for TransactionAccumulatorSummary
impl StructuralPartialEq for TransactionAccumulatorSummary
Auto Trait Implementations
impl RefUnwindSafe for TransactionAccumulatorSummary
impl Send for TransactionAccumulatorSummary
impl Sync for TransactionAccumulatorSummary
impl Unpin for TransactionAccumulatorSummary
impl UnwindSafe for TransactionAccumulatorSummary
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key and return true if they are equal.
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<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> TestOnlyHash for T where
T: Serialize + ?Sized,
impl<T> TestOnlyHash for T where
T: Serialize + ?Sized,
sourcefn test_only_hash(&self) -> HashValue
fn test_only_hash(&self) -> HashValue
Generates a hash used only for tests.
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
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