Handle incoming TXs by calling CInstantXManager::ProcessTx

This also includes handling of TXs that were previously orphanced
This commit is contained in:
Alexander Block 2019-02-28 13:43:04 +01:00
parent 83dbcc483f
commit 1959f3e4a5

View File

@ -2094,6 +2094,10 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
instantsend.Vote(tx.GetHash(), connman); instantsend.Vote(tx.GetHash(), connman);
} }
if (nInvType != MSG_TXLOCK_REQUEST) {
llmq::quorumInstantSendManager->ProcessTx(pfrom, tx, connman, chainparams.GetConsensus());
}
mempool.check(pcoinsTip); mempool.check(pcoinsTip);
connman.RelayTransaction(tx); connman.RelayTransaction(tx);
for (unsigned int i = 0; i < tx.vout.size(); i++) { for (unsigned int i = 0; i < tx.vout.size(); i++) {
@ -2138,6 +2142,8 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
vWorkQueue.emplace_back(orphanHash, i); vWorkQueue.emplace_back(orphanHash, i);
} }
vEraseQueue.push_back(orphanHash); vEraseQueue.push_back(orphanHash);
llmq::quorumInstantSendManager->ProcessTx(pfrom, orphanTx, connman, chainparams.GetConsensus());
} }
else if (!fMissingInputs2) else if (!fMissingInputs2)
{ {