81608178cf
labels are associated with addresses (rather than addresses being associated with labels, as was the case with accounts). The getlabeladdress does not make sense in this model, so remove it. getaccountaddress is still supported for one release as the accounts API is deprecated.
108 lines
4.6 KiB
Python
Executable file
108 lines
4.6 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
# Copyright (c) 2017 The Bitcoin Core developers
|
|
# Distributed under the MIT software license, see the accompanying
|
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
"""Test deprecation of RPC calls."""
|
|
from test_framework.test_framework import BitcoinTestFramework
|
|
from test_framework.util import assert_raises_rpc_error
|
|
|
|
class DeprecatedRpcTest(BitcoinTestFramework):
|
|
def set_test_params(self):
|
|
self.num_nodes = 2
|
|
self.setup_clean_chain = True
|
|
self.extra_args = [[], ["-deprecatedrpc=validateaddress", "-deprecatedrpc=accounts"]]
|
|
|
|
def run_test(self):
|
|
# This test should be used to verify correct behaviour of deprecated
|
|
# RPC methods with and without the -deprecatedrpc flags. For example:
|
|
#
|
|
# self.log.info("Make sure that -deprecatedrpc=createmultisig allows it to take addresses")
|
|
# assert_raises_rpc_error(-5, "Invalid public key", self.nodes[0].createmultisig, 1, [self.nodes[0].getnewaddress()])
|
|
# self.nodes[1].createmultisig(1, [self.nodes[1].getnewaddress()])
|
|
|
|
self.log.info("Test validateaddress deprecation")
|
|
SOME_ADDRESS = "mnvGjUy3NMj67yJ6gkK5o9e5RS33Z2Vqcu" # This is just some random address to pass as a parameter to validateaddress
|
|
dep_validate_address = self.nodes[0].validateaddress(SOME_ADDRESS)
|
|
assert "ismine" not in dep_validate_address
|
|
not_dep_val = self.nodes[1].validateaddress(SOME_ADDRESS)
|
|
assert "ismine" in not_dep_val
|
|
|
|
self.log.info("Test accounts deprecation")
|
|
# The following account RPC methods are deprecated:
|
|
# - getaccount
|
|
# - getaccountaddress
|
|
# - getaddressesbyaccount
|
|
# - getreceivedbyaccount
|
|
# - listaccouts
|
|
# - listreceivedbyaccount
|
|
# - move
|
|
# - setaccount
|
|
#
|
|
# The following 'label' RPC methods are usable both with and without the
|
|
# -deprecatedrpc=accounts switch enabled.
|
|
# - getaddressesbylabel
|
|
# - getreceivedbylabel
|
|
# - listlabels
|
|
# - listreceivedbylabel
|
|
# - setlabel
|
|
#
|
|
address0 = self.nodes[0].getnewaddress()
|
|
self.nodes[0].generatetoaddress(101, address0)
|
|
self.sync_all()
|
|
address1 = self.nodes[1].getnewaddress()
|
|
self.nodes[1].generatetoaddress(101, address1)
|
|
|
|
self.log.info("- getaccount")
|
|
assert_raises_rpc_error(-32, "getaccount is deprecated", self.nodes[0].getaccount, address0)
|
|
self.nodes[1].getaccount(address1)
|
|
|
|
self.log.info("- setaccount")
|
|
assert_raises_rpc_error(-32, "setaccount is deprecated", self.nodes[0].setaccount, address0, "label0")
|
|
self.nodes[1].setaccount(address1, "label1")
|
|
|
|
self.log.info("- setlabel")
|
|
self.nodes[0].setlabel(address0, "label0")
|
|
self.nodes[1].setlabel(address1, "label1")
|
|
|
|
self.log.info("- getaccountaddress")
|
|
assert_raises_rpc_error(-32, "getaccountaddress is deprecated", self.nodes[0].getaccountaddress, "label0")
|
|
self.nodes[1].getaccountaddress("label1")
|
|
|
|
self.log.info("- getaddressesbyaccount")
|
|
assert_raises_rpc_error(-32, "getaddressesbyaccount is deprecated", self.nodes[0].getaddressesbyaccount, "label0")
|
|
self.nodes[1].getaddressesbyaccount("label1")
|
|
|
|
self.log.info("- getaddressesbylabel")
|
|
self.nodes[0].getaddressesbylabel("label0")
|
|
self.nodes[1].getaddressesbylabel("label1")
|
|
|
|
self.log.info("- getreceivedbyaccount")
|
|
assert_raises_rpc_error(-32, "getreceivedbyaccount is deprecated", self.nodes[0].getreceivedbyaccount, "label0")
|
|
self.nodes[1].getreceivedbyaccount("label1")
|
|
|
|
self.log.info("- getreceivedbylabel")
|
|
self.nodes[0].getreceivedbylabel("label0")
|
|
self.nodes[1].getreceivedbylabel("label1")
|
|
|
|
self.log.info("- listaccounts")
|
|
assert_raises_rpc_error(-32, "listaccounts is deprecated", self.nodes[0].listaccounts)
|
|
self.nodes[1].listaccounts()
|
|
|
|
self.log.info("- listlabels")
|
|
self.nodes[0].listlabels()
|
|
self.nodes[1].listlabels()
|
|
|
|
self.log.info("- listreceivedbyaccount")
|
|
assert_raises_rpc_error(-32, "listreceivedbyaccount is deprecated", self.nodes[0].listreceivedbyaccount)
|
|
self.nodes[1].listreceivedbyaccount()
|
|
|
|
self.log.info("- listreceivedbylabel")
|
|
self.nodes[0].listreceivedbylabel()
|
|
self.nodes[1].listreceivedbylabel()
|
|
|
|
self.log.info("- move")
|
|
assert_raises_rpc_error(-32, "move is deprecated", self.nodes[0].move, "label0", "label0b", 10)
|
|
self.nodes[1].move("label1", "label1b", 10)
|
|
|
|
if __name__ == '__main__':
|
|
DeprecatedRpcTest().main()
|