|
|
|
@ -540,14 +540,6 @@ bool AcceptToMemoryPoolWorker(CTxMemPool& pool, CValidationState& state, const C
|
|
|
|
|
if (tx.IsCoinBase())
|
|
|
|
|
return state.DoS(100, false, REJECT_INVALID, "coinbase");
|
|
|
|
|
|
|
|
|
|
// 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");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Reject transactions with witness before segregated witness activates (override with -prematurewitness)
|
|
|
|
|
bool witnessEnabled = IsWitnessEnabled(chainActive.Tip(), Params().GetConsensus());
|
|
|
|
|
if (!GetBoolArg("-prematurewitness",false) && !tx.wit.IsNull() && !witnessEnabled) {
|
|
|
|
|