X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=Novacoin%2FCPubKey.cs;h=33d1b928d6c666eef0cfddf7ea879a15ab58c328;hb=be9d844557911f95165d2c9875c4f5b2822cfc92;hp=264ca78935bea7f6af59cb0564e479b5b04d95e3;hpb=0aa2d5cb7cdb5813440e7afcdbe6014e9b8deeee;p=NovacoinLibrary.git diff --git a/Novacoin/CPubKey.cs b/Novacoin/CPubKey.cs index 264ca78..33d1b92 100644 --- a/Novacoin/CPubKey.cs +++ b/Novacoin/CPubKey.cs @@ -40,9 +40,9 @@ namespace Novacoin /// Initializes a new instance of CPubKey class using supplied sequence of bytes /// /// Byte sequence - public CPubKey(IEnumerable bytes) + public CPubKey(byte[] bytes) { - var pQ = curve.Curve.DecodePoint(bytes.ToArray()); + var pQ = curve.Curve.DecodePoint(bytes); _Public = new ECPublicKeyParameters(pQ, domain); } @@ -52,7 +52,7 @@ namespace Novacoin /// public CPubKey(string strBase58) { - var pQ = curve.Curve.DecodePoint(AddressTools.Base58DecodeCheck(strBase58).ToArray()); + var pQ = curve.Curve.DecodePoint(AddressTools.Base58DecodeCheck(strBase58)); _Public = new ECPublicKeyParameters(pQ, domain); } @@ -67,7 +67,15 @@ namespace Novacoin public string ToHex() { - return Interop.ToHex(PublicBytes); + return Interop.ToHex(this); + } + + /// + /// Public part of key pair + /// + public static implicit operator byte[] (CPubKey p) + { + return p._Public.Q.GetEncoded(); } public override string ToString() @@ -75,7 +83,7 @@ namespace Novacoin var r = new List(); r.Add((byte)(AddrType.PUBKEY_ADDRESS)); - r.AddRange(PublicBytes); + r.AddRange((byte[])this); return AddressTools.Base58EncodeCheck(r.ToArray()); }