code: func (c *Chain) Halt() {
  	select {
  	case <-c.startC:
  	default:
  		c.logger.Warnf("Attempted to halt a chain that has not started")
  		return
  	}
  
  	select {
  	case c.haltC <- struct{}{}:
  	case <-c.doneC:
  		return
  	}
  	<-c.doneC
  }
docs: // Halt stops the chain.