[0.13] Create a new HD seed after encrypting the wallet
This commit is contained in:
@@ -2081,7 +2081,7 @@ UniValue encryptwallet(const UniValue& params, bool fHelp)
|
||||
// slack space in .dat files; that is bad if the old data is
|
||||
// unencrypted private keys. So:
|
||||
StartShutdown();
|
||||
return "wallet encrypted; Bitcoin server stopping, restart to run with encrypted wallet. The keypool has been flushed, you need to make a new backup.";
|
||||
return "wallet encrypted; Bitcoin server stopping, restart to run with encrypted wallet. The keypool has been flushed and a new HD seed was generated (if you are using HD). You need to make a new backup.";
|
||||
}
|
||||
|
||||
UniValue lockunspent(const UniValue& params, bool fHelp)
|
||||
|
||||
@@ -626,6 +626,15 @@ bool CWallet::EncryptWallet(const SecureString& strWalletPassphrase)
|
||||
|
||||
Lock();
|
||||
Unlock(strWalletPassphrase);
|
||||
|
||||
// if we are using HD, replace the HD master key with a new one
|
||||
if (!hdChain.masterKeyID.IsNull()) {
|
||||
CKey key;
|
||||
key.MakeNewKey(true);
|
||||
if (!SetHDMasterKey(key))
|
||||
return false;
|
||||
}
|
||||
|
||||
NewKeyPool();
|
||||
Lock();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user