Bitcoin Core  27.99.0
P2P Digital Currency
Namespaces | Functions
coinstats.cpp File Reference
#include <kernel/coinstats.h>
#include <chain.h>
#include <coins.h>
#include <crypto/muhash.h>
#include <hash.h>
#include <logging.h>
#include <node/blockstorage.h>
#include <primitives/transaction.h>
#include <script/script.h>
#include <serialize.h>
#include <span.h>
#include <streams.h>
#include <sync.h>
#include <tinyformat.h>
#include <uint256.h>
#include <util/check.h>
#include <util/overflow.h>
#include <validation.h>
#include <cassert>
#include <iosfwd>
#include <iterator>
#include <map>
#include <memory>
#include <string>
#include <utility>
Include dependency graph for coinstats.cpp:

Go to the source code of this file.

Namespaces

 kernel
 

Functions

uint64_t kernel::GetBogoSize (const CScript &script_pub_key)
 
template<typename T >
static void kernel::TxOutSer (T &ss, const COutPoint &outpoint, const Coin &coin)
 
static void kernel::ApplyCoinHash (HashWriter &ss, const COutPoint &outpoint, const Coin &coin)
 
void kernel::ApplyCoinHash (MuHash3072 &muhash, const COutPoint &outpoint, const Coin &coin)
 
void kernel::RemoveCoinHash (MuHash3072 &muhash, const COutPoint &outpoint, const Coin &coin)
 
static void kernel::ApplyCoinHash (std::nullptr_t, const COutPoint &outpoint, const Coin &coin)
 
template<typename T >
static void kernel::ApplyHash (T &hash_obj, const Txid &hash, const std::map< uint32_t, Coin > &outputs)
 Warning: be very careful when changing this! assumeutxo and UTXO snapshot validation commitments are reliant on the hash constructed by this function. More...
 
static void kernel::ApplyStats (CCoinsStats &stats, const uint256 &hash, const std::map< uint32_t, Coin > &outputs)
 
template<typename T >
static bool kernel::ComputeUTXOStats (CCoinsView *view, CCoinsStats &stats, T hash_obj, const std::function< void()> &interruption_point)
 Calculate statistics about the unspent transaction output set. More...
 
std::optional< CCoinsStats > kernel::ComputeUTXOStats (CoinStatsHashType hash_type, CCoinsView *view, node::BlockManager &blockman, const std::function< void()> &interruption_point)
 
static void kernel::FinalizeHash (HashWriter &ss, CCoinsStats &stats)
 
static void kernel::FinalizeHash (MuHash3072 &muhash, CCoinsStats &stats)
 
static void kernel::FinalizeHash (std::nullptr_t, CCoinsStats &stats)