diff options
author | Suhas Daftuar <sdaftuar@gmail.com> | 2019-03-08 09:55:23 -0500 |
---|---|---|
committer | Suhas Daftuar <sdaftuar@gmail.com> | 2019-05-02 15:30:58 -0400 |
commit | 0ff1c2a838da9e8dc7f77609adc89124bbea3e2b (patch) | |
tree | 884d36c96434932ac1cf3866e48016f49f606b6a /src/consensus | |
parent | 54470e767bab37f9b7089782b1be73d5883bb244 (diff) |
Separate reason for premature spends (coinbase/locktime)
Diffstat (limited to 'src/consensus')
-rw-r--r-- | src/consensus/tx_verify.cpp | 2 | ||||
-rw-r--r-- | src/consensus/validation.h | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/consensus/tx_verify.cpp b/src/consensus/tx_verify.cpp index c13a38cd6f..4b93cae848 100644 --- a/src/consensus/tx_verify.cpp +++ b/src/consensus/tx_verify.cpp @@ -172,7 +172,7 @@ bool Consensus::CheckTxInputs(const CTransaction& tx, CValidationState& state, c // If prev is coinbase, check that it's matured if (coin.IsCoinBase() && nSpendHeight - coin.nHeight < COINBASE_MATURITY) { - return state.Invalid(ValidationInvalidReason::TX_MISSING_INPUTS, false, REJECT_INVALID, "bad-txns-premature-spend-of-coinbase", + return state.Invalid(ValidationInvalidReason::TX_PREMATURE_SPEND, false, REJECT_INVALID, "bad-txns-premature-spend-of-coinbase", strprintf("tried to spend coinbase at depth %d", nSpendHeight - coin.nHeight)); } diff --git a/src/consensus/validation.h b/src/consensus/validation.h index 3079f3b08c..2e23f4b3a4 100644 --- a/src/consensus/validation.h +++ b/src/consensus/validation.h @@ -49,7 +49,8 @@ enum class ValidationInvalidReason { BLOCK_CHECKPOINT, //!< the block failed to meet one of our checkpoints // Only loose txn: TX_NOT_STANDARD, //!< didn't meet our local policy rules - TX_MISSING_INPUTS, //!< a transaction was missing some of its inputs (or its inputs were spent at < coinbase maturity height) + TX_MISSING_INPUTS, //!< a transaction was missing some of its inputs + TX_PREMATURE_SPEND, //!< transaction spends a coinbase too early, or violates locktime/sequence locks /** * Transaction might be missing a witness, have a witness prior to SegWit * activation, or witness may have been malleated (which includes @@ -72,6 +73,7 @@ inline bool IsTransactionReason(ValidationInvalidReason r) r == ValidationInvalidReason::CONSENSUS || r == ValidationInvalidReason::RECENT_CONSENSUS_CHANGE || r == ValidationInvalidReason::TX_NOT_STANDARD || + r == ValidationInvalidReason::TX_PREMATURE_SPEND || r == ValidationInvalidReason::TX_MISSING_INPUTS || r == ValidationInvalidReason::TX_WITNESS_MUTATED || r == ValidationInvalidReason::TX_CONFLICT || |