5#ifndef BITCOIN_BLOCKSTATUS_H
6#define BITCOIN_BLOCKSTATUS_H
132 return a.status ==
b.status;
@ TRANSACTIONS
Only first tx is coinbase, 2 <= coinbase input script length <= 100, transactions valid,...
T GetRand(T nMax=std::numeric_limits< T >::max()) noexcept
Generate a uniform random integer of type T in the range [0..nMax) nMax defaults to std::numeric_limi...
bool isOnParkedChain() const
bool isValid(enum BlockValidity nUpTo=BlockValidity::TRANSACTIONS) const
Check whether this block index entry is valid up to the passed validity level.
static const uint32_t PARKED_FLAG
bool hasParkedParent() const
bool hasFailedParent() const
BlockStatus withFailedParent(bool hasFailedParent=true) const
BlockStatus withClearedFailureFlags() const
bool isAssumedValid() const
friend constexpr bool operator==(const BlockStatus a, const BlockStatus b)
static const uint32_t PARKED_MASK
BlockStatus withUndo(bool hasUndo=true) const
static const uint32_t ASSUMED_VALID_FLAG
If set, this indicates that the block index entry is assumed-valid.
BlockStatus withClearedAssumedValidFlags() const
static const uint32_t HAS_UNDO_FLAG
static const uint32_t INVALID_MASK
static const uint32_t FAILED_PARENT_FLAG
static const uint32_t FAILED_FLAG
BlockStatus withData(bool hasData=true) const
BlockStatus withParked(bool parked=true) const
BlockStatus withParkedParent(bool parkedParent=true) const
SERIALIZE_METHODS(BlockStatus, obj)
static const uint32_t VALIDITY_MASK
BlockStatus withClearedParkedFlags() const
BlockStatus withAssumedValid(bool assumed_valid=true) const
BlockStatus withFailed(bool hasFailed=true) const
BlockStatus withValidity(BlockValidity validity) const
friend constexpr bool operator!=(const BlockStatus a, const BlockStatus b)
constexpr BlockStatus(uint32_t nStatusIn)
BlockValidity getValidity() const
static const uint32_t HAS_DATA_FLAG
static const uint32_t PARKED_PARENT_FLAG