![]() |
Bitcoin Core
21.99.0
P2P Digital Currency
|
Go to the source code of this file.
Classes | |
struct | BIP9Stats |
Display status of an in-progress BIP9 softfork. More... | |
class | AbstractThresholdConditionChecker |
Abstract class that implements BIP9-style threshold logic, and caches results. More... | |
struct | VersionBitsCache |
BIP 9 allows multiple softforks to be deployed in parallel. More... | |
Typedefs | |
typedef std::map< const CBlockIndex *, ThresholdState > | ThresholdConditionCache |
Enumerations | |
enum | ThresholdState { ThresholdState::DEFINED, ThresholdState::STARTED, ThresholdState::LOCKED_IN, ThresholdState::ACTIVE, ThresholdState::FAILED } |
BIP 9 defines a finite-state-machine to deploy a softfork in multiple stages. More... | |
Functions | |
ThresholdState | VersionBitsState (const CBlockIndex *pindexPrev, const Consensus::Params ¶ms, Consensus::DeploymentPos pos, VersionBitsCache &cache) |
Get the BIP9 state for a given deployment at the current tip. More... | |
BIP9Stats | VersionBitsStatistics (const CBlockIndex *pindexPrev, const Consensus::Params ¶ms, Consensus::DeploymentPos pos) |
Get the numerical statistics for the BIP9 state for a given deployment at the current tip. More... | |
int | VersionBitsStateSinceHeight (const CBlockIndex *pindexPrev, const Consensus::Params ¶ms, Consensus::DeploymentPos pos, VersionBitsCache &cache) |
Get the block height at which the BIP9 deployment switched into the state for the block building on the current tip. More... | |
uint32_t | VersionBitsMask (const Consensus::Params ¶ms, Consensus::DeploymentPos pos) |
Variables | |
static const int32_t | VERSIONBITS_LAST_OLD_BLOCK_VERSION = 4 |
What block version to use for new blocks (pre versionbits) More... | |
static const int32_t | VERSIONBITS_TOP_BITS = 0x20000000UL |
What bits to set in version for versionbits blocks. More... | |
static const int32_t | VERSIONBITS_TOP_MASK = 0xE0000000UL |
What bitmask determines whether versionbits is in use. More... | |
static const int32_t | VERSIONBITS_NUM_BITS = 29 |
Total bits available for versionbits. More... | |
typedef std::map<const CBlockIndex*, ThresholdState> ThresholdConditionCache |
Definition at line 36 of file versionbits.h.
|
strong |
BIP 9 defines a finite-state-machine to deploy a softfork in multiple stages.
State transitions happen during retarget period if conditions are met In case of reorg, transitions can go backward. Without transition, state is inherited between periods. All blocks of a period share the same state.
Enumerator | |
---|---|
DEFINED | |
STARTED | |
LOCKED_IN | |
ACTIVE | |
FAILED |
Definition at line 25 of file versionbits.h.
uint32_t VersionBitsMask | ( | const Consensus::Params & | params, |
Consensus::DeploymentPos | pos | ||
) |
ThresholdState VersionBitsState | ( | const CBlockIndex * | pindexPrev, |
const Consensus::Params & | params, | ||
Consensus::DeploymentPos | pos, | ||
VersionBitsCache & | cache | ||
) |
Get the BIP9 state for a given deployment at the current tip.
Definition at line 193 of file versionbits.cpp.
int VersionBitsStateSinceHeight | ( | const CBlockIndex * | pindexPrev, |
const Consensus::Params & | params, | ||
Consensus::DeploymentPos | pos, | ||
VersionBitsCache & | cache | ||
) |
Get the block height at which the BIP9 deployment switched into the state for the block building on the current tip.
Definition at line 203 of file versionbits.cpp.
BIP9Stats VersionBitsStatistics | ( | const CBlockIndex * | pindexPrev, |
const Consensus::Params & | params, | ||
Consensus::DeploymentPos | pos | ||
) |
Get the numerical statistics for the BIP9 state for a given deployment at the current tip.
Definition at line 198 of file versionbits.cpp.
|
static |
What block version to use for new blocks (pre versionbits)
Definition at line 12 of file versionbits.h.
|
static |
Total bits available for versionbits.
Definition at line 18 of file versionbits.h.
|
static |
What bits to set in version for versionbits blocks.
Definition at line 14 of file versionbits.h.
|
static |
What bitmask determines whether versionbits is in use.
Definition at line 16 of file versionbits.h.