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

async 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)[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.controller module

Protocol controller for issue credential v2_0.

class aries_cloudagent.protocols.issue_credential.v2_0.controller.Controller(protocol: str)[source]

Bases: object

Issue credential v2_0 protocol controller.

determine_goal_codes() Sequence[str][source]

Return defined goal_codes.

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.

async create_offer(cred_ex_record: aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, counter_proposal: Optional[aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_proposal.V20CredProposal] = None, replacement_id: Optional[str] = None, comment: Optional[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)

async create_proposal(connection_id: str, *, auto_remove: Optional[bool] = None, comment: Optional[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

async create_request(cred_ex_record: aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, holder_did: str, comment: Optional[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)

async delete_cred_ex_record(cred_ex_id: str) None[source]

Delete credential exchange record and associated detail records.

async issue_credential(cred_ex_record: aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, *, comment: Optional[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

async prepare_send(connection_id: str, cred_proposal: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_proposal.V20CredProposal, verification_method: Optional[str] = None, auto_remove: Optional[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

  • verification_method – an optional verification method to be used when issuing

  • auto_remove – flag to remove the record automatically on completion

Returns

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

property profile: aries_cloudagent.core.profile.Profile

Accessor for the current profile instance.

Returns

The profile instance for this credential manager

async receive_credential(cred_issue_message: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_issue.V20CredIssue, connection_id: Optional[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

async receive_credential_ack(cred_ack_message: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_ack.V20CredAck, connection_id: Optional[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

async receive_offer(cred_offer_message: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_offer.V20CredOffer, connection_id: Optional[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

async 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

async 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

async receive_request(cred_request_message: aries_cloudagent.protocols.issue_credential.v2_0.messages.cred_request.V20CredRequest, connection_record: Optional[aries_cloudagent.connections.models.conn_record.ConnRecord], oob_record: Optional[aries_cloudagent.protocols.out_of_band.v1_0.models.oob_record.OobRecord]) 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

async 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

async store_credential(cred_ex_record: aries_cloudagent.protocols.issue_credential.v2_0.models.cred_ex_record.V20CredExRecord, cred_id: Optional[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: Optional[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

Credential exchange admin routes.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredBoundOfferRequestSchema(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Request schema for sending bound credential offer admin message.

counter_preview
filter_
validate_fields(data, **kwargs)

Validate schema fields: need both filter and counter_preview or neither.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredExFreeSchema(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Request schema for sending credential admin message.

connection_id
verification_method
class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredExIdMatchInfoSchema(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Path parameters and validators for request taking credential exchange id.

cred_ex_id
class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredExRecordDetailSchema(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Credential exchange record and any per-format details.

cred_ex_record
indy
ld_proof
class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredExRecordListQueryStringSchema(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Parameters and validators for credential exchange record list query.

connection_id
role
state
thread_id
class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredExRecordListResultSchema(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Result schema for credential exchange record list query.

results
class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredFilterIndySchema(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Indy credential filtration criteria.

cred_def_id
issuer_did
schema_id
schema_issuer_did
schema_name
schema_version
class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredFilterLDProofSchema(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Credential filtration criteria.

ld_proof
class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredFilterSchema(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Credential filtration criteria.

indy
ld_proof
validate_fields(data, **kwargs)

Validate schema fields.

Data must have indy, ld_proof, or both.

Parameters

data – The data to validate

Raises

ValidationError – if data has neither indy nor ld_proof

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredIdMatchInfoSchema(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Path parameters and validators for request taking credential id.

credential_id
class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredIssueProblemReportRequestSchema(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Request schema for sending problem report.

description
class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredIssueRequestSchema(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Request schema for sending credential issue admin message.

comment
class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredOfferConnFreeRequestSchema(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Request schema for creating credential offer free from connection.

auto_issue
class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredOfferRequestSchema(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Request schema for sending credential offer admin message.

auto_issue
connection_id
class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredRequestFreeSchema(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Filter, auto-remove, comment, trace.

auto_remove
comment
connection_id
filter_
holder_did
trace
class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredRequestRequestSchema(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Request schema for sending credential request message.

holder_did
class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20CredStoreRequestSchema(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Request schema for sending a credential store admin message.

credential_id
class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20IssueCredSchemaCore(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Filter, auto-remove, comment, trace.

auto_remove
comment
credential_preview
filter_
validate(data, **kwargs)

Make sure preview is present when indy format is present.

class aries_cloudagent.protocols.issue_credential.v2_0.routes.V20IssueCredentialModuleResponseSchema(*args: Any, **kwargs: Any)[source]

Bases: marshmallow.

Response schema for v2.0 Issue Credential Module.

aries_cloudagent.protocols.issue_credential.v2_0.routes.post_process_routes(app: aiohttp.web.Application)[source]

Amend swagger API.

async aries_cloudagent.protocols.issue_credential.v2_0.routes.register(app: aiohttp.web.Application)[source]

Register routes.