aboutsummaryrefslogtreecommitdiff
path: root/src/init.cpp
diff options
context:
space:
mode:
authorGavin Andresen <gavinandresen@gmail.com>2012-02-06 15:48:00 -0500
committerGavin Andresen <gavinandresen@gmail.com>2012-02-06 16:27:05 -0500
commit7bf8b7c25c944110dbe85ef9e4eebd858da34158 (patch)
tree943799640b2ceab894852cb1cd54158c582ec577 /src/init.cpp
parent0b9a05a2bc1c1c6a86cdd9f25d43ab7224fd8731 (diff)
-bip16 option (default: 1) to support / not support BIP 16. And bumped default BIP16 switchover date from Feb 15 to Mar 1
Diffstat (limited to 'src/init.cpp')
-rw-r--r--src/init.cpp33
1 files changed, 26 insertions, 7 deletions
diff --git a/src/init.cpp b/src/init.cpp
index 4bb3312902..97f5ce7ec0 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -474,19 +474,38 @@ bool AppInit2(int argc, char* argv[])
bool fTor = (fUseProxy && addrProxy.GetPort() == 9050);
if (fTor)
{
- // Use SoftSetArg here so user can override any of these if they wish.
+ // Use SoftSetBoolArg here so user can override any of these if they wish.
// Note: the GetBoolArg() calls for all of these must happen later.
- SoftSetArg("-nolisten", true);
- SoftSetArg("-noirc", true);
- SoftSetArg("-nodnsseed", true);
- SoftSetArg("-noupnp", true);
- SoftSetArg("-upnp", false);
- SoftSetArg("-dns", false);
+ SoftSetBoolArg("-nolisten", true);
+ SoftSetBoolArg("-noirc", true);
+ SoftSetBoolArg("-nodnsseed", true);
+ SoftSetBoolArg("-noupnp", true);
+ SoftSetBoolArg("-upnp", false);
+ SoftSetBoolArg("-dns", false);
}
fAllowDNS = GetBoolArg("-dns");
fNoListen = GetBoolArg("-nolisten");
+ // This code can be removed once a super-majority of the network has upgraded.
+ if (GetBoolArg("-bip16", true))
+ {
+ if (fTestNet)
+ SoftSetArg("-paytoscripthashtime", "1329264000"); // Feb 15
+ else
+ SoftSetArg("-paytoscripthashtime", "1330578000"); // Mar 1
+
+ // Put "/P2SH/" in the coinbase so everybody can tell when
+ // a majority of miners support it
+ const char* pszP2SH = "/P2SH/";
+ COINBASE_FLAGS << std::vector<unsigned char>(pszP2SH, pszP2SH+strlen(pszP2SH));
+ }
+ else
+ {
+ const char* pszP2SH = "NOP2SH";
+ COINBASE_FLAGS << std::vector<unsigned char>(pszP2SH, pszP2SH+strlen(pszP2SH));
+ }
+
// Command-line args override in-wallet settings:
if (mapArgs.count("-upnp"))
fUseUPnP = GetBoolArg("-upnp");