code: func (w *Worker) AgentAfterOfferingMsgBCPublish(job *data.Job) error {
  	logger := w.logger.Add("method", "AgentAfterOfferingMsgBCPublish",
  		"job", job)
  	offering, err := w.relatedOffering(logger, job,
  		data.JobAgentAfterOfferingMsgBCPublish)
  	if err != nil {
  		return err
  	}
  
  	ethLog, err := w.ethLog(logger, job)
  	if err != nil {
  		return err
  	}
  
  	logger = logger.Add("ethLog", ethLog)
  
  	offering.Status = data.OfferRegistered
  	offering.BlockNumberUpdated = ethLog.Block
  	if err = w.db.Update(offering); err != nil {
  		logger.Error(err.Error())
  		return ErrInternal
  	}
  
  	agent, err := w.account(logger, offering.Agent)
  	if err != nil {
  		return err
  	}
  
  	return w.addJob(logger, nil,
  		data.JobAccountUpdateBalances, data.JobAccount, agent.ID)
  }
docs: // AgentAfterOfferingMsgBCPublish updates offering status and creates
  // somc publish job.