diff options
author | Andrew Chow <github@achow101.com> | 2023-06-12 17:47:58 -0400 |
---|---|---|
committer | Andrew Chow <github@achow101.com> | 2023-06-23 16:37:22 -0400 |
commit | 8fbb6e99bfc85a1b9003cae402a7335843a86abd (patch) | |
tree | 39f1540ddfa664385c56a8e8d5e981c58673e212 | |
parent | c92fd638860c5b4477851fb3790bc8068f808d3e (diff) |
wallet: Give deprecation warning when loading a legacy wallet
-rw-r--r-- | src/wallet/wallet.cpp | 5 | ||||
-rwxr-xr-x | test/functional/wallet_backwards_compatibility.py | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 62f0f53b01..f41f07635a 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -245,6 +245,11 @@ std::shared_ptr<CWallet> LoadWalletInternal(WalletContext& context, const std::s return nullptr; } + // Legacy wallets are being deprecated, warn if the loaded wallet is legacy + if (!wallet->IsWalletFlagSet(WALLET_FLAG_DESCRIPTORS)) { + warnings.push_back(_("Wallet loaded successfully. The legacy wallet type is being deprecated and support for creating and opening legacy wallets will be removed in the future. Legacy wallets can be migrated to a descriptor wallet with migratewallet.")); + } + NotifyWalletLoaded(context, wallet); AddWallet(context, wallet); wallet->postInitProcess(); diff --git a/test/functional/wallet_backwards_compatibility.py b/test/functional/wallet_backwards_compatibility.py index 5088e11eda..cc76d2f136 100755 --- a/test/functional/wallet_backwards_compatibility.py +++ b/test/functional/wallet_backwards_compatibility.py @@ -264,10 +264,11 @@ class BackwardsCompatibilityTest(BitcoinTestFramework): os.path.join(node_master_wallets_dir, "u1_v16") ) load_res = node_master.loadwallet("u1_v16") - # Make sure this wallet opens without warnings. See https://github.com/bitcoin/bitcoin/pull/19054 + # Make sure this wallet opens with only the migration warning. See https://github.com/bitcoin/bitcoin/pull/19054 if int(node_master.getnetworkinfo()["version"]) >= 249900: # loadwallet#warnings (added in v25) -- only present if there is a warning - assert "warnings" not in load_res + # Legacy wallets will have only a deprecation warning + assert_equal(load_res["warnings"], ["Wallet loaded successfully. The legacy wallet type is being deprecated and support for creating and opening legacy wallets will be removed in the future. Legacy wallets can be migrated to a descriptor wallet with migratewallet."]) else: # loadwallet#warning (deprecated in v25) -- always present, but empty string if no warning assert_equal(load_res["warning"], '') |