| 91 | } |
| 92 | |
| 93 | CFeeRate GetDiscardRate(const CWallet& wallet, const CBlockPolicyEstimator& estimator) |
| 94 | { |
| 95 | unsigned int highest_target = estimator.HighestTargetTracked(FeeEstimateHorizon::LONG_HALFLIFE); |
| 96 | CFeeRate discard_rate = estimator.estimateSmartFee(highest_target, nullptr /* FeeCalculation */, false /* conservative */); |
| 97 | // Don't let discard_rate be greater than longest possible fee estimate if we get a valid fee estimate |
| 98 | discard_rate = (discard_rate == CFeeRate(0)) ? wallet.m_discard_rate : std::min(discard_rate, wallet.m_discard_rate); |
| 99 | // Discard rate must be at least dustRelayFee |
| 100 | discard_rate = std::max(discard_rate, ::dustRelayFee); |
| 101 | return discard_rate; |
| 102 | } |
no test coverage detected