|
|
@ -1025,6 +1025,14 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState& state, const C |
|
|
|
if (fRequireStandard && !IsStandardTx(tx, reason)) |
|
|
|
if (fRequireStandard && !IsStandardTx(tx, reason)) |
|
|
|
return state.DoS(0, false, REJECT_NONSTANDARD, reason); |
|
|
|
return state.DoS(0, false, REJECT_NONSTANDARD, reason); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Don't relay version 2 transactions until CSV is active, and we can be
|
|
|
|
|
|
|
|
// sure that such transactions will be mined (unless we're on
|
|
|
|
|
|
|
|
// -testnet/-regtest).
|
|
|
|
|
|
|
|
const CChainParams& chainparams = Params(); |
|
|
|
|
|
|
|
if (fRequireStandard && tx.nVersion >= 2 && VersionBitsTipState(chainparams.GetConsensus(), Consensus::DEPLOYMENT_CSV) != THRESHOLD_ACTIVE) { |
|
|
|
|
|
|
|
return state.DoS(0, false, REJECT_NONSTANDARD, "premature-version2-tx"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Only accept nLockTime-using transactions that can be mined in the next
|
|
|
|
// Only accept nLockTime-using transactions that can be mined in the next
|
|
|
|
// block; we don't want our mempool filled up with transactions that can't
|
|
|
|
// block; we don't want our mempool filled up with transactions that can't
|
|
|
|
// be mined yet.
|
|
|
|
// be mined yet.
|
|
|
|