wallet, rpc: deprecate settxfee and paytxfee

This commit is contained in:
Pol Espinasa
2025-03-04 12:11:12 +01:00
parent 83a9e55ae1
commit bf194c920c
11 changed files with 32 additions and 8 deletions

View File

@@ -4,13 +4,21 @@
# 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 add_options(self, parser):
self.add_wallet_options(parser)
def set_test_params(self):
self.num_nodes = 1
self.setup_clean_chain = True
self.extra_args = [[]]
def skip_test_if_missing_module(self):
self.skip_if_no_wallet()
def run_test(self):
# This test should be used to verify the errors of the currently
# deprecated RPC methods (without the -deprecatedrpc flag) until
@@ -23,7 +31,8 @@ class DeprecatedRpcTest(BitcoinTestFramework):
# at least one other functional test that still tests the RPCs
# functionality using the respective -deprecatedrpc flag.
self.log.info("Currently no tests for deprecated RPC methods")
self.log.info("Test settxfee RPC")
assert_raises_rpc_error(-32, 'settxfee is deprecated and will be fully removed in v31.0.', self.nodes[0].rpc.settxfee, 0.01)
if __name__ == '__main__':
DeprecatedRpcTest(__file__).main()

View File

@@ -598,9 +598,9 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
# Wait for nodes to stop
node.wait_until_stopped()
def restart_node(self, i, extra_args=None, clear_addrman=False):
def restart_node(self, i, extra_args=None, clear_addrman=False, *, expected_stderr=''):
"""Stop and start a test node"""
self.stop_node(i)
self.stop_node(i, expected_stderr=expected_stderr)
if clear_addrman:
peers_dat = self.nodes[i].chain_path / "peers.dat"
os.remove(peers_dat)

View File

@@ -35,7 +35,7 @@ class WalletTest(BitcoinTestFramework):
# whitelist peers to speed up tx relay / mempool sync
self.noban_tx_relay = True
self.extra_args = [[
"-dustrelayfee=0", "-walletrejectlongchains=0"
"-dustrelayfee=0", "-walletrejectlongchains=0", "-deprecatedrpc=settxfee"
]] * self.num_nodes
self.setup_clean_chain = True
self.supports_cli = False

View File

@@ -61,6 +61,7 @@ class BumpFeeTest(BitcoinTestFramework):
"-walletrbf={}".format(i),
"-mintxfee=0.00002",
"-addresstype=bech32",
"-deprecatedrpc=settxfee"
] for i in range(self.num_nodes)]
def skip_test_if_missing_module(self):

View File

@@ -23,6 +23,7 @@ class CreateTxWalletTest(BitcoinTestFramework):
def set_test_params(self):
self.setup_clean_chain = True
self.num_nodes = 1
self.extra_args = [["-deprecatedrpc=settxfee"]]
def skip_test_if_missing_module(self):
self.skip_if_no_wallet()
@@ -71,7 +72,7 @@ class CreateTxWalletTest(BitcoinTestFramework):
)
self.log.info('Check maxtxfee in combination with settxfee')
self.restart_node(0)
self.restart_node(0, expected_stderr='Warning: -paytxfee is deprecated and will be fully removed in v31.0.')
self.nodes[0].settxfee(0.01)
assert_raises_rpc_error(
-6,

View File

@@ -44,6 +44,9 @@ class RawTransactionsTest(BitcoinTestFramework):
def set_test_params(self):
self.num_nodes = 4
self.extra_args = [[
"-deprecatedrpc=settxfee"
] for i in range(self.num_nodes)]
self.setup_clean_chain = True
# whitelist peers to speed up tx relay / mempool sync
self.noban_tx_relay = True

View File

@@ -46,7 +46,7 @@ class MultiWalletTest(BitcoinTestFramework):
self.setup_clean_chain = True
self.num_nodes = 2
self.rpc_timeout = 120
self.extra_args = [["-nowallet"], []]
self.extra_args = [["-nowallet", "-deprecatedrpc=settxfee"], []]
def skip_test_if_missing_module(self):
self.skip_if_no_wallet()

View File

@@ -18,6 +18,9 @@ class TxnMallTest(BitcoinTestFramework):
def set_test_params(self):
self.num_nodes = 3
self.supports_cli = False
self.extra_args = [[
"-deprecatedrpc=settxfee"
] for i in range(self.num_nodes)]
def skip_test_if_missing_module(self):
self.skip_if_no_wallet()