public void RlpDecode()
{
var decodedList = RLP.Decode(GetRLPEncoded());
var decodedData = new List<byte[]>();
var decodedElements = (RLPCollection)decodedList[0];
for (var i = 0; i < numberOfElements; i++)
{
decodedData.Add(decodedElements[i].RLPData);
}
// only parse signature in case is signed
if (decodedElements[numberOfElements].RLPData != null)
{
var v = decodedElements[numberOfElements].RLPData[0];
var r = decodedElements[numberOfElements + 1].RLPData;
var s = decodedElements[numberOfElements + 2].RLPData;
signature = EthECDSASignatureFactory.FromComponents(r, s, v);
}
data = decodedData.ToArray();
decoded = true;
}