/// <param name="strBase58"></param>
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);
}
public string ToHex()
{
- return Interop.ToHex(PublicBytes);
+ return Interop.ToHex(this);
+ }
+
+ /// <summary>
+ /// Public part of key pair
+ /// </summary>
+ public static implicit operator byte[] (CPubKey p)
+ {
+ return p._Public.Q.GetEncoded();
}
public override string ToString()
var r = new List<byte>();
r.Add((byte)(AddrType.PUBKEY_ADDRESS));
- r.AddRange(PublicBytes);
+ r.AddRange((byte[])this);
return AddressTools.Base58EncodeCheck(r.ToArray());
}