mirror of
https://github.com/dashpay/dash.git
synced 2024-12-24 03:22:47 +01:00
[v0.14.0.x] Make sure mempool txes are properly processed by CChainLocksHandler despite node restarts (#3230)
This commit is contained in:
parent
dc07a0c5e1
commit
20d4a27778
@ -347,15 +347,23 @@ void CChainLocksHandler::TrySignChainTip()
|
||||
|
||||
void CChainLocksHandler::SyncTransaction(const CTransaction& tx, const CBlockIndex* pindex, int posInBlock)
|
||||
{
|
||||
if (!masternodeSync.IsBlockchainSynced()) {
|
||||
return;
|
||||
}
|
||||
|
||||
bool handleTx = true;
|
||||
if (tx.IsCoinBase() || tx.vin.empty()) {
|
||||
handleTx = false;
|
||||
}
|
||||
|
||||
if (!masternodeSync.IsBlockchainSynced()) {
|
||||
if (handleTx && posInBlock == CMainSignals::SYNC_TRANSACTION_NOT_IN_BLOCK) {
|
||||
auto info = mempool.info(tx.GetHash());
|
||||
if (!info.tx) {
|
||||
return;
|
||||
}
|
||||
LOCK(cs);
|
||||
txFirstSeenTime.emplace(tx.GetHash(), info.nTime);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
LOCK(cs);
|
||||
|
||||
if (handleTx) {
|
||||
|
Loading…
Reference in New Issue
Block a user