code: async def prover_fetch_credentials(search_handle: int,
                                     count: int) -> str:
      
  
      logger = logging.getLogger(__name__)
      logger.debug("prover_fetch_credentials: >>> search_handle: %r, count: %r",
                   search_handle,
                   count)
  
      if not hasattr(prover_fetch_credentials, "cb"):
          logger.debug("prover_fetch_credentials: Creating callback")
          prover_fetch_credentials.cb = create_cb(CFUNCTYPE(None, c_int32, c_int32, c_char_p))
  
      c_search_handle = c_int32(search_handle)
      c_count = c_uint(count)
  
      credentials_json = await do_call('indy_prover_fetch_credentials',
                                       c_search_handle,
                                       c_count,
                                       prover_fetch_credentials.cb)
  
      res = credentials_json.decode()
      logger.debug("prover_fetch_credentials: <<< res: %r", res)
      return res
docs: Fetch next credentials for search.
  
      :param search_handle: Search handle (created by prover_open_credentials_search)
      :param count: Count of records to fetch
      :return: credentials_json: List of credentials:
      [{
          "referent": string, // cred_id in the wallet
          "attrs": {"key1":"raw_value1", "key2":"raw_value2"},
          "schema_id": string,
          "cred_def_id": string,
          "rev_reg_id": Optional<string>,
          "cred_rev_id": Optional<string>
      }]
      NOTE: The list of length less than the requested count means credentials search iterator is completed.