17 std::optional<CDiskBlockIndex> disk_block_index = ConsumeDeserializable<CDiskBlockIndex>(fuzzed_data_provider);
18 if (!disk_block_index) {
23 disk_block_index->phashBlock = &zero;
26 (void)disk_block_index->ConstructBlockHash();
27 (void)disk_block_index->GetBlockPos();
28 (void)disk_block_index->GetBlockTime();
29 (void)disk_block_index->GetBlockTimeMax();
30 (void)disk_block_index->GetMedianTimePast();
31 (void)disk_block_index->GetUndoPos();
32 (void)disk_block_index->HaveNumChainTxs();
33 (void)disk_block_index->IsValid();
36 const CBlockHeader block_header = disk_block_index->GetBlockHeader();
41 const BlockStatus block_status = fuzzed_data_provider.PickValueInArray({
64 block_index.phashBlock = &zero;
65 (void)block_index.GetBlockHash();
66 (void)block_index.ToString();
descends from failed block
Reserved (was BLOCK_VALID_HEADER).
All parent headers found, difficulty matches, timestamp >= median previous, checkpoint.
stage after last reached validness failed
Only first tx is coinbase, 2 <= coinbase input script length <= 100, transactions valid...
#define LIMITED_WHILE(condition, limit)
Can be used to limit a theoretically unbounded loop.
undo data available in rev*.dat
Outputs do not overspend inputs, no double spends, coinbase output ok, no immature coinbase spends...
void BuildSkip()
Build the skiplist pointer for this entry.
Used to marshal pointers into hashes for db storage.
#define WITH_LOCK(cs, code)
Run code while locking a mutex.
block data in blk*.dat was received with a witness-enforcing client
The block chain is a tree shaped structure starting with the genesis block at the root...
full block available in blk*.dat
RecursiveMutex cs_main
Mutex to guard access to validation specific variables, such as reading or changing the chainstate...