diff options
author | Alex Morcos <morcos@chaincode.com> | 2017-01-13 16:25:15 -0500 |
---|---|---|
committer | Alex Morcos <morcos@chaincode.com> | 2017-01-17 13:21:31 -0500 |
commit | 2a7b56cc0e33d74b548e38aa987e003a9801c8bd (patch) | |
tree | cfc49b03fb23f1d0c12680fd8fa58107ed6ba03d /src | |
parent | ac9d3d25f77a25359f362661b0a07afc68b95136 (diff) |
CBlockPolicyEstimator now uses hard coded minimum bucket feerate
Diffstat (limited to 'src')
-rw-r--r-- | src/policy/fees.cpp | 4 | ||||
-rw-r--r-- | src/policy/fees.h | 9 | ||||
-rw-r--r-- | src/txmempool.cpp | 2 |
3 files changed, 10 insertions, 5 deletions
diff --git a/src/policy/fees.cpp b/src/policy/fees.cpp index 89d5003540..5586cf45b1 100644 --- a/src/policy/fees.cpp +++ b/src/policy/fees.cpp @@ -298,11 +298,11 @@ bool CBlockPolicyEstimator::removeTx(uint256 hash) } } -CBlockPolicyEstimator::CBlockPolicyEstimator(const CFeeRate& _minRelayFee) +CBlockPolicyEstimator::CBlockPolicyEstimator() : nBestSeenHeight(0), trackedTxs(0), untrackedTxs(0) { static_assert(MIN_BUCKET_FEERATE > 0, "Min feerate must be nonzero"); - minTrackedFee = _minRelayFee < CFeeRate(MIN_BUCKET_FEERATE) ? CFeeRate(MIN_BUCKET_FEERATE) : _minRelayFee; + minTrackedFee = CFeeRate(MIN_BUCKET_FEERATE); std::vector<double> vfeelist; for (double bucketBoundary = minTrackedFee.GetFeePerK(); bucketBoundary <= MAX_BUCKET_FEERATE; bucketBoundary *= FEE_SPACING) { vfeelist.push_back(bucketBoundary); diff --git a/src/policy/fees.h b/src/policy/fees.h index fbb7816329..6dc167de2f 100644 --- a/src/policy/fees.h +++ b/src/policy/fees.h @@ -179,7 +179,12 @@ static const double MIN_SUCCESS_PCT = .95; static const double SUFFICIENT_FEETXS = 1; // Minimum and Maximum values for tracking feerates -static constexpr double MIN_BUCKET_FEERATE = 10; +// The MIN_BUCKET_FEERATE should just be set to the lowest reasonable feerate we +// might ever want to track. Historically this has been 1000 since it was +// inheriting DEFAULT_MIN_RELAY_TX_FEE and changing it is disruptive as it +// invalidates old estimates files. So leave it at 1000 unless it becomes +// necessary to lower it, and then lower it substantially. +static constexpr double MIN_BUCKET_FEERATE = 1000; static const double MAX_BUCKET_FEERATE = 1e7; static const double INF_FEERATE = MAX_MONEY; static const double INF_PRIORITY = 1e9 * MAX_MONEY; @@ -199,7 +204,7 @@ class CBlockPolicyEstimator { public: /** Create new BlockPolicyEstimator and initialize stats tracking classes with default values */ - CBlockPolicyEstimator(const CFeeRate& minRelayFee); + CBlockPolicyEstimator(); /** Process all the transactions that have been included in a block */ void processBlock(unsigned int nBlockHeight, diff --git a/src/txmempool.cpp b/src/txmempool.cpp index 5b085f492d..e3d4eff600 100644 --- a/src/txmempool.cpp +++ b/src/txmempool.cpp @@ -358,7 +358,7 @@ CTxMemPool::CTxMemPool(const CFeeRate& _minReasonableRelayFee) : // of transactions in the pool nCheckFrequency = 0; - minerPolicyEstimator = new CBlockPolicyEstimator(_minReasonableRelayFee); + minerPolicyEstimator = new CBlockPolicyEstimator(); } CTxMemPool::~CTxMemPool() |