code: async def build_get_revoc_reg_def_request(submitter_did: Optional[str],
                                            rev_reg_def_id: str) -> str:
      
  
      logger = logging.getLogger(__name__)
      logger.debug("build_get_revoc_reg_def_request: >>> submitter_did: %r, rev_reg_def_id: %r", submitter_did,
                   rev_reg_def_id)
  
      if not hasattr(build_get_revoc_reg_def_request, "cb"):
          logger.debug("build_get_revoc_reg_def_request: Creating callback")
          build_get_revoc_reg_def_request.cb = create_cb(CFUNCTYPE(None, c_int32, c_int32, c_char_p))
  
      c_submitter_did = c_char_p(submitter_did.encode('utf-8')) if submitter_did is not None else None
      c_rev_reg_def_id = c_char_p(rev_reg_def_id.encode('utf-8'))
  
      request_json = await do_call('indy_build_get_revoc_reg_def_request',
                                   c_submitter_did,
                                   c_rev_reg_def_id,
                                   build_get_revoc_reg_def_request.cb)
  
      res = request_json.decode()
      logger.debug("build_get_revoc_reg_def_request: <<< res: %r", res)
      return res
docs: Builds a GET_REVOC_REG_DEF request. Request to get a revocation registry definition,
      that Issuer creates for a particular Credential Definition.
  
      :param submitter_did: (Optional) DID of the read request sender (if not provided then default Libindy DID will be used).
      :param rev_reg_def_id: ID of Revocation Registry Definition in ledger.
  
      :return: Request result as json.