code: func (s *ChainService) BestBlock() (*waddrmgr.BlockStamp, error) {
  	bestHeader, bestHeight, err := s.BlockHeaders.ChainTip()
  	if err != nil {
  		return nil, err
  	}
  
  	_, filterHeight, err := s.RegFilterHeaders.ChainTip()
  	if err != nil {
  		return nil, err
  	}
  
  	// Filter headers might lag behind block headers, so we can can fetch a
  	// previous block header if the filter headers are not caught up.
  	if filterHeight < bestHeight {
  		bestHeight = filterHeight
  		bestHeader, err = s.BlockHeaders.FetchHeaderByHeight(
  			bestHeight,
  		)
  		if err != nil {
  			return nil, err
  		}
  	}
  
  	return &waddrmgr.BlockStamp{
  		Height: int32(bestHeight),
  		Hash:   bestHeader.BlockHash(),
  	}, nil
  }
docs: // BestBlock retrieves the most recent block's height and hash where we
  // have both the header and filter header ready.