code: func (c *ChainIndexer) AddCheckpoint(section uint64, shead common.Hash) {
  	c.lock.Lock()
  	defer c.lock.Unlock()
  
  	c.checkpointSections = section + 1
  	c.checkpointHead = shead
  
  	if section < c.storedSections {
  		return
  	}
  	c.setSectionHead(section, shead)
  	c.setValidSections(section + 1)
  }
docs: // AddCheckpoint adds a checkpoint. Sections are never processed and the chain
  // is not expected to be available before this point. The indexer assumes that
  // the backend has sufficient information available to process subsequent sections.
  //
  // Note: knownSections == 0 and storedSections == checkpointSections until
  // syncing reaches the checkpoint