code: def create_agreement(self, agreement_id, did, condition_types, condition_ids, time_locks,
                           time_outs):
          
  
          tx_hash = self.contract_concise.createAgreement(
              agreement_id,
              did,
              condition_types,
              condition_ids,
              time_locks,
              time_outs,
          )
          receipt = self.get_tx_receipt(tx_hash)
          return receipt and receipt.status == 1
docs: Create a new agreement.
          The agreement will create conditions of conditionType with conditionId.
          Only "approved" templates can access this function.
          :param agreement_id:id of the agreement, hex str
          :param did: DID of the asset. The DID must be registered beforehand, bytes32
          :param condition_types: is a list of addresses that point to Condition contracts,
                                  list(address)
          :param condition_ids: is a list of bytes32 content-addressed Condition IDs, bytes32
          :param time_locks: is a list of uint time lock values associated to each Condition, int
          :param time_outs: is a list of uint time out values associated to each Condition, int
          :return: bool