git / moonbite-core / src/node/utxo_snapshot.h · raw
// Copyright (c) 2009-2010 Satoshi Nakamoto// Copyright (c) 2009-2019 The Bitcoin Core developers// Distributed under the MIT software license, see the accompanying// file COPYING or http://www.opensource.org/licenses/mit-license.php.#ifndef BITCOIN_NODE_UTXO_SNAPSHOT_H#define BITCOIN_NODE_UTXO_SNAPSHOT_H#include <uint256.h>#include <serialize.h>//! Metadata describing a serialized version of a UTXO set from which an//! assumeutxo CChainState can be constructed.class SnapshotMetadata{public: //! The hash of the block that reflects the tip of the chain for the //! UTXO set contained in this snapshot. uint256 m_base_blockhash; //! The number of coins in the UTXO set contained in this snapshot. Used //! during snapshot load to estimate progress of UTXO set reconstruction. uint64_t m_coins_count = 0; //! Necessary to "fake" the base nChainTx so that we can estimate progress during //! initial block download for the assumeutxo chainstate. unsigned int m_nchaintx = 0; SnapshotMetadata() { } SnapshotMetadata( const uint256& base_blockhash, uint64_t coins_count, unsigned int nchaintx) : m_base_blockhash(base_blockhash), m_coins_count(coins_count), m_nchaintx(nchaintx) { } SERIALIZE_METHODS(SnapshotMetadata, obj) { READWRITE(obj.m_base_blockhash, obj.m_coins_count, obj.m_nchaintx); }};#endif // BITCOIN_NODE_UTXO_SNAPSHOT_H