diff options
| author | Jonas Schnelli <[email protected]> | 2016-07-15 11:42:47 +0200 |
|---|---|---|
| committer | Jonas Schnelli <[email protected]> | 2016-07-18 22:56:45 +0200 |
| commit | a4f137f367a898dc3acddc778c4fe9c53ac303c9 (patch) | |
| tree | 1a22824142a9f8bb3d5dd4b324c28168d917efd3 | |
| parent | doc: Clean out release notes (diff) | |
| download | discoin-a4f137f367a898dc3acddc778c4fe9c53ac303c9.tar.xz discoin-a4f137f367a898dc3acddc778c4fe9c53ac303c9.zip | |
[Wallet] Ensure <0.13 clients can't open HD wallets
| -rw-r--r-- | src/wallet/wallet.cpp | 3 | ||||
| -rw-r--r-- | src/wallet/wallet.h | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 46ed54215..ae0a546ea 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -3299,6 +3299,9 @@ bool CWallet::InitLoadWallet() key.MakeNewKey(true); if (!walletInstance->SetHDMasterKey(key)) 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; if (walletInstance->GetKeyFromPool(newDefaultKey)) { diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h index e9d669a7d..3a3cb6d85 100644 --- a/src/wallet/wallet.h +++ b/src/wallet/wallet.h @@ -78,7 +78,8 @@ enum WalletFeature FEATURE_WALLETCRYPT = 40000, // wallet encryption 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 }; |