Do not print soft-fork-script warning with -promiscuousmempool
This commit is contained in:
parent
b5fea8d0cc
commit
eada04e778
1 changed files with 14 additions and 2 deletions
|
@ -784,8 +784,20 @@ static bool AcceptToMemoryPoolWorker(const CChainParams& chainparams, CTxMemPool
|
|||
unsigned int currentBlockScriptVerifyFlags = GetBlockScriptFlags(chainActive.Tip(), Params().GetConsensus());
|
||||
if (!CheckInputs(tx, state, view, true, currentBlockScriptVerifyFlags, true, true, txdata))
|
||||
{
|
||||
return error("%s: BUG! PLEASE REPORT THIS! ConnectInputs failed against MANDATORY but not STANDARD flags %s, %s",
|
||||
__func__, hash.ToString(), FormatStateMessage(state));
|
||||
// If we're using promiscuousmempoolflags, we may hit this normally
|
||||
// Check if current block has some flags that scriptVerifyFlags
|
||||
// does not before printing an ominous warning
|
||||
if (!(~scriptVerifyFlags & currentBlockScriptVerifyFlags)) {
|
||||
return error("%s: BUG! PLEASE REPORT THIS! ConnectInputs failed against latest-block but not STANDARD flags %s, %s",
|
||||
__func__, hash.ToString(), FormatStateMessage(state));
|
||||
} else {
|
||||
if (!CheckInputs(tx, state, view, true, MANDATORY_SCRIPT_VERIFY_FLAGS, true, false, txdata)) {
|
||||
return error("%s: ConnectInputs failed against MANDATORY but not STANDARD flags due to promiscuous mempool %s, %s",
|
||||
__func__, hash.ToString(), FormatStateMessage(state));
|
||||
} else {
|
||||
LogPrintf("Warning: -promiscuousmempool flags set to not include currently enforced soft forks, this may break mining or otherwise cause instability!\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Remove conflicting transactions from the mempool
|
||||
|
|
Loading…
Reference in a new issue