Make compressed pubkeys require 0.6.0
authorPieter Wuille <pieter.wuille@gmail.com>
Sat, 18 Feb 2012 14:06:32 +0000 (15:06 +0100)
committerPieter Wuille <pieter.wuille@gmail.com>
Sat, 18 Feb 2012 14:42:38 +0000 (15:42 +0100)
src/key.h
src/wallet.cpp

index 9e92897..43c8d84 100644 (file)
--- a/src/key.h
+++ b/src/key.h
@@ -114,7 +114,7 @@ public:
         return fCompressedPubKey;
     }
 
-    void MakeNewKey(bool fCompressed = true)
+    void MakeNewKey(bool fCompressed)
     {
         if (!EC_KEY_generate_key(pkey))
             throw key_error("CKey::MakeNewKey() : EC_KEY_generate_key failed");
index da64aa5..8a33041 100644 (file)
@@ -17,9 +17,16 @@ using namespace std;
 
 std::vector<unsigned char> CWallet::GenerateNewKey()
 {
+    bool fCompressed = true; // default to compressed public keys
+
     RandAddSeedPerfmon();
     CKey key;
-    key.MakeNewKey();
+    key.MakeNewKey(fCompressed);
+
+    // Compressed public keys were introduced in version 0.6.0
+    if (fCompressed)
+        SetMinVersion(59900);
+
     if (!AddKey(key))
         throw std::runtime_error("CWallet::GenerateNewKey() : AddKey failed");
     return key.GetPubKey();