mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-06-26 08:51:55 +02:00
[rpc] add snake case aliases for transaction methods
This commit is contained in:
parent
1bc8d0fd59
commit
2c2a1445dc
@ -2956,12 +2956,17 @@ void FundTransaction(CWallet* const pwallet, CMutableTransaction& tx, CAmount& f
|
|||||||
{
|
{
|
||||||
{"add_inputs", UniValueType(UniValue::VBOOL)},
|
{"add_inputs", UniValueType(UniValue::VBOOL)},
|
||||||
{"changeAddress", UniValueType(UniValue::VSTR)},
|
{"changeAddress", UniValueType(UniValue::VSTR)},
|
||||||
|
{"change_address", UniValueType(UniValue::VSTR)},
|
||||||
{"changePosition", UniValueType(UniValue::VNUM)},
|
{"changePosition", UniValueType(UniValue::VNUM)},
|
||||||
|
{"change_position", UniValueType(UniValue::VNUM)},
|
||||||
{"change_type", UniValueType(UniValue::VSTR)},
|
{"change_type", UniValueType(UniValue::VSTR)},
|
||||||
{"includeWatching", UniValueType(UniValue::VBOOL)},
|
{"includeWatching", UniValueType(UniValue::VBOOL)},
|
||||||
|
{"include_watching", UniValueType(UniValue::VBOOL)},
|
||||||
{"lockUnspents", UniValueType(UniValue::VBOOL)},
|
{"lockUnspents", UniValueType(UniValue::VBOOL)},
|
||||||
|
{"lock_unspents", UniValueType(UniValue::VBOOL)},
|
||||||
{"feeRate", UniValueType()}, // will be checked below
|
{"feeRate", UniValueType()}, // will be checked below
|
||||||
{"subtractFeeFromOutputs", UniValueType(UniValue::VARR)},
|
{"subtractFeeFromOutputs", UniValueType(UniValue::VARR)},
|
||||||
|
{"subtract_fee_from_outputs", UniValueType(UniValue::VARR)},
|
||||||
{"replaceable", UniValueType(UniValue::VBOOL)},
|
{"replaceable", UniValueType(UniValue::VBOOL)},
|
||||||
{"conf_target", UniValueType(UniValue::VNUM)},
|
{"conf_target", UniValueType(UniValue::VNUM)},
|
||||||
{"estimate_mode", UniValueType(UniValue::VSTR)},
|
{"estimate_mode", UniValueType(UniValue::VSTR)},
|
||||||
@ -2972,22 +2977,24 @@ void FundTransaction(CWallet* const pwallet, CMutableTransaction& tx, CAmount& f
|
|||||||
coinControl.m_add_inputs = options["add_inputs"].get_bool();
|
coinControl.m_add_inputs = options["add_inputs"].get_bool();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (options.exists("changeAddress")) {
|
if (options.exists("changeAddress") || options.exists("change_address")) {
|
||||||
CTxDestination dest = DecodeDestination(options["changeAddress"].get_str());
|
const std::string change_address_str = (options.exists("change_address") ? options["change_address"] : options["changeAddress"]).get_str();
|
||||||
|
CTxDestination dest = DecodeDestination(change_address_str);
|
||||||
|
|
||||||
if (!IsValidDestination(dest)) {
|
if (!IsValidDestination(dest)) {
|
||||||
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "changeAddress must be a valid bitcoin address");
|
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Change address must be a valid bitcoin address");
|
||||||
}
|
}
|
||||||
|
|
||||||
coinControl.destChange = dest;
|
coinControl.destChange = dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (options.exists("changePosition"))
|
if (options.exists("changePosition") || options.exists("change_position")) {
|
||||||
change_position = options["changePosition"].get_int();
|
change_position = (options.exists("change_position") ? options["change_position"] : options["changePosition"]).get_int();
|
||||||
|
}
|
||||||
|
|
||||||
if (options.exists("change_type")) {
|
if (options.exists("change_type")) {
|
||||||
if (options.exists("changeAddress")) {
|
if (options.exists("changeAddress") || options.exists("change_address")) {
|
||||||
throw JSONRPCError(RPC_INVALID_PARAMETER, "Cannot specify both changeAddress and address_type options");
|
throw JSONRPCError(RPC_INVALID_PARAMETER, "Cannot specify both change address and address type options");
|
||||||
}
|
}
|
||||||
OutputType out_type;
|
OutputType out_type;
|
||||||
if (!ParseOutputType(options["change_type"].get_str(), out_type)) {
|
if (!ParseOutputType(options["change_type"].get_str(), out_type)) {
|
||||||
@ -2996,10 +3003,12 @@ void FundTransaction(CWallet* const pwallet, CMutableTransaction& tx, CAmount& f
|
|||||||
coinControl.m_change_type.emplace(out_type);
|
coinControl.m_change_type.emplace(out_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
coinControl.fAllowWatchOnly = ParseIncludeWatchonly(options["includeWatching"], *pwallet);
|
const UniValue include_watching_option = options.exists("include_watching") ? options["include_watching"] : options["includeWatching"];
|
||||||
|
coinControl.fAllowWatchOnly = ParseIncludeWatchonly(include_watching_option, *pwallet);
|
||||||
|
|
||||||
if (options.exists("lockUnspents"))
|
if (options.exists("lockUnspents") || options.exists("lock_unspents")) {
|
||||||
lockUnspents = options["lockUnspents"].get_bool();
|
lockUnspents = (options.exists("lock_unspents") ? options["lock_unspents"] : options["lockUnspents"]).get_bool();
|
||||||
|
}
|
||||||
|
|
||||||
if (options.exists("feeRate"))
|
if (options.exists("feeRate"))
|
||||||
{
|
{
|
||||||
@ -3013,8 +3022,8 @@ void FundTransaction(CWallet* const pwallet, CMutableTransaction& tx, CAmount& f
|
|||||||
coinControl.fOverrideFeeRate = true;
|
coinControl.fOverrideFeeRate = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (options.exists("subtractFeeFromOutputs"))
|
if (options.exists("subtractFeeFromOutputs") || options.exists("subtract_fee_from_outputs") )
|
||||||
subtractFeeFromOutputs = options["subtractFeeFromOutputs"].get_array();
|
subtractFeeFromOutputs = (options.exists("subtract_fee_from_outputs") ? options["subtract_fee_from_outputs"] : options["subtractFeeFromOutputs"]).get_array();
|
||||||
|
|
||||||
if (options.exists("replaceable")) {
|
if (options.exists("replaceable")) {
|
||||||
coinControl.m_signal_bip125_rbf = options["replaceable"].get_bool();
|
coinControl.m_signal_bip125_rbf = options["replaceable"].get_bool();
|
||||||
|
@ -224,7 +224,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||||||
dec_tx = self.nodes[2].decoderawtransaction(rawtx)
|
dec_tx = self.nodes[2].decoderawtransaction(rawtx)
|
||||||
assert_equal(utx['txid'], dec_tx['vin'][0]['txid'])
|
assert_equal(utx['txid'], dec_tx['vin'][0]['txid'])
|
||||||
|
|
||||||
assert_raises_rpc_error(-5, "changeAddress must be a valid bitcoin address", self.nodes[2].fundrawtransaction, rawtx, {'changeAddress':'foobar'})
|
assert_raises_rpc_error(-5, "Change address must be a valid bitcoin address", self.nodes[2].fundrawtransaction, rawtx, {'changeAddress':'foobar'})
|
||||||
|
|
||||||
def test_valid_change_address(self):
|
def test_valid_change_address(self):
|
||||||
self.log.info("Test fundrawtxn with a provided change address")
|
self.log.info("Test fundrawtxn with a provided change address")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user