aboutsummaryrefslogtreecommitdiff
path: root/src/wallet/fees.h
diff options
context:
space:
mode:
authorRussell Yanofsky <russ@yanofsky.org>2017-08-02 07:19:28 -0400
committerRussell Yanofsky <russ@yanofsky.org>2017-08-14 11:19:38 -0400
commitd97fe2016cc7739929aac5c44de5037163b17ad0 (patch)
treec982d313f3fffdcad406ce75f5c5bfe49169f605 /src/wallet/fees.h
parentc2704ec98a1b7b35b6a7c1b6b26a3f16d44e8880 (diff)
downloadbitcoin-d97fe2016cc7739929aac5c44de5037163b17ad0.tar.xz
Move some static functions out of wallet.h/cpp
This commit just moves a few function declarations and updates callers. Function bodies are moved in two followup MOVEONLY commits. This change is desirable because wallet.h/cpp are monolithic and hard to navigate, so pulling things out and grouping together pieces of related functionality should improve the organization. Another proximate motivation is the wallet process separation work in https://github.com/bitcoin/bitcoin/pull/10973, where (at least initially) parameter parsing and fee estimation are still done in the main process rather than the wallet process, and having functions that run in different processes scrambled up throughout wallet.cpp is unnecessarily confusing.
Diffstat (limited to 'src/wallet/fees.h')
-rw-r--r--src/wallet/fees.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/wallet/fees.h b/src/wallet/fees.h
new file mode 100644
index 0000000000..7b8a7dc868
--- /dev/null
+++ b/src/wallet/fees.h
@@ -0,0 +1,34 @@
+// Copyright (c) 2009-2010 Satoshi Nakamoto
+// Copyright (c) 2009-2017 The Bitcoin Core developers
+// Distributed under the MIT software license, see the accompanying
+// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+#ifndef BITCOIN_WALLET_FEES_H
+#define BITCOIN_WALLET_FEES_H
+
+#include "amount.h"
+
+class CBlockPolicyEstimator;
+class CCoinControl;
+class CFeeRate;
+class CTxMemPool;
+struct FeeCalculation;
+
+/**
+ * Return the minimum required fee taking into account the
+ * floating relay fee and user set minimum transaction fee
+ */
+CAmount GetRequiredFee(unsigned int nTxBytes);
+
+/**
+ * Estimate the minimum fee considering user set parameters
+ * and the required fee
+ */
+CAmount GetMinimumFee(unsigned int nTxBytes, const CCoinControl& coin_control, const CTxMemPool& pool, const CBlockPolicyEstimator& estimator, FeeCalculation *feeCalc);
+
+/**
+ * Return the maximum feerate for discarding change.
+ */
+CFeeRate GetDiscardRate(const CBlockPolicyEstimator& estimator);
+
+#endif // BITCOIN_WALLET_FEES_H