Bitcoin Core 28.99.0
P2P Digital Currency
|
Abstract class that implements BIP9-style threshold logic, and caches results. More...
#include <versionbits.h>
Public Member Functions | |
BIP9Stats | GetStateStatisticsFor (const CBlockIndex *pindex, const Consensus::Params ¶ms, std::vector< bool > *signalling_blocks=nullptr) const |
Returns the numerical statistics of an in-progress BIP9 softfork in the period including pindex If provided, signalling_blocks is set to true/false based on whether each block in the period signalled. More... | |
ThresholdState | GetStateFor (const CBlockIndex *pindexPrev, const Consensus::Params ¶ms, ThresholdConditionCache &cache) const |
Returns the state for pindex A based on parent pindexPrev B. More... | |
int | GetStateSinceHeightFor (const CBlockIndex *pindexPrev, const Consensus::Params ¶ms, ThresholdConditionCache &cache) const |
Returns the height since when the ThresholdState has started for pindex A based on parent pindexPrev B, all blocks of a period share the same. More... | |
Protected Member Functions | |
virtual bool | Condition (const CBlockIndex *pindex, const Consensus::Params ¶ms) const =0 |
virtual int64_t | BeginTime (const Consensus::Params ¶ms) const =0 |
virtual int64_t | EndTime (const Consensus::Params ¶ms) const =0 |
virtual int | MinActivationHeight (const Consensus::Params ¶ms) const |
virtual int | Period (const Consensus::Params ¶ms) const =0 |
virtual int | Threshold (const Consensus::Params ¶ms) const =0 |
Abstract class that implements BIP9-style threshold logic, and caches results.
Definition at line 57 of file versionbits.h.
|
protectedpure virtual |
Implemented in TestConditionChecker, TestAlwaysActiveConditionChecker, TestNeverActiveConditionChecker, and WarningBitsConditionChecker.
|
protectedpure virtual |
Implemented in TestConditionChecker, and WarningBitsConditionChecker.
|
protectedpure virtual |
Implemented in TestConditionChecker, and WarningBitsConditionChecker.
ThresholdState AbstractThresholdConditionChecker::GetStateFor | ( | const CBlockIndex * | pindexPrev, |
const Consensus::Params & | params, | ||
ThresholdConditionCache & | cache | ||
) | const |
Returns the state for pindex A based on parent pindexPrev B.
Applies any state transition if conditions are present. Caches state from first block of period.
Definition at line 9 of file versionbits.cpp.
int AbstractThresholdConditionChecker::GetStateSinceHeightFor | ( | const CBlockIndex * | pindexPrev, |
const Consensus::Params & | params, | ||
ThresholdConditionCache & | cache | ||
) | const |
Returns the height since when the ThresholdState has started for pindex A based on parent pindexPrev B, all blocks of a period share the same.
Definition at line 140 of file versionbits.cpp.
BIP9Stats AbstractThresholdConditionChecker::GetStateStatisticsFor | ( | const CBlockIndex * | pindex, |
const Consensus::Params & | params, | ||
std::vector< bool > * | signalling_blocks = nullptr |
||
) | const |
Returns the numerical statistics of an in-progress BIP9 softfork in the period including pindex If provided, signalling_blocks is set to true/false based on whether each block in the period signalled.
Definition at line 102 of file versionbits.cpp.
|
inlineprotectedvirtual |
Reimplemented in TestDelayedActivationConditionChecker.
Definition at line 62 of file versionbits.h.
|
protectedpure virtual |
Implemented in TestConditionChecker, and WarningBitsConditionChecker.
|
protectedpure virtual |
Implemented in TestConditionChecker, and WarningBitsConditionChecker.