Fix "quorum" RPCs help and unify logic in the sub-commands RPC entry point

This commit is contained in:
Alexander Block 2019-01-16 11:38:44 +01:00
parent 217f3941d5
commit edac100f5c

View File

@ -15,7 +15,7 @@ void quorum_list_help()
throw std::runtime_error( throw std::runtime_error(
"quorum list ( count )\n" "quorum list ( count )\n"
"\nArguments:\n" "\nArguments:\n"
"1. count (number, optional) Number of quorums to list.\n" "1. count (number, optional, default=10) Number of quorums to list.\n"
); );
} }
@ -51,11 +51,11 @@ UniValue quorum_list(const JSONRPCRequest& request)
void quorum_info_help() void quorum_info_help()
{ {
throw std::runtime_error( throw std::runtime_error(
"quorum info \"llmqType\" \"blockquorumHash\" (includeSkShare)\n" "quorum info llmqType \"quorumHash\" ( includeSkShare )\n"
"\nArguments:\n" "\nArguments:\n"
"1. \"llmqType\" (int, required) LLMQ type.\n" "1. llmqType (int, required) LLMQ type.\n"
"2. \"quorumHash\" (string, required) Block hash of quorum.\n" "2. \"quorumHash\" (string, required) Block hash of quorum.\n"
"3. \"includeSkShare\" (boolean, optional) Include secret key share in output.\n" "3. includeSkShare (boolean, optional) Include secret key share in output.\n"
); );
} }
@ -155,15 +155,31 @@ UniValue quorum_dkgstatus(const JSONRPCRequest& request)
return status.ToJson(detailLevel); return status.ToJson(detailLevel);
} }
UniValue quorum(const JSONRPCRequest& request) [[ noreturn ]] void quorum_help()
{ {
if (request.params.empty()) {
throw std::runtime_error( throw std::runtime_error(
"quorum \"command\" ...\n" "quorum \"command\" ...\n"
"Set of commands for quorums/LLMQs.\n"
"To get help on individual commands, use \"help quorum command\".\n"
"\nArguments:\n"
"1. \"command\" (string, required) The command to execute\n"
"\nAvailable commands:\n"
" list - List of on-chain quorums\n"
" info - Return information about a quorum\n"
" dkgstatus - Return the status of the current DKG process\n"
); );
} }
std::string command = request.params[0].get_str(); UniValue quorum(const JSONRPCRequest& request)
{
if (request.fHelp && request.params.empty()) {
quorum_help();
}
std::string command;
if (request.params.size() >= 1) {
command = request.params[0].get_str();
}
if (command == "list") { if (command == "list") {
return quorum_list(request); return quorum_list(request);
@ -172,7 +188,7 @@ UniValue quorum(const JSONRPCRequest& request)
} else if (command == "dkgstatus") { } else if (command == "dkgstatus") {
return quorum_dkgstatus(request); return quorum_dkgstatus(request);
} else { } else {
throw std::runtime_error("invalid command: " + command); quorum_help();
} }
} }