|
|
@ -868,6 +868,15 @@ static UniValue BIP9SoftForkDesc(const Consensus::Params& consensusParams, Conse |
|
|
|
return rv; |
|
|
|
return rv; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void BIP9SoftForkDescPushBack(UniValue& bip9_softforks, const std::string &name, const Consensus::Params& consensusParams, Consensus::DeploymentPos id) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
// Deployments with timeout value of 0 are hidden.
|
|
|
|
|
|
|
|
// A timeout value of 0 guarantees a softfork will never be activated.
|
|
|
|
|
|
|
|
// This is used when softfork codes are merged without specifying the deployment schedule.
|
|
|
|
|
|
|
|
if (consensusParams.vDeployments[id].nTimeout > 0) |
|
|
|
|
|
|
|
bip9_softforks.push_back(Pair(name, BIP9SoftForkDesc(consensusParams, id))); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
UniValue getblockchaininfo(const UniValue& params, bool fHelp) |
|
|
|
UniValue getblockchaininfo(const UniValue& params, bool fHelp) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (fHelp || params.size() != 0) |
|
|
|
if (fHelp || params.size() != 0) |
|
|
@ -901,7 +910,7 @@ UniValue getblockchaininfo(const UniValue& params, bool fHelp) |
|
|
|
" ],\n" |
|
|
|
" ],\n" |
|
|
|
" \"bip9_softforks\": { (object) status of BIP9 softforks in progress\n" |
|
|
|
" \"bip9_softforks\": { (object) status of BIP9 softforks in progress\n" |
|
|
|
" \"xxxx\" : { (string) name of the softfork\n" |
|
|
|
" \"xxxx\" : { (string) name of the softfork\n" |
|
|
|
" \"status\": \"xxxx\", (string) one of \"defined\", \"started\", \"lockedin\", \"active\", \"failed\"\n" |
|
|
|
" \"status\": \"xxxx\", (string) one of \"defined\", \"started\", \"locked_in\", \"active\", \"failed\"\n" |
|
|
|
" \"bit\": xx, (numeric) the bit, 0-28, in the block version field used to signal this soft fork\n" |
|
|
|
" \"bit\": xx, (numeric) the bit, 0-28, in the block version field used to signal this soft fork\n" |
|
|
|
" \"startTime\": xx, (numeric) the minimum median time past of a block at which the bit gains its meaning\n" |
|
|
|
" \"startTime\": xx, (numeric) the minimum median time past of a block at which the bit gains its meaning\n" |
|
|
|
" \"timeout\": xx (numeric) the median time past of a block at which the deployment is considered failed if not yet locked in\n" |
|
|
|
" \"timeout\": xx (numeric) the median time past of a block at which the deployment is considered failed if not yet locked in\n" |
|
|
@ -933,8 +942,8 @@ UniValue getblockchaininfo(const UniValue& params, bool fHelp) |
|
|
|
softforks.push_back(SoftForkDesc("bip34", 2, tip, consensusParams)); |
|
|
|
softforks.push_back(SoftForkDesc("bip34", 2, tip, consensusParams)); |
|
|
|
softforks.push_back(SoftForkDesc("bip66", 3, tip, consensusParams)); |
|
|
|
softforks.push_back(SoftForkDesc("bip66", 3, tip, consensusParams)); |
|
|
|
softforks.push_back(SoftForkDesc("bip65", 4, tip, consensusParams)); |
|
|
|
softforks.push_back(SoftForkDesc("bip65", 4, tip, consensusParams)); |
|
|
|
bip9_softforks.push_back(Pair("csv", BIP9SoftForkDesc(consensusParams, Consensus::DEPLOYMENT_CSV))); |
|
|
|
BIP9SoftForkDescPushBack(bip9_softforks, "csv", consensusParams, Consensus::DEPLOYMENT_CSV); |
|
|
|
bip9_softforks.push_back(Pair("segwit", BIP9SoftForkDesc(consensusParams, Consensus::DEPLOYMENT_SEGWIT))); |
|
|
|
BIP9SoftForkDescPushBack(bip9_softforks, "segwit", consensusParams, Consensus::DEPLOYMENT_SEGWIT); |
|
|
|
obj.push_back(Pair("softforks", softforks)); |
|
|
|
obj.push_back(Pair("softforks", softforks)); |
|
|
|
obj.push_back(Pair("bip9_softforks", bip9_softforks)); |
|
|
|
obj.push_back(Pair("bip9_softforks", bip9_softforks)); |
|
|
|
|
|
|
|
|
|
|
|