aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlex Morcos <morcos@chaincode.com>2017-01-13 16:25:15 -0500
committerAlex Morcos <morcos@chaincode.com>2017-01-17 13:21:31 -0500
commit2a7b56cc0e33d74b548e38aa987e003a9801c8bd (patch)
treecfc49b03fb23f1d0c12680fd8fa58107ed6ba03d /src
parentac9d3d25f77a25359f362661b0a07afc68b95136 (diff)
CBlockPolicyEstimator now uses hard coded minimum bucket feerate
Diffstat (limited to 'src')
-rw-r--r--src/policy/fees.cpp4
-rw-r--r--src/policy/fees.h9
-rw-r--r--src/txmempool.cpp2
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()