This PR adds test coverage for migrating legacy Bitcoin Core wallets from v0.14.3 (released in 2017) to the descriptor wallet format. The test validates that users can safely upgrade their wallets while preserving all funds, transaction history, and addresses.
This test was originally developed on top of #32977, as it was requested in reviews. However, since it also increases test coverage, it can be merged independently.
The test covers two wallet migration scenarios:
- Non-HD Wallet Migration - Tests migration of non-HD wallets (created with
-usehd=0
) - Single Chain HD Wallet Migration - Tests migration of HD wallets from v0.14.3 (
VERSION_HD_BASE
)
The node v0.14.3 cannot be synced because it doesn’t have the syncwithvalidationinterfacequeue
RPC implemented (required by test_framework.py
), so the solution is to copy the block
folder to the modern node and start it with -reindex-chainstate
. Because of this additional complexity, this testing is best managed in a separate file rather than in the existing migration test files.