text: import logging
  
  from typing import List
  
  logger = logging.getLogger(__name__)
  
  
  def construct_zkp(zero_knowledge_proof: List[dict], schema_id: str) -> list:
      if zero_knowledge_proof == [{}]:
          return []
      req_preds = []
      [
          req_preds.append(
              {
                  "name": item["name"],
                  "p_type": item["p_type"],
                  "p_value": item["p_value"],
                  "restrictions": [{"schema_id": schema_id}],
              }
          )
          for item in zero_knowledge_proof
      ]
      return req_preds
  
  
  def construct_indy_proof_request(
      name_proof_request: str, schema_id: str, attr_req, req_preds
  ):
      indy_proof_request = {
          "name": name_proof_request,
          "version": schema_id.split(":")[-1],
          "requested_attributes": {
              f"0_{req_attr['name']}_uuid": req_attr for req_attr in attr_req
          },
          "requested_predicates": {
              f"0_{req_pred['name']}_GE_uuid": req_pred for req_pred in req_preds
          },
      }
      return indy_proof_request
  