private static ImmutableArray<UInt256> CalculateBlockLocatorHashes(IImmutableList<ChainedHeader> blockHashes)
{
var blockLocatorHashes = ImmutableArray.CreateBuilder<UInt256>();
if (blockHashes.Count > 0)
{
var step = 1;
var start = 0;
for (var i = blockHashes.Count - 1; i > 0; i -= step, start++)
{
if (start >= 10)
step *= 2;
blockLocatorHashes.Add(blockHashes[i].Hash);
}
blockLocatorHashes.Add(blockHashes[0].Hash);
}
return blockLocatorHashes.ToImmutable();
}