mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-29 14:59:39 -04:00
test: roundtrip wallet backwards compat downgrade
Test that old nodes don't mess up new wallets by loading a downgraded wallet in master again.
This commit is contained in:
parent
bbf43c63b9
commit
afd9a673c4
1 changed files with 35 additions and 24 deletions
|
@ -226,8 +226,10 @@ class BackwardsCompatibilityTest(BitcoinTestFramework):
|
|||
if self.major_version_less_than(node, 22) and wallet_name == "w1" and self.options.descriptors:
|
||||
# Descriptor wallets created after 0.21 have taproot descriptors which 0.21 does not support, tested below
|
||||
continue
|
||||
node.loadwallet(wallet_name)
|
||||
wallet = node.get_wallet_rpc(wallet_name)
|
||||
# Also try to reopen on master after opening on old
|
||||
for n in [node, node_master]:
|
||||
n.loadwallet(wallet_name)
|
||||
wallet = n.get_wallet_rpc(wallet_name)
|
||||
info = wallet.getwalletinfo()
|
||||
if wallet_name == "w1":
|
||||
assert info['private_keys_enabled'] == True
|
||||
|
@ -251,6 +253,15 @@ class BackwardsCompatibilityTest(BitcoinTestFramework):
|
|||
assert info['private_keys_enabled'] == True
|
||||
assert info['keypoolsize'] == 0
|
||||
|
||||
# Copy back to master
|
||||
wallet.unloadwallet()
|
||||
if n == node:
|
||||
shutil.rmtree(node_master.wallets_path / wallet_name)
|
||||
shutil.copytree(
|
||||
n.wallets_path / wallet_name,
|
||||
node_master.wallets_path / wallet_name,
|
||||
)
|
||||
|
||||
# Check that descriptor wallets don't work on legacy only nodes
|
||||
if self.options.descriptors:
|
||||
self.log.info("Test descriptor wallet incompatibility on:")
|
||||
|
|
Loading…
Add table
Reference in a new issue