code: func (c *Client) Rescan(startBlock *chainhash.Hash,
  	addresses []btcutil.Address,
  	outpoints []*wire.OutPoint) error {
  
  	return c.RescanAsync(startBlock, addresses, outpoints).Receive()
  }
docs: // Rescan rescans the block chain starting from the provided starting block to
  // the end of the longest chain for transactions that pay to the passed
  // addresses and transactions which spend the passed outpoints.
  //
  // The notifications of found transactions are delivered to the notification
  // handlers associated with client and this call will not return until the
  // rescan has completed.  Calling this function has no effect if there are no
  // notification handlers and will result in an error if the client is configured
  // to run in HTTP POST mode.
  //
  // The notifications delivered as a result of this call will be via one of
  // OnRedeemingTx (for transactions which spend from the one of the
  // passed outpoints), OnRecvTx (for transactions that receive funds
  // to one of the passed addresses), and OnRescanProgress (for rescan progress
  // updates).
  //
  // See RescanEndBlock to also specify an ending block to finish the rescan
  // without continuing through the best block on the main chain.
  //
  // NOTE: Rescan requests are not issued on client reconnect and must be
  // performed manually (ideally with a new start height based on the last
  // rescan progress notification).  See the OnClientConnected notification
  // callback for a good callsite to reissue rescan requests on connect and
  // reconnect.
  //
  // NOTE: This is a btcd extension and requires a websocket connection.
  //
  // NOTE: Deprecated. Use RescanBlocks instead.