code: func (api *API) FindTransactions(query FindTransactionsQuery) (Hashes, error) {
  	if err := validateFindTransactions(&query); err != nil {
  		return nil, err
  	}
  
  	if len(query.Addresses) > 0 {
  		cleanedAddrs, err := checksum.RemoveChecksums(query.Addresses)
  		if err != nil {
  			return nil, err
  		}
  		query.Addresses = cleanedAddrs
  	}
  
  	cmd := &FindTransactionsCommand{FindTransactionsQuery: query, Command: Command{FindTransactionsCmd}}
  	rsp := &FindTransactionsResponse{}
  	if err := api.provider.Send(cmd, rsp); err != nil {
  		return nil, err
  	}
  	return rsp.Hashes, nil
  }
docs: // FindTransactions searches for transaction hashes.
  // It allows to search for transactions by passing a query object with addresses, bundle hashes, tags and/or approvees fields.
  // Multiple query fields are supported and FindTransactions returns the intersection of the results.