Skip to content

Commit

Permalink
fees: document non-monotonic estimation edge case
Browse files Browse the repository at this point in the history
Closes: bitcoin#11800

In scenarios where data is available for higher targets but not for
lower ones, this method *may* return lower fee rates for higher
confirmation targets. This could occur if estimateCombinedFee returns no
valid data (-1) for some estimates for a low target, but **does** return
valid data for a higher target.
  • Loading branch information
willcl-ark committed Oct 16, 2024
1 parent 48cf3da commit 372ca14
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/policy/fees.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -902,6 +902,12 @@ CFeeRate CBlockPolicyEstimator::estimateSmartFee(int confTarget, FeeCalculation
* horizons so we already have monotonically increasing estimates and
* the purpose of conservative estimates is not to let short term
* fluctuations lower our estimates by too much.
*
* Note: Monotonically increasing estimates are not guaranteed in certain
* data-sparse scenarios. In particular, if estimateCombinedFee returns no
* valid data (-1) for some estimates for a lower target, but does return
* valid data for a higher target, the estimate can theoretically return a
* higher value for higher targets.
*/
double halfEst = estimateCombinedFee(confTarget/2, HALF_SUCCESS_PCT, true, &tempResult);
if (feeCalc) {
Expand Down

0 comments on commit 372ca14

Please sign in to comment.