aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSuhas Daftuar <sdaftuar@gmail.com>2020-01-30 11:12:56 -0500
committerSuhas Daftuar <sdaftuar@gmail.com>2020-07-18 19:00:01 -0400
commit60f0acda713e7b9dc188aef54ef93981a93f4e44 (patch)
treeaa7fd2cc1703748ff2dacdbc1d9b4ac642022b19
parentc7eb6b4f1fe5bd76388a023529977674534334a7 (diff)
Just pass a hash to AddInventoryKnown
Since it's only used for transactions, there's no need to pass in an inv type.
-rw-r--r--src/net.h4
-rw-r--r--src/net_processing.cpp18
2 files changed, 11 insertions, 11 deletions
diff --git a/src/net.h b/src/net.h
index b240e52a18..d4d5ba59dc 100644
--- a/src/net.h
+++ b/src/net.h
@@ -965,11 +965,11 @@ public:
}
- 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);
}
}
diff --git a/src/net_processing.cpp b/src/net_processing.cpp
index 6663ece8db..1373338cf3 100644
--- a/src/net_processing.cpp
+++ b/src/net_processing.cpp
@@ -2593,7 +2593,7 @@ void ProcessMessage(
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;
@@ -2832,26 +2832,26 @@ void ProcessMessage(
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);
@@ -2884,7 +2884,7 @@ void ProcessMessage(
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());