|
|
|
@ -3682,13 +3682,14 @@ CWallet* CWallet::CreateWalletFromFile(const std::string walletFile)
@@ -3682,13 +3682,14 @@ CWallet* CWallet::CreateWalletFromFile(const std::string walletFile)
|
|
|
|
|
{ |
|
|
|
|
// Create new keyUser and set as default key
|
|
|
|
|
if (GetBoolArg("-usehd", DEFAULT_USE_HD_WALLET) && !walletInstance->IsHDEnabled()) { |
|
|
|
|
|
|
|
|
|
// ensure this wallet.dat can only be opened by clients supporting HD with chain split
|
|
|
|
|
walletInstance->SetMinVersion(FEATURE_HD_SPLIT); |
|
|
|
|
|
|
|
|
|
// generate a new master key
|
|
|
|
|
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)) { |
|
|
|
|