docs: def send(ezo, name, method, data, target):
          '''
          runs a transaction on a contract method
          :param ezo:  ezo instance
          :param name:  name of the Contract
          :param method:  name of the contract method
          :param data: formatted data to send to the contract method
          :return:
          '''
  
          # load the contract by name
          c, err = Contract.get(name, ezo)
          if err:
              return None, err
  
          address, err = Contract.get_address(name, c.hash, ezo.db, target)
          if err:
              return None, err
  
          d = dict()
          d["address"] = address
          d["function"] = method
          d["params"] = c.paramsForMethod(method, data)
          d["target"] = target
  
  
          resp, err = c.response(d)
          if err:
              return None, err
  
          return resp, None