[wallet] deprecate sendfrom RPC method.

This commit is contained in:
John Newbery 2018-06-18 12:17:22 -04:00
parent 450055bdbd
commit e209184101
3 changed files with 14 additions and 5 deletions

View file

@ -1017,6 +1017,14 @@ static UniValue sendfrom(const JSONRPCRequest& request)
return NullUniValue; return NullUniValue;
} }
if (!IsDeprecatedRPCEnabled("accounts")) {
if (request.fHelp) {
throw std::runtime_error("sendfrom (Deprecated, will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts)");
}
throw JSONRPCError(RPC_METHOD_DEPRECATED, "sendfrom is deprecated and will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts.");
}
if (request.fHelp || request.params.size() < 3 || request.params.size() > 6) if (request.fHelp || request.params.size() < 3 || request.params.size() > 6)
throw std::runtime_error( throw std::runtime_error(
"sendfrom \"fromaccount\" \"toaddress\" amount ( minconf \"comment\" \"comment_to\" )\n" "sendfrom \"fromaccount\" \"toaddress\" amount ( minconf \"comment\" \"comment_to\" )\n"
@ -4376,7 +4384,6 @@ static const CRPCCommand commands[] =
{ "wallet", "listwallets", &listwallets, {} }, { "wallet", "listwallets", &listwallets, {} },
{ "wallet", "loadwallet", &loadwallet, {"filename"} }, { "wallet", "loadwallet", &loadwallet, {"filename"} },
{ "wallet", "lockunspent", &lockunspent, {"unlock","transactions"} }, { "wallet", "lockunspent", &lockunspent, {"unlock","transactions"} },
{ "wallet", "sendfrom", &sendfrom, {"fromaccount","toaddress","amount","minconf","comment","comment_to"} },
{ "wallet", "sendmany", &sendmany, {"fromaccount|dummy","amounts","minconf","comment","subtractfeefrom","replaceable","conf_target","estimate_mode"} }, { "wallet", "sendmany", &sendmany, {"fromaccount|dummy","amounts","minconf","comment","subtractfeefrom","replaceable","conf_target","estimate_mode"} },
{ "wallet", "sendtoaddress", &sendtoaddress, {"address","amount","comment","comment_to","subtractfeefromamount","replaceable","conf_target","estimate_mode"} }, { "wallet", "sendtoaddress", &sendtoaddress, {"address","amount","comment","comment_to","subtractfeefromamount","replaceable","conf_target","estimate_mode"} },
{ "wallet", "settxfee", &settxfee, {"amount"} }, { "wallet", "settxfee", &settxfee, {"amount"} },
@ -4397,6 +4404,7 @@ static const CRPCCommand commands[] =
{ "wallet", "listaccounts", &listaccounts, {"minconf","include_watchonly"} }, { "wallet", "listaccounts", &listaccounts, {"minconf","include_watchonly"} },
{ "wallet", "listreceivedbyaccount", &listreceivedbylabel, {"minconf","include_empty","include_watchonly"} }, { "wallet", "listreceivedbyaccount", &listreceivedbylabel, {"minconf","include_empty","include_watchonly"} },
{ "wallet", "setaccount", &setlabel, {"address","account"} }, { "wallet", "setaccount", &setlabel, {"address","account"} },
{ "wallet", "sendfrom", &sendfrom, {"fromaccount","toaddress","amount","minconf","comment","comment_to"} },
{ "wallet", "move", &movecmd, {"fromaccount","toaccount","amount","minconf","comment"} }, { "wallet", "move", &movecmd, {"fromaccount","toaccount","amount","minconf","comment"} },
/** Label functions (to replace non-balance account functions) */ /** Label functions (to replace non-balance account functions) */

View file

@ -21,7 +21,6 @@ class WalletRBFTest(BitcoinTestFramework):
self.restart_node(0, extra_args=["-fallbackfee=0"]) self.restart_node(0, extra_args=["-fallbackfee=0"])
assert_raises_rpc_error(-4, "Fee estimation failed", lambda: self.nodes[0].sendtoaddress(self.nodes[0].getnewaddress(), 1)) assert_raises_rpc_error(-4, "Fee estimation failed", lambda: self.nodes[0].sendtoaddress(self.nodes[0].getnewaddress(), 1))
assert_raises_rpc_error(-4, "Fee estimation failed", lambda: self.nodes[0].fundrawtransaction(self.nodes[0].createrawtransaction([], {self.nodes[0].getnewaddress(): 1}))) assert_raises_rpc_error(-4, "Fee estimation failed", lambda: self.nodes[0].fundrawtransaction(self.nodes[0].createrawtransaction([], {self.nodes[0].getnewaddress(): 1})))
assert_raises_rpc_error(-4, "Fee estimation failed", lambda: self.nodes[0].sendfrom("", self.nodes[0].getnewaddress(), 1))
assert_raises_rpc_error(-6, "Fee estimation failed", lambda: self.nodes[0].sendmany("", {self.nodes[0].getnewaddress(): 1})) assert_raises_rpc_error(-6, "Fee estimation failed", lambda: self.nodes[0].sendmany("", {self.nodes[0].getnewaddress(): 1}))
if __name__ == '__main__': if __name__ == '__main__':

View file

@ -85,6 +85,7 @@ class WalletLabelsTest(BitcoinTestFramework):
# we want to reset so that the "" label has what's expected. # we want to reset so that the "" label has what's expected.
# otherwise we're off by exactly the fee amount as that's mined # otherwise we're off by exactly the fee amount as that's mined
# and matures in the next 100 blocks # and matures in the next 100 blocks
if accounts_api:
node.sendfrom("", common_address, fee) node.sendfrom("", common_address, fee)
amount_to_send = 1.0 amount_to_send = 1.0
@ -125,7 +126,7 @@ class WalletLabelsTest(BitcoinTestFramework):
if accounts_api: if accounts_api:
node.sendfrom(label.name, to_label.receive_address, amount_to_send) node.sendfrom(label.name, to_label.receive_address, amount_to_send)
else: else:
node.sendfrom(label.name, to_label.addresses[0], amount_to_send) node.sendtoaddress(to_label.addresses[0], amount_to_send)
node.generate(1) node.generate(1)
for label in labels: for label in labels:
if accounts_api: if accounts_api:
@ -166,6 +167,7 @@ class WalletLabelsTest(BitcoinTestFramework):
label.add_address(multisig_address) label.add_address(multisig_address)
label.purpose[multisig_address] = "send" label.purpose[multisig_address] = "send"
label.verify(node) label.verify(node)
if accounts_api:
node.sendfrom("", multisig_address, 50) node.sendfrom("", multisig_address, 50)
node.generate(101) node.generate(101)
if accounts_api: if accounts_api: