17    std::optional<CDiskBlockIndex> disk_block_index = ConsumeDeserializable<CDiskBlockIndex>(fuzzed_data_provider);
 
   18    if (!disk_block_index) {
 
   23    disk_block_index->phashBlock = &zero;
 
   24    (void)disk_block_index->GetBlockHash();
 
   25    (void)disk_block_index->GetBlockPos();
 
   26    (void)disk_block_index->GetBlockTime();
 
   27    (void)disk_block_index->GetBlockTimeMax();
 
   28    (void)disk_block_index->GetMedianTimePast();
 
   29    (void)disk_block_index->GetUndoPos();
 
   30    (void)disk_block_index->HaveTxsDownloaded();
 
   31    (void)disk_block_index->IsValid();
 
   34    const CBlockHeader block_header = disk_block_index->GetBlockHeader();
 
   58        (void)disk_block_index->RaiseValidity(block_status);
 
   62    block_index.phashBlock = &zero;
 
   63    (void)block_index.GetBlockHash();
 
   64    (void)block_index.ToString();
 
@ BLOCK_VALID_CHAIN
Outputs do not overspend inputs, no double spends, coinbase output ok, no immature coinbase spends,...
@ BLOCK_VALID_MASK
All validity bits.
@ BLOCK_VALID_TRANSACTIONS
Only first tx is coinbase, 2 <= coinbase input script length <= 100, transactions valid,...
@ BLOCK_VALID_SCRIPTS
Scripts & signatures ok. Implies all parents are also at least SCRIPTS.
@ BLOCK_VALID_RESERVED
Reserved (was BLOCK_VALID_HEADER).
@ BLOCK_VALID_TREE
All parent headers found, difficulty matches, timestamp >= median previous, checkpoint.
@ BLOCK_HAVE_UNDO
undo data available in rev*.dat
@ BLOCK_HAVE_DATA
full block available in blk*.dat
@ BLOCK_FAILED_CHILD
descends from failed block
@ BLOCK_FAILED_VALID
stage after last reached validness failed
@ BLOCK_OPT_WITNESS
block data in blk*.dat was received with a witness-enforcing client
@ BLOCK_VALID_UNKNOWN
Unused.
The block chain is a tree shaped structure starting with the genesis block at the root,...
void BuildSkip()
Build the skiplist pointer for this entry.
Used to marshal pointers into hashes for db storage.
T PickValueInArray(const T(&array)[size])
std::string ToString() const