public void Roundtrip_with_nulls() { BlockBodiesMessage message = new() { Bodies = new BlockBody[1] { null } }; var serializer = new BlockBodiesMessageSerializer(); SerializerTester.TestZero(serializer, message); } }
public void Roundtrip() { BlockHeader header = Build.A.BlockHeader.TestObject; Address to = Build.An.Address.FromNumber(1).TestObject; Transaction tx = Build.A.Transaction.WithTo(to).SignedAndResolved(new EthereumEcdsa(RopstenSpecProvider.Instance, NullLogManager.Instance), TestItem.PrivateKeyA, 1).TestObject; BlockBodiesMessage message = new BlockBodiesMessage(); message.Bodies = new [] { new BlockBody(new [] { tx }, new [] { header }) }; var serializer = new BlockBodiesMessageSerializer(); SerializerTester.TestZero(serializer, message); }
public void Roundtrip_with_nulls() { BlockBodiesMessage message = new BlockBodiesMessage { Bodies = new BlockBody[1] { null } }; BlockBodiesMessageSerializer serializer = new BlockBodiesMessageSerializer(); byte[] bytes = serializer.Serialize(message); BlockBodiesMessage deserialized = serializer.Deserialize(bytes); Assert.AreEqual(message.Bodies.Length, deserialized.Bodies.Length, "length"); }
public void Roundtrip() { BlockHeader header = Build.A.BlockHeader.TestObject; Address to = Build.An.Address.FromNumber(1).TestObject; Transaction tx = Build.A.Transaction.WithTo(to).SignedAndResolved(new EthereumEcdsa(ChainId.Ropsten, LimboLogs.Instance), TestItem.PrivateKeyA).TestObject; tx.SenderAddress = null; BlockBodiesMessage message = new(); message.Bodies = new [] { new BlockBody(new [] { tx }, new [] { header }) }; var serializer = new BlockBodiesMessageSerializer(); SerializerTester.TestZero(serializer, message); }
public void RoundTrip() { BlockHeader header = Build.A.BlockHeader.TestObject; Address to = Build.An.Address.FromNumber(1).TestObject; Transaction tx = Build.A.Transaction.WithTo(to).SignedAndResolved(new EthereumEcdsa(RopstenSpecProvider.Instance.ChainId, LimboLogs.Instance), TestItem.PrivateKeyA).TestObject; tx.SenderAddress = null; var ethMessage = new Network.P2P.Subprotocols.Eth.V62.BlockBodiesMessage(); ethMessage.Bodies = new[] { new BlockBody(new[] { tx }, new[] { header }) }; BlockBodiesMessage message = new BlockBodiesMessage(ethMessage, 1, 1000); BlockBodiesMessageSerializer serializer = new BlockBodiesMessageSerializer(); SerializerTester.TestZero(serializer, message); }
public void Roundtrip() { BlockHeader header = Build.A.BlockHeader.TestObject; Transaction tx = Build.A.Transaction.SignedAndResolved(new EthereumSigner(RopstenSpecProvider.Instance, NullLogManager.Instance), TestObject.PrivateKeyA, 1).TestObject; BlockBodiesMessage message = new BlockBodiesMessage(); message.Bodies = new [] { new BlockBody(new [] { tx }, new [] { header }) }; BlockBodiesMessageSerializer serializer = new BlockBodiesMessageSerializer(); byte[] bytes = serializer.Serialize(message); byte[] expectedBytes = Bytes.FromHexString("f90265f90262f861f85f800182520894000000000000000000000000000000000000000101801ba0e82c81829818f96f1c53d0f283084f654d6207ccea2296122a365502c4782913a069f761f38649818a629edacc5fc0a269b4824a61356028ac4072acc9456d4f26f901fcf901f9a0ff483e972a04a9a62bb4b7d04ae403c615604e4090521ecc5bb7af67f71be09ca01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830f424080833d090080830f424083010203a02ba5557a4c62a513c7e56d1bf13373e0da6bec016755483e91589fe1c6d212e28800000000000003e8"); Assert.True(Bytes.AreEqual(bytes, expectedBytes), "bytes"); BlockBodiesMessage deserialized = serializer.Deserialize(bytes); Assert.AreEqual(message.Bodies.Length, deserialized.Bodies.Length, "length"); }