mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-29 23:09:44 -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:
|
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
|
# Descriptor wallets created after 0.21 have taproot descriptors which 0.21 does not support, tested below
|
||||||
continue
|
continue
|
||||||
node.loadwallet(wallet_name)
|
# Also try to reopen on master after opening on old
|
||||||
wallet = node.get_wallet_rpc(wallet_name)
|
for n in [node, node_master]:
|
||||||
|
n.loadwallet(wallet_name)
|
||||||
|
wallet = n.get_wallet_rpc(wallet_name)
|
||||||
info = wallet.getwalletinfo()
|
info = wallet.getwalletinfo()
|
||||||
if wallet_name == "w1":
|
if wallet_name == "w1":
|
||||||
assert info['private_keys_enabled'] == True
|
assert info['private_keys_enabled'] == True
|
||||||
|
@ -251,6 +253,15 @@ class BackwardsCompatibilityTest(BitcoinTestFramework):
|
||||||
assert info['private_keys_enabled'] == True
|
assert info['private_keys_enabled'] == True
|
||||||
assert info['keypoolsize'] == 0
|
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
|
# Check that descriptor wallets don't work on legacy only nodes
|
||||||
if self.options.descriptors:
|
if self.options.descriptors:
|
||||||
self.log.info("Test descriptor wallet incompatibility on:")
|
self.log.info("Test descriptor wallet incompatibility on:")
|
||||||
|
|
Loading…
Add table
Reference in a new issue