|
uint64_t | GetBogoSize (const CScript &script_pub_key) |
|
CDataStream | TxOutSer (const COutPoint &outpoint, const Coin &coin) |
|
static void | ApplyHash (CHashWriter &ss, 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...
|
|
static void | ApplyHash (std::nullptr_t, const uint256 &hash, const std::map< uint32_t, Coin > &outputs) |
|
static void | ApplyHash (MuHash3072 &muhash, const uint256 &hash, const std::map< uint32_t, Coin > &outputs) |
|
static void | ApplyStats (CCoinsStats &stats, const uint256 &hash, const std::map< uint32_t, Coin > &outputs) |
|
template<typename T > |
static bool | GetUTXOStats (CCoinsView *view, BlockManager &blockman, CCoinsStats &stats, T hash_obj, const std::function< void()> &interruption_point, const CBlockIndex *pindex) |
| Calculate statistics about the unspent transaction output set. More...
|
|
bool | GetUTXOStats (CCoinsView *view, BlockManager &blockman, CCoinsStats &stats, const std::function< void()> &interruption_point, const CBlockIndex *pindex) |
| 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) |
|
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 50 of file coinstats.cpp.