code: func (p *MemoryPool) checkUpdate(transactionData []tms.TransactionData) error {
  	for _, td := range transactionData {
  		action := td.Tx.GetPlainAction()
  		if action == nil {
  			return errors.Errorf("check update failed for transaction '%s': missing token action", td.TxID)
  		}
  
  		err := p.checkAction(action, td.TxID)
  		if err != nil {
  			return errors.WithMessage(err, "check update failed")
  		}
  
  		if p.history[td.TxID] != nil {
  			return errors.Errorf("transaction already exists: %s", td.TxID)
  		}
  	}
  
  	return nil
  }
docs: // Check if a proposed update can be committed.