aries_cloudagent.protocols.present_proof.v2_0 package
- aries_cloudagent.protocols.present_proof.v2_0.problem_report_for_record(record: Union[aries_cloudagent.connections.models.conn_record.ConnRecord, aries_cloudagent.protocols.present_proof.v2_0.models.pres_exchange.V20PresExRecord], desc_en: str) aries_cloudagent.protocols.present_proof.v2_0.messages.pres_problem_report.V20PresProblemReport [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.present_proof.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.present_proof.v2_0.models.pres_exchange.V20PresExRecord], 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
- aries_cloudagent.protocols.present_proof.v2_0.formats package
- aries_cloudagent.protocols.present_proof.v2_0.handlers package
- Submodules
- aries_cloudagent.protocols.present_proof.v2_0.handlers.pres_ack_handler module
- aries_cloudagent.protocols.present_proof.v2_0.handlers.pres_handler module
- aries_cloudagent.protocols.present_proof.v2_0.handlers.pres_problem_report_handler module
- aries_cloudagent.protocols.present_proof.v2_0.handlers.pres_proposal_handler module
- aries_cloudagent.protocols.present_proof.v2_0.handlers.pres_request_handler module
- aries_cloudagent.protocols.present_proof.v2_0.messages package
- Submodules
- aries_cloudagent.protocols.present_proof.v2_0.messages.pres module
- aries_cloudagent.protocols.present_proof.v2_0.messages.pres_ack module
- aries_cloudagent.protocols.present_proof.v2_0.messages.pres_format module
- aries_cloudagent.protocols.present_proof.v2_0.messages.pres_problem_report module
- aries_cloudagent.protocols.present_proof.v2_0.messages.pres_proposal module
- aries_cloudagent.protocols.present_proof.v2_0.messages.pres_request module
- aries_cloudagent.protocols.present_proof.v2_0.messages.pres_webhook module
- aries_cloudagent.protocols.present_proof.v2_0.models package
Submodules
aries_cloudagent.protocols.present_proof.v2_0.controller module
Protocol controller for present proof v2_0.
aries_cloudagent.protocols.present_proof.v2_0.manager module
Classes to manage presentations.
- class aries_cloudagent.protocols.present_proof.v2_0.manager.V20PresManager(profile: aries_cloudagent.core.profile.Profile)[source]
Bases:
object
Class for managing presentations.
- async create_bound_request(pres_ex_record: aries_cloudagent.protocols.present_proof.v2_0.models.pres_exchange.V20PresExRecord, request_data: Optional[dict] = None, comment: Optional[str] = None)[source]
Create a presentation request bound to a proposal.
- Parameters
pres_ex_record – Presentation exchange record for which to create presentation request
comment – Optional human-readable comment pertaining to request creation
- Returns
A tuple (updated presentation exchange record, presentation request message)
- async create_exchange_for_proposal(connection_id: str, pres_proposal_message: aries_cloudagent.protocols.present_proof.v2_0.messages.pres_proposal.V20PresProposal, auto_present: Optional[bool] = None)[source]
Create a presentation exchange record for input presentation proposal.
- Parameters
connection_id – connection identifier
pres_proposal_message – presentation proposal to serialize to exchange record
auto_present – whether to present proof upon receiving proof request (default to configuration setting)
- Returns
Presentation exchange record, created
- async create_exchange_for_request(connection_id: str, pres_request_message: aries_cloudagent.protocols.present_proof.v2_0.messages.pres_request.V20PresRequest, auto_verify: Optional[bool] = None)[source]
Create a presentation exchange record for input presentation request.
- Parameters
connection_id – connection identifier
pres_request_message – presentation request to use in creating exchange record, extracting indy proof request and thread id
- Returns
Presentation exchange record, updated
- async create_pres(pres_ex_record: aries_cloudagent.protocols.present_proof.v2_0.models.pres_exchange.V20PresExRecord, request_data: dict = {}, *, comment: Optional[str] = None) Tuple[aries_cloudagent.protocols.present_proof.v2_0.models.pres_exchange.V20PresExRecord, aries_cloudagent.protocols.present_proof.v2_0.messages.pres.V20Pres] [source]
Create a presentation.
- Parameters
pres_ex_record – record to update
requested_credentials – indy formatted requested_credentials
comment – optional human-readable comment
format – presentation format
Example requested_credentials format, mapping proof request referents (uuid) to wallet referents (cred id):
{ "self_attested_attributes": { "j233ffbc-bd35-49b1-934f-51e083106f6d": "value" }, "requested_attributes": { "6253ffbb-bd35-49b3-934f-46e083106f6c": { "cred_id": "5bfa40b7-062b-4ae0-a251-a86c87922c0e", "revealed": true } }, "requested_predicates": { "bfc8a97d-60d3-4f21-b998-85eeabe5c8c0": { "cred_id": "5bfa40b7-062b-4ae0-a251-a86c87922c0e" } } }
- Returns
A tuple (updated presentation exchange record, presentation message)
- async receive_pres(message: aries_cloudagent.protocols.present_proof.v2_0.messages.pres.V20Pres, 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])[source]
Receive a presentation, from message in context on manager creation.
- Returns
presentation exchange record, retrieved and updated
- async receive_pres_ack(message: aries_cloudagent.protocols.present_proof.v2_0.messages.pres_ack.V20PresAck, conn_record: aries_cloudagent.connections.models.conn_record.ConnRecord)[source]
Receive a presentation ack, from message in context on manager creation.
- Returns
presentation exchange record, retrieved and updated
- async receive_pres_proposal(message: aries_cloudagent.protocols.present_proof.v2_0.messages.pres_proposal.V20PresProposal, conn_record: aries_cloudagent.connections.models.conn_record.ConnRecord)[source]
Receive a presentation proposal from message in context on manager creation.
- Returns
Presentation exchange record, created
- async receive_pres_request(pres_ex_record: aries_cloudagent.protocols.present_proof.v2_0.models.pres_exchange.V20PresExRecord)[source]
Receive a presentation request.
- Parameters
pres_ex_record – presentation exchange record with request to receive
- Returns
The presentation exchange record, updated
- async receive_problem_report(message: aries_cloudagent.protocols.present_proof.v2_0.messages.pres_problem_report.V20PresProblemReport, connection_id: str)[source]
Receive problem report.
- Returns
presentation exchange record, retrieved and updated
- async send_pres_ack(pres_ex_record: aries_cloudagent.protocols.present_proof.v2_0.models.pres_exchange.V20PresExRecord, responder: Optional[aries_cloudagent.messaging.responder.BaseResponder] = None)[source]
Send acknowledgement of presentation receipt.
- Parameters
pres_ex_record – presentation exchange record with thread id
- async verify_pres(pres_ex_record: aries_cloudagent.protocols.present_proof.v2_0.models.pres_exchange.V20PresExRecord, responder: Optional[aries_cloudagent.messaging.responder.BaseResponder] = None)[source]
Verify a presentation.
- Parameters
pres_ex_record – presentation exchange record with presentation request and presentation to verify
- Returns
presentation exchange record, updated
- exception aries_cloudagent.protocols.present_proof.v2_0.manager.V20PresManagerError(*args, error_code: Optional[str] = None, **kwargs)[source]
Bases:
aries_cloudagent.core.error.BaseError
Presentation error.
aries_cloudagent.protocols.present_proof.v2_0.message_types module
Message and inner object type identifiers for present-proof protocol v2.0.
aries_cloudagent.protocols.present_proof.v2_0.routes module
Admin routes for presentations.
- class aries_cloudagent.protocols.present_proof.v2_0.routes.V20CredentialsFetchQueryStringSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Parameters and validators for credentials fetch request query string.
- count
- extra_query
- referent
- start
- class aries_cloudagent.protocols.present_proof.v2_0.routes.V20PresCreateRequestRequestSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Request schema for creating a proof request free of any connection.
- auto_verify
- comment
- presentation_request
- trace
- class aries_cloudagent.protocols.present_proof.v2_0.routes.V20PresExIdMatchInfoSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Path parameters for request taking presentation exchange id.
- pres_ex_id
- class aries_cloudagent.protocols.present_proof.v2_0.routes.V20PresExRecordListQueryStringSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Parameters and validators for presentation exchange list query.
- connection_id
- role
- state
- thread_id
- class aries_cloudagent.protocols.present_proof.v2_0.routes.V20PresExRecordListSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Result schema for a presentation exchange query.
- results
- class aries_cloudagent.protocols.present_proof.v2_0.routes.V20PresProblemReportRequestSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Request schema for sending problem report.
- description
- class aries_cloudagent.protocols.present_proof.v2_0.routes.V20PresProposalByFormatSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Schema for presentation proposal per format.
- dif
- indy
- validate_fields(data, **kwargs)
Validate schema fields: data must have at least one format.
- Parameters
data – The data to validate
- Raises
ValidationError – if data has no formats
- class aries_cloudagent.protocols.present_proof.v2_0.routes.V20PresProposalRequestSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Request schema for sending a presentation proposal admin message.
- auto_present
- comment
- connection_id
- presentation_proposal
- trace
- class aries_cloudagent.protocols.present_proof.v2_0.routes.V20PresRequestByFormatSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Presentation request per format.
- dif
- indy
- validate_fields(data, **kwargs)
Validate schema fields: data must have at least one format.
- Parameters
data – The data to validate
- Raises
ValidationError – if data has no formats
- class aries_cloudagent.protocols.present_proof.v2_0.routes.V20PresSendRequestRequestSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Request schema for sending a proof request on a connection.
- connection_id
- class aries_cloudagent.protocols.present_proof.v2_0.routes.V20PresSpecByFormatRequestSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Presentation specification schema by format, for send-presentation request.
- dif
- indy
- validate_fields(data, **kwargs)
Validate schema fields: specify exactly one format.
- Parameters
data – The data to validate
- Raises
ValidationError – if data does not have exactly one format.
- class aries_cloudagent.protocols.present_proof.v2_0.routes.V20PresentProofModuleResponseSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Response schema for Present Proof Module.
- class aries_cloudagent.protocols.present_proof.v2_0.routes.V20PresentationSendRequestToProposalSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Request schema for sending a proof request bound to a proposal.
- auto_verify
- trace
- aries_cloudagent.protocols.present_proof.v2_0.routes.post_process_routes(app: aiohttp.web.Application)[source]
Amend swagger API.
- async aries_cloudagent.protocols.present_proof.v2_0.routes.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 aries_cloudagent.protocols.present_proof.v2_0.routes.register(app: aiohttp.web.Application)[source]
Register routes.
- async aries_cloudagent.protocols.present_proof.v2_0.routes.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.