public static Block DecodeBlock(BinaryReader reader)
{
var header = DecodeBlockHeader(null, reader.ReadExactly(80));
var blockTxesCount = reader.ReadVarInt().ToIntChecked();
var blockTxes = ImmutableArray.CreateBuilder<BlockTx>(blockTxesCount);
for (var i = 0; i < blockTxesCount; i++)
{
var txBytes = ReadTransaction(reader);
var encodedTx = DecodeEncodedTx(null, txBytes);
var blockTx = new BlockTx(i, encodedTx);
blockTxes.Add(blockTx);
}
return new Block(header, blockTxes.MoveToImmutable());
}