mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-09-13 06:04:42 +02:00
Introduce FeeRateEstimatorManager to wrap CBlockPolicyEstimator and act as the single point of contact for fee rate estimation in the node. It inherits CValidationInterface so it can register directly with the validation signals and receive mempool/block events. Wire it into NodeContext (fee_estimator_man), init, shutdown, the RPC server utility helpers (EnsureAnyFeeEstimatorMan), and the wallet-facing interfaces::Chain API. The Chain method estimateSmartFee is renamed to getFeeRateEstimate and now returns util::Expected<FeeRateEstimation, FeeRateEstimationError> instead of CFeeRate, so callers get the full estimation context without needing FeeCalculation. estimateMaxBlocks is renamed to maximumFeeEstimationTargetBlocks (still returns the max target). CBlockPolicyEstimator no longer inherits CValidationInterface; the manager now receives the mempool/block validation events and forwards them to the CBlockPolicyEstimator. Co-authored-by: willcl-ark <will@256k1.dev>
786 B
786 B