public ReceiptsMessage Deserialize(RlpStream rlpStream) { ReceiptsMessage receiptsMessage = new ReceiptsMessage(); Eth.V63.ReceiptsMessageSerializer ethSerializer = new Eth.V63.ReceiptsMessageSerializer(_specProvider); rlpStream.ReadSequenceLength(); receiptsMessage.RequestId = rlpStream.DecodeLong(); receiptsMessage.BufferValue = rlpStream.DecodeInt(); receiptsMessage.EthMessage = ethSerializer.Deserialize(rlpStream); return(receiptsMessage); }
public void Serialize(IByteBuffer byteBuffer, ReceiptsMessage message) { Eth.V63.ReceiptsMessageSerializer ethSerializer = new Eth.V63.ReceiptsMessageSerializer(_specProvider); Rlp ethMessage = new Rlp(ethSerializer.Serialize(message.EthMessage)); int contentLength = Rlp.LengthOf(message.RequestId) + Rlp.LengthOf(message.BufferValue) + ethMessage.Length; int totalLength = Rlp.GetSequenceRlpLength(contentLength); RlpStream rlpStream = new NettyRlpStream(byteBuffer); byteBuffer.EnsureWritable(totalLength); rlpStream.StartSequence(contentLength); rlpStream.Encode(message.RequestId); rlpStream.Encode(message.BufferValue); rlpStream.Encode(ethMessage); }