Merge bitcoin/bitcoin#31423: wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet
b789907346wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet (furszy)e86d71b749wallet: refactor, dedup wallet re-loading code (furszy)1de423e0a0wallet: introduce method to return all db created files (furszy)d04f6a97barefactor: remove sqlite dir path back-and-forth conversion (furszy) Pull request description: Currently, the migration process creates a brand-new descriptor wallet with no connection to the user's legacy wallet when the legacy wallet lacks key material and contains only watch-only scripts. This behavior is not aligned with user expectations. If the legacy wallet contains only watch-only scripts, the migration process should only generate a watch-only wallet instead. TODO List: * Explain that `migratewallet` renames the watch-only after migration, and also that the wallet will not have keys enabled. ACKs for top commit: achow101: ACKb789907346pablomartin4btc: tACKb789907346rkrux: LGTM ACKb789907346Tree-SHA512: 1d583ac4b206fb477e9727daf4b5ad9c3e18b12d40e1ab4a61e8565da44c3d0327c892b51cf47b4894405d122e414cefb6b6366c357e02a74a7ca96e06762d83
This commit is contained in:
8 files changed
+86
-24
No files matched your search
@@ -109,6 +109,7 @@ public:
|
||||
void Close() override {}
|
||||
|
||||
std::string Filename() override { return "mockable"; }
|
||||
std::vector<fs::path> Files() override { return {}; }
|
||||
std::string Format() override { return "mock"; }
|
||||
std::unique_ptr<DatabaseBatch> MakeBatch() override { return std::make_unique<MockableBatch>(m_records, m_pass); }
|
||||
};
|
||||
|
||||
Reference in new issue
Block a user