public async Task Initialize(CancellationToken cancellationToken) { foreach (var type in Enum.GetValues(typeof(IndexType)).OfType <IndexType>()) { var tip = await _checkpointStore.GetCheckpointAsync(type).ConfigureAwait(false); _indexers.Add(type, new IndexerTarget { Type = type, Checkpoint = tip, Tip = _chain.FindFork(tip.BlockLocator) }); } Indexers = new ReadOnlyCollection <IIndexerTarget>(_indexers.Values.ToList()); var minHeight = _indexers.Values.Min(i => i.Tip.Height); Tip = _settings.IgnoreCheckpoints ? _chain.GetBlock(_settings.From) : _chain.GetBlock(minHeight); }