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(0x7ff37af17058), requires_capability(0x7ff376b84038), requires_capability(0x7ff37ded1c28), requires_capability(0x7ff36c616e48), requires_capability(0x7ff37c49aca8), requires_capability(0x7ff39283d6a8)]]
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