Browse Source

Make compressed pubkeys require 0.6.0

miguelfreitas
Pieter Wuille 13 years ago
parent
commit
38067c18f8
  1. 2
      src/key.h
  2. 9
      src/wallet.cpp

2
src/key.h

@ -114,7 +114,7 @@ public:
return fCompressedPubKey; return fCompressedPubKey;
} }
void MakeNewKey(bool fCompressed = true) void MakeNewKey(bool fCompressed)
{ {
if (!EC_KEY_generate_key(pkey)) if (!EC_KEY_generate_key(pkey))
throw key_error("CKey::MakeNewKey() : EC_KEY_generate_key failed"); throw key_error("CKey::MakeNewKey() : EC_KEY_generate_key failed");

9
src/wallet.cpp

@ -17,9 +17,16 @@ using namespace std;
std::vector<unsigned char> CWallet::GenerateNewKey() std::vector<unsigned char> CWallet::GenerateNewKey()
{ {
bool fCompressed = true; // default to compressed public keys
RandAddSeedPerfmon(); RandAddSeedPerfmon();
CKey key; CKey key;
key.MakeNewKey(); key.MakeNewKey(fCompressed);
// Compressed public keys were introduced in version 0.6.0
if (fCompressed)
SetMinVersion(59900);
if (!AddKey(key)) if (!AddKey(key))
throw std::runtime_error("CWallet::GenerateNewKey() : AddKey failed"); throw std::runtime_error("CWallet::GenerateNewKey() : AddKey failed");
return key.GetPubKey(); return key.GetPubKey();

Loading…
Cancel
Save