make bitcoin include files more modular
[novacoin.git] / src / key.h
index 06f88cc..c973d6e 100644 (file)
--- a/src/key.h
+++ b/src/key.h
@@ -1,7 +1,12 @@
 // Copyright (c) 2009-2010 Satoshi Nakamoto
 // Distributed under the MIT/X11 software license, see the accompanying
 // file license.txt or http://www.opensource.org/licenses/mit-license.php.
+#ifndef BITCOIN_KEY_H
+#define BITCOIN_KEY_H
 
+#include <openssl/ec.h>
+#include <openssl/ecdsa.h>
+#include <openssl/obj_mac.h>
 
 // secp160k1
 // const unsigned int PRIVATE_KEY_SIZE = 192;
@@ -36,7 +41,7 @@ public:
 
 
 // secure_allocator is defined in serialize.h
-typedef vector<unsigned char, secure_allocator<unsigned char> > CPrivKey;
+typedef std::vector<unsigned char, secure_allocator<unsigned char> > CPrivKey;
 
 
 
@@ -109,7 +114,7 @@ public:
         return vchPrivKey;
     }
 
-    bool SetPubKey(const vector<unsigned char>& vchPubKey)
+    bool SetPubKey(const std::vector<unsigned char>& vchPubKey)
     {
         const unsigned char* pbegin = &vchPubKey[0];
         if (!o2i_ECPublicKey(&pkey, &pbegin, vchPubKey.size()))
@@ -118,19 +123,19 @@ public:
         return true;
     }
 
-    vector<unsigned char> GetPubKey() const
+    std::vector<unsigned char> GetPubKey() const
     {
         unsigned int nSize = i2o_ECPublicKey(pkey, NULL);
         if (!nSize)
             throw key_error("CKey::GetPubKey() : i2o_ECPublicKey failed");
-        vector<unsigned char> vchPubKey(nSize, 0);
+        std::vector<unsigned char> vchPubKey(nSize, 0);
         unsigned char* pbegin = &vchPubKey[0];
         if (i2o_ECPublicKey(pkey, &pbegin) != nSize)
             throw key_error("CKey::GetPubKey() : i2o_ECPublicKey returned unexpected size");
         return vchPubKey;
     }
 
-    bool Sign(uint256 hash, vector<unsigned char>& vchSig)
+    bool Sign(uint256 hash, std::vector<unsigned char>& vchSig)
     {
         vchSig.clear();
         unsigned char pchSig[10000];
@@ -142,7 +147,7 @@ public:
         return true;
     }
 
-    bool Verify(uint256 hash, const vector<unsigned char>& vchSig)
+    bool Verify(uint256 hash, const std::vector<unsigned char>& vchSig)
     {
         // -1 = error, 0 = bad sig, 1 = good
         if (ECDSA_verify(0, (unsigned char*)&hash, sizeof(hash), &vchSig[0], vchSig.size(), pkey) != 1)
@@ -150,7 +155,7 @@ public:
         return true;
     }
 
-    static bool Sign(const CPrivKey& vchPrivKey, uint256 hash, vector<unsigned char>& vchSig)
+    static bool Sign(const CPrivKey& vchPrivKey, uint256 hash, std::vector<unsigned char>& vchSig)
     {
         CKey key;
         if (!key.SetPrivKey(vchPrivKey))
@@ -158,7 +163,7 @@ public:
         return key.Sign(hash, vchSig);
     }
 
-    static bool Verify(const vector<unsigned char>& vchPubKey, uint256 hash, const vector<unsigned char>& vchSig)
+    static bool Verify(const std::vector<unsigned char>& vchPubKey, uint256 hash, const std::vector<unsigned char>& vchSig)
     {
         CKey key;
         if (!key.SetPubKey(vchPubKey))
@@ -166,3 +171,5 @@ public:
         return key.Verify(hash, vchSig);
     }
 };
+
+#endif