![]() |
Bitcoin Core
0.21.1
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) |
| BIP9Stats | VersionBitsStatistics (const CBlockIndex *pindexPrev, const Consensus::Params ¶ms, Consensus::DeploymentPos pos) |
| int | VersionBitsStateSinceHeight (const CBlockIndex *pindexPrev, const Consensus::Params ¶ms, Consensus::DeploymentPos pos, VersionBitsCache &cache) |
| 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 | ||
| ) |
| int VersionBitsStateSinceHeight | ( | const CBlockIndex * | pindexPrev, |
| const Consensus::Params & | params, | ||
| Consensus::DeploymentPos | pos, | ||
| VersionBitsCache & | cache | ||
| ) |
| BIP9Stats VersionBitsStatistics | ( | const CBlockIndex * | pindexPrev, |
| const Consensus::Params & | params, | ||
| Consensus::DeploymentPos | pos | ||
| ) |
|
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.
1.8.8