X-Git-Url: https://git.novaco.in/?p=novacoin.git;a=blobdiff_plain;f=src%2Fkey.h;h=a829834f844b511186ff641a703ca771db2d82e3;hp=ca78c724e8a273c1dddc5e6e2ea051a1ca65cc87;hb=fe0f38a9dd454d2847bedc08c2bcad720b36116c;hpb=e30856438a6af14256dcf3f3169c65907f28363b diff --git a/src/key.h b/src/key.h index ca78c72..a829834 100644 --- a/src/key.h +++ b/src/key.h @@ -191,6 +191,9 @@ public: // Initialize from octets stream bool setBytes(const std::vector &vchBytes); + // Initialize from pubkey + bool setPubKey(const CPubKey &vchPubKey); + // Serialize to octets stream bool getBytes(std::vector &vchBytes); @@ -233,7 +236,7 @@ public: bool operator==(const CMalleablePubKey &b); bool operator!=(const CMalleablePubKey &b) { return !(*this == b); } - std::string ToString(); + std::string ToString() const; bool SetString(const std::string& strMalleablePubKey); uint256 GetID() const; @@ -267,7 +270,7 @@ public: READWRITE(vchSecretH); ) - std::string ToString(); + std::string ToString() const; bool SetString(const std::string& strMalleablePubKey); void Reset(); @@ -277,8 +280,8 @@ public: void GetSecrets(CSecret &pvchSecretL, CSecret &pvchSecretH) const; CMalleablePubKey GetMalleablePubKey() const; - bool CheckKeyVariant(const CPubKey &R, const CPubKey &vchPubKeyVariant); - bool CheckKeyVariant(const CPubKey &R, const CPubKey &vchPubKeyVariant, CKey &privKeyVariant); + bool CheckKeyVariant(const CPubKey &R, const CPubKey &vchPubKeyVariant) const; + bool CheckKeyVariant(const CPubKey &R, const CPubKey &vchPubKeyVariant, CKey &privKeyVariant) const; }; class CMalleableKeyView @@ -286,7 +289,7 @@ class CMalleableKeyView private: unsigned char nVersion; CSecret vchSecretL; - std::vector vchPubKeyH; + CPubKey vchPubKeyH; static const unsigned char CURRENT_VERSION = 1; @@ -308,11 +311,13 @@ public: ) bool IsNull() const; - std::string ToString(); + std::string ToString() const; bool SetString(const std::string& strMalleablePubKey); CMalleablePubKey GetMalleablePubKey() const; - bool CheckKeyVariant(const CPubKey &R, const CPubKey &vchPubKeyVariant); + bool CheckKeyVariant(const CPubKey &R, const CPubKey &vchPubKeyVariant) const; + + bool operator <(const CMalleableKeyView& kv) const { return vchPubKeyH.GetID() < kv.vchPubKeyH.GetID(); } }; #endif