code: func (h *Handler) TopUpChannel(
  	tkn, channel string, deposit, gasPrice uint64) error {
  	logger := h.logger.Add("method", "TopUpChannel",
  		"channel", channel, "deposit", deposit, "gasPrice", gasPrice)
  
  	if !h.token.Check(tkn) {
  		logger.Warn("access denied")
  		return ErrAccessDenied
  	}
  
  	ch := &data.Channel{}
  	if err := h.findByPrimaryKey(logger,
  		ErrChannelNotFound, ch, channel); err != nil {
  		return err
  	}
  
  	jobData, err := h.topUpChannelJobData(logger, deposit, gasPrice)
  	if err != nil {
  		return err
  	}
  
  	return job.AddWithData(h.queue, nil, data.JobClientPreChannelTopUp,
  		data.JobChannel, ch.ID, data.JobUser, jobData)
  }
docs: // TopUpChannel initiates JobClientPreChannelTopUp job.