mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-13 15:39:05 +01:00
RPC: getblockchaininfo: BIP9 stats
add RPC tests for BIP9 counting stats
This commit is contained in:
@@ -191,7 +191,7 @@ void RPCNotifyBlockChange(bool ibd, const CBlockIndex * pindex)
|
||||
latestblock.hash = pindex->GetBlockHash();
|
||||
latestblock.height = pindex->nHeight;
|
||||
}
|
||||
cond_blockchange.notify_all();
|
||||
cond_blockchange.notify_all();
|
||||
}
|
||||
|
||||
UniValue waitfornewblock(const JSONRPCRequest& request)
|
||||
@@ -1064,6 +1064,17 @@ static UniValue BIP9SoftForkDesc(const Consensus::Params& consensusParams, Conse
|
||||
rv.push_back(Pair("startTime", consensusParams.vDeployments[id].nStartTime));
|
||||
rv.push_back(Pair("timeout", consensusParams.vDeployments[id].nTimeout));
|
||||
rv.push_back(Pair("since", VersionBitsTipStateSinceHeight(consensusParams, id)));
|
||||
if (THRESHOLD_STARTED == thresholdState)
|
||||
{
|
||||
UniValue statsUV(UniValue::VOBJ);
|
||||
BIP9Stats statsStruct = VersionBitsTipStatistics(consensusParams, id);
|
||||
statsUV.push_back(Pair("period", statsStruct.period));
|
||||
statsUV.push_back(Pair("threshold", statsStruct.threshold));
|
||||
statsUV.push_back(Pair("elapsed", statsStruct.elapsed));
|
||||
statsUV.push_back(Pair("count", statsStruct.count));
|
||||
statsUV.push_back(Pair("possible", statsStruct.possible));
|
||||
rv.push_back(Pair("statistics", statsUV));
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
@@ -1109,7 +1120,14 @@ UniValue getblockchaininfo(const JSONRPCRequest& request)
|
||||
" \"bit\": xx, (numeric) the bit (0-28) in the block version field used to signal this softfork (only for \"started\" status)\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"
|
||||
" \"since\": xx (numeric) height of the first block to which the status applies\n"
|
||||
" \"since\": xx, (numeric) height of the first block to which the status applies\n"
|
||||
" \"statistics\": { (object) numeric statistics about BIP9 signalling for a softfork (only for \"started\" status)\n"
|
||||
" \"period\": xx, (numeric) the length in blocks of the BIP9 signalling period \n"
|
||||
" \"threshold\": xx, (numeric) the number of blocks with the version bit set required to activate the feature \n"
|
||||
" \"elapsed\": xx, (numeric) the number of blocks elapsed since the beginning of the current period \n"
|
||||
" \"count\": xx, (numeric) the number of blocks with the version bit set in the current period \n"
|
||||
" \"possible\": xx (boolean) returns false if there are not enough blocks left in this period to pass activation threshold \n"
|
||||
" }\n"
|
||||
" }\n"
|
||||
" }\n"
|
||||
"}\n"
|
||||
|
||||
Reference in New Issue
Block a user