diff options
author | Russell Yanofsky <russ@yanofsky.org> | 2017-07-28 21:40:29 -0400 |
---|---|---|
committer | Russell Yanofsky <russ@yanofsky.org> | 2019-02-22 15:43:02 -0400 |
commit | cc02c796d3517931acc861b0f9bc50e36e1c95f9 (patch) | |
tree | adc01a513b50ceed34412f362644999de61ff561 /src/interfaces | |
parent | 1fb0a4a04e9cda19ed5ad04694a39c83c91b6072 (diff) |
Remove uses of fee globals in wallet code
This commit does not change behavior.
Diffstat (limited to 'src/interfaces')
-rw-r--r-- | src/interfaces/chain.cpp | 14 | ||||
-rw-r--r-- | src/interfaces/chain.h | 10 | ||||
-rw-r--r-- | src/interfaces/wallet.cpp | 2 |
3 files changed, 25 insertions, 1 deletions
diff --git a/src/interfaces/chain.cpp b/src/interfaces/chain.cpp index c12215cd60..f888606879 100644 --- a/src/interfaces/chain.cpp +++ b/src/interfaces/chain.cpp @@ -6,6 +6,8 @@ #include <chain.h> #include <chainparams.h> +#include <policy/fees.h> +#include <policy/policy.h> #include <policy/rbf.h> #include <primitives/block.h> #include <sync.h> @@ -214,6 +216,18 @@ public: return ::mempool.CalculateMemPoolAncestors(entry, ancestors, limit_ancestor_count, limit_ancestor_size, limit_descendant_count, limit_descendant_size, unused_error_string); } + CFeeRate estimateSmartFee(int num_blocks, bool conservative, FeeCalculation* calc) override + { + return ::feeEstimator.estimateSmartFee(num_blocks, calc, conservative); + } + unsigned int estimateMaxBlocks() override + { + return ::feeEstimator.HighestTargetTracked(FeeEstimateHorizon::LONG_HALFLIFE); + } + CFeeRate mempoolMinFee() override + { + return ::mempool.GetMinFee(gArgs.GetArg("-maxmempool", DEFAULT_MAX_MEMPOOL_SIZE) * 1000000); + } }; } // namespace diff --git a/src/interfaces/chain.h b/src/interfaces/chain.h index 2e0328eb25..d0f74cb100 100644 --- a/src/interfaces/chain.h +++ b/src/interfaces/chain.h @@ -19,6 +19,7 @@ class CScheduler; class CTransaction; class uint256; struct CBlockLocator; +struct FeeCalculation; namespace interfaces { @@ -145,6 +146,15 @@ public: //! Check chain limits. virtual bool checkChainLimits(CTransactionRef tx) = 0; + + //! Estimate smart fee. + virtual CFeeRate estimateSmartFee(int num_blocks, bool conservative, FeeCalculation* calc = nullptr) = 0; + + //! Fee estimator max target. + virtual unsigned int estimateMaxBlocks() = 0; + + //! Pool min fee. + virtual CFeeRate mempoolMinFee() = 0; }; //! Interface to let node manage chain clients (wallets, or maybe tools for diff --git a/src/interfaces/wallet.cpp b/src/interfaces/wallet.cpp index e870d3d537..f3a0b416db 100644 --- a/src/interfaces/wallet.cpp +++ b/src/interfaces/wallet.cpp @@ -457,7 +457,7 @@ public: { FeeCalculation fee_calc; CAmount result; - result = GetMinimumFee(*m_wallet, tx_bytes, coin_control, ::mempool, ::feeEstimator, &fee_calc); + result = GetMinimumFee(*m_wallet, tx_bytes, coin_control, &fee_calc); if (returned_target) *returned_target = fee_calc.returnedTarget; if (reason) *reason = fee_calc.reason; return result; |