diff options
| author | Pieter Wuille <[email protected]> | 2013-05-01 06:52:05 +0200 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2013-05-30 05:20:21 +0200 |
| commit | dfa23b94c24aae6466152fccbe896ba5dc0e97b4 (patch) | |
| tree | a1f7f856577b2223bae9351c960b595b4032ce7a /src/wallet.cpp | |
| parent | Make CPubKey statically allocated (diff) | |
| download | discoin-dfa23b94c24aae6466152fccbe896ba5dc0e97b4.tar.xz discoin-dfa23b94c24aae6466152fccbe896ba5dc0e97b4.zip | |
CSecret/CKey -> CKey/CPubKey split/refactor
Diffstat (limited to 'src/wallet.cpp')
| -rw-r--r-- | src/wallet.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/wallet.cpp b/src/wallet.cpp index c70ea20e8..5efc45583 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -32,26 +32,28 @@ CPubKey CWallet::GenerateNewKey() bool fCompressed = CanSupportFeature(FEATURE_COMPRPUBKEY); // default to compressed public keys if we want 0.6.0 wallets RandAddSeedPerfmon(); - CKey key; - key.MakeNewKey(fCompressed); + CKey secret; + secret.MakeNewKey(fCompressed); // Compressed public keys were introduced in version 0.6.0 if (fCompressed) SetMinVersion(FEATURE_COMPRPUBKEY); - if (!AddKey(key)) + CPubKey pubkey = secret.GetPubKey(); + if (!AddKeyPubKey(secret, pubkey)) throw std::runtime_error("CWallet::GenerateNewKey() : AddKey failed"); - return key.GetPubKey(); + return pubkey; } -bool CWallet::AddKey(const CKey& key) +bool CWallet::AddKeyPubKey(const CKey& secret, const CPubKey &pubkey) { - if (!CCryptoKeyStore::AddKey(key)) + if (!CCryptoKeyStore::AddKeyPubKey(secret, pubkey)) return false; if (!fFileBacked) return true; - if (!IsCrypted()) - return CWalletDB(strWalletFile).WriteKey(key.GetPubKey(), key.GetPrivKey()); + if (!IsCrypted()) { + return CWalletDB(strWalletFile).WriteKey(pubkey, secret.GetPrivKey()); + } return true; } |