Bitcoin Core 29.99.0
P2P Digital Currency
Public Member Functions | Protected Member Functions | List of all members
AbstractThresholdConditionChecker Class Referenceabstract

Abstract class that implements BIP9-style threshold logic, and caches results. More...

#include <versionbits_impl.h>

Inheritance diagram for AbstractThresholdConditionChecker:
[legend]

Public Member Functions

virtual ~AbstractThresholdConditionChecker ()=default
 
BIP9Stats GetStateStatisticsFor (const CBlockIndex *pindex, 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, ThresholdConditionCache &cache) const
 Returns the state for pindex A based on parent pindexPrev B. More...
 
int GetStateSinceHeightFor (const CBlockIndex *pindexPrev, 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 =0
 
virtual int64_t BeginTime () const =0
 
virtual int64_t EndTime () const =0
 
virtual int MinActivationHeight () const
 
virtual int Period () const =0
 
virtual int Threshold () const =0
 

Detailed Description

Abstract class that implements BIP9-style threshold logic, and caches results.

Definition at line 31 of file versionbits_impl.h.

Constructor & Destructor Documentation

◆ ~AbstractThresholdConditionChecker()

virtual AbstractThresholdConditionChecker::~AbstractThresholdConditionChecker ( )
virtualdefault

Member Function Documentation

◆ BeginTime()

virtual int64_t AbstractThresholdConditionChecker::BeginTime ( ) const
protectedpure virtual

Implemented in VersionBitsConditionChecker.

Here is the caller graph for this function:

◆ Condition()

virtual bool AbstractThresholdConditionChecker::Condition ( const CBlockIndex pindex) const
protectedpure virtual

Implemented in VersionBitsConditionChecker.

Here is the caller graph for this function:

◆ EndTime()

virtual int64_t AbstractThresholdConditionChecker::EndTime ( ) const
protectedpure virtual

Implemented in VersionBitsConditionChecker.

Here is the caller graph for this function:

◆ GetStateFor()

ThresholdState AbstractThresholdConditionChecker::GetStateFor ( const CBlockIndex pindexPrev,
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 26 of file versionbits.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetStateSinceHeightFor()

int AbstractThresholdConditionChecker::GetStateSinceHeightFor ( const CBlockIndex pindexPrev,
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 157 of file versionbits.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetStateStatisticsFor()

BIP9Stats AbstractThresholdConditionChecker::GetStateStatisticsFor ( const CBlockIndex pindex,
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 119 of file versionbits.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MinActivationHeight()

virtual int AbstractThresholdConditionChecker::MinActivationHeight ( ) const
inlineprotectedvirtual

Reimplemented in VersionBitsConditionChecker.

Definition at line 36 of file versionbits_impl.h.

Here is the caller graph for this function:

◆ Period()

virtual int AbstractThresholdConditionChecker::Period ( ) const
protectedpure virtual

Implemented in VersionBitsConditionChecker.

Here is the caller graph for this function:

◆ Threshold()

virtual int AbstractThresholdConditionChecker::Threshold ( ) const
protectedpure virtual

Implemented in VersionBitsConditionChecker.

Here is the caller graph for this function:

The documentation for this class was generated from the following files: