|
|
|
@ -3242,7 +3242,7 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
|
|
|
|
|
// already; and an adversary can already relay us old transactions
|
|
|
|
|
// (older than our recency filter) if trying to DoS us, without any need
|
|
|
|
|
// for witness malleation.
|
|
|
|
|
if (AlreadyHaveTx(GenTxid(/* is_wtxid=*/true, wtxid))) {
|
|
|
|
|
if (AlreadyHaveTx(GenTxid::Wtxid(wtxid))) {
|
|
|
|
|
if (pfrom.HasPermission(NetPermissionFlags::ForceRelay)) {
|
|
|
|
|
// Always relay transactions received from peers with forcerelay
|
|
|
|
|
// permission, even if they were already in the mempool, allowing
|
|
|
|
@ -3312,7 +3312,7 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
|
|
|
|
|
// wtxidrelay peers.
|
|
|
|
|
// Eventually we should replace this with an improved
|
|
|
|
|
// protocol for getting all unconfirmed parents.
|
|
|
|
|
const GenTxid gtxid{/* is_wtxid=*/false, parent_txid};
|
|
|
|
|
const auto gtxid{GenTxid::Txid(parent_txid)};
|
|
|
|
|
pfrom.AddKnownTx(parent_txid);
|
|
|
|
|
if (!AlreadyHaveTx(gtxid)) AddTxAnnouncement(pfrom, gtxid, current_time);
|
|
|
|
|
}
|
|
|
|
|