diff --git a/indexer/client.go b/indexer/client.go index ccec612a..e579852d 100644 --- a/indexer/client.go +++ b/indexer/client.go @@ -364,7 +364,12 @@ func (client *IndexerClient) ensureParentBlocks(currentBlock *CacheBlock) error logger.WithField("client", client.clientName).Debugf("received known block %v:%v [0x%x] backfill", utils.EpochOfSlot(parentSlot), parentSlot, parentRoot) } client.ensureBlock(parentBlock, parentHead) - if int64(utils.EpochOfSlot(parentSlot)) <= client.lastFinalizedEpoch { + + finalizedEpoch := client.indexerCache.finalizedEpoch + if client.lastFinalizedEpoch > finalizedEpoch { + finalizedEpoch = client.lastFinalizedEpoch + } + if int64(utils.EpochOfSlot(parentSlot)) <= finalizedEpoch { logger.WithField("client", client.clientName).Debugf("backfill cache: reached finalized slot %v:%v [0x%x]", utils.EpochOfSlot(parentSlot), parentSlot, parentRoot) break } diff --git a/rpc/beaconstream.go b/rpc/beaconstream.go index d7fe706c..175b6e22 100644 --- a/rpc/beaconstream.go +++ b/rpc/beaconstream.go @@ -131,7 +131,7 @@ func (bs *BeaconStream) subscribeStream(endpoint string, events uint16) *eventst url := fmt.Sprintf("%s/eth/v1/events?topics=%v", endpoint, topics.String()) req, err := http.NewRequest("GET", url, nil) var stream *eventstream.Stream - if err != nil { + if err == nil { for headerKey, headerVal := range bs.client.headers { req.Header.Set(headerKey, headerVal) }