|
|
|
@ -317,6 +317,12 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue,
@@ -317,6 +317,12 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue,
|
|
|
|
|
ssValue >> wkey; |
|
|
|
|
pkey = wkey.vchPrivKey; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Old wallets store keys as "key" [pubkey] => [privkey]
|
|
|
|
|
// ... which was slow for wallets with lots of keys, because the public key is re-derived from the private key
|
|
|
|
|
// using EC operations as a checksum.
|
|
|
|
|
// Newer wallets store keys as "key"[pubkey] => [privkey][hash(pubkey,privkey)], which is much faster while
|
|
|
|
|
// remaining backwards-compatible.
|
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
ssValue >> hash; |
|
|
|
|