Beispiel #1
0
        public static bool HaveBlockDataAvailabilityStateOf(this ConnectNewHeadersResult connectNewHeadersResult, BlockDataAvailabilityState blockDataAvailabilityState)
        {
            if ((connectNewHeadersResult.DownloadFrom == null) || (connectNewHeadersResult.DownloadTo == null))
            {
                return(false);
            }

            ChainedHeader chainedHeader = connectNewHeadersResult.DownloadTo;

            while (chainedHeader.Height >= connectNewHeadersResult.DownloadFrom.Height)
            {
                if (chainedHeader.BlockDataAvailability != blockDataAvailabilityState)
                {
                    return(false);
                }

                chainedHeader = chainedHeader.Previous;
            }

            return(true);
        }
Beispiel #2
0
 public static bool HaveBlockDataAvailabilityStateOf(this ChainedHeader[] headers, BlockDataAvailabilityState blockDataAvailabilityState)
 {
     return(headers.All(h => h.BlockDataAvailability == blockDataAvailabilityState));
 }