mirror of
https://github.com/dashpay/dash.git
synced 2024-12-28 13:32:47 +01:00
Do not un-mark fInMempool on wallet txn if ATMP fails.
Irrespective of the failure reason, un-marking fInMempool out-of-order is incorrect - it should be unmarked when TransactionRemovedFromMempool fires.
This commit is contained in:
parent
8ab6c0b09e
commit
6ef86c92e7
@ -4114,11 +4114,6 @@ int CMerkleTx::GetBlocksToMaturity() const
|
|||||||
|
|
||||||
bool CWalletTx::AcceptToMemoryPool(const CAmount& nAbsurdFee, CValidationState& state)
|
bool CWalletTx::AcceptToMemoryPool(const CAmount& nAbsurdFee, CValidationState& state)
|
||||||
{
|
{
|
||||||
// Quick check to avoid re-setting fInMempool to false
|
|
||||||
if (mempool.exists(tx->GetHash())) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// We must set fInMempool here - while it will be re-set to true by the
|
// We must set fInMempool here - while it will be re-set to true by the
|
||||||
// entered-mempool callback, if we did not there would be a race where a
|
// entered-mempool callback, if we did not there would be a race where a
|
||||||
// user could call sendmoney in a loop and hit spurious out of funds errors
|
// user could call sendmoney in a loop and hit spurious out of funds errors
|
||||||
@ -4126,6 +4121,6 @@ bool CWalletTx::AcceptToMemoryPool(const CAmount& nAbsurdFee, CValidationState&
|
|||||||
// unavailable as we're not yet aware its in mempool.
|
// unavailable as we're not yet aware its in mempool.
|
||||||
bool ret = ::AcceptToMemoryPool(mempool, state, tx, nullptr /* pfMissingInputs */,
|
bool ret = ::AcceptToMemoryPool(mempool, state, tx, nullptr /* pfMissingInputs */,
|
||||||
nullptr /* plTxnReplaced */, false /* bypass_limits */, nAbsurdFee);
|
nullptr /* plTxnReplaced */, false /* bypass_limits */, nAbsurdFee);
|
||||||
fInMempool = ret;
|
fInMempool |= ret;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user