Changeset View
Changeset View
Standalone View
Standalone View
src/consensus/validation.h
Show First 20 Lines • Show All 64 Lines • ▼ Show 20 Lines | enum class ValidationInvalidReason { | ||||
* TODO: ATMP's fMissingInputs and a valid CValidationState being used to | * TODO: ATMP's fMissingInputs and a valid CValidationState being used to | ||||
* indicate missing inputs | * indicate missing inputs | ||||
*/ | */ | ||||
TX_CONFLICT, | TX_CONFLICT, | ||||
//! violated mempool's fee/size/descendant/etc limits | //! violated mempool's fee/size/descendant/etc limits | ||||
TX_MEMPOOL_POLICY, | TX_MEMPOOL_POLICY, | ||||
}; | }; | ||||
inline bool IsTransactionReason(ValidationInvalidReason r) { | |||||
return r == ValidationInvalidReason::NONE || | |||||
r == ValidationInvalidReason::CONSENSUS || | |||||
r == ValidationInvalidReason::RECENT_CONSENSUS_CHANGE || | |||||
r == ValidationInvalidReason::TX_NOT_STANDARD || | |||||
r == ValidationInvalidReason::TX_MISSING_INPUTS || | |||||
r == ValidationInvalidReason::TX_CONFLICT || | |||||
r == ValidationInvalidReason::TX_MEMPOOL_POLICY; | |||||
} | |||||
inline bool IsBlockReason(ValidationInvalidReason r) { | |||||
return r == ValidationInvalidReason::NONE || | |||||
r == ValidationInvalidReason::CONSENSUS || | |||||
r == ValidationInvalidReason::RECENT_CONSENSUS_CHANGE || | |||||
r == ValidationInvalidReason::CACHED_INVALID || | |||||
r == ValidationInvalidReason::BLOCK_INVALID_HEADER || | |||||
r == ValidationInvalidReason::BLOCK_MUTATED || | |||||
r == ValidationInvalidReason::BLOCK_MISSING_PREV || | |||||
r == ValidationInvalidReason::BLOCK_INVALID_PREV || | |||||
r == ValidationInvalidReason::BLOCK_TIME_FUTURE || | |||||
r == ValidationInvalidReason::BLOCK_CHECKPOINT || | |||||
r == ValidationInvalidReason::BLOCK_FINALIZATION; | |||||
} | |||||
/** Capture information about block/transaction validation */ | /** Capture information about block/transaction validation */ | ||||
class CValidationState { | class CValidationState { | ||||
private: | private: | ||||
enum mode_state { | enum mode_state { | ||||
MODE_VALID, //!< everything ok | MODE_VALID, //!< everything ok | ||||
MODE_INVALID, //!< network rule violation (DoS value may be set) | MODE_INVALID, //!< network rule violation (DoS value may be set) | ||||
MODE_ERROR, //!< run-time error | MODE_ERROR, //!< run-time error | ||||
} mode; | } mode; | ||||
▲ Show 20 Lines • Show All 41 Lines • Show Last 20 Lines |