Bitcoin ABC 0.31.3
P2P Digital Currency
Public Member Functions | Public Attributes | Private Attributes | Static Private Attributes | List of all members
node::SnapshotMetadata Class Reference

Metadata describing a serialized version of a UTXO set from which an assumeutxo Chainstate can be constructed. More...

#include <utxo_snapshot.h>

Collaboration diagram for node::SnapshotMetadata:
[legend]

Public Member Functions

 SnapshotMetadata ()
 
 SnapshotMetadata (const BlockHash &base_blockhash, uint64_t coins_count)
 
template<typename Stream >
void Serialize (Stream &s) const
 
template<typename Stream >
void Unserialize (Stream &s)
 

Public Attributes

BlockHash m_base_blockhash
 The hash of the block that reflects the tip of the chain for the UTXO set contained in this snapshot. More...
 
uint64_t m_coins_count = 0
 The number of coins in the UTXO set contained in this snapshot. More...
 

Private Attributes

const std::set< uint16_t > m_supported_versions {VERSION}
 

Static Private Attributes

static const uint16_t VERSION {2}
 

Detailed Description

Metadata describing a serialized version of a UTXO set from which an assumeutxo Chainstate can be constructed.

All metadata fields come from an untrusted file, so must be validated before being used. Thus, new fields should be added only if needed.

Definition at line 30 of file utxo_snapshot.h.

Constructor & Destructor Documentation

◆ SnapshotMetadata() [1/2]

node::SnapshotMetadata::SnapshotMetadata ( )
inline

Definition at line 43 of file utxo_snapshot.h.

◆ SnapshotMetadata() [2/2]

node::SnapshotMetadata::SnapshotMetadata ( const BlockHash base_blockhash,
uint64_t  coins_count 
)
inline

Definition at line 44 of file utxo_snapshot.h.

Member Function Documentation

◆ Serialize()

template<typename Stream >
void node::SnapshotMetadata::Serialize ( Stream &  s) const
inline

Definition at line 47 of file utxo_snapshot.h.

Here is the call graph for this function:

◆ Unserialize()

template<typename Stream >
void node::SnapshotMetadata::Unserialize ( Stream &  s)
inline

Definition at line 55 of file utxo_snapshot.h.

Here is the call graph for this function:

Member Data Documentation

◆ m_base_blockhash

BlockHash node::SnapshotMetadata::m_base_blockhash

The hash of the block that reflects the tip of the chain for the UTXO set contained in this snapshot.

Definition at line 37 of file utxo_snapshot.h.

◆ m_coins_count

uint64_t node::SnapshotMetadata::m_coins_count = 0

The number of coins in the UTXO set contained in this snapshot.

Used during snapshot load to estimate progress of UTXO set reconstruction.

Definition at line 41 of file utxo_snapshot.h.

◆ m_supported_versions

const std::set<uint16_t> node::SnapshotMetadata::m_supported_versions {VERSION}
private

Definition at line 32 of file utxo_snapshot.h.

◆ VERSION

const uint16_t node::SnapshotMetadata::VERSION {2}
inlinestaticprivate

Definition at line 31 of file utxo_snapshot.h.


The documentation for this class was generated from the following file: