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