From dd526c2a2d2f0f7427047891a5e94b4e6c18b190 Mon Sep 17 00:00:00 2001 From: Jonas Schnelli Date: Tue, 17 Jan 2017 09:07:48 +0100 Subject: [PATCH] Don't switch to HD-chain-split during wallet encryption of non HD-chain-split wallets --- src/wallet/wallet.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 7ad48e37b..768781079 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -1306,10 +1306,6 @@ CPubKey CWallet::GenerateNewHDMasterKey() bool CWallet::SetHDMasterKey(const CPubKey& pubkey) { LOCK(cs_wallet); - - // ensure this wallet.dat can only be opened by clients supporting HD with chain split - SetMinVersion(FEATURE_HD_SPLIT); - // store the keyid (hash160) together with // the child index counter in the database // as a hdchain object @@ -3670,6 +3666,9 @@ CWallet* CWallet::CreateWalletFromFile(const std::string walletFile) CPubKey masterPubKey = walletInstance->GenerateNewHDMasterKey(); if (!walletInstance->SetHDMasterKey(masterPubKey)) throw std::runtime_error(std::string(__func__) + ": Storing master key failed"); + + // ensure this wallet.dat can only be opened by clients supporting HD with chain split + walletInstance->SetMinVersion(FEATURE_HD_SPLIT); } CPubKey newDefaultKey; if (walletInstance->GetKeyFromPool(newDefaultKey, false)) {