|
|
|
@ -855,13 +855,13 @@ bool CBlockPolicyEstimator::Read(CAutoFile& filein)
@@ -855,13 +855,13 @@ bool CBlockPolicyEstimator::Read(CAutoFile& filein)
|
|
|
|
|
try { |
|
|
|
|
LOCK(cs_feeEstimator); |
|
|
|
|
int nVersionRequired, nVersionThatWrote; |
|
|
|
|
unsigned int nFileBestSeenHeight, nFileHistoricalFirst, nFileHistoricalBest; |
|
|
|
|
filein >> nVersionRequired >> nVersionThatWrote; |
|
|
|
|
if (nVersionRequired > CLIENT_VERSION) |
|
|
|
|
return error("CBlockPolicyEstimator::Read(): up-version (%d) fee estimate file", nVersionRequired); |
|
|
|
|
|
|
|
|
|
// Read fee estimates file into temporary variables so existing data
|
|
|
|
|
// structures aren't corrupted if there is an exception.
|
|
|
|
|
unsigned int nFileBestSeenHeight; |
|
|
|
|
filein >> nFileBestSeenHeight; |
|
|
|
|
|
|
|
|
|
if (nVersionThatWrote < 149900) { |
|
|
|
@ -890,6 +890,7 @@ bool CBlockPolicyEstimator::Read(CAutoFile& filein)
@@ -890,6 +890,7 @@ bool CBlockPolicyEstimator::Read(CAutoFile& filein)
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else { // nVersionThatWrote >= 149900
|
|
|
|
|
unsigned int nFileHistoricalFirst, nFileHistoricalBest; |
|
|
|
|
filein >> nFileHistoricalFirst >> nFileHistoricalBest; |
|
|
|
|
if (nFileHistoricalFirst > nFileHistoricalBest || nFileHistoricalBest > nFileBestSeenHeight) { |
|
|
|
|
throw std::runtime_error("Corrupt estimates file. Historical block range for estimates is invalid"); |
|
|
|
|