aboutsummaryrefslogtreecommitdiff
path: root/src/policy/settings.h
diff options
context:
space:
mode:
authorRussell Yanofsky <russ@yanofsky.org>2019-03-22 00:42:17 -0400
committerRussell Yanofsky <russ@yanofsky.org>2019-04-10 09:51:37 -0400
commitb874747b51882a613895a100c4210c7f1dddde30 (patch)
tree3b8473c9c2a94aec786c27c9c3c2b5f297cf1fdf /src/policy/settings.h
parentfbc6bb8e8310ddf12e675d698cda3bdae4f361b8 (diff)
downloadbitcoin-b874747b51882a613895a100c4210c7f1dddde30.tar.xz
Remove access to node globals from wallet-linked code
Remove last few instances of accesses to node global variables from wallet code. Also remove accesses to node globals from code in policy/policy.cpp that isn't actually called by wallet code, but does get linked into wallet code. This is the last change needed to allow bitcoin-wallet tool to be linked without depending on libbitcoin_server.a, to ensure wallet code doesn't access node global state and avoid bugs like https://github.com/bitcoin/bitcoin/pull/15557#discussion_r267735431
Diffstat (limited to 'src/policy/settings.h')
-rw-r--r--src/policy/settings.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/policy/settings.h b/src/policy/settings.h
index 1d2a1fb880..30a7189c93 100644
--- a/src/policy/settings.h
+++ b/src/policy/settings.h
@@ -6,7 +6,10 @@
#ifndef BITCOIN_POLICY_SETTINGS_H
#define BITCOIN_POLICY_SETTINGS_H
+#include <policy/policy.h>
+
class CFeeRate;
+class CTransaction;
// Policy settings which are configurable at runtime.
extern CFeeRate incrementalRelayFee;
@@ -14,4 +17,19 @@ extern CFeeRate dustRelayFee;
extern unsigned int nBytesPerSigOp;
extern bool fIsBareMultisigStd;
+static inline bool IsStandardTx(const CTransaction& tx, std::string& reason)
+{
+ return IsStandardTx(tx, ::fIsBareMultisigStd, ::dustRelayFee, reason);
+}
+
+static inline int64_t GetVirtualTransactionSize(int64_t weight, int64_t sigop_cost)
+{
+ return GetVirtualTransactionSize(weight, sigop_cost, ::nBytesPerSigOp);
+}
+
+static inline int64_t GetVirtualTransactionSize(const CTransaction& tx, int64_t sigop_cost)
+{
+ return GetVirtualTransactionSize(tx, sigop_cost, ::nBytesPerSigOp);
+}
+
#endif // BITCOIN_POLICY_SETTINGS_H