mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 14:38:29 +01:00
Merge #14530: Use RPCHelpMan to generate RPC doc strings
fa483e13b3rpc: Add RPCHelpMan for machine-generated help (MarcoFalke)fa0d36f712rpc: Include rpc/util.h where needed for RPCHelpMan (MarcoFalke) Pull request description: This introduces a manager for the RPC help generation and demonstrates its use of it in some RPCs. It is the first non-exhaustive step toward #14378 and I will create pull requests for the next steps after this one is merged. Tree-SHA512: 86f68322443ff01cd964aaf0ebe186be63fbebe4c47676cf7a622cc2b5305fd176bd57badfd1bbf788a036812253eb0dead74ecc3b30664c3e0d9392b2248054
This commit is contained in:
@@ -10,10 +10,8 @@
|
||||
#include <core_io.h>
|
||||
#include <index/txindex.h>
|
||||
#include <init.h>
|
||||
#include <keystore.h>
|
||||
#include <validation.h>
|
||||
#include <validationinterface.h>
|
||||
#include <key_io.h>
|
||||
#include <keystore.h>
|
||||
#include <merkleblock.h>
|
||||
#include <net.h>
|
||||
#include <policy/policy.h>
|
||||
@@ -29,6 +27,8 @@
|
||||
#include <txmempool.h>
|
||||
#include <uint256.h>
|
||||
#include <util/strencodings.h>
|
||||
#include <validation.h>
|
||||
#include <validationinterface.h>
|
||||
|
||||
#include <future>
|
||||
#include <stdint.h>
|
||||
@@ -206,7 +206,16 @@ static UniValue gettxoutproof(const JSONRPCRequest& request)
|
||||
{
|
||||
if (request.fHelp || (request.params.size() != 1 && request.params.size() != 2))
|
||||
throw std::runtime_error(
|
||||
"gettxoutproof [\"txid\",...] ( blockhash )\n"
|
||||
RPCHelpMan{"gettxoutproof",
|
||||
{
|
||||
{"txids", RPCArg::Type::ARR,
|
||||
{
|
||||
{"txid", RPCArg::Type::STR_HEX, false},
|
||||
},
|
||||
false},
|
||||
{"blockhash", RPCArg::Type::STR_HEX, true},
|
||||
}}
|
||||
.ToString() +
|
||||
"\nReturns a hex-encoded proof that \"txid\" was included in a block.\n"
|
||||
"\nNOTE: By default this function only works sometimes. This is when there is an\n"
|
||||
"unspent output in the utxo for this transaction. To make it always work,\n"
|
||||
@@ -673,10 +682,17 @@ static void TxInErrorToJSON(const CTxIn& txin, UniValue& vErrorsRet, const std::
|
||||
|
||||
static UniValue combinerawtransaction(const JSONRPCRequest& request)
|
||||
{
|
||||
|
||||
if (request.fHelp || request.params.size() != 1)
|
||||
throw std::runtime_error(
|
||||
"combinerawtransaction [\"hexstring\",...]\n"
|
||||
RPCHelpMan{"combinerawtransaction",
|
||||
{
|
||||
{"txs", RPCArg::Type::ARR,
|
||||
{
|
||||
{"hexstring", RPCArg::Type::STR_HEX, false},
|
||||
},
|
||||
false},
|
||||
}}
|
||||
.ToString() +
|
||||
"\nCombine multiple partially signed transactions into one transaction.\n"
|
||||
"The combined transaction may be another partially signed transaction or a \n"
|
||||
"fully signed transaction."
|
||||
@@ -899,7 +915,30 @@ static UniValue signrawtransactionwithkey(const JSONRPCRequest& request)
|
||||
{
|
||||
if (request.fHelp || request.params.size() < 2 || request.params.size() > 4)
|
||||
throw std::runtime_error(
|
||||
"signrawtransactionwithkey \"hexstring\" [\"privatekey1\",...] ( [{\"txid\":\"id\",\"vout\":n,\"scriptPubKey\":\"hex\",\"redeemScript\":\"hex\"},...] sighashtype )\n"
|
||||
RPCHelpMan{"signrawtransactionwithkey",
|
||||
{
|
||||
{"hexstring", RPCArg::Type::STR, false},
|
||||
{"privkyes", RPCArg::Type::ARR,
|
||||
{
|
||||
{"privatekey", RPCArg::Type::STR_HEX, false},
|
||||
},
|
||||
false},
|
||||
{"prevtxs", RPCArg::Type::ARR,
|
||||
{
|
||||
{"", RPCArg::Type::OBJ,
|
||||
{
|
||||
{"txid", RPCArg::Type::STR_HEX, false},
|
||||
{"vout", RPCArg::Type::NUM, false},
|
||||
{"scriptPubKey", RPCArg::Type::STR_HEX, false},
|
||||
{"redeemScript", RPCArg::Type::STR_HEX, false},
|
||||
{"amount", RPCArg::Type::AMOUNT, false},
|
||||
},
|
||||
true},
|
||||
},
|
||||
true},
|
||||
{"sighashtype", RPCArg::Type::STR, true},
|
||||
}}
|
||||
.ToString() +
|
||||
"\nSign inputs for raw transaction (serialized, hex-encoded).\n"
|
||||
"The second argument is an array of base58-encoded private\n"
|
||||
"keys that will be the only keys used to sign the transaction.\n"
|
||||
@@ -1454,7 +1493,15 @@ UniValue combinepsbt(const JSONRPCRequest& request)
|
||||
{
|
||||
if (request.fHelp || request.params.size() != 1)
|
||||
throw std::runtime_error(
|
||||
"combinepsbt [\"psbt\",...]\n"
|
||||
RPCHelpMan{"combinepsbt",
|
||||
{
|
||||
{"txs", RPCArg::Type::ARR,
|
||||
{
|
||||
{"psbt", RPCArg::Type::STR_HEX, false},
|
||||
},
|
||||
false},
|
||||
}}
|
||||
.ToString() +
|
||||
"\nCombine multiple partially signed Bitcoin transactions into one transaction.\n"
|
||||
"Implements the Combiner role.\n"
|
||||
"\nArguments:\n"
|
||||
@@ -1571,7 +1618,37 @@ UniValue createpsbt(const JSONRPCRequest& request)
|
||||
{
|
||||
if (request.fHelp || request.params.size() < 2 || request.params.size() > 4)
|
||||
throw std::runtime_error(
|
||||
"createpsbt [{\"txid\":\"id\",\"vout\":n},...] [{\"address\":amount},{\"data\":\"hex\"},...] ( locktime ) ( replaceable )\n"
|
||||
RPCHelpMan{"createpsbt",
|
||||
{
|
||||
{"inputs", RPCArg::Type::ARR,
|
||||
{
|
||||
{"", RPCArg::Type::OBJ,
|
||||
{
|
||||
{"txid", RPCArg::Type::STR_HEX, false},
|
||||
{"vout", RPCArg::Type::NUM, false},
|
||||
{"sequence", RPCArg::Type::NUM, true},
|
||||
},
|
||||
false},
|
||||
},
|
||||
false},
|
||||
{"outputs", RPCArg::Type::ARR,
|
||||
{
|
||||
{"", RPCArg::Type::OBJ,
|
||||
{
|
||||
{"address", RPCArg::Type::AMOUNT, false},
|
||||
},
|
||||
true},
|
||||
{"", RPCArg::Type::OBJ,
|
||||
{
|
||||
{"data", RPCArg::Type::STR_HEX, false},
|
||||
},
|
||||
true},
|
||||
},
|
||||
false},
|
||||
{"locktime", RPCArg::Type::NUM, true},
|
||||
{"replaceable", RPCArg::Type::BOOL, true},
|
||||
}}
|
||||
.ToString() +
|
||||
"\nCreates a transaction in the Partially Signed Transaction format.\n"
|
||||
"Implements the Creator role.\n"
|
||||
"\nArguments:\n"
|
||||
|
||||
Reference in New Issue
Block a user