|
static uint64_t | GetBogoSize (const CScript &scriptPubKey) |
|
static void | ApplyHash (CCoinsStats &stats, CHashWriter &ss, const uint256 &hash, const std::map< uint32_t, Coin > &outputs, std::map< uint32_t, Coin >::const_iterator it) |
|
static void | ApplyHash (CCoinsStats &stats, std::nullptr_t, const uint256 &hash, const std::map< uint32_t, Coin > &outputs, std::map< uint32_t, Coin >::const_iterator it) |
|
static void | ApplyHash (CCoinsStats &stats, MuHash3072 &muhash, const uint256 &hash, const std::map< uint32_t, Coin > &outputs, std::map< uint32_t, Coin >::const_iterator it) |
|
template<typename T > |
static void | ApplyStats (CCoinsStats &stats, T &hash_obj, const uint256 &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...
|
|
template<typename T > |
static bool | GetUTXOStats (CCoinsView *view, BlockManager &blockman, CCoinsStats &stats, T hash_obj, const std::function< void()> &interruption_point) |
| Calculate statistics about the unspent transaction output set. More...
|
|
bool | GetUTXOStats (CCoinsView *view, BlockManager &blockman, CCoinsStats &stats, CoinStatsHashType hash_type, const std::function< void()> &interruption_point) |
| Calculate statistics about the unspent transaction output set. More...
|
|
static void | PrepareHash (CHashWriter &ss, const CCoinsStats &stats) |
|
static void | PrepareHash (MuHash3072 &muhash, CCoinsStats &stats) |
|
static void | PrepareHash (std::nullptr_t, CCoinsStats &stats) |
|
static void | FinalizeHash (CHashWriter &ss, CCoinsStats &stats) |
|
static void | FinalizeHash (MuHash3072 &muhash, CCoinsStats &stats) |
|
static void | FinalizeHash (std::nullptr_t, CCoinsStats &stats) |
|
template<typename T >
static void ApplyStats |
( |
CCoinsStats & |
stats, |
|
|
T & |
hash_obj, |
|
|
const uint256 & |
hash, |
|
|
const std::map< uint32_t, Coin > & |
outputs |
|
) |
| |
|
static |
Warning: be very careful when changing this! assumeutxo and UTXO snapshot validation commitments are reliant on the hash constructed by this function.
If the construction of this hash is changed, it will invalidate existing UTXO snapshots. This will not result in any kind of consensus failure, but it will force clients that were expecting to make use of assumeutxo to do traditional IBD instead.
It is also possible, though very unlikely, that a change in this construction could cause a previously invalid (and potentially malicious) UTXO snapshot to be considered valid.
Definition at line 72 of file coinstats.cpp.