aries_cloudagent.protocols.issue_credential.v2_0 package

aries_cloudagent.protocols.issue_credential.v2_0.problem_report_for_record(record: Union[aries_cloudagent.connections.models.conn_record.ConnRecord, aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord], desc_en: str) → aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_problem_report.V20CredProblemReport[source]

Create problem report for record.

Parameters:
  • record – connection or exchange record
  • desc_en – description text to include in problem report
aries_cloudagent.protocols.issue_credential.v2_0.report_problem(err: aries_cloudagent.core.error.BaseError, desc_en: str, http_error_class, record: Union[aries_cloudagent.connections.models.conn_record.ConnRecord, aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord], outbound_handler: Coroutine[T_co, T_contra, V_co])[source]

Send problem report response and raise corresponding HTTP error.

Parameters:
  • err – error for internal diagnostics
  • desc_en – description text to include in problem report (response)
  • http_error_class – HTTP error to raise
  • record – record to cite by thread in problem report
  • outbound_handler – outbound message handler

Subpackages

Submodules

aries_cloudagent.protocols.issue_credential.v2_0.manager module

V2.0 issue-credential protocol manager.

class aries_cloudagent.protocols.issue_credential.v2_0.manager.V20CredManager(profile: aries_cloudagent.core.profile.Profile)[source]

Bases: object

Class for managing credentials.

create_offer(cred_ex_record: aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, counter_proposal: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_proposal.V20CredProposal = None, replacement_id: str = None, comment: str = None) → Tuple[aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_offer.V20CredOffer][source]

Create credential offer, update credential exchange record.

Parameters:
  • cred_ex_record – credential exchange record for which to create offer
  • replacement_id – identifier to help coordinate credential replacement
  • comment – optional human-readable comment to set in offer message
Returns:

A tuple (credential exchange record, credential offer message)

create_proposal(connection_id: str, *, auto_remove: bool = None, comment: str = None, cred_preview: aries_cloudagent.protocols.issue_credential.v2_0.messages.inner.cred_preview.V20CredPreview, fmt2filter: Mapping[aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_format.V20CredFormat.Format, Mapping[str, str]], trace: bool = False) → aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord[source]

Create a credential proposal.

Parameters:
  • connection_id – connection for which to create proposal
  • auto_remove – whether to remove record automatically on completion
  • comment – optional human-readable comment to include in proposal
  • cred_preview – credential preview to use to create credential proposal
  • fmt2filter – mapping between format and filter
  • trace – whether to trace the operation
Returns:

Resulting credential exchange record including credential proposal

create_request(cred_ex_record: aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, holder_did: str, comment: str = None) → Tuple[aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_request.V20CredRequest][source]

Create a credential request.

Parameters:
  • cred_ex_record – credential exchange record for which to create request
  • holder_did – holder DID
  • comment – optional human-readable comment to set in request message
Returns:

A tuple (credential exchange record, credential request message)

delete_cred_ex_record(cred_ex_id: str) → None[source]

Delete credential exchange record and associated detail records.

issue_credential(cred_ex_record: aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, *, comment: str = None) → Tuple[aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_issue.V20CredIssue][source]

Issue a credential.

Parameters:
  • cred_ex_record – credential exchange record for which to issue credential
  • comment – optional human-readable comment pertaining to credential issue
Returns:

(Updated credential exchange record, credential issue message)

Return type:

Tuple

prepare_send(connection_id: str, cred_proposal: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_proposal.V20CredProposal, auto_remove: bool = None) → Tuple[aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_offer.V20CredOffer][source]

Set up a new credential exchange record for an automated send.

Parameters:
  • connection_id – connection for which to create offer
  • cred_proposal – credential proposal with preview
  • auto_remove – flag to remove the record automatically on completion
Returns:

A tuple of the new credential exchange record and credential offer message

profile

Accessor for the current profile instance.

Returns:The profile instance for this credential manager
receive_credential(cred_issue_message: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_issue.V20CredIssue, connection_id: str) → aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord[source]

Receive a credential issue message from an issuer.

Hold cred in storage potentially to be processed by controller before storing.

Returns:Credential exchange record, retrieved and updated
receive_credential_ack(cred_ack_message: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_ack.V20CredAck, connection_id: str) → aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord[source]

Receive credential ack from holder.

Parameters:
  • cred_ack_message – credential ack message to receive
  • connection_id – connection identifier
Returns:

credential exchange record, retrieved and updated

receive_offer(cred_offer_message: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_offer.V20CredOffer, connection_id: str) → aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord[source]

Receive a credential offer.

Parameters:
  • cred_offer_message – credential offer message
  • connection_id – connection identifier
Returns:

The credential exchange record, updated

receive_problem_report(message: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_problem_report.V20CredProblemReport, connection_id: str)[source]

Receive problem report.

Returns:credential exchange record, retrieved and updated
receive_proposal(cred_proposal_message: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_proposal.V20CredProposal, connection_id: str) → aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord[source]

Receive a credential proposal.

Returns:The resulting credential exchange record, created
receive_request(cred_request_message: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_request.V20CredRequest, connection_id: str) → aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord[source]

Receive a credential request.

Parameters:
  • cred_request_message – credential request to receive
  • connection_id – connection identifier
Returns:

credential exchange record, updated

send_cred_ack(cred_ex_record: aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord)[source]

Create, send, and return ack message for input cred ex record.

Delete cred ex record if set to auto-remove.

Returns:cred ex record, cred ack message for tracing
Return type:Tuple
store_credential(cred_ex_record: aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, cred_id: str = None) → Tuple[aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_ack.V20CredAck][source]

Store a credential in holder wallet; send ack to issuer.

Parameters:
  • cred_ex_record – credential exchange record with credential to store and ack
  • cred_id – optional credential identifier to override default on storage
Returns:

Updated credential exchange record

exception aries_cloudagent.protocols.issue_credential.v2_0.manager.V20CredManagerError(*args, error_code: str = None, **kwargs)[source]

Bases: aries_cloudagent.core.error.BaseError

Credential manager error under issue-credential protocol v2.0.

aries_cloudagent.protocols.issue_credential.v2_0.message_types module

Message and inner object type identifiers for Connections.

aries_cloudagent.protocols.issue_credential.v2_0.routes module