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