code: func (dg *deliverGroup) ClientWait(dc *deliverClient) {
  	defer dg.wg.Done()
  	for {
  		resp, err := dc.Connection.Recv()
  		if err != nil {
  			err = errors.WithMessage(err, fmt.Sprintf("error receiving from deliver filtered at %s", dc.Address))
  			dg.setError(err)
  			return
  		}
  		switch r := resp.Type.(type) {
  		case *pb.DeliverResponse_FilteredBlock:
  			filteredTransactions := r.FilteredBlock.FilteredTransactions
  			for _, tx := range filteredTransactions {
  				if tx.Txid == dg.TxID {
  					logger.Infof("txid [%s] committed with status (%s) at %s", dg.TxID, tx.TxValidationCode, dc.Address)
  					return
  				}
  			}
  		case *pb.DeliverResponse_Status:
  			err = errors.Errorf("deliver completed with status (%s) before txid received", r.Status)
  			dg.setError(err)
  			return
  		default:
  			err = errors.Errorf("received unexpected response type (%T) from %s", r, dc.Address)
  			dg.setError(err)
  			return
  		}
  	}
  }
docs: // ClientWait waits for the specified deliver client to receive
  // a block event with the requested txid