Skip to content

Commit

Permalink
Just pass a hash to AddInventoryKnown
Browse files Browse the repository at this point in the history
Since it's only used for transactions, there's no need to pass in an inv type.
  • Loading branch information
sdaftuar authored and jnewbery committed Sep 24, 2020
1 parent 4df3d13 commit f7833b5
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
4 changes: 2 additions & 2 deletions src/net.h
Expand Up @@ -969,11 +969,11 @@ class CNode
}


void AddInventoryKnown(const CInv& inv)
void AddInventoryKnown(const uint256& hash)
{
if (m_tx_relay != nullptr) {
LOCK(m_tx_relay->cs_tx_inventory);
m_tx_relay->filterInventoryKnown.insert(inv.hash);
m_tx_relay->filterInventoryKnown.insert(hash);
}
}

Expand Down
18 changes: 9 additions & 9 deletions src/net_processing.cpp
Expand Up @@ -2293,7 +2293,7 @@ bool ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStream& vRec
best_block = &inv.hash;
}
} else {
pfrom->AddInventoryKnown(inv);
pfrom->AddInventoryKnown(inv.hash);
if (fBlocksOnly) {
LogPrint(BCLog::NET, "transaction (%s) inv sent in violation of protocol, disconnecting peer=%d\n", inv.hash.ToString(), pfrom->GetId());
pfrom->fDisconnect = true;
Expand Down Expand Up @@ -2532,26 +2532,26 @@ bool ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStream& vRec
vRecv >> ptx;
const CTransaction& tx = *ptx;

CInv inv(MSG_TX, tx.GetHash());
pfrom->AddInventoryKnown(inv);
const uint256& txid = ptx->GetHash();
pfrom->AddInventoryKnown(txid);

LOCK2(cs_main, g_cs_orphans);

TxValidationState state;

CNodeState* nodestate = State(pfrom->GetId());
nodestate->m_tx_download.m_tx_announced.erase(inv.hash);
nodestate->m_tx_download.m_tx_in_flight.erase(inv.hash);
EraseTxRequest(inv.hash);
nodestate->m_tx_download.m_tx_announced.erase(txid);
nodestate->m_tx_download.m_tx_in_flight.erase(txid);
EraseTxRequest(txid);

std::list<CTransactionRef> lRemovedTxn;

if (!AlreadyHave(inv, mempool) &&
if (!AlreadyHave(CInv(MSG_TX, txid), mempool) &&
AcceptToMemoryPool(mempool, state, ptx, &lRemovedTxn, false /* bypass_limits */, 0 /* nAbsurdFee */)) {
mempool.check(&::ChainstateActive().CoinsTip());
RelayTransaction(tx.GetHash(), *connman);
for (unsigned int i = 0; i < tx.vout.size(); i++) {
auto it_by_prev = mapOrphanTransactionsByPrev.find(COutPoint(inv.hash, i));
auto it_by_prev = mapOrphanTransactionsByPrev.find(COutPoint(txid, i));
if (it_by_prev != mapOrphanTransactionsByPrev.end()) {
for (const auto& elem : it_by_prev->second) {
pfrom->orphan_work_set.insert(elem->first);
Expand Down Expand Up @@ -2584,7 +2584,7 @@ bool ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStream& vRec

for (const CTxIn& txin : tx.vin) {
CInv _inv(MSG_TX | nFetchFlags, txin.prevout.hash);
pfrom->AddInventoryKnown(_inv);
pfrom->AddInventoryKnown(txin.prevout.hash);
if (!AlreadyHave(_inv, mempool)) RequestTx(State(pfrom->GetId()), _inv.hash, current_time);
}
AddOrphanTx(ptx, pfrom->GetId());
Expand Down

0 comments on commit f7833b5

Please sign in to comment.