|
|
|
@ -303,7 +303,7 @@ static UniValue BIP22ValidationResult(const CValidationState& state)
@@ -303,7 +303,7 @@ static UniValue BIP22ValidationResult(const CValidationState& state)
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
std::string gbt_vb_name(const Consensus::DeploymentPos pos) { |
|
|
|
|
const struct BIP9DeploymentInfo& vbinfo = VersionBitsDeploymentInfo[pos]; |
|
|
|
|
const struct VBDeploymentInfo& vbinfo = VersionBitsDeploymentInfo[pos]; |
|
|
|
|
std::string s = vbinfo.name; |
|
|
|
|
if (!vbinfo.gbt_force) { |
|
|
|
|
s.insert(s.begin(), '!'); |
|
|
|
@ -515,7 +515,7 @@ UniValue getblocktemplate(const JSONRPCRequest& request)
@@ -515,7 +515,7 @@ UniValue getblocktemplate(const JSONRPCRequest& request)
|
|
|
|
|
// TODO: Maybe recheck connections/IBD and (if something wrong) send an expires-immediately template to stop miners?
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const struct BIP9DeploymentInfo& segwit_info = VersionBitsDeploymentInfo[Consensus::DEPLOYMENT_SEGWIT]; |
|
|
|
|
const struct VBDeploymentInfo& segwit_info = VersionBitsDeploymentInfo[Consensus::DEPLOYMENT_SEGWIT]; |
|
|
|
|
// If the caller is indicating segwit support, then allow CreateNewBlock()
|
|
|
|
|
// to select witness transactions, after segwit activates (otherwise
|
|
|
|
|
// don't).
|
|
|
|
@ -629,7 +629,7 @@ UniValue getblocktemplate(const JSONRPCRequest& request)
@@ -629,7 +629,7 @@ UniValue getblocktemplate(const JSONRPCRequest& request)
|
|
|
|
|
// FALL THROUGH to get vbavailable set...
|
|
|
|
|
case THRESHOLD_STARTED: |
|
|
|
|
{ |
|
|
|
|
const struct BIP9DeploymentInfo& vbinfo = VersionBitsDeploymentInfo[pos]; |
|
|
|
|
const struct VBDeploymentInfo& vbinfo = VersionBitsDeploymentInfo[pos]; |
|
|
|
|
vbavailable.push_back(Pair(gbt_vb_name(pos), consensusParams.vDeployments[pos].bit)); |
|
|
|
|
if (setClientRules.find(vbinfo.name) == setClientRules.end()) { |
|
|
|
|
if (!vbinfo.gbt_force) { |
|
|
|
@ -642,7 +642,7 @@ UniValue getblocktemplate(const JSONRPCRequest& request)
@@ -642,7 +642,7 @@ UniValue getblocktemplate(const JSONRPCRequest& request)
|
|
|
|
|
case THRESHOLD_ACTIVE: |
|
|
|
|
{ |
|
|
|
|
// Add to rules only
|
|
|
|
|
const struct BIP9DeploymentInfo& vbinfo = VersionBitsDeploymentInfo[pos]; |
|
|
|
|
const struct VBDeploymentInfo& vbinfo = VersionBitsDeploymentInfo[pos]; |
|
|
|
|
aRules.push_back(gbt_vb_name(pos)); |
|
|
|
|
if (setClientRules.find(vbinfo.name) == setClientRules.end()) { |
|
|
|
|
// Not supported by the client; make sure it's safe to proceed
|
|
|
|
|