aries_cloudagent.protocols.present_proof.v2_0.formats.dif package

Submodules

aries_cloudagent.protocols.present_proof.v2_0.formats.dif.handler module

V2.0 present-proof dif presentation-exchange format handler.

class aries_cloudagent.protocols.present_proof.v2_0.formats.dif.handler.DIFPresFormatHandler(profile: aries_cloudagent.core.profile.Profile)[source]

Bases: aries_cloudagent.protocols.present_proof.v2_0.formats.handler.V20PresFormatHandler

DIF presentation format handler.

ISSUE_SIGNATURE_SUITE_KEY_TYPE_MAPPING = {<class 'aries_cloudagent.vc.ld_proofs.suites.ed25519_signature_2018.Ed25519Signature2018'>: <aries_cloudagent.wallet.key_type.KeyType object>}
async create_bound_request(pres_ex_record: aries_cloudagent.protocols.present_proof.v2_0.models.pres_exchange.V20PresExRecord, request_data: Optional[dict] = None) Tuple[aries_cloudagent.protocols.present_proof.v2_0.messages.pres_format.V20PresFormat, aries_cloudagent.messaging.decorators.attach_decorator.AttachDecorator][source]

Create a presentation request bound to a proposal.

Parameters
  • pres_ex_record – Presentation exchange record for which to create presentation request

  • name – name to use in presentation request (None for default)

  • version – version to use in presentation request (None for default)

  • nonce – nonce to use in presentation request (None to generate)

  • comment – Optional human-readable comment pertaining to request creation

Returns

A tuple (updated presentation exchange record, presentation request message)

async create_pres(pres_ex_record: aries_cloudagent.protocols.present_proof.v2_0.models.pres_exchange.V20PresExRecord, request_data: dict = {}) Tuple[aries_cloudagent.protocols.present_proof.v2_0.messages.pres_format.V20PresFormat, aries_cloudagent.messaging.decorators.attach_decorator.AttachDecorator][source]

Create a presentation.

format: aries_cloudagent.protocols.present_proof.v2_0.messages.pres_format.V20PresFormat.Format = FormatSpec(aries='dif/', handler=<aries_cloudagent.utils.classloader.DeferLoad object>)
get_format_data(message_type: str, data: dict) Tuple[aries_cloudagent.protocols.present_proof.v2_0.messages.pres_format.V20PresFormat, aries_cloudagent.messaging.decorators.attach_decorator.AttachDecorator][source]

Get presentation format and attach objects for use in pres_ex messages.

get_format_identifier(message_type: str) str[source]

Get attachment format identifier for format and message combination.

Parameters

message_type (str) – Message type for which to return the format identifier

Returns

Issue credential attachment format identifier

Return type

str

async process_vcrecords_return_list(vc_records: Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord], record_ids: set) Tuple[Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord], set][source]

Return list of non-duplicate VCRecords.

async receive_pres(message: aries_cloudagent.protocols.present_proof.v2_0.messages.pres.V20Pres, pres_ex_record: aries_cloudagent.protocols.present_proof.v2_0.models.pres_exchange.V20PresExRecord)[source]

Receive a presentation, from message in context on manager creation.

async retrieve_uri_list_from_schema_filter(schema_uri_groups: Sequence[Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.SchemaInputDescriptor]]) Sequence[str][source]

Retrieve list of schema uri from uri_group.

classmethod validate_fields(message_type: str, attachment_data: Mapping)[source]

Validate attachment data for a specific message type.

Uses marshmallow schemas to validate if format specific attachment data is valid for the specified message type. Only does structural and type checks, does not validate if .e.g. the issuer value is valid.

Parameters
  • message_type (str) – The message type to validate the attachment data for. Should be one of the message types as defined in message_types.py

  • attachment_data (Mapping) – [description] The attachment data to valide

Raises

Exception – When the data is not valid.

async verify_pres(pres_ex_record: aries_cloudagent.protocols.present_proof.v2_0.models.pres_exchange.V20PresExRecord) aries_cloudagent.protocols.present_proof.v2_0.models.pres_exchange.V20PresExRecord[source]

Verify a presentation.

Parameters

pres_ex_record – presentation exchange record with presentation request and presentation to verify

Returns

presentation exchange record, updated