wallet: Drop unused OldKey

This commit is contained in:
João Barbosa 2019-07-30 22:43:15 +01:00
parent 74f1a27f2f
commit 0b1f4b3c66
2 changed files with 7 additions and 33 deletions

View file

@ -676,28 +676,6 @@ public:
}
};
/** Private key that was serialized by an old wallet (only used for deserialization) */
struct OldKey {
CPrivKey vchPrivKey;
ADD_SERIALIZE_METHODS;
template <typename Stream, typename Operation>
inline void SerializationOp(Stream& s, Operation ser_action) {
// no longer used by the wallet, thus dropped after deserialization:
int64_t nTimeCreated;
int64_t nTimeExpires;
std::string strComment;
int nVersion = s.GetVersion();
if (!(s.GetType() & SER_GETHASH))
READWRITE(nVersion);
READWRITE(vchPrivKey);
READWRITE(nTimeCreated);
READWRITE(nTimeExpires);
READWRITE(LIMITED_STRING(strComment, 65536));
}
};
struct CoinSelectionParams
{
bool use_bnb = true;

View file

@ -115,7 +115,6 @@ bool WalletBatch::WriteCryptedKey(const CPubKey& vchPubKey,
return false;
}
EraseIC(std::make_pair(DBKeys::KEY, vchPubKey));
EraseIC(std::make_pair(DBKeys::OLD_KEY, vchPubKey));
return true;
}
@ -256,7 +255,7 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue,
ssValue >> fYes;
if (fYes == '1')
pwallet->LoadWatchOnly(script);
} else if (strType == DBKeys::KEY || strType == DBKeys::OLD_KEY) {
} else if (strType == DBKeys::KEY) {
CPubKey vchPubKey;
ssKey >> vchPubKey;
if (!vchPubKey.IsValid())
@ -268,14 +267,8 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue,
CPrivKey pkey;
uint256 hash;
if (strType == DBKeys::KEY) {
wss.nKeys++;
ssValue >> pkey;
} else {
OldKey wkey;
ssValue >> wkey;
pkey = wkey.vchPrivKey;
}
wss.nKeys++;
ssValue >> pkey;
// Old wallets store keys as DBKeys::KEY [pubkey] => [privkey]
// ... which was slow for wallets with lots of keys, because the public key is re-derived from the private key
@ -407,6 +400,9 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue,
strErr = "Error reading wallet database: Unknown non-tolerable wallet flags found";
return false;
}
} else if (strType == DBKeys::OLD_KEY) {
strErr = "Found unsupported 'wkey' record, try loading with version 0.18";
return false;
} else if (strType != DBKeys::BESTBLOCK && strType != DBKeys::BESTBLOCK_NOMERKLE &&
strType != DBKeys::MINVERSION && strType != DBKeys::ACENTRY &&
strType != DBKeys::VERSION && strType != DBKeys::SETTINGS) {
@ -428,7 +424,7 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue,
bool WalletBatch::IsKeyType(const std::string& strType)
{
return (strType == DBKeys::KEY || strType == DBKeys::OLD_KEY ||
return (strType == DBKeys::KEY ||
strType == DBKeys::MASTER_KEY || strType == DBKeys::CRYPTED_KEY);
}