For #3546. Shielded tx with missing inputs are not treated as orphans.

This commit is contained in:
Simon 2018-10-05 10:48:03 -07:00
parent 625797a037
commit c94f4477e8
1 changed files with 5 additions and 2 deletions

View File

@ -5483,8 +5483,11 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
BOOST_FOREACH(uint256 hash, vEraseQueue)
EraseOrphanTx(hash);
}
// TODO: currently, prohibit joinsplits from entering mapOrphans
else if (fMissingInputs && tx.vjoinsplit.size() == 0)
// TODO: currently, prohibit joinsplits and shielded spends/outputs from entering mapOrphans
else if (fMissingInputs &&
tx.vjoinsplit.empty() &&
tx.vShieldedSpend.empty() &&
tx.vShieldedOutput.empty())
{
AddOrphanTx(tx, pfrom->GetId());