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(0x7f2e1b0997e8), requires_capability(0x7f2e26d1af48), requires_capability(0x7f2e375e1028), requires_capability(0x7f2e333683e8), requires_capability(0x7f2e3542f3d8), requires_capability(0x7f2e28a73f38)]]
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