From 38067c18f8b54c7121643fa3291ffe81b6eefef1 Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Sat, 18 Feb 2012 15:06:32 +0100 Subject: [PATCH] Make compressed pubkeys require 0.6.0 --- src/key.h | 2 +- src/wallet.cpp | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/key.h b/src/key.h index 9e92897e2..43c8d8452 100644 --- 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"); diff --git a/src/wallet.cpp b/src/wallet.cpp index da64aa510..8a33041a1 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -17,9 +17,16 @@ using namespace std; std::vector 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();