code: func NewRescan(chain ChainSource, options ...RescanOption) *Rescan {
  	return &Rescan{
  		running:    make(chan struct{}),
  		options:    options,
  		updateChan: make(chan *updateOptions),
  		chain:      chain,
  	}
  }
docs: // NewRescan returns a rescan object that runs in another goroutine and has an
  // updatable filter. It returns the long-running rescan object, and a channel
  // which returns any error on termination of the rescan process.