|
|
|
@ -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)) {
|
|
|
|
|