[Wallet] Ensure <0.13 clients can't open HD wallets
This commit is contained in:
parent
5e3557b8e3
commit
a4f137f367
2 changed files with 5 additions and 1 deletions
|
@ -3299,6 +3299,9 @@ bool CWallet::InitLoadWallet()
|
||||||
key.MakeNewKey(true);
|
key.MakeNewKey(true);
|
||||||
if (!walletInstance->SetHDMasterKey(key))
|
if (!walletInstance->SetHDMasterKey(key))
|
||||||
throw std::runtime_error("CWallet::GenerateNewKey(): Storing master key failed");
|
throw std::runtime_error("CWallet::GenerateNewKey(): Storing master key failed");
|
||||||
|
|
||||||
|
// ensure this wallet.dat can only be opened by clients supporting HD
|
||||||
|
walletInstance->SetMinVersion(FEATURE_HD);
|
||||||
}
|
}
|
||||||
CPubKey newDefaultKey;
|
CPubKey newDefaultKey;
|
||||||
if (walletInstance->GetKeyFromPool(newDefaultKey)) {
|
if (walletInstance->GetKeyFromPool(newDefaultKey)) {
|
||||||
|
|
|
@ -78,7 +78,8 @@ enum WalletFeature
|
||||||
FEATURE_WALLETCRYPT = 40000, // wallet encryption
|
FEATURE_WALLETCRYPT = 40000, // wallet encryption
|
||||||
FEATURE_COMPRPUBKEY = 60000, // compressed public keys
|
FEATURE_COMPRPUBKEY = 60000, // compressed public keys
|
||||||
|
|
||||||
FEATURE_LATEST = 60000
|
FEATURE_HD = 130000, // Hierarchical key derivation after BIP32 (HD Wallet)
|
||||||
|
FEATURE_LATEST = FEATURE_COMPRPUBKEY // HD is optional, use FEATURE_COMPRPUBKEY as latest version
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue