|
|
@ -299,6 +299,7 @@ void CBlockPolicyEstimator::removeTx(uint256 hash) |
|
|
|
CBlockPolicyEstimator::CBlockPolicyEstimator(const CFeeRate& _minRelayFee) |
|
|
|
CBlockPolicyEstimator::CBlockPolicyEstimator(const CFeeRate& _minRelayFee) |
|
|
|
: nBestSeenHeight(0) |
|
|
|
: nBestSeenHeight(0) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
static_assert(MIN_FEERATE > 0, "Min feerate must be nonzero"); |
|
|
|
minTrackedFee = _minRelayFee < CFeeRate(MIN_FEERATE) ? CFeeRate(MIN_FEERATE) : _minRelayFee; |
|
|
|
minTrackedFee = _minRelayFee < CFeeRate(MIN_FEERATE) ? CFeeRate(MIN_FEERATE) : _minRelayFee; |
|
|
|
std::vector<double> vfeelist; |
|
|
|
std::vector<double> vfeelist; |
|
|
|
for (double bucketBoundary = minTrackedFee.GetFeePerK(); bucketBoundary <= MAX_FEERATE; bucketBoundary *= FEE_SPACING) { |
|
|
|
for (double bucketBoundary = minTrackedFee.GetFeePerK(); bucketBoundary <= MAX_FEERATE; bucketBoundary *= FEE_SPACING) { |
|
|
@ -485,7 +486,7 @@ void CBlockPolicyEstimator::Read(CAutoFile& filein, int nFileVersion) |
|
|
|
|
|
|
|
|
|
|
|
FeeFilterRounder::FeeFilterRounder(const CFeeRate& minIncrementalFee) |
|
|
|
FeeFilterRounder::FeeFilterRounder(const CFeeRate& minIncrementalFee) |
|
|
|
{ |
|
|
|
{ |
|
|
|
CAmount minFeeLimit = minIncrementalFee.GetFeePerK() / 2; |
|
|
|
CAmount minFeeLimit = std::max(CAmount(1), minIncrementalFee.GetFeePerK() / 2); |
|
|
|
feeset.insert(0); |
|
|
|
feeset.insert(0); |
|
|
|
for (double bucketBoundary = minFeeLimit; bucketBoundary <= MAX_FEERATE; bucketBoundary *= FEE_SPACING) { |
|
|
|
for (double bucketBoundary = minFeeLimit; bucketBoundary <= MAX_FEERATE; bucketBoundary *= FEE_SPACING) { |
|
|
|
feeset.insert(bucketBoundary); |
|
|
|
feeset.insert(bucketBoundary); |
|
|
|