public void Sign(string privateKey) { var signedBytes = PublicKeyAuth.SignDetached(GetRawHash(), privateKey.HexToByteArray()); byte[] publicKey = new byte[32]; Array.Copy(privateKey.HexToByteArray(), 32, publicKey, 0, 32); var signatureLength = signedBytes.Length + publicKey.Length; byte[] signatureArray = new byte[signatureLength]; AionUtils.SetBytes(publicKey, signatureArray, 0); AionUtils.SetBytes(signedBytes, signatureArray, publicKey.Length); Signature = signatureArray; }
public string Serialize() { return("0x" + AionUtils.ByteToHex(RLP.EncodeList( RLP.EncodeElement(Nonce.HexToByteArray()), RLP.EncodeElement(To.HexToByteArray()), RLP.EncodeElement(Value.HexToByteArray()), RLP.EncodeElement(Data.HexToByteArray()), RLP.EncodeElement(Timestamp.HexToByteArray()), CustomRLP.EncodeLong(Gas), CustomRLP.EncodeLong(GasPrice), RLP.EncodeElement(Type.HexToByteArray()), RLP.EncodeElement(Signature) ))); }