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); }
public static bool HaveBlockDataAvailabilityStateOf(this ChainedHeader[] headers, BlockDataAvailabilityState blockDataAvailabilityState) { return(headers.All(h => h.BlockDataAvailability == blockDataAvailabilityState)); }