code: async def create(source_id: str, attrs: dict, cred_def_handle: int, name: str, price: str):
          
          constructor_params = (source_id, attrs, cred_def_handle, name, price)
  
          c_source_id = c_char_p(source_id.encode('utf-8'))
          c_cred_def_handle = c_uint32(cred_def_handle)
          c_price = c_char_p(price.encode('utf-8'))
          # default institution_did in config is used as issuer_did
          c_issuer_did = None
          c_data = c_char_p(json.dumps(attrs).encode('utf-8'))
          c_name = c_char_p(name.encode('utf-8'))
          c_params = (c_source_id, c_cred_def_handle, c_issuer_did, c_data, c_name, c_price)
  
          return await IssuerCredential._create("vcx_issuer_create_credential",
                                                constructor_params,
                                                c_params)
docs: Creates a Class representing an Issuer Credential
              :param source_id: Tag associated by user of sdk
              :param attrs: attributes that will form the credential
              :param cred_def_handle: Handle from previously created credential def object
              :param name: Name given to the Credential
              :param price: Price, in tokens, required as payment for the issuance of the credential.
  
              Example:
              source_id = '1'
              cred_def_handle = 1
              attrs = {'key': 'value', 'key2': 'value2', 'key3': 'value3'}
              name = 'Credential Name'
              issuer_did = '8XFh8yBzrpJQmNyZzgoTqB'
              phone_number = '8019119191'
              price = 1
              issuer_credential = await IssuerCredential.create(source_id, attrs, cred_def_handle, name, price)