Bitcoin ABC 0.26.3
P2P Digital Currency
Loading...
Searching...
No Matches
coinstats.h
Go to the documentation of this file.
1// Copyright (c) 2022 The Bitcoin Core developers
2// Distributed under the MIT software license, see the accompanying
3// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5#ifndef BITCOIN_KERNEL_COINSTATS_H
6#define BITCOIN_KERNEL_COINSTATS_H
7
8#include <chain.h>
9#include <coins.h>
10#include <consensus/amount.h>
11#include <streams.h>
12#include <uint256.h>
13
14#include <cstdint>
15#include <functional>
16
17class CCoinsView;
18namespace node {
19class BlockManager;
20} // namespace node
21
22namespace kernel {
25 MUHASH,
26 NONE,
27};
28
75
77
78CDataStream TxOutSer(const COutPoint &outpoint, const Coin &coin);
79
80std::optional<CCoinsStats>
83 const std::function<void()> &interruption_point = {});
84} // namespace kernel
85
86#endif // BITCOIN_KERNEL_COINSTATS_H
Abstract view on the open txout dataset.
Definition coins.h:163
Double ended buffer combining vector and stream-like interfaces.
Definition streams.h:177
An outpoint - a combination of a transaction hash and an index n into its vout.
Definition transaction.h:20
Serialized script, used inside transaction inputs and outputs.
Definition script.h:424
A UTXO entry.
Definition coins.h:28
Maintains a tree of blocks (stored in m_block_index) which is consulted to determine where the most-w...
256-bit opaque blob.
Definition uint256.h:129
std::optional< CCoinsStats > ComputeUTXOStats(CoinStatsHashType hash_type, CCoinsView *view, node::BlockManager &blockman, const std::function< void()> &interruption_point)
CDataStream TxOutSer(const COutPoint &outpoint, const Coin &coin)
Definition coinstats.cpp:28
CoinStatsHashType
Definition coinstats.h:23
uint64_t GetBogoSize(const CScript &script_pub_key)
Definition coinstats.cpp:22
Definition init.h:28
T GetRand(T nMax=std::numeric_limits< T >::max()) noexcept
Generate a uniform random integer of type T in the range [0..nMax) nMax defaults to std::numeric_limi...
Definition random.h:85
static constexpr Amount zero() noexcept
Definition amount.h:32
A BlockHash is a unqiue identifier for a block.
Definition blockhash.h:13
Amount total_subsidy
Total cumulative amount of block subsidies up to and including this block.
Definition coinstats.h:49
Amount total_unspendables_scripts
Total cumulative amount of outputs sent to unspendable scripts (OP_RETURN for example) up to and incl...
Definition coinstats.h:67
Amount total_coinbase_amount
Total cumulative amount of coinbase outputs up to and including this block.
Definition coinstats.h:60
Amount total_unspendables_genesis_block
The unspendable coinbase amount from the genesis block.
Definition coinstats.h:62
uint64_t coins_count
The number of coins contained.
Definition coinstats.h:40
uint64_t nTransactions
Definition coinstats.h:32
uint64_t nTransactionOutputs
Definition coinstats.h:33
bool index_used
Signals if the coinstatsindex was used to retrieve the statistics.
Definition coinstats.h:43
Amount total_unspendables_bip30
The two unspendable coinbase outputs total amount caused by BIP30.
Definition coinstats.h:64
Amount total_prevout_spent_amount
Total cumulative amount of prevouts spent up to and including this block.
Definition coinstats.h:54
BlockHash hashBlock
Definition coinstats.h:31
Amount total_unspendables_unclaimed_rewards
Total cumulative amount of coins lost due to unclaimed miner rewards up to and including this block.
Definition coinstats.h:70
uint256 hashSerialized
Definition coinstats.h:35
Amount total_new_outputs_ex_coinbase_amount
Total cumulative amount of outputs created up to and including this block.
Definition coinstats.h:57
Amount total_unspendable_amount
Total cumulative amount of unspendable coins up to and including this block.
Definition coinstats.h:52