Merge #10698: Be consistent in calling transactions "replaceable" for Opt-In RBF
73c942e
Use "replaceable" instead of "rbfoptin" in bitcoin-tx. (Matt Corallo)fb915d5
Use "replaceable" instead of "optIntoRbf" in fundrawtransaction. (Matt Corallo)928c681
Use "replaceable" instead of "optintorbf" in createrawtransaction. (Matt Corallo) Tree-SHA512: 8922451c00abb63aaa08b4a9e314e89c22233b32f207259fbc25367f7d5b67efbaccc7e2a4958c18611ad498da302296242860c7be965a0e996dcde3e89efa07
This commit is contained in:
commit
5af6572534
4 changed files with 13 additions and 11 deletions
|
@ -77,7 +77,7 @@ static int AppInitRawTx(int argc, char* argv[])
|
|||
strUsage += HelpMessageOpt("in=TXID:VOUT(:SEQUENCE_NUMBER)", _("Add input to TX"));
|
||||
strUsage += HelpMessageOpt("locktime=N", _("Set TX lock time to N"));
|
||||
strUsage += HelpMessageOpt("nversion=N", _("Set TX version to N"));
|
||||
strUsage += HelpMessageOpt("rbfoptin(=N)", _("Set RBF opt-in sequence number for input N (if not provided, opt-in all available inputs)"));
|
||||
strUsage += HelpMessageOpt("replaceable(=N)", _("Set RBF opt-in sequence number for input N (if not provided, opt-in all available inputs)"));
|
||||
strUsage += HelpMessageOpt("outaddr=VALUE:ADDRESS", _("Add address-based output to TX"));
|
||||
strUsage += HelpMessageOpt("outpubkey=VALUE:PUBKEY[:FLAGS]", _("Add pay-to-pubkey output to TX") + ". " +
|
||||
_("Optionally add the \"W\" flag to produce a pay-to-witness-pubkey-hash output") + ". " +
|
||||
|
@ -673,7 +673,7 @@ static void MutateTx(CMutableTransaction& tx, const std::string& command,
|
|||
MutateTxVersion(tx, commandVal);
|
||||
else if (command == "locktime")
|
||||
MutateTxLocktime(tx, commandVal);
|
||||
else if (command == "rbfoptin") {
|
||||
else if (command == "replaceable") {
|
||||
MutateTxRBFOptIn(tx, commandVal);
|
||||
}
|
||||
|
||||
|
|
|
@ -86,7 +86,7 @@ static const CRPCConvertParam vRPCConvertParams[] =
|
|||
{ "createrawtransaction", 0, "inputs" },
|
||||
{ "createrawtransaction", 1, "outputs" },
|
||||
{ "createrawtransaction", 2, "locktime" },
|
||||
{ "createrawtransaction", 3, "optintorbf" },
|
||||
{ "createrawtransaction", 3, "replaceable" },
|
||||
{ "signrawtransaction", 1, "prevtxs" },
|
||||
{ "signrawtransaction", 2, "privkeys" },
|
||||
{ "sendrawtransaction", 1, "allowhighfees" },
|
||||
|
|
|
@ -294,7 +294,7 @@ UniValue createrawtransaction(const JSONRPCRequest& request)
|
|||
{
|
||||
if (request.fHelp || request.params.size() < 2 || request.params.size() > 4)
|
||||
throw std::runtime_error(
|
||||
"createrawtransaction [{\"txid\":\"id\",\"vout\":n},...] {\"address\":amount,\"data\":\"hex\",...} ( locktime ) ( optintorbf )\n"
|
||||
"createrawtransaction [{\"txid\":\"id\",\"vout\":n},...] {\"address\":amount,\"data\":\"hex\",...} ( locktime ) ( replaceable )\n"
|
||||
"\nCreate a transaction spending the given inputs and creating new outputs.\n"
|
||||
"Outputs can be addresses or data.\n"
|
||||
"Returns hex-encoded raw transaction.\n"
|
||||
|
@ -318,7 +318,8 @@ UniValue createrawtransaction(const JSONRPCRequest& request)
|
|||
" ,...\n"
|
||||
" }\n"
|
||||
"3. locktime (numeric, optional, default=0) Raw locktime. Non-0 value also locktime-activates inputs\n"
|
||||
"4. optintorbf (boolean, optional, default=false) Allow this transaction to be replaced by a transaction with higher fees. If provided, it is an error if explicit sequence numbers are incompatible.\n"
|
||||
"4. replaceable (boolean, optional, default=false) Marks this transaction as BIP125 replaceable.\n"
|
||||
" Allows this transaction to be replaced by a transaction with higher fees. If provided, it is an error if explicit sequence numbers are incompatible.\n"
|
||||
"\nResult:\n"
|
||||
"\"transaction\" (string) hex string of the transaction\n"
|
||||
|
||||
|
@ -412,7 +413,7 @@ UniValue createrawtransaction(const JSONRPCRequest& request)
|
|||
}
|
||||
|
||||
if (request.params.size() > 3 && rbfOptIn != SignalsOptInRBF(rawTx)) {
|
||||
throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter combination: Sequence number(s) contradict optintorbf option");
|
||||
throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter combination: Sequence number(s) contradict replaceable option");
|
||||
}
|
||||
|
||||
return EncodeHexTx(rawTx);
|
||||
|
@ -900,7 +901,7 @@ static const CRPCCommand commands[] =
|
|||
{ // category name actor (function) okSafeMode
|
||||
// --------------------- ------------------------ ----------------------- ----------
|
||||
{ "rawtransactions", "getrawtransaction", &getrawtransaction, true, {"txid","verbose"} },
|
||||
{ "rawtransactions", "createrawtransaction", &createrawtransaction, true, {"inputs","outputs","locktime"} },
|
||||
{ "rawtransactions", "createrawtransaction", &createrawtransaction, true, {"inputs","outputs","locktime","replaceable"} },
|
||||
{ "rawtransactions", "decoderawtransaction", &decoderawtransaction, true, {"hexstring"} },
|
||||
{ "rawtransactions", "decodescript", &decodescript, true, {"hexstring"} },
|
||||
{ "rawtransactions", "sendrawtransaction", &sendrawtransaction, false, {"hexstring","allowhighfees"} },
|
||||
|
|
|
@ -2656,7 +2656,8 @@ UniValue fundrawtransaction(const JSONRPCRequest& request)
|
|||
" Those recipients will receive less bitcoins than you enter in their corresponding amount field.\n"
|
||||
" If no outputs are specified here, the sender pays the fee.\n"
|
||||
" [vout_index,...]\n"
|
||||
" \"optIntoRbf\" (boolean, optional) Allow this transaction to be replaced by a transaction with higher fees\n"
|
||||
" \"replaceable\" (boolean, optional) Marks this transaction as BIP125 replaceable.\n"
|
||||
" Allows this transaction to be replaced by a transaction with higher fees\n"
|
||||
" }\n"
|
||||
" for backward compatibility: passing in a true instead of an object will result in {\"includeWatching\":true}\n"
|
||||
"\nResult:\n"
|
||||
|
@ -2708,7 +2709,7 @@ UniValue fundrawtransaction(const JSONRPCRequest& request)
|
|||
{"reserveChangeKey", UniValueType(UniValue::VBOOL)},
|
||||
{"feeRate", UniValueType()}, // will be checked below
|
||||
{"subtractFeeFromOutputs", UniValueType(UniValue::VARR)},
|
||||
{"optIntoRbf", UniValueType(UniValue::VBOOL)},
|
||||
{"replaceable", UniValueType(UniValue::VBOOL)},
|
||||
},
|
||||
true, true);
|
||||
|
||||
|
@ -2742,8 +2743,8 @@ UniValue fundrawtransaction(const JSONRPCRequest& request)
|
|||
if (options.exists("subtractFeeFromOutputs"))
|
||||
subtractFeeFromOutputs = options["subtractFeeFromOutputs"].get_array();
|
||||
|
||||
if (options.exists("optIntoRbf")) {
|
||||
coinControl.signalRbf = options["optIntoRbf"].get_bool();
|
||||
if (options.exists("replaceable")) {
|
||||
coinControl.signalRbf = options["replaceable"].get_bool();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue