From 130a922980778b293b22169d5e5649afde3ba33b Mon Sep 17 00:00:00 2001 From: Ava Chow Date: Mon, 26 May 2025 14:44:13 -0700 Subject: [PATCH] wallet, interfaces: Use BERKELEY_RO in isEncrypted Since isEncrypted opens a file to search for a particular record, it needs to use BERKELEY_RO when opening a legacy wallet. --- src/wallet/interfaces.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/wallet/interfaces.cpp b/src/wallet/interfaces.cpp index 0048c025a29..66b24d1ec2c 100644 --- a/src/wallet/interfaces.cpp +++ b/src/wallet/interfaces.cpp @@ -643,6 +643,10 @@ public: DatabaseStatus status; bilingual_str error; auto db = MakeWalletDatabase(wallet_name, options, status, error); + if (!db && status == wallet::DatabaseStatus::FAILED_LEGACY_DISABLED) { + options.require_format = wallet::DatabaseFormat::BERKELEY_RO; + db = MakeWalletDatabase(wallet_name, options, status, error); + } if (!db) return false; return WalletBatch(*db).IsEncrypted(); }