async def store_cred(self, cred_json: str, cred_req_metadata_json) -> str:
LOGGER.debug(<EOL>'<STR_LIT>',<EOL>cred_json,<EOL>cred_req_metadata_json)<EOL>cred = json.loads(cred_json)<EOL>cred_def_json = await self.get_cred_def(cred['<STR_LIT>'])<EOL>rr_id = cred['<STR_LIT>']<EOL>rrdef_json = None<EOL>if rr_id:<EOL><INDENT>await self._sync_revoc(rr_id)<EOL>rrdef_json = await self._get_rev_reg_def(rr_id)<EOL><DEDENT>rv = await anoncreds.prover_store_credential(<EOL>self.wallet.handle,<EOL>None,  <EOL>cred_req_metadata_json,<EOL>cred_json,<EOL>cred_def_json,<EOL>rrdef_json)<EOL>LOGGER.debug('<STR_LIT>', rv)<EOL>return rv<EOL>
Store cred in wallet as HolderProver, return its credential identifier as created in wallet.

Raise AbsentTails if tails file not available for revocation registry for input credential.

:param cred_json: credential json as HolderProver created
:param cred_req_metadata_json: credential request metadata as HolderProver created via create_cred_req()
:return: credential identifier within wallet