Skip to content

feefrac: add support for evaluating at given size

The FeeFrac type represents a fraction, intended to be used for sats/vbyte or sats/WU. This PR adds functionality to evaluate that feerate for a given size, in order to obtain the fee it corresponds with (rounding down, or rounding up).

The motivation here is being able to do accurate feerate evaluations in cluster mempool block building heuristics (where rounding down is needed), but in principle this makes it possible to use FeeFrac as a more accurate replacement for CFeeRate (where for feerate estimation rounding up is desirable). Because of this, both rounding modes are implemented.

Unit tests are included for known-correct values, plus a fuzz test that verifies the result using arith_uint256.

Merge request reports

Loading