Returns the earliest block with specified status_mask flags set after the latest block not having those flags.

Synopsis

Declared in <node/blockstorage.h>

[[requires_capability(0x7fbc8f17b5c8), requires_capability(0x7fbca3f04af8), requires_capability(0x7fbcace16d48), requires_capability(0x7fbca6c589b8), requires_capability(0x7fbcad360158), requires_capability(0x7fbc9fba1f18)]]
CBlockIndex const&
GetFirstBlock(
    CBlockIndex const& upper_block,
    uint32_t status_mask,
    CBlockIndex const* lower_block = nullptr) const;

Description

This function starts from upper_block, which must have all status_mask flags set, and iterates backwards through its ancestors. It continues as long as each block has all status_mask flags set, until reaching the oldest ancestor or lower_block.

Return Value

A reference to the earliest block between upper_block and lower_block, inclusive, such that every block between the returned block and upper_block has status_mask flags set.

Parameters

Name

Description

upper_block

The starting block for the search, which must have all status_mask flags set.

status_mask

Bitmask specifying required status flags.

lower_block

The earliest possible block to return. If null, the search can extend to the genesis block.

Preconditions

  • upper_block must have all status_mask flags set.

  • lower_block must be null or an ancestor of upper_block

Created with MrDocs