mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-02-12 16:41:46 +00:00
Make orphan parent fetching ask for witnesses.
In 0.13 orphan transactions began being treated as implicit INVs for their parents. But the resulting getdata were not getting the witness flag. This fixes issue #9182 reported by chjj and roasbeef on IRC. Github-Pull: #9188 Rebased-From: 5b0150a060208faf436c09b0ca9463407a869c72
This commit is contained in:
parent
b96a8f7df2
commit
ca1fd7521e
@ -5586,10 +5586,11 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
|
||||
}
|
||||
}
|
||||
if (!fRejectedParents) {
|
||||
uint32_t nFetchFlags = GetFetchFlags(pfrom, chainActive.Tip(), chainparams.GetConsensus());
|
||||
BOOST_FOREACH(const CTxIn& txin, tx.vin) {
|
||||
CInv inv(MSG_TX, txin.prevout.hash);
|
||||
pfrom->AddInventoryKnown(inv);
|
||||
if (!AlreadyHave(inv)) pfrom->AskFor(inv);
|
||||
CInv _inv(MSG_TX | nFetchFlags, txin.prevout.hash);
|
||||
pfrom->AddInventoryKnown(_inv);
|
||||
if (!AlreadyHave(_inv)) pfrom->AskFor(_inv);
|
||||
}
|
||||
AddOrphanTx(tx, pfrom->GetId());
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user