diff options
author | Matt Corallo <git@bluematt.me> | 2017-09-11 15:47:09 -0400 |
---|---|---|
committer | Matt Corallo <git@bluematt.me> | 2017-09-11 18:07:52 -0400 |
commit | 1789e4675b17f274fcb0761321e6fd249a102f40 (patch) | |
tree | d72c88f1091a160d8cfb6aff41aa13d57b9072ce /src/policy/fees.cpp | |
parent | 53a6590f496b25174c740927243bf8307541b0b9 (diff) |
Force explicit double -> int conversion for CFeeRate constructor
This resolves an issue where estimatesmartfee would return 999
sat/byte instead of 1000, due to floating point loss of precision
Thanks to sipa for suggesting is_integral.
Diffstat (limited to 'src/policy/fees.cpp')
-rw-r--r-- | src/policy/fees.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/policy/fees.cpp b/src/policy/fees.cpp index ca774cd74b..8056f385ab 100644 --- a/src/policy/fees.cpp +++ b/src/policy/fees.cpp @@ -714,7 +714,7 @@ CFeeRate CBlockPolicyEstimator::estimateRawFee(int confTarget, double successThr if (median < 0) return CFeeRate(0); - return CFeeRate(median); + return CFeeRate(llround(median)); } unsigned int CBlockPolicyEstimator::HighestTargetTracked(FeeEstimateHorizon horizon) const @@ -901,7 +901,7 @@ CFeeRate CBlockPolicyEstimator::estimateSmartFee(int confTarget, FeeCalculation if (median < 0) return CFeeRate(0); // error condition - return CFeeRate(median); + return CFeeRate(llround(median)); } |