docs: async def generate_proof(self, selected_creds: dict, self_attested_attrs: dict):
          """
          Generates the proof
          Example:
          msg_id = '1'
          phone_number = '8019119191'
          connection = await Connection.create(source_id)
          await connection.connect(phone_number)
          disclosed_proof = await DisclosedProof.create_with_msgid(source_id, connection, msg_id)
          await disclosed_proof.generate_proof({}, {})
          :param selected_creds: Credentials issued
          :param self_attested_attrs: Self Attested Attributes
          :return: None
          """
          if not hasattr(DisclosedProof.generate_proof, "cb"):
              self.logger.debug("vcx_disclosed_proof_generate_proof: Creating callback")
              DisclosedProof.generate_proof.cb = create_cb(CFUNCTYPE(None, c_uint32, c_uint32))
  
          c_disclosed_proof_handle = c_uint32(self.handle)
          c_selected_creds = c_char_p(json.dumps(selected_creds).encode('utf-8'))
          c_self_attested_attrs = c_char_p(json.dumps(self_attested_attrs).encode('utf-8'))
  
          await do_call('vcx_disclosed_proof_generate_proof',
                        c_disclosed_proof_handle,
                        c_selected_creds,
                        c_self_attested_attrs,
                        DisclosedProof.generate_proof.cb)