diff --git a/src/wallet/walletdb.cpp b/src/wallet/walletdb.cpp index 590f94def87..3bb5db71f5e 100644 --- a/src/wallet/walletdb.cpp +++ b/src/wallet/walletdb.cpp @@ -447,6 +447,7 @@ static DBErrors LoadMinVersion(CWallet* pwallet, DatabaseBatch& batch) EXCLUSIVE AssertLockHeld(pwallet->cs_wallet); int nMinVersion = 0; if (batch.Read(DBKeys::MINVERSION, nMinVersion)) { + pwallet->WalletLogPrintf("Wallet file version = %d\n", nMinVersion); if (nMinVersion > FEATURE_LATEST) return DBErrors::TOO_NEW; pwallet->LoadMinVersion(nMinVersion); @@ -1156,7 +1157,7 @@ DBErrors WalletBatch::LoadWallet(CWallet* pwallet) // Last client version to open this wallet int last_client = CLIENT_VERSION; bool has_last_client = m_batch->Read(DBKeys::VERSION, last_client); - pwallet->WalletLogPrintf("Wallet file version = %d, last client version = %d\n", pwallet->GetVersion(), last_client); + if (has_last_client) pwallet->WalletLogPrintf("Last client version = %d\n", last_client); try { if ((result = LoadMinVersion(pwallet, *m_batch)) != DBErrors::LOAD_OK) return result; diff --git a/test/functional/wallet_createwallet.py b/test/functional/wallet_createwallet.py index 1f86b265e8d..312d22fce48 100755 --- a/test/functional/wallet_createwallet.py +++ b/test/functional/wallet_createwallet.py @@ -165,6 +165,19 @@ class CreateWalletTest(BitcoinTestFramework): self.log.info("Test that legacy wallets cannot be created") assert_raises_rpc_error(-4, 'descriptors argument must be set to "true"; it is no longer possible to create a legacy wallet.', self.nodes[0].createwallet, wallet_name="legacy", descriptors=False) + self.log.info("Check that the version number is being logged correctly") + with node.assert_debug_log(expected_msgs=[], unexpected_msgs=["Last client version = ", "Wallet file version = "]): + node.createwallet("version_check") + wallet = node.get_wallet_rpc("version_check") + wallet_version = wallet.getwalletinfo()["walletversion"] + client_version = node.getnetworkinfo()["version"] + wallet.unloadwallet() + with node.assert_debug_log( + expected_msgs=[f"Last client version = {client_version}", f"Wallet file version = {wallet_version}"], + unexpected_msgs=["Wallet file version = 10500"] + ): + node.loadwallet("version_check") + if __name__ == '__main__': CreateWalletTest(__file__).main()