Nethereum.Core.SimpleRLPSigner.BuildRLPEncoded C# (CSharp) Method

BuildRLPEncoded() public method

public BuildRLPEncoded ( bool raw ) : byte[]
raw bool
return byte[]
        public byte[] BuildRLPEncoded(bool raw)
        {
            var encodedData = new List<byte[]>();
            encodedData.AddRange(this.Data.Select(RLP.EncodeElement).ToArray());

            if (raw)
                return RLP.EncodeList(encodedData.ToArray());

            byte[] v, r, s;

            if (signature != null)
            {
                v = RLP.EncodeByte(signature.V);
                r = RLP.EncodeElement(signature.R.ToByteArrayUnsigned());
                s = RLP.EncodeElement(signature.S.ToByteArrayUnsigned());
            }
            else
            {
                v = RLP.EncodeElement(EMPTY_BYTE_ARRAY);
                r = RLP.EncodeElement(EMPTY_BYTE_ARRAY);
                s = RLP.EncodeElement(EMPTY_BYTE_ARRAY);
            }

            encodedData.Add(v);
            encodedData.Add(r);
            encodedData.Add(s);

            return RLP.EncodeList(encodedData.ToArray());
        }