From 01fea7a04834b7fd5eca6f3678f56fed13375d1d Mon Sep 17 00:00:00 2001 From: Alex Morcos Date: Fri, 9 Dec 2016 15:25:46 -0500 Subject: [PATCH] If we don't allow free txs, always send a fee filter --- src/net_processing.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/net_processing.cpp b/src/net_processing.cpp index 0137108cf0..8520a1050c 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -2993,6 +2993,9 @@ bool SendMessages(CNode* pto, CConnman& connman) if (pto->nVersion >= FEEFILTER_VERSION && GetBoolArg("-feefilter", DEFAULT_FEEFILTER) && !(pto->fWhitelisted && GetBoolArg("-whitelistforcerelay", DEFAULT_WHITELISTFORCERELAY))) { CAmount currentFilter = mempool.GetMinFee(GetArg("-maxmempool", DEFAULT_MAX_MEMPOOL_SIZE) * 1000000).GetFeePerK(); + // If we don't allow free transactions, then we always have a fee filter of at least minRelayTxFee + if (GetArg("-limitfreerelay", DEFAULT_LIMITFREERELAY) <= 0) + currentFilter = std::max(currentFilter, ::minRelayTxFee.GetFeePerK()); int64_t timeNow = GetTimeMicros(); if (timeNow > pto->nextSendTimeFeeFilter) { static CFeeRate default_feerate(DEFAULT_MIN_RELAY_TX_FEE);