-bip16 option (default: 1) to support / not support BIP 16. And bumped default BIP16 switchover date from Feb 15 to Mar 1
This commit is contained in:
parent
0b9a05a2bc
commit
7bf8b7c25c
5 changed files with 34 additions and 15 deletions
33
src/init.cpp
33
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");
|
||||
|
|
|
@ -52,6 +52,8 @@ multimap<uint256, CBlock*> mapOrphanBlocksByPrev;
|
|||
map<uint256, CDataStream*> mapOrphanTransactions;
|
||||
multimap<uint256, CDataStream*> mapOrphanTransactionsByPrev;
|
||||
|
||||
// Constant stuff for coinbase transactions we create:
|
||||
CScript COINBASE_FLAGS;
|
||||
|
||||
const string strMessageMagic = "Bitcoin Signed Message:\n";
|
||||
|
||||
|
@ -1213,8 +1215,9 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex)
|
|||
|
||||
// To avoid being on the short end of a block-chain split,
|
||||
// don't do secondary validation of pay-to-script-hash transactions
|
||||
// until blocks with timestamps after paytoscripthashtime:
|
||||
int64 nEvalSwitchTime = GetArg("-paytoscripthashtime", 1329264000); // Feb 15, 2012
|
||||
// until blocks with timestamps after paytoscripthashtime (see init.cpp for default).
|
||||
// This code can be removed once a super-majority of the network has upgraded.
|
||||
int64 nEvalSwitchTime = GetArg("-paytoscripthashtime", std::numeric_limits<int64_t>::max());
|
||||
bool fStrictPayToScriptHash = (pindex->nTime >= nEvalSwitchTime);
|
||||
|
||||
//// issue here: it doesn't know the version
|
||||
|
|
|
@ -49,10 +49,7 @@ static const int fHaveUPnP = false;
|
|||
#endif
|
||||
|
||||
|
||||
// Put "/P2SH/" in the coinbase so everybody can tell when
|
||||
// a majority of miners support it
|
||||
static const char* pszP2SH = "/P2SH/";
|
||||
static const CScript COINBASE_FLAGS = CScript() << std::vector<unsigned char>(pszP2SH, pszP2SH+strlen(pszP2SH));
|
||||
extern CScript COINBASE_FLAGS;
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -488,7 +488,7 @@ bool SoftSetArg(const std::string& strArg, const std::string& strValue)
|
|||
return true;
|
||||
}
|
||||
|
||||
bool SoftSetArg(const std::string& strArg, bool fValue)
|
||||
bool SoftSetBoolArg(const std::string& strArg, bool fValue)
|
||||
{
|
||||
if (fValue)
|
||||
return SoftSetArg(strArg, std::string("1"));
|
||||
|
|
|
@ -442,7 +442,7 @@ bool SoftSetArg(const std::string& strArg, const std::string& strValue);
|
|||
* @param fValue Value (e.g. false)
|
||||
* @return true if argument gets set, false if it already had a value
|
||||
*/
|
||||
bool SoftSetArg(const std::string& strArg, bool fValue);
|
||||
bool SoftSetBoolArg(const std::string& strArg, bool fValue);
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue