aboutsummaryrefslogtreecommitdiff
path: root/src/key.cpp
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2012-05-14 19:07:52 +0200
committerPieter Wuille <pieter.wuille@gmail.com>2012-05-24 19:58:12 +0200
commitfd61d6f5068cf92d34569862b4225f177049a4f0 (patch)
tree5556094bda3a7162535b9352b67016e620bb9a77 /src/key.cpp
parentf04017f702e36563b9ba05b3fede216767de580a (diff)
downloadbitcoin-fd61d6f5068cf92d34569862b4225f177049a4f0.tar.xz
Encapsulate public keys in CPubKey
Diffstat (limited to 'src/key.cpp')
-rw-r--r--src/key.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/key.cpp b/src/key.cpp
index 9485b477cb..57ab842bc4 100644
--- a/src/key.cpp
+++ b/src/key.cpp
@@ -239,18 +239,18 @@ CPrivKey CKey::GetPrivKey() const
return vchPrivKey;
}
-bool CKey::SetPubKey(const std::vector<unsigned char>& vchPubKey)
+bool CKey::SetPubKey(const CPubKey& vchPubKey)
{
- const unsigned char* pbegin = &vchPubKey[0];
- if (!o2i_ECPublicKey(&pkey, &pbegin, vchPubKey.size()))
+ const unsigned char* pbegin = &vchPubKey.vchPubKey[0];
+ if (!o2i_ECPublicKey(&pkey, &pbegin, vchPubKey.vchPubKey.size()))
return false;
fSet = true;
- if (vchPubKey.size() == 33)
+ if (vchPubKey.vchPubKey.size() == 33)
SetCompressedPubKey();
return true;
}
-std::vector<unsigned char> CKey::GetPubKey() const
+CPubKey CKey::GetPubKey() const
{
int nSize = i2o_ECPublicKey(pkey, NULL);
if (!nSize)
@@ -259,7 +259,7 @@ std::vector<unsigned char> CKey::GetPubKey() const
unsigned char* pbegin = &vchPubKey[0];
if (i2o_ECPublicKey(pkey, &pbegin) != nSize)
throw key_error("CKey::GetPubKey() : i2o_ECPublicKey returned unexpected size");
- return vchPubKey;
+ return CPubKey(vchPubKey);
}
bool CKey::Sign(uint256 hash, std::vector<unsigned char>& vchSig)