X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fkey.cpp;h=6c0a57dd131e21b2ae8989bdfcf2a173444128b6;hb=9d14e64825d95061ea0857267646dfcb3d62e07a;hp=fe8573e532a81b9dc9a392c0369fb2c1bfeb494e;hpb=39d23056c0cf13b3e59648c159f2d4aff190992b;p=novacoin.git diff --git a/src/key.cpp b/src/key.cpp index fe8573e..6c0a57d 100644 --- a/src/key.cpp +++ b/src/key.cpp @@ -711,6 +711,15 @@ std::string CMalleablePubKey::ToString() const return EncodeBase58Check(vch); } +std::vector CMalleablePubKey::Raw() const +{ + CDataStream ssKey(SER_NETWORK, PROTOCOL_VERSION); + ssKey << *this; + std::vector vch(ssKey.begin(), ssKey.end()); + + return vch; +} + bool CMalleablePubKey::SetString(const std::string& strMalleablePubKey) { std::vector vchTemp; @@ -771,13 +780,6 @@ CMalleableKey::CMalleableKey(const CSecret &L, const CSecret &H) SetSecrets(L, H); } -CMalleableKey& CMalleableKey::operator=(const CMalleableKey &b) -{ - SetSecrets(b.vchSecretL, b.vchSecretH); - - return (*this); -} - CMalleableKey::~CMalleableKey() { } @@ -792,7 +794,7 @@ bool CMalleableKey::SetSecrets(const CSecret &pvchSecretL, const CSecret &pvchSe Reset(); CKey L, H; - if (pvchSecretL.size() != 32 || !pvchSecretH.size() != 32 || !L.SetSecret(pvchSecretL, true) || !H.SetSecret(pvchSecretH, true)) + if (pvchSecretL.size() != 32 || pvchSecretH.size() != 32 || !L.SetSecret(pvchSecretL, true) || !H.SetSecret(pvchSecretH, true)) { nVersion = 0; return false; @@ -805,12 +807,6 @@ bool CMalleableKey::SetSecrets(const CSecret &pvchSecretL, const CSecret &pvchSe return true; } -void CMalleableKey::GetSecrets(CSecret &pvchSecretL, CSecret &pvchSecretH) const -{ - pvchSecretL = vchSecretL; - pvchSecretH = vchSecretH; -} - CMalleablePubKey CMalleableKey::GetMalleablePubKey() const { CKey L, H; @@ -982,6 +978,15 @@ std::string CMalleableKey::ToString() const return EncodeBase58Check(vch); } +std::vector CMalleableKey::Raw() const +{ + CDataStream ssKey(SER_NETWORK, PROTOCOL_VERSION); + ssKey << *this; + std::vector vch(ssKey.begin(), ssKey.end()); + + return vch; +} + bool CMalleableKey::SetString(const std::string& strMutableKey) { std::vector vchTemp; @@ -992,11 +997,16 @@ bool CMalleableKey::SetString(const std::string& strMutableKey) CDataStream ssKey(vchTemp, SER_NETWORK, PROTOCOL_VERSION); ssKey >> *this; - return IsNull(); + return IsValid(); } // CMalleableKeyView +CMalleableKeyView::CMalleableKeyView(const std::string &strMalleableKey) +{ + SetString(strMalleableKey); +} + CMalleableKeyView::CMalleableKeyView(const CMalleableKey &b) { if (b.vchSecretL.size() != 32) @@ -1021,13 +1031,6 @@ CMalleableKeyView::CMalleableKeyView(const CMalleableKeyView &b) nVersion = CURRENT_VERSION; } -CMalleableKeyView::CMalleableKeyView(const CSecret &L, const CPubKey &pvchPubKeyH) -{ - vchSecretL = L; - vchPubKeyH = pvchPubKeyH.Raw(); - nVersion = CURRENT_VERSION; -} - CMalleableKeyView& CMalleableKeyView::operator=(const CMalleableKey &b) { vchSecretL = b.vchSecretL; @@ -1132,9 +1135,19 @@ bool CMalleableKeyView::SetString(const std::string& strMutableKey) CDataStream ssKey(vchTemp, SER_NETWORK, PROTOCOL_VERSION); ssKey >> *this; - return IsNull(); + return IsValid(); +} + +std::vector CMalleableKeyView::Raw() const +{ + CDataStream ssKey(SER_NETWORK, PROTOCOL_VERSION); + ssKey << *this; + std::vector vch(ssKey.begin(), ssKey.end()); + + return vch; } + bool CMalleableKeyView::IsNull() const { return nVersion != CURRENT_VERSION;