5 #ifndef BITCOIN_VERSIONBITS_H 6 #define BITCOIN_VERSIONBITS_H 100 int GetStateSinceHeightFor(
const CBlockIndex *pindexPrev,
130 #endif // BITCOIN_VERSIONBITS_H Display status of an in-progress BIP9 softfork.
static const int32_t VERSIONBITS_TOP_MASK
What bitmask determines whether versionbits is in use.
ThresholdState
BIP 9 defines a finite-state-machine to deploy a softfork in multiple stages.
int threshold
Number of blocks with the version bit set required to activate the softfork.
BIP9Stats VersionBitsStatistics(const CBlockIndex *pindexPrev, const Consensus::Params ¶ms, Consensus::DeploymentPos pos)
BIP 9 allows multiple softforks to be deployed in parallel.
int period
Length of blocks of the BIP9 signalling period.
ThresholdState VersionBitsState(const CBlockIndex *pindexPrev, const Consensus::Params ¶ms, Consensus::DeploymentPos pos, VersionBitsCache &cache)
Abstract class that implements BIP9-style threshold logic, and caches results.
int count
Number of blocks with the version bit set since the beginning of the current period.
Parameters that influence chain consensus.
int VersionBitsStateSinceHeight(const CBlockIndex *pindexPrev, const Consensus::Params ¶ms, Consensus::DeploymentPos pos, VersionBitsCache &cache)
std::map< const CBlockIndex *, ThresholdState > ThresholdConditionCache
The block chain is a tree shaped structure starting with the genesis block at the root...
static const int32_t VERSIONBITS_LAST_OLD_BLOCK_VERSION
What block version to use for new blocks (pre versionbits)
static const int32_t VERSIONBITS_TOP_BITS
What bits to set in version for versionbits blocks.
int elapsed
Number of blocks elapsed since the beginning of the current period.
bool possible
False if there are not enough blocks left in this period to pass activation threshold.
uint32_t VersionBitsMask(const Consensus::Params ¶ms, Consensus::DeploymentPos pos)
static const int32_t VERSIONBITS_NUM_BITS
Total bits available for versionbits.