p2p: Don't send FEEFILTER in blocksonly mode

It is unnecessary to send FEEFILTER messages when we don't accept
transactions from our peers.
This commit is contained in:
Martin Zumsande
2021-03-22 23:53:56 +01:00
parent c46f1ce751
commit 18a9b27dd6

View File

@ -4689,7 +4689,10 @@ bool PeerManagerImpl::SendMessages(CNode* pto)
// //
// Message: feefilter // Message: feefilter
// //
if (pto->m_tx_relay != nullptr && pto->GetCommonVersion() >= FEEFILTER_VERSION && gArgs.GetBoolArg("-feefilter", DEFAULT_FEEFILTER) && if (pto->m_tx_relay != nullptr &&
!m_ignore_incoming_txs &&
pto->GetCommonVersion() >= FEEFILTER_VERSION &&
gArgs.GetBoolArg("-feefilter", DEFAULT_FEEFILTER) &&
!pto->HasPermission(PF_FORCERELAY) // peers with the forcerelay permission should not filter txs to us !pto->HasPermission(PF_FORCERELAY) // peers with the forcerelay permission should not filter txs to us
) { ) {
CAmount currentFilter = m_mempool.GetMinFee(gArgs.GetArg("-maxmempool", DEFAULT_MAX_MEMPOOL_SIZE) * 1000000).GetFeePerK(); CAmount currentFilter = m_mempool.GetMinFee(gArgs.GetArg("-maxmempool", DEFAULT_MAX_MEMPOOL_SIZE) * 1000000).GetFeePerK();