mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 22:50:59 +01:00
rpc: Auto-format RPCResult
This commit is contained in:
@@ -94,54 +94,62 @@ static UniValue getrawtransaction(const JSONRPCRequest& request)
|
||||
},
|
||||
{
|
||||
RPCResult{"if verbose is not set or set to false",
|
||||
"\"data\" (string) The serialized, hex-encoded data for 'txid'\n"
|
||||
RPCResult::Type::STR, "data", "The serialized, hex-encoded data for 'txid'"
|
||||
},
|
||||
RPCResult{"if verbose is set to true",
|
||||
"{\n"
|
||||
" \"in_active_chain\" : b, (boolean) Whether specified block is in the active chain or not (only present with explicit \"blockhash\" argument)\n"
|
||||
" \"hex\" : \"data\", (string) The serialized, hex-encoded data for 'txid'\n"
|
||||
" \"txid\" : \"id\", (string) The transaction id (same as provided)\n"
|
||||
" \"hash\" : \"id\", (string) The transaction hash (differs from txid for witness transactions)\n"
|
||||
" \"size\" : n, (numeric) The serialized transaction size\n"
|
||||
" \"vsize\" : n, (numeric) The virtual transaction size (differs from size for witness transactions)\n"
|
||||
" \"weight\" : n, (numeric) The transaction's weight (between vsize*4-3 and vsize*4)\n"
|
||||
" \"version\" : n, (numeric) The version\n"
|
||||
" \"locktime\" : ttt, (numeric) The lock time\n"
|
||||
" \"vin\" : [ (array of json objects)\n"
|
||||
" {\n"
|
||||
" \"txid\" : \"id\", (string) The transaction id\n"
|
||||
" \"vout\" : n, (numeric) \n"
|
||||
" \"scriptSig\" : { (json object) The script\n"
|
||||
" \"asm\" : \"asm\", (string) asm\n"
|
||||
" \"hex\" : \"hex\" (string) hex\n"
|
||||
" },\n"
|
||||
" \"sequence\" : n (numeric) The script sequence number\n"
|
||||
" \"txinwitness\" : [\"hex\", ...] (array of string) hex-encoded witness data (if any)\n"
|
||||
" }\n"
|
||||
" ,...\n"
|
||||
" ],\n"
|
||||
" \"vout\" : [ (array of json objects)\n"
|
||||
" {\n"
|
||||
" \"value\" : x.xxx, (numeric) The value in " + CURRENCY_UNIT + "\n"
|
||||
" \"n\" : n, (numeric) index\n"
|
||||
" \"scriptPubKey\" : { (json object)\n"
|
||||
" \"asm\" : \"asm\", (string) the asm\n"
|
||||
" \"hex\" : \"hex\", (string) the hex\n"
|
||||
" \"reqSigs\" : n, (numeric) The required sigs\n"
|
||||
" \"type\" : \"pubkeyhash\", (string) The type, eg 'pubkeyhash'\n"
|
||||
" \"addresses\" : [ (json array of string)\n"
|
||||
" \"address\" (string) bitcoin address\n"
|
||||
" ,...\n"
|
||||
" ]\n"
|
||||
" }\n"
|
||||
" }\n"
|
||||
" ,...\n"
|
||||
" ],\n"
|
||||
" \"blockhash\" : \"hash\", (string) the block hash\n"
|
||||
" \"confirmations\" : n, (numeric) The confirmations\n"
|
||||
" \"blocktime\" : ttt (numeric) The block time expressed in " + UNIX_EPOCH_TIME + "\n"
|
||||
" \"time\" : ttt, (numeric) Same as \"blocktime\"\n"
|
||||
"}\n"
|
||||
RPCResult::Type::OBJ, "", "",
|
||||
{
|
||||
{RPCResult::Type::BOOL, "in_active_chain", "Whether specified block is in the active chain or not (only present with explicit \"blockhash\" argument)"},
|
||||
{RPCResult::Type::STR_HEX, "hex", "The serialized, hex-encoded data for 'txid'"},
|
||||
{RPCResult::Type::STR_HEX, "txid", "The transaction id (same as provided)"},
|
||||
{RPCResult::Type::STR_HEX, "hash", "The transaction hash (differs from txid for witness transactions)"},
|
||||
{RPCResult::Type::NUM, "size", "The serialized transaction size"},
|
||||
{RPCResult::Type::NUM, "vsize", "The virtual transaction size (differs from size for witness transactions)"},
|
||||
{RPCResult::Type::NUM, "weight", "The transaction's weight (between vsize*4-3 and vsize*4)"},
|
||||
{RPCResult::Type::NUM, "version", "The version"},
|
||||
{RPCResult::Type::NUM_TIME, "locktime", "The lock time"},
|
||||
{RPCResult::Type::ARR, "vin", "",
|
||||
{
|
||||
{RPCResult::Type::OBJ, "", "",
|
||||
{
|
||||
{RPCResult::Type::STR_HEX, "txid", "The transaction id"},
|
||||
{RPCResult::Type::STR, "vout", ""},
|
||||
{RPCResult::Type::OBJ, "scriptSig", "The script",
|
||||
{
|
||||
{RPCResult::Type::STR, "asm", "asm"},
|
||||
{RPCResult::Type::STR_HEX, "hex", "hex"},
|
||||
}},
|
||||
{RPCResult::Type::NUM, "sequence", "The script sequence number"},
|
||||
{RPCResult::Type::ARR, "txinwitness", "",
|
||||
{
|
||||
{RPCResult::Type::STR_HEX, "hex", "hex-encoded witness data (if any)"},
|
||||
}},
|
||||
}},
|
||||
}},
|
||||
{RPCResult::Type::ARR, "vout", "",
|
||||
{
|
||||
{RPCResult::Type::OBJ, "", "",
|
||||
{
|
||||
{RPCResult::Type::NUM, "value", "The value in " + CURRENCY_UNIT},
|
||||
{RPCResult::Type::NUM, "n", "index"},
|
||||
{RPCResult::Type::OBJ, "scriptPubKey", "",
|
||||
{
|
||||
{RPCResult::Type::STR, "asm", "the asm"},
|
||||
{RPCResult::Type::STR, "hex", "the hex"},
|
||||
{RPCResult::Type::NUM, "reqSigs", "The required sigs"},
|
||||
{RPCResult::Type::STR, "type", "The type, eg 'pubkeyhash'"},
|
||||
{RPCResult::Type::ARR, "addresses", "",
|
||||
{
|
||||
{RPCResult::Type::STR, "address", "bitcoin address"},
|
||||
}},
|
||||
}},
|
||||
}},
|
||||
}},
|
||||
{RPCResult::Type::STR_HEX, "blockhash", "the block hash"},
|
||||
{RPCResult::Type::NUM, "confirmations", "The confirmations"},
|
||||
{RPCResult::Type::NUM_TIME, "blocktime", "The block time expressed in " + UNIX_EPOCH_TIME},
|
||||
{RPCResult::Type::NUM, "time", "Same as \"blocktime\""},
|
||||
}
|
||||
},
|
||||
},
|
||||
RPCExamples{
|
||||
@@ -230,7 +238,7 @@ static UniValue gettxoutproof(const JSONRPCRequest& request)
|
||||
{"blockhash", RPCArg::Type::STR_HEX, RPCArg::Optional::OMITTED_NAMED_ARG, "If specified, looks for txid in the block with this hash"},
|
||||
},
|
||||
RPCResult{
|
||||
"\"data\" (string) A string that is a serialized, hex-encoded data for the proof.\n"
|
||||
RPCResult::Type::STR, "data", "A string that is a serialized, hex-encoded data for the proof."
|
||||
},
|
||||
RPCExamples{""},
|
||||
}.Check(request);
|
||||
@@ -315,7 +323,10 @@ static UniValue verifytxoutproof(const JSONRPCRequest& request)
|
||||
{"proof", RPCArg::Type::STR_HEX, RPCArg::Optional::NO, "The hex-encoded proof generated by gettxoutproof"},
|
||||
},
|
||||
RPCResult{
|
||||
"[\"txid\"] (array, strings) The txid(s) which the proof commits to, or empty array if the proof can not be validated.\n"
|
||||
RPCResult::Type::ARR, "", "",
|
||||
{
|
||||
{RPCResult::Type::STR_HEX, "txid", "The txid(s) which the proof commits to, or empty array if the proof can not be validated."},
|
||||
}
|
||||
},
|
||||
RPCExamples{""},
|
||||
}.Check(request);
|
||||
@@ -390,7 +401,7 @@ static UniValue createrawtransaction(const JSONRPCRequest& request)
|
||||
" Allows this transaction to be replaced by a transaction with higher fees. If provided, it is an error if explicit sequence numbers are incompatible."},
|
||||
},
|
||||
RPCResult{
|
||||
"\"transaction\" (string) hex string of the transaction\n"
|
||||
RPCResult::Type::STR_HEX, "transaction", "hex string of the transaction"
|
||||
},
|
||||
RPCExamples{
|
||||
HelpExampleCli("createrawtransaction", "\"[{\\\"txid\\\":\\\"myid\\\",\\\"vout\\\":0}]\" \"[{\\\"address\\\":0.01}]\"")
|
||||
@@ -432,45 +443,53 @@ static UniValue decoderawtransaction(const JSONRPCRequest& request)
|
||||
},
|
||||
},
|
||||
RPCResult{
|
||||
"{\n"
|
||||
" \"txid\" : \"id\", (string) The transaction id\n"
|
||||
" \"hash\" : \"id\", (string) The transaction hash (differs from txid for witness transactions)\n"
|
||||
" \"size\" : n, (numeric) The transaction size\n"
|
||||
" \"vsize\" : n, (numeric) The virtual transaction size (differs from size for witness transactions)\n"
|
||||
" \"weight\" : n, (numeric) The transaction's weight (between vsize*4 - 3 and vsize*4)\n"
|
||||
" \"version\" : n, (numeric) The version\n"
|
||||
" \"locktime\" : ttt, (numeric) The lock time\n"
|
||||
" \"vin\" : [ (array of json objects)\n"
|
||||
" {\n"
|
||||
" \"txid\" : \"id\", (string) The transaction id\n"
|
||||
" \"vout\" : n, (numeric) The output number\n"
|
||||
" \"scriptSig\" : { (json object) The script\n"
|
||||
" \"asm\" : \"asm\", (string) asm\n"
|
||||
" \"hex\" : \"hex\" (string) hex\n"
|
||||
" },\n"
|
||||
" \"txinwitness\" : [\"hex\", ...] (array of string) hex-encoded witness data (if any)\n"
|
||||
" \"sequence\" : n (numeric) The script sequence number\n"
|
||||
" }\n"
|
||||
" ,...\n"
|
||||
" ],\n"
|
||||
" \"vout\" : [ (array of json objects)\n"
|
||||
" {\n"
|
||||
" \"value\" : x.xxx, (numeric) The value in " + CURRENCY_UNIT + "\n"
|
||||
" \"n\" : n, (numeric) index\n"
|
||||
" \"scriptPubKey\" : { (json object)\n"
|
||||
" \"asm\" : \"asm\", (string) the asm\n"
|
||||
" \"hex\" : \"hex\", (string) the hex\n"
|
||||
" \"reqSigs\" : n, (numeric) The required sigs\n"
|
||||
" \"type\" : \"pubkeyhash\", (string) The type, eg 'pubkeyhash'\n"
|
||||
" \"addresses\" : [ (json array of string)\n"
|
||||
" \"12tvKAXCxZjSmdNbao16dKXC8tRWfcF5oc\" (string) bitcoin address\n"
|
||||
" ,...\n"
|
||||
" ]\n"
|
||||
" }\n"
|
||||
" }\n"
|
||||
" ,...\n"
|
||||
" ],\n"
|
||||
"}\n"
|
||||
RPCResult::Type::OBJ, "", "",
|
||||
{
|
||||
{RPCResult::Type::STR_HEX, "txid", "The transaction id"},
|
||||
{RPCResult::Type::STR_HEX, "hash", "The transaction hash (differs from txid for witness transactions)"},
|
||||
{RPCResult::Type::NUM, "size", "The transaction size"},
|
||||
{RPCResult::Type::NUM, "vsize", "The virtual transaction size (differs from size for witness transactions)"},
|
||||
{RPCResult::Type::NUM, "weight", "The transaction's weight (between vsize*4 - 3 and vsize*4)"},
|
||||
{RPCResult::Type::NUM, "version", "The version"},
|
||||
{RPCResult::Type::NUM_TIME, "locktime", "The lock time"},
|
||||
{RPCResult::Type::ARR, "vin", "",
|
||||
{
|
||||
{RPCResult::Type::OBJ, "", "",
|
||||
{
|
||||
{RPCResult::Type::STR_HEX, "txid", "The transaction id"},
|
||||
{RPCResult::Type::NUM, "vout", "The output number"},
|
||||
{RPCResult::Type::OBJ, "scriptSig", "The script",
|
||||
{
|
||||
{RPCResult::Type::STR, "asm", "asm"},
|
||||
{RPCResult::Type::STR_HEX, "hex", "hex"},
|
||||
}},
|
||||
{RPCResult::Type::ARR, "txinwitness", "",
|
||||
{
|
||||
{RPCResult::Type::STR_HEX, "hex", "hex-encoded witness data (if any)"},
|
||||
}},
|
||||
{RPCResult::Type::NUM, "sequence", "The script sequence number"},
|
||||
}},
|
||||
}},
|
||||
{RPCResult::Type::ARR, "vout", "",
|
||||
{
|
||||
{RPCResult::Type::OBJ, "", "",
|
||||
{
|
||||
{RPCResult::Type::NUM, "value", "The value in " + CURRENCY_UNIT},
|
||||
{RPCResult::Type::NUM, "n", "index"},
|
||||
{RPCResult::Type::OBJ, "scriptPubKey", "",
|
||||
{
|
||||
{RPCResult::Type::STR, "asm", "the asm"},
|
||||
{RPCResult::Type::STR_HEX, "hex", "the hex"},
|
||||
{RPCResult::Type::NUM, "reqSigs", "The required sigs"},
|
||||
{RPCResult::Type::STR, "type", "The type, eg 'pubkeyhash'"},
|
||||
{RPCResult::Type::ARR, "addresses", "",
|
||||
{
|
||||
{RPCResult::Type::STR, "address", "bitcoin address"},
|
||||
}},
|
||||
}},
|
||||
}},
|
||||
}},
|
||||
}
|
||||
},
|
||||
RPCExamples{
|
||||
HelpExampleCli("decoderawtransaction", "\"hexstring\"")
|
||||
@@ -513,26 +532,29 @@ static UniValue decodescript(const JSONRPCRequest& request)
|
||||
{"hexstring", RPCArg::Type::STR_HEX, RPCArg::Optional::NO, "the hex-encoded script"},
|
||||
},
|
||||
RPCResult{
|
||||
"{\n"
|
||||
" \"asm\" : \"asm\", (string) Script public key\n"
|
||||
" \"type\" : \"type\", (string) The output type (e.g. "+GetAllOutputTypes()+")\n"
|
||||
" \"reqSigs\" : n, (numeric) The required signatures\n"
|
||||
" \"addresses\" : [ (json array of string)\n"
|
||||
" \"address\" (string) bitcoin address\n"
|
||||
" ,...\n"
|
||||
" ],\n"
|
||||
" \"p2sh\":\"str\" (string) address of P2SH script wrapping this redeem script (not returned if the script is already a P2SH).\n"
|
||||
" \"segwit\" : { (json object) Result of a witness script public key wrapping this redeem script (not returned if the script is a P2SH or witness).\n"
|
||||
" \"asm\" : \"str\", (string) String representation of the script public key\n"
|
||||
" \"hex\" : \"hexstr\", (string) Hex string of the script public key\n"
|
||||
" \"type\" : \"str\", (string) The type of the script public key (e.g. witness_v0_keyhash or witness_v0_scripthash)\n"
|
||||
" \"reqSigs\" : n, (numeric) The required signatures (always 1)\n"
|
||||
" \"addresses\" : [ (json array of string) (always length 1)\n"
|
||||
" \"address\" (string) segwit address\n"
|
||||
" ,...\n"
|
||||
" ],\n"
|
||||
" \"p2sh-segwit\":\"str\" (string) address of the P2SH script wrapping this witness redeem script.\n"
|
||||
"}\n"
|
||||
RPCResult::Type::OBJ, "", "",
|
||||
{
|
||||
{RPCResult::Type::STR, "asm", "Script public key"},
|
||||
{RPCResult::Type::STR, "type", "The output type (e.g. "+GetAllOutputTypes()+")"},
|
||||
{RPCResult::Type::NUM, "reqSigs", "The required signatures"},
|
||||
{RPCResult::Type::ARR, "addresses", "",
|
||||
{
|
||||
{RPCResult::Type::STR, "address", "bitcoin address"},
|
||||
}},
|
||||
{RPCResult::Type::STR, "p2sh", "address of P2SH script wrapping this redeem script (not returned if the script is already a P2SH)"},
|
||||
{RPCResult::Type::OBJ, "segwit", "Result of a witness script public key wrapping this redeem script (not returned if the script is a P2SH or witness)",
|
||||
{
|
||||
{RPCResult::Type::STR, "asm", "String representation of the script public key"},
|
||||
{RPCResult::Type::STR_HEX, "hex", "Hex string of the script public key"},
|
||||
{RPCResult::Type::STR, "type", "The type of the script public key (e.g. witness_v0_keyhash or witness_v0_scripthash)"},
|
||||
{RPCResult::Type::NUM, "reqSigs", "The required signatures (always 1)"},
|
||||
{RPCResult::Type::ARR, "addresses", "(always length 1)",
|
||||
{
|
||||
{RPCResult::Type::STR, "address", "segwit address"},
|
||||
}},
|
||||
{RPCResult::Type::STR, "p2sh-segwit", "address of the P2SH script wrapping this witness redeem script"},
|
||||
}},
|
||||
}
|
||||
},
|
||||
RPCExamples{
|
||||
HelpExampleCli("decodescript", "\"hexstring\"")
|
||||
@@ -607,7 +629,7 @@ static UniValue combinerawtransaction(const JSONRPCRequest& request)
|
||||
},
|
||||
},
|
||||
RPCResult{
|
||||
"\"hex\" (string) The hex-encoded raw transaction with signature(s)\n"
|
||||
RPCResult::Type::STR, "", "The hex-encoded raw transaction with signature(s)"
|
||||
},
|
||||
RPCExamples{
|
||||
HelpExampleCli("combinerawtransaction", R"('["myhex1", "myhex2", "myhex3"]')")
|
||||
@@ -715,20 +737,22 @@ static UniValue signrawtransactionwithkey(const JSONRPCRequest& request)
|
||||
},
|
||||
},
|
||||
RPCResult{
|
||||
"{\n"
|
||||
" \"hex\" : \"value\", (string) The hex-encoded raw transaction with signature(s)\n"
|
||||
" \"complete\" : true|false, (boolean) If the transaction has a complete set of signatures\n"
|
||||
" \"errors\" : [ (json array of objects) Script verification errors (if there are any)\n"
|
||||
" {\n"
|
||||
" \"txid\" : \"hash\", (string) The hash of the referenced, previous transaction\n"
|
||||
" \"vout\" : n, (numeric) The index of the output to spent and used as input\n"
|
||||
" \"scriptSig\" : \"hex\", (string) The hex-encoded signature script\n"
|
||||
" \"sequence\" : n, (numeric) Script sequence number\n"
|
||||
" \"error\" : \"text\" (string) Verification or signing error related to the input\n"
|
||||
" }\n"
|
||||
" ,...\n"
|
||||
" ]\n"
|
||||
"}\n"
|
||||
RPCResult::Type::OBJ, "", "",
|
||||
{
|
||||
{RPCResult::Type::STR_HEX, "hex", "The hex-encoded raw transaction with signature(s)"},
|
||||
{RPCResult::Type::BOOL, "complete", "If the transaction has a complete set of signatures"},
|
||||
{RPCResult::Type::ARR, "errors", "Script verification errors (if there are any)",
|
||||
{
|
||||
{RPCResult::Type::OBJ, "", "",
|
||||
{
|
||||
{RPCResult::Type::STR_HEX, "txid", "The hash of the referenced, previous transaction"},
|
||||
{RPCResult::Type::NUM, "vout", "The index of the output to spent and used as input"},
|
||||
{RPCResult::Type::STR_HEX, "scriptSig", "The hex-encoded signature script"},
|
||||
{RPCResult::Type::NUM, "sequence", "Script sequence number"},
|
||||
{RPCResult::Type::STR, "error", "Verification or signing error related to the input"},
|
||||
}},
|
||||
}},
|
||||
}
|
||||
},
|
||||
RPCExamples{
|
||||
HelpExampleCli("signrawtransactionwithkey", "\"myhex\" \"[\\\"key1\\\",\\\"key2\\\"]\"")
|
||||
@@ -784,7 +808,7 @@ static UniValue sendrawtransaction(const JSONRPCRequest& request)
|
||||
"/kB.\nSet to 0 to accept any fee rate.\n"},
|
||||
},
|
||||
RPCResult{
|
||||
"\"hex\" (string) The transaction hash in hex\n"
|
||||
RPCResult::Type::STR_HEX, "", "The transaction hash in hex"
|
||||
},
|
||||
RPCExamples{
|
||||
"\nCreate a transaction\n"
|
||||
@@ -846,14 +870,16 @@ static UniValue testmempoolaccept(const JSONRPCRequest& request)
|
||||
{"maxfeerate", RPCArg::Type::AMOUNT, /* default */ FormatMoney(DEFAULT_MAX_RAW_TX_FEE_RATE.GetFeePerK()), "Reject transactions whose fee rate is higher than the specified value, expressed in " + CURRENCY_UNIT + "/kB\n"},
|
||||
},
|
||||
RPCResult{
|
||||
"[ (json array) The result of the mempool acceptance test for each raw transaction in the input array.\n"
|
||||
" Length is exactly one for now.\n"
|
||||
" {\n"
|
||||
" \"txid\" (string) The transaction hash in hex\n"
|
||||
" \"allowed\" (boolean) If the mempool allows this tx to be inserted\n"
|
||||
" \"reject-reason\" (string) Rejection string (only present when 'allowed' is false)\n"
|
||||
" }\n"
|
||||
"]\n"
|
||||
RPCResult::Type::ARR, "", "The result of the mempool acceptance test for each raw transaction in the input array.\n"
|
||||
"Length is exactly one for now.",
|
||||
{
|
||||
{RPCResult::Type::OBJ, "", "",
|
||||
{
|
||||
{RPCResult::Type::STR_HEX, "txid", "The transaction hash in hex"},
|
||||
{RPCResult::Type::BOOL, "allowed", "If the mempool allows this tx to be inserted"},
|
||||
{RPCResult::Type::STR, "reject-reason", "Rejection string (only present when 'allowed' is false)"},
|
||||
}},
|
||||
}
|
||||
},
|
||||
RPCExamples{
|
||||
"\nCreate a transaction\n"
|
||||
@@ -950,92 +976,108 @@ UniValue decodepsbt(const JSONRPCRequest& request)
|
||||
{"psbt", RPCArg::Type::STR, RPCArg::Optional::NO, "The PSBT base64 string"},
|
||||
},
|
||||
RPCResult{
|
||||
"{\n"
|
||||
" \"tx\" : { (json object) The decoded network-serialized unsigned transaction.\n"
|
||||
" ... The layout is the same as the output of decoderawtransaction.\n"
|
||||
" },\n"
|
||||
" \"unknown\" : { (json object) The unknown global fields\n"
|
||||
" \"key\" : \"value\" (key-value pair) An unknown key-value pair\n"
|
||||
" ...\n"
|
||||
" },\n"
|
||||
" \"inputs\" : [ (array of json objects)\n"
|
||||
" {\n"
|
||||
" \"non_witness_utxo\" : { (json object, optional) Decoded network transaction for non-witness UTXOs\n"
|
||||
" ...\n"
|
||||
" },\n"
|
||||
" \"witness_utxo\" : { (json object, optional) Transaction output for witness UTXOs\n"
|
||||
" \"amount\" : x.xxx, (numeric) The value in " + CURRENCY_UNIT + "\n"
|
||||
" \"scriptPubKey\" : { (json object)\n"
|
||||
" \"asm\" : \"asm\", (string) The asm\n"
|
||||
" \"hex\" : \"hex\", (string) The hex\n"
|
||||
" \"type\" : \"pubkeyhash\", (string) The type, eg 'pubkeyhash'\n"
|
||||
" \"address\" : \"address\" (string) Bitcoin address if there is one\n"
|
||||
" }\n"
|
||||
" },\n"
|
||||
" \"partial_signatures\" : { (json object, optional)\n"
|
||||
" \"pubkey\" : \"signature\", (string) The public key and signature that corresponds to it.\n"
|
||||
" ,...\n"
|
||||
" }\n"
|
||||
" \"sighash\" : \"type\", (string, optional) The sighash type to be used\n"
|
||||
" \"redeem_script\" : { (json object, optional)\n"
|
||||
" \"asm\" : \"asm\", (string) The asm\n"
|
||||
" \"hex\" : \"hex\", (string) The hex\n"
|
||||
" \"type\" : \"pubkeyhash\", (string) The type, eg 'pubkeyhash'\n"
|
||||
" }\n"
|
||||
" \"witness_script\" : { (json object, optional)\n"
|
||||
" \"asm\" : \"asm\", (string) The asm\n"
|
||||
" \"hex\" : \"hex\", (string) The hex\n"
|
||||
" \"type\" : \"pubkeyhash\", (string) The type, eg 'pubkeyhash'\n"
|
||||
" }\n"
|
||||
" \"bip32_derivs\" : { (json object, optional)\n"
|
||||
" \"pubkey\" : { (json object, optional) The public key with the derivation path as the value.\n"
|
||||
" \"master_fingerprint\" : \"fingerprint\" (string) The fingerprint of the master key\n"
|
||||
" \"path\" : \"path\", (string) The path\n"
|
||||
" }\n"
|
||||
" ,...\n"
|
||||
" }\n"
|
||||
" \"final_scriptsig\" : { (json object, optional)\n"
|
||||
" \"asm\" : \"asm\", (string) The asm\n"
|
||||
" \"hex\" : \"hex\", (string) The hex\n"
|
||||
" }\n"
|
||||
" \"final_scriptwitness\" : [\"hex\", ...] (array of string) hex-encoded witness data (if any)\n"
|
||||
" \"unknown\" : { (json object) The unknown global fields\n"
|
||||
" \"key\" : \"value\" (key-value pair) An unknown key-value pair\n"
|
||||
" ...\n"
|
||||
" },\n"
|
||||
" }\n"
|
||||
" ,...\n"
|
||||
" ]\n"
|
||||
" \"outputs\" : [ (array of json objects)\n"
|
||||
" {\n"
|
||||
" \"redeem_script\" : { (json object, optional)\n"
|
||||
" \"asm\" : \"asm\", (string) The asm\n"
|
||||
" \"hex\" : \"hex\", (string) The hex\n"
|
||||
" \"type\" : \"pubkeyhash\", (string) The type, eg 'pubkeyhash'\n"
|
||||
" }\n"
|
||||
" \"witness_script\" : { (json object, optional)\n"
|
||||
" \"asm\" : \"asm\", (string) The asm\n"
|
||||
" \"hex\" : \"hex\", (string) The hex\n"
|
||||
" \"type\" : \"pubkeyhash\", (string) The type, eg 'pubkeyhash'\n"
|
||||
" }\n"
|
||||
" \"bip32_derivs\" : [ (array of json objects, optional)\n"
|
||||
" {\n"
|
||||
" \"pubkey\" : \"pubkey\", (string) The public key this path corresponds to\n"
|
||||
" \"master_fingerprint\" : \"fingerprint\" (string) The fingerprint of the master key\n"
|
||||
" \"path\" : \"path\", (string) The path\n"
|
||||
" }\n"
|
||||
" }\n"
|
||||
" ,...\n"
|
||||
" ],\n"
|
||||
" \"unknown\" : { (json object) The unknown global fields\n"
|
||||
" \"key\" : \"value\" (key-value pair) An unknown key-value pair\n"
|
||||
" ...\n"
|
||||
" },\n"
|
||||
" }\n"
|
||||
" ,...\n"
|
||||
" ]\n"
|
||||
" \"fee\" : fee (numeric, optional) The transaction fee paid if all UTXOs slots in the PSBT have been filled.\n"
|
||||
"}\n"
|
||||
RPCResult::Type::OBJ, "", "",
|
||||
{
|
||||
{RPCResult::Type::OBJ, "tx", "The decoded network-serialized unsigned transaction.",
|
||||
{
|
||||
{RPCResult::Type::ELISION, "", "The layout is the same as the output of decoderawtransaction."},
|
||||
}},
|
||||
{RPCResult::Type::OBJ_DYN, "unknown", "The unknown global fields",
|
||||
{
|
||||
{RPCResult::Type::STR_HEX, "key", "(key-value pair) An unknown key-value pair"},
|
||||
}},
|
||||
{RPCResult::Type::ARR, "inputs", "",
|
||||
{
|
||||
{RPCResult::Type::OBJ, "", "",
|
||||
{
|
||||
{RPCResult::Type::OBJ, "non_witness_utxo", /* optional */ true, "Decoded network transaction for non-witness UTXOs",
|
||||
{
|
||||
{RPCResult::Type::ELISION, "",""},
|
||||
}},
|
||||
{RPCResult::Type::OBJ, "witness_utxo", /* optional */ true, "Transaction output for witness UTXOs",
|
||||
{
|
||||
{RPCResult::Type::NUM, "amount", "The value in " + CURRENCY_UNIT},
|
||||
{RPCResult::Type::OBJ, "scriptPubKey", "",
|
||||
{
|
||||
{RPCResult::Type::STR, "asm", "The asm"},
|
||||
{RPCResult::Type::STR_HEX, "hex", "The hex"},
|
||||
{RPCResult::Type::STR, "type", "The type, eg 'pubkeyhash'"},
|
||||
{RPCResult::Type::STR, "address"," Bitcoin address if there is one"},
|
||||
}},
|
||||
}},
|
||||
{RPCResult::Type::OBJ_DYN, "partial_signatures", /* optional */ true, "",
|
||||
{
|
||||
{RPCResult::Type::STR, "pubkey", "The public key and signature that corresponds to it."},
|
||||
}},
|
||||
{RPCResult::Type::STR, "sighash", /* optional */ true, "The sighash type to be used"},
|
||||
{RPCResult::Type::OBJ, "redeem_script", /* optional */ true, "",
|
||||
{
|
||||
{RPCResult::Type::STR, "asm", "The asm"},
|
||||
{RPCResult::Type::STR_HEX, "hex", "The hex"},
|
||||
{RPCResult::Type::STR, "type", "The type, eg 'pubkeyhash'"},
|
||||
}},
|
||||
{RPCResult::Type::OBJ, "witness_script", /* optional */ true, "",
|
||||
{
|
||||
{RPCResult::Type::STR, "asm", "The asm"},
|
||||
{RPCResult::Type::STR_HEX, "hex", "The hex"},
|
||||
{RPCResult::Type::STR, "type", "The type, eg 'pubkeyhash'"},
|
||||
}},
|
||||
{RPCResult::Type::ARR, "bip32_derivs", /* optional */ true, "",
|
||||
{
|
||||
{RPCResult::Type::OBJ, "pubkey", /* optional */ true, "The public key with the derivation path as the value.",
|
||||
{
|
||||
{RPCResult::Type::STR, "master_fingerprint", "The fingerprint of the master key"},
|
||||
{RPCResult::Type::STR, "path", "The path"},
|
||||
}},
|
||||
}},
|
||||
{RPCResult::Type::OBJ, "final_scriptsig", /* optional */ true, "",
|
||||
{
|
||||
{RPCResult::Type::STR, "asm", "The asm"},
|
||||
{RPCResult::Type::STR, "hex", "The hex"},
|
||||
}},
|
||||
{RPCResult::Type::ARR, "final_scriptwitness", "",
|
||||
{
|
||||
{RPCResult::Type::STR_HEX, "", "hex-encoded witness data (if any)"},
|
||||
}},
|
||||
{RPCResult::Type::OBJ_DYN, "unknown", "The unknown global fields",
|
||||
{
|
||||
{RPCResult::Type::STR_HEX, "key", "(key-value pair) An unknown key-value pair"},
|
||||
}},
|
||||
}},
|
||||
}},
|
||||
{RPCResult::Type::ARR, "outputs", "",
|
||||
{
|
||||
{RPCResult::Type::OBJ, "", "",
|
||||
{
|
||||
{RPCResult::Type::OBJ, "redeem_script", /* optional */ true, "",
|
||||
{
|
||||
{RPCResult::Type::STR, "asm", "The asm"},
|
||||
{RPCResult::Type::STR_HEX, "hex", "The hex"},
|
||||
{RPCResult::Type::STR, "type", "The type, eg 'pubkeyhash'"},
|
||||
}},
|
||||
{RPCResult::Type::OBJ, "witness_script", /* optional */ true, "",
|
||||
{
|
||||
{RPCResult::Type::STR, "asm", "The asm"},
|
||||
{RPCResult::Type::STR_HEX, "hex", "The hex"},
|
||||
{RPCResult::Type::STR, "type", "The type, eg 'pubkeyhash'"},
|
||||
}},
|
||||
{RPCResult::Type::ARR, "bip32_derivs", /* optional */ true, "",
|
||||
{
|
||||
{RPCResult::Type::OBJ, "", "",
|
||||
{
|
||||
{RPCResult::Type::STR, "pubkey", "The public key this path corresponds to"},
|
||||
{RPCResult::Type::STR, "master_fingerprint", "The fingerprint of the master key"},
|
||||
{RPCResult::Type::STR, "path", "The path"},
|
||||
}},
|
||||
}},
|
||||
{RPCResult::Type::OBJ_DYN, "unknown", "The unknown global fields",
|
||||
{
|
||||
{RPCResult::Type::STR_HEX, "key", "(key-value pair) An unknown key-value pair"},
|
||||
}},
|
||||
}},
|
||||
}},
|
||||
{RPCResult::Type::STR_AMOUNT, "fee", /* optional */ true, "The transaction fee paid if all UTXOs slots in the PSBT have been filled."},
|
||||
}
|
||||
},
|
||||
RPCExamples{
|
||||
HelpExampleCli("decodepsbt", "\"psbt\"")
|
||||
@@ -1244,7 +1286,7 @@ UniValue combinepsbt(const JSONRPCRequest& request)
|
||||
},
|
||||
},
|
||||
RPCResult{
|
||||
" \"psbt\" (string) The base64-encoded partially signed transaction\n"
|
||||
RPCResult::Type::STR, "", "The base64-encoded partially signed transaction"
|
||||
},
|
||||
RPCExamples{
|
||||
HelpExampleCli("combinepsbt", R"('["mybase64_1", "mybase64_2", "mybase64_3"]')")
|
||||
@@ -1292,11 +1334,12 @@ UniValue finalizepsbt(const JSONRPCRequest& request)
|
||||
" extract and return the complete transaction in normal network serialization instead of the PSBT."},
|
||||
},
|
||||
RPCResult{
|
||||
"{ (json object)\n"
|
||||
" \"psbt\" : \"str\", (string) The base64-encoded partially signed transaction if not extracted\n"
|
||||
" \"hex\" : \"hex\", (string) The hex-encoded network transaction if extracted\n"
|
||||
" \"complete\" : true|false, (boolean) If the transaction has a complete set of signatures\n"
|
||||
"}\n"
|
||||
RPCResult::Type::OBJ, "", "",
|
||||
{
|
||||
{RPCResult::Type::STR, "psbt", "The base64-encoded partially signed transaction if not extracted"},
|
||||
{RPCResult::Type::STR_HEX, "hex", "The hex-encoded network transaction if extracted"},
|
||||
{RPCResult::Type::BOOL, "complete", "If the transaction has a complete set of signatures"},
|
||||
}
|
||||
},
|
||||
RPCExamples{
|
||||
HelpExampleCli("finalizepsbt", "\"psbt\"")
|
||||
@@ -1374,7 +1417,7 @@ UniValue createpsbt(const JSONRPCRequest& request)
|
||||
" Allows this transaction to be replaced by a transaction with higher fees. If provided, it is an error if explicit sequence numbers are incompatible."},
|
||||
},
|
||||
RPCResult{
|
||||
" \"psbt\" (string) The resulting raw transaction (base64-encoded string)\n"
|
||||
RPCResult::Type::STR, "", "The resulting raw transaction (base64-encoded string)"
|
||||
},
|
||||
RPCExamples{
|
||||
HelpExampleCli("createpsbt", "\"[{\\\"txid\\\":\\\"myid\\\",\\\"vout\\\":0}]\" \"[{\\\"data\\\":\\\"00010203\\\"}]\"")
|
||||
@@ -1431,7 +1474,7 @@ UniValue converttopsbt(const JSONRPCRequest& request)
|
||||
},
|
||||
},
|
||||
RPCResult{
|
||||
" \"psbt\" (string) The resulting raw transaction (base64-encoded string)\n"
|
||||
RPCResult::Type::STR, "", "The resulting raw transaction (base64-encoded string)"
|
||||
},
|
||||
RPCExamples{
|
||||
"\nCreate a transaction\n"
|
||||
@@ -1495,7 +1538,7 @@ UniValue utxoupdatepsbt(const JSONRPCRequest& request)
|
||||
}},
|
||||
},
|
||||
RPCResult {
|
||||
" \"psbt\" (string) The base64-encoded partially signed transaction with inputs updated\n"
|
||||
RPCResult::Type::STR, "", "The base64-encoded partially signed transaction with inputs updated"
|
||||
},
|
||||
RPCExamples {
|
||||
HelpExampleCli("utxoupdatepsbt", "\"psbt\"")
|
||||
@@ -1580,7 +1623,7 @@ UniValue joinpsbts(const JSONRPCRequest& request)
|
||||
}}
|
||||
},
|
||||
RPCResult {
|
||||
" \"psbt\" (string) The base64-encoded partially signed transaction\n"
|
||||
RPCResult::Type::STR, "", "The base64-encoded partially signed transaction"
|
||||
},
|
||||
RPCExamples {
|
||||
HelpExampleCli("joinpsbts", "\"psbt\"")
|
||||
@@ -1669,31 +1712,36 @@ UniValue analyzepsbt(const JSONRPCRequest& request)
|
||||
{"psbt", RPCArg::Type::STR, RPCArg::Optional::NO, "A base64 string of a PSBT"}
|
||||
},
|
||||
RPCResult {
|
||||
"{\n"
|
||||
" \"inputs\" : [ (array of json objects)\n"
|
||||
" {\n"
|
||||
" \"has_utxo\" : true|false (boolean) Whether a UTXO is provided\n"
|
||||
" \"is_final\" : true|false (boolean) Whether the input is finalized\n"
|
||||
" \"missing\" : { (json object, optional) Things that are missing that are required to complete this input\n"
|
||||
" \"pubkeys\" : [ (array, optional)\n"
|
||||
" \"keyid\" (string) Public key ID, hash160 of the public key, of a public key whose BIP 32 derivation path is missing\n"
|
||||
" ]\n"
|
||||
" \"signatures\" : [ (array, optional)\n"
|
||||
" \"keyid\" (string) Public key ID, hash160 of the public key, of a public key whose signature is missing\n"
|
||||
" ]\n"
|
||||
" \"redeemscript\" : \"hash\" (string, optional) Hash160 of the redeemScript that is missing\n"
|
||||
" \"witnessscript\" : \"hash\" (string, optional) SHA256 of the witnessScript that is missing\n"
|
||||
" }\n"
|
||||
" \"next\" : \"role\" (string, optional) Role of the next person that this input needs to go to\n"
|
||||
" }\n"
|
||||
" ,...\n"
|
||||
" ]\n"
|
||||
" \"estimated_vsize\" : vsize (numeric, optional) Estimated vsize of the final signed transaction\n"
|
||||
" \"estimated_feerate\" : feerate (numeric, optional) Estimated feerate of the final signed transaction in " + CURRENCY_UNIT + "/kB. Shown only if all UTXO slots in the PSBT have been filled.\n"
|
||||
" \"fee\" : fee (numeric, optional) The transaction fee paid. Shown only if all UTXO slots in the PSBT have been filled.\n"
|
||||
" \"next\" : \"role\" (string) Role of the next person that this psbt needs to go to\n"
|
||||
" \"error\" : \"error\" (string) Error message if there is one\n"
|
||||
"}\n"
|
||||
RPCResult::Type::OBJ, "", "",
|
||||
{
|
||||
{RPCResult::Type::ARR, "inputs", "",
|
||||
{
|
||||
{RPCResult::Type::OBJ, "", "",
|
||||
{
|
||||
{RPCResult::Type::BOOL, "has_utxo", "Whether a UTXO is provided"},
|
||||
{RPCResult::Type::BOOL, "is_final", "Whether the input is finalized"},
|
||||
{RPCResult::Type::OBJ, "missing", /* optional */ true, "Things that are missing that are required to complete this input",
|
||||
{
|
||||
{RPCResult::Type::ARR, "pubkeys", /* optional */ true, "",
|
||||
{
|
||||
{RPCResult::Type::STR_HEX, "keyid", "Public key ID, hash160 of the public key, of a public key whose BIP 32 derivation path is missing"},
|
||||
}},
|
||||
{RPCResult::Type::ARR, "signatures", /* optional */ true, "",
|
||||
{
|
||||
{RPCResult::Type::STR_HEX, "keyid", "Public key ID, hash160 of the public key, of a public key whose signature is missing"},
|
||||
}},
|
||||
{RPCResult::Type::STR_HEX, "redeemscript", /* optional */ true, "Hash160 of the redeemScript that is missing"},
|
||||
{RPCResult::Type::STR_HEX, "witnessscript", /* optional */ true, "SHA256 of the witnessScript that is missing"},
|
||||
}},
|
||||
{RPCResult::Type::STR, "next", /* optional */ true, "Role of the next person that this input needs to go to"},
|
||||
}},
|
||||
}},
|
||||
{RPCResult::Type::NUM, "estimated_vsize", /* optional */ true, "Estimated vsize of the final signed transaction"},
|
||||
{RPCResult::Type::STR_AMOUNT, "estimated_feerate", /* optional */ true, "Estimated feerate of the final signed transaction in " + CURRENCY_UNIT + "/kB. Shown only if all UTXO slots in the PSBT have been filled"},
|
||||
{RPCResult::Type::STR_AMOUNT, "fee", /* optional */ true, "The transaction fee paid. Shown only if all UTXO slots in the PSBT have been filled"},
|
||||
{RPCResult::Type::STR, "next", "Role of the next person that this psbt needs to go to"},
|
||||
{RPCResult::Type::STR, "error", "Error message if there is one"},
|
||||
}
|
||||
},
|
||||
RPCExamples {
|
||||
HelpExampleCli("analyzepsbt", "\"psbt\"")
|
||||
|
||||
Reference in New Issue
Block a user