diff options
| author | Suhas Daftuar <[email protected]> | 2019-02-21 13:46:25 -0500 |
|---|---|---|
| committer | Suhas Daftuar <[email protected]> | 2019-05-02 15:29:09 -0400 |
| commit | 54470e767bab37f9b7089782b1be73d5883bb244 (patch) | |
| tree | 93593dd9585f122caa07da630ace4931e1ef5d33 /src/consensus | |
| parent | [refactor] Update some comments in validation.cpp as we arent doing DoS there (diff) | |
| download | discoin-54470e767bab37f9b7089782b1be73d5883bb244.tar.xz discoin-54470e767bab37f9b7089782b1be73d5883bb244.zip | |
Assert validation reasons are contextually correct
Diffstat (limited to 'src/consensus')
| -rw-r--r-- | src/consensus/validation.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/consensus/validation.h b/src/consensus/validation.h index ed1b04761..3079f3b08 100644 --- a/src/consensus/validation.h +++ b/src/consensus/validation.h @@ -66,6 +66,32 @@ enum class ValidationInvalidReason { TX_MEMPOOL_POLICY, //!< violated mempool's fee/size/descendant/RBF/etc limits }; +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_WITNESS_MUTATED || + 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; +} + /** Capture information about block/transaction validation */ class CValidationState { private: |