aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Dashjr <luke-jr+git@utopios.org>2016-01-28 05:27:25 +0000
committerLuke Dashjr <luke-jr+git@utopios.org>2016-01-28 06:10:35 +0000
commitd65dee961e39937e3e671c742ff8db32612ad9af (patch)
tree458c4c3545c645232cdff1cc75060b4affe5dba3
parent77b55a00ed4a3a3a22ec3e299539a1812a0bc605 (diff)
Accept replacebyfee=opt-in for turning on opt-in RBF
Basic forward-compatibility with more flexible parameters like fss
-rw-r--r--src/init.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/init.cpp b/src/init.cpp
index 0032a6d2d8..547e94ad61 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -47,8 +47,10 @@
#include <signal.h>
#endif
+#include <boost/algorithm/string/classification.hpp>
#include <boost/algorithm/string/predicate.hpp>
#include <boost/algorithm/string/replace.hpp>
+#include <boost/algorithm/string/split.hpp>
#include <boost/bind.hpp>
#include <boost/filesystem.hpp>
#include <boost/function.hpp>
@@ -1030,7 +1032,20 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler)
nLocalServices |= NODE_BLOOM;
nMaxTipAge = GetArg("-maxtipage", DEFAULT_MAX_TIP_AGE);
+
fEnableReplacement = GetBoolArg("-replacebyfee", DEFAULT_ENABLE_REPLACEMENT);
+ if ((!fEnableReplacement) && mapArgs.count("-replacebyfee")) {
+ // Minimal effort at forwards compatibility
+ std::string strReplacementModeList = GetArg("-replacebyfee", ""); // default is impossible
+ std::vector<std::string> vstrReplacementModes;
+ boost::split(vstrReplacementModes, strReplacementModeList, boost::is_any_of(","));
+ BOOST_FOREACH(const std::string& strReplacementMode, vstrReplacementModes) {
+ if (strReplacementMode == "opt-in") {
+ fEnableReplacement = true;
+ break;
+ }
+ }
+ }
// ********************************************************* Step 4: application initialization: dir lock, daemonize, pidfile, debug log