diff options
author | Gavin Andresen <gavinandresen@gmail.com> | 2014-06-23 10:58:59 -0400 |
---|---|---|
committer | Gavin Andresen <gavinandresen@gmail.com> | 2014-07-03 13:44:56 -0400 |
commit | 4b7b1bb1ac54e067d889170757a8c45f0baaae3d (patch) | |
tree | 137436a4b855fd776d59f019e5a4d304c9253424 /src/txmempool.cpp | |
parent | b33d1f5ee512da5719b793b3867f75f1eea5cf52 (diff) |
Sanity checks for estimates
Require at least 11 samples before giving fee/priority estimates.
And have wallet-created transactions go throught the fee-sanity-check
code path.
Diffstat (limited to 'src/txmempool.cpp')
-rw-r--r-- | src/txmempool.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/txmempool.cpp b/src/txmempool.cpp index 97a426dd35..0a8ad96aac 100644 --- a/src/txmempool.cpp +++ b/src/txmempool.cpp @@ -251,8 +251,13 @@ public: std::sort(sortedFeeSamples.begin(), sortedFeeSamples.end(), std::greater<CFeeRate>()); } - if (sortedFeeSamples.size() == 0) + if (sortedFeeSamples.size() < 11) + { + // Eleven is Gavin's Favorite Number + // ... but we also take a maximum of 10 samples per block so eleven means + // we're getting samples from at least two different blocks return CFeeRate(0); + } int nBucketSize = history.at(nBlocksToConfirm).FeeSamples(); @@ -281,7 +286,7 @@ public: std::sort(sortedPrioritySamples.begin(), sortedPrioritySamples.end(), std::greater<double>()); } - if (sortedPrioritySamples.size() == 0) + if (sortedPrioritySamples.size() < 11) return -1.0; int nBucketSize = history.at(nBlocksToConfirm).PrioritySamples(); |