diff options
author | ismaelsadeeq <ask4ismailsadiq@gmail.com> | 2023-06-08 13:14:11 +0100 |
---|---|---|
committer | fanquake <fanquake@gmail.com> | 2023-09-26 16:26:55 +0100 |
commit | 77979e0172d0bc86bfbc60f6a652e26c77722e29 (patch) | |
tree | 3abf15ae12cb092f518925c65da08aae6be96d09 /src/init.cpp | |
parent | 67b6d99aead0d1b2030bc3e88256d279477894b5 (diff) |
tx fees, policy: periodically flush fee estimates to fee_estimates.dat
This reduces chances of having old estimates in fee_estimates.dat.
Github-Pull: #27622
Rebased-From: 5b886f2b436eaa8c2b7de58dc4644dc6223040da
Diffstat (limited to 'src/init.cpp')
-rw-r--r-- | src/init.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/init.cpp b/src/init.cpp index 25b40c6c6e..7fcd1fee2f 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -1253,7 +1253,13 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info) assert(!node.fee_estimator); // Don't initialize fee estimation with old data if we don't relay transactions, // as they would never get updated. - if (!ignores_incoming_txs) node.fee_estimator = std::make_unique<CBlockPolicyEstimator>(FeeestPath(args)); + if (!ignores_incoming_txs) { + node.fee_estimator = std::make_unique<CBlockPolicyEstimator>(FeeestPath(args)); + + // Flush estimates to disk periodically + CBlockPolicyEstimator* fee_estimator = node.fee_estimator.get(); + node.scheduler->scheduleEvery([fee_estimator] { fee_estimator->FlushFeeEstimates(); }, FEE_FLUSH_INTERVAL); + } // sanitize comments per BIP-0014, format user agent and check total size std::vector<std::string> uacomments; |