aries_cloudagent.protocols.present_proof.dif package¶
Submodules¶
aries_cloudagent.protocols.present_proof.dif.pres_exch module¶
Schemas for dif presentation exchange attachment.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
ClaimFormat
(*, jwt: Mapping = None, jwt_vc: Mapping = None, jwt_vp: Mapping = None, ldp: Mapping = None, ldp_vc: Mapping = None, ldp_vp: Mapping = None)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModel
Defines Claim field.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
ClaimFormatSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchema
Single ClaimFormat Schema.
-
class
Meta
[source]¶ Bases:
object
ClaimFormatSchema metadata.
-
model_class
¶ alias of
ClaimFormat
-
unknown
¶ Used by autodoc_mock_imports.
-
-
jwt
¶ Used by autodoc_mock_imports.
-
jwt_vc
¶ Used by autodoc_mock_imports.
-
jwt_vp
¶ Used by autodoc_mock_imports.
-
ldp
¶ Used by autodoc_mock_imports.
-
ldp_vc
¶ Used by autodoc_mock_imports.
-
ldp_vp
¶ Used by autodoc_mock_imports.
-
class
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
Constraints
(*, subject_issuer: str = None, limit_disclosure: bool = None, holders: Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFHolder] = None, _fields: Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFField] = None, status_active: str = None, status_suspended: str = None, status_revoked: str = None)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single Constraints which describes InputDescriptor’s Contraint field.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
ConstraintsSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchema
Single Constraints Schema.
-
class
Meta
[source]¶ Bases:
object
ConstraintsSchema metadata.
-
model_class
¶ alias of
Constraints
-
unknown
¶ Used by autodoc_mock_imports.
-
-
holders
¶ Used by autodoc_mock_imports.
-
limit_disclosure
¶ Used by autodoc_mock_imports.
-
status_active
¶ Used by autodoc_mock_imports.
-
status_revoked
¶ Used by autodoc_mock_imports.
-
status_suspended
¶ Used by autodoc_mock_imports.
-
subject_issuer
¶ Used by autodoc_mock_imports.
-
class
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
DIFField
(*, id: str = None, paths: Sequence[str] = None, purpose: str = None, predicate: str = None, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter = None)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single Field object for the Constraint.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
DIFFieldSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchema
Single Field Schema.
-
id
¶ Used by autodoc_mock_imports.
-
paths
¶ Used by autodoc_mock_imports.
-
predicate
¶ Used by autodoc_mock_imports.
-
purpose
¶ Used by autodoc_mock_imports.
-
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
DIFHolder
(*, field_ids: Sequence[str] = None, directive: str = None)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single Holder object for Constraints.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
DIFHolderSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchema
Single Holder Schema.
-
directive
¶ Used by autodoc_mock_imports.
-
field_ids
¶ Used by autodoc_mock_imports.
-
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
DIFOptions
(*, challenge: str = None, domain: str = None)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single DIFOptions object.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
DIFOptionsSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchema
Schema for options required for the Prover to fulfill the Verifier’s request.
-
class
Meta
[source]¶ Bases:
object
DIFOptionsSchema metadata.
-
model_class
¶ alias of
DIFOptions
-
unknown
¶ Used by autodoc_mock_imports.
-
-
challenge
¶ Used by autodoc_mock_imports.
-
domain
¶ Used by autodoc_mock_imports.
-
class
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
Filter
(*, _not: bool = False, _type: str = None, fmt: str = None, pattern: str = None, minimum: str = None, maximum: str = None, min_length: int = None, max_length: int = None, exclusive_min: str = None, exclusive_max: str = None, const: str = None, enums: Sequence[str] = None)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single Filter for the Constraint object.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
FilterSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchema
Single Filter Schema.
-
const
¶ String or Number field for Marshmallow.
-
enums
¶ Used by autodoc_mock_imports.
-
exclusive_max
¶ String or Number field for Marshmallow.
-
exclusive_min
¶ String or Number field for Marshmallow.
-
fmt
¶ Used by autodoc_mock_imports.
-
max_length
¶ Used by autodoc_mock_imports.
-
maximum
¶ String or Number field for Marshmallow.
-
min_length
¶ Used by autodoc_mock_imports.
-
minimum
¶ String or Number field for Marshmallow.
-
pattern
¶ Used by autodoc_mock_imports.
-
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
InputDescriptorMapping
(*, id: str = None, fmt: str = None, path: str = None)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single InputDescriptorMapping object.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
InputDescriptorMappingSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchema
Single InputDescriptorMapping Schema.
-
class
Meta
[source]¶ Bases:
object
InputDescriptorMappingSchema metadata.
-
model_class
¶ alias of
InputDescriptorMapping
-
unknown
¶ Used by autodoc_mock_imports.
-
-
fmt
¶ Used by autodoc_mock_imports.
-
id
¶ Used by autodoc_mock_imports.
-
path
¶ Used by autodoc_mock_imports.
-
class
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
InputDescriptors
(*, id: str = None, groups: Sequence[str] = None, name: str = None, purpose: str = None, metadata: dict = None, constraint: aries_cloudagent.protocols.present_proof.dif.pres_exch.Constraints = None, schemas: aries_cloudagent.protocols.present_proof.dif.pres_exch.SchemasInputDescriptorFilter = None)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModel
Input Descriptors.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
InputDescriptorsSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchema
Single InputDescriptors Schema.
-
class
Meta
[source]¶ Bases:
object
InputDescriptorsSchema metadata.
-
model_class
¶ alias of
InputDescriptors
-
unknown
¶ Used by autodoc_mock_imports.
-
-
constraint
¶ Used by autodoc_mock_imports.
-
groups
¶ Used by autodoc_mock_imports.
-
id
¶ Used by autodoc_mock_imports.
-
metadata
¶ Used by autodoc_mock_imports.
-
name
¶ Used by autodoc_mock_imports.
-
purpose
¶ Used by autodoc_mock_imports.
-
schemas
¶ Used by autodoc_mock_imports.
-
class
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
PresentationDefinition
(*, id: str = None, name: str = None, purpose: str = None, fmt: aries_cloudagent.protocols.present_proof.dif.pres_exch.ClaimFormat = None, submission_requirements: Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.SubmissionRequirements] = None, input_descriptors: Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.InputDescriptors] = None, **kwargs)[source]¶
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
PresentationDefinitionSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchema
Single Presentation Definition Schema.
-
class
Meta
[source]¶ Bases:
object
PresentationDefinitionSchema metadata.
-
model_class
¶ alias of
PresentationDefinition
-
unknown
¶ Used by autodoc_mock_imports.
-
-
fmt
¶ Used by autodoc_mock_imports.
-
id
¶ Used by autodoc_mock_imports.
-
input_descriptors
¶ Used by autodoc_mock_imports.
-
name
¶ Used by autodoc_mock_imports.
-
purpose
¶ Used by autodoc_mock_imports.
-
submission_requirements
¶ Used by autodoc_mock_imports.
-
class
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
PresentationSubmission
(*, id: str = None, definition_id: str = None, descriptor_maps: Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.InputDescriptorMapping] = None)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single PresentationSubmission object.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
PresentationSubmissionSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchema
Single PresentationSubmission Schema.
-
class
Meta
[source]¶ Bases:
object
PresentationSubmissionSchema metadata.
-
model_class
¶ alias of
PresentationSubmission
-
unknown
¶ Used by autodoc_mock_imports.
-
-
definition_id
¶ Used by autodoc_mock_imports.
-
descriptor_maps
¶ Used by autodoc_mock_imports.
-
id
¶ Used by autodoc_mock_imports.
-
class
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
Requirement
(*, count: int = None, maximum: int = None, minimum: int = None, input_descriptors: Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.InputDescriptors] = None, nested_req: Sequence = None)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single Requirement generated from toRequirement function.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
RequirementSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchema
Single Requirement Schema.
-
class
Meta
[source]¶ Bases:
object
RequirementSchema metadata.
-
model_class
¶ alias of
Requirement
-
unknown
¶ Used by autodoc_mock_imports.
-
-
count
¶ Used by autodoc_mock_imports.
-
input_descriptors
¶ Used by autodoc_mock_imports.
-
maximum
¶ Used by autodoc_mock_imports.
-
minimum
¶ Used by autodoc_mock_imports.
-
nested_req
()¶
-
class
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
SchemaInputDescriptor
(*, uri: str = None, required: bool = None)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModel
SchemaInputDescriptor.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
SchemaInputDescriptorSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchema
Single SchemaField Schema.
-
class
Meta
[source]¶ Bases:
object
SchemaInputDescriptorSchema metadata.
-
model_class
¶ alias of
SchemaInputDescriptor
-
unknown
¶ Used by autodoc_mock_imports.
-
-
required
¶ Used by autodoc_mock_imports.
-
uri
¶ Used by autodoc_mock_imports.
-
class
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
SchemasInputDescriptorFilter
(*, oneof_filter: bool = False, uri_groups: Sequence[Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.SchemaInputDescriptor]] = None)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModel
SchemasInputDescriptorFilter.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
SchemasInputDescriptorFilterSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchema
Single SchemasInputDescriptorFilterSchema Schema.
-
class
Meta
[source]¶ Bases:
object
SchemasInputDescriptorFilterSchema metadata.
-
model_class
¶ alias of
SchemasInputDescriptorFilter
-
unknown
¶ Used by autodoc_mock_imports.
-
-
oneof_filter
¶ Used by autodoc_mock_imports.
-
uri_groups
¶ Used by autodoc_mock_imports.
-
class
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
SubmissionRequirements
(*, _name: str = None, purpose: str = None, rule: str = None, count: int = None, minimum: int = None, maximum: int = None, _from: str = None, from_nested: Sequence = None)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModel
describes input to be submitted via a presentation submission.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
SubmissionRequirementsSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchema
Single Presentation Definition Schema.
-
class
Meta
[source]¶ Bases:
object
SubmissionRequirementsSchema metadata.
-
model_class
¶ alias of
SubmissionRequirements
-
unknown
¶ Used by autodoc_mock_imports.
-
-
count
¶ Used by autodoc_mock_imports.
-
from_nested
()¶
-
maximum
¶ Used by autodoc_mock_imports.
-
minimum
¶ Used by autodoc_mock_imports.
-
purpose
¶ Used by autodoc_mock_imports.
-
rule
¶ Used by autodoc_mock_imports.
-
class
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
VerifiablePresentation
(*, id: str = None, contexts: Sequence[Union[str, dict]] = None, types: Sequence[str] = None, credentials: Sequence[dict] = None, proof: Sequence[dict] = None, presentation_submission: aries_cloudagent.protocols.present_proof.dif.pres_exch.PresentationSubmission = None)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single VerifiablePresentation object.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch.
VerifiablePresentationSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchema
Single Verifiable Presentation Schema.
-
class
Meta
[source]¶ Bases:
object
VerifiablePresentationSchema metadata.
-
model_class
¶ alias of
VerifiablePresentation
-
unknown
¶ Used by autodoc_mock_imports.
-
-
contexts
¶ Used by autodoc_mock_imports.
-
credentials
¶ Used by autodoc_mock_imports.
-
id
¶ Used by autodoc_mock_imports.
-
presentation_submission
¶ Used by autodoc_mock_imports.
-
proof
¶ Used by autodoc_mock_imports.
-
types
¶ Used by autodoc_mock_imports.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch_handler module¶
Utilities for dif presentation exchange attachment.
General Flow: create_vp -> make_requirement [create a Requirement from SubmissionRequirements and Descriptors] -> apply_requirement [filter credentials] -> merge [return applicable credential list and descriptor_map for presentation_submission] returns VerifiablePresentation
-
exception
aries_cloudagent.protocols.present_proof.dif.pres_exch_handler.
DIFPresExchError
(*args, error_code: str = None, **kwargs)[source]¶ Bases:
aries_cloudagent.core.error.BaseError
Base class for DIF Presentation Exchange related errors.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_exch_handler.
DIFPresExchHandler
(profile: aries_cloudagent.core.profile.Profile, pres_signing_did: str = None, proof_type: str = None, reveal_doc: dict = None)[source]¶ Bases:
object
Base Presentation Exchange Handler.
-
DERIVED_PROOF_TYPE_SIGNATURE_SUITE_MAPPING
= {'BbsBlsSignatureProof2020': <class 'aries_cloudagent.vc.ld_proofs.suites.bbs_bls_signature_proof_2020.BbsBlsSignatureProof2020'>}¶
-
DERIVE_SIGNATURE_SUITE_KEY_TYPE_MAPPING
= {<class 'aries_cloudagent.vc.ld_proofs.suites.bbs_bls_signature_proof_2020.BbsBlsSignatureProof2020'>: <aries_cloudagent.wallet.key_type.KeyType object>}¶
-
ISSUE_SIGNATURE_SUITE_KEY_TYPE_MAPPING
= {<class 'aries_cloudagent.vc.ld_proofs.suites.ed25519_signature_2018.Ed25519Signature2018'>: <aries_cloudagent.wallet.key_type.KeyType object>, <class 'aries_cloudagent.vc.ld_proofs.suites.ed25519_signature_2020.Ed25519Signature2020'>: <aries_cloudagent.wallet.key_type.KeyType object>}¶
-
PROOF_TYPE_SIGNATURE_SUITE_MAPPING
= {'Ed25519Signature2018': <class 'aries_cloudagent.vc.ld_proofs.suites.ed25519_signature_2018.Ed25519Signature2018'>, 'Ed25519Signature2020': <class 'aries_cloudagent.vc.ld_proofs.suites.ed25519_signature_2020.Ed25519Signature2020'>}¶
-
apply_constraint_received_cred
(constraint: aries_cloudagent.protocols.present_proof.dif.pres_exch.Constraints, cred_dict: dict) → bool[source]¶ Evaluate constraint from the request against received credential.
-
apply_requirements
(req: aries_cloudagent.protocols.present_proof.dif.pres_exch.Requirement, credentials: Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord], records_filter: dict = None) → dict[source]¶ Apply Requirement.
Parameters: - req – Requirement
- credentials – Sequence of credentials to check against
Returns: dict of input_descriptor ID key to list of credential_json
-
build_nested_paths_dict
(key: str, value: str, nested_field_paths: dict, cred_dict: dict) → dict[source]¶ Build and return nested_field_paths dict.
-
check_attr_in_extracted_dict
(extracted_dict: dict, nested_attr_values: dict) → bool[source]¶ Check if keys of extracted_dict exists in nested_attr_values.
-
check_filter_only_type_enforced
(_filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) → bool[source]¶ Check if only type is specified in filter.
Parameters: _filter – Filter Returns: bool
-
check_if_cred_id_derived
(id: str) → bool[source]¶ Check if credential or credentialSubjet id is derived.
-
const_check
(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) → bool[source]¶ Const check.
Returns True if value is equal to filter specified check
Parameters: - val – value to check, extracted from match
- _filter – Filter
Returns: bool
-
contains
(data: Sequence[str], e: str) → bool[source]¶ Check for e in data.
Returns True if e exists in data else return False
Parameters: - data – Sequence of str
- e – str value to check
Returns: bool
-
create_vcrecord
(cred_dict: dict) → aries_cloudagent.storage.vc_holder.vc_record.VCRecord[source]¶ Return VCRecord from a credential dict.
-
create_vp
(credentials: Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord], pd: aries_cloudagent.protocols.present_proof.dif.pres_exch.PresentationDefinition, challenge: str = None, domain: str = None, records_filter: dict = None) → Union[Sequence[dict], dict][source]¶ Create VerifiablePresentation.
Parameters: - credentials – Sequence of VCRecords
- pd – PresentationDefinition
Returns: VerifiablePresentation
-
credential_match_schema
(credential: aries_cloudagent.storage.vc_holder.vc_record.VCRecord, schema_id: str) → bool[source]¶ Credential matching by schema.
Used by filter_schema to check if credential.schema_ids or credential.types matched with schema_id
Parameters: - credential – VCRecord to check
- schema_id – schema uri to check
Returns: bool
-
enum_check
(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) → bool[source]¶ Enum check.
Returns True if value is contained to filter specified list
Parameters: - val – value to check, extracted from match
- _filter – Filter
Returns: bool
-
exclusive_maximum_check
(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) → bool[source]¶ Exclusivemaximum check.
Returns True if value less than filter specified check
Parameters: - val – value to check, extracted from match
- _filter – Filter
Returns: bool
-
exclusive_minimum_check
(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) → bool[source]¶ Exclusiveminimum check.
Returns True if value greater than filter specified check
Parameters: - val – value to check, extracted from match
- _filter – Filter
Returns: bool
-
field_ids_for_is_holder
(constraints: aries_cloudagent.protocols.present_proof.dif.pres_exch.Constraints) → Sequence[str][source]¶ Return list of field ids for whose subject holder verification is requested.
-
filter_by_field
(field: aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFField, credential: aries_cloudagent.storage.vc_holder.vc_record.VCRecord) → bool[source]¶ Apply filter on VCRecord.
Checks if a credential is applicable
Parameters: - field – Field contains filtering spec
- credential – credential to apply filtering on
Returns: bool
-
filter_constraints
(constraints: aries_cloudagent.protocols.present_proof.dif.pres_exch.Constraints, credentials: Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord]) → Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord][source]¶ Return list of applicable VCRecords after applying filtering.
Parameters: - constraints – Constraints
- credentials – Sequence of credentials to apply filtering on
Returns: Sequence of applicable VCRecords
-
filter_creds_record_id
(credentials: Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord], records_list: Sequence[str]) → Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord][source]¶ Return filtered list of credentials using records_list.
-
filter_schema
(credentials: Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord], schemas: aries_cloudagent.protocols.present_proof.dif.pres_exch.SchemasInputDescriptorFilter) → Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord][source]¶ Filter by schema.
Returns list of credentials where credentialSchema.id or types matched with input_descriptors.schema.uri
Parameters: - credentials – list of VCRecords to check
- schemas – list of schemas from the input_descriptors
Returns: Sequence of filtered VCRecord
-
get_dict_keys_from_path
(derived_cred_dict: dict, path: str) → List[source]¶ Return additional_attrs to build nested_field_paths.
-
get_sign_key_credential_subject_id
(applicable_creds: Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord]) → Tuple[Optional[str], Sequence[dict]][source]¶ Get the issuer_id and filtered_creds from enclosed credentials subject_ids.
-
get_updated_field
(field: aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFField, cred: dict) → aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFField[source]¶ Return field with updated json path, if necessary.
-
get_updated_path
(cred_dict: dict, json_path: str) → str[source]¶ Return updated json path, if necessary.
-
is_len_applicable
(req: aries_cloudagent.protocols.present_proof.dif.pres_exch.Requirement, val: int) → bool[source]¶ Check and validate requirement minimum, maximum and count.
Parameters: - req – Requirement
- val – int value to check
Returns: bool
-
is_numeric
(val: any)[source]¶ Check if val is an int or float.
Parameters: val – to check Returns: numeric value Raises: DIFPresExchError
– Provided value has invalid/incompatible type
-
length_check
(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) → bool[source]¶ Length check.
Returns True if length value string meets the minLength and maxLength specs
Parameters: - val – value to check, extracted from match
- _filter – Filter
Returns: bool
-
make_requirement
(srs: Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.SubmissionRequirements] = None, descriptors: Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.InputDescriptors] = None) → aries_cloudagent.protocols.present_proof.dif.pres_exch.Requirement[source]¶ Return Requirement.
Creates and return Requirement with nesting if required using to_requirement()
Parameters: - srs – list of submission_requirements
- descriptors – list of input_descriptors
Raises: DIFPresExchError
– If not able to create requirement
-
maximum_check
(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) → bool[source]¶ Maximum check.
Returns True if value less than equal to filter specified check
Parameters: - val – value to check, extracted from match
- _filter – Filter
Returns: bool
-
merge
(dict_descriptor_creds: dict) → Tuple[Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord], Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.InputDescriptorMapping]][source]¶ Return applicable credentials and descriptor_map for attachment.
Used for generating the presentation_submission property with the descriptor_map, mantaining the order in which applicable credential list is returned.
Parameters: - dict_descriptor_creds – dict with input_descriptor.id as keys
- merged_credentials_list (and) –
Returns: Tuple of applicable credential list and descriptor map
-
merge_nested_results
(nested_result: Sequence[dict], exclude: dict) → dict[source]¶ Merge nested results with merged credentials.
Parameters: - nested_result – Sequence of dict containing input_descriptor.id as keys and list of creds as values
- exclude – dict containing info about credentials to exclude
Returns: dict with input_descriptor.id as keys and merged_credentials_list as values
-
minimum_check
(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) → bool[source]¶ Minimum check.
Returns True if value greater than equal to filter specified check
Parameters: - val – value to check, extracted from match
- _filter – Filter
Returns: bool
-
nested_get
(input_dict: dict, path: str) → Union[Dict, List][source]¶ Return dict or list from nested dict given list of nested_key.
-
new_credential_builder
(new_credential: dict, unflatten_dict: dict) → dict[source]¶ Update and return the new_credential.
Parameters: - new_credential – credential dict to be updated and returned
- unflatten_dict – dict with traversal path as key and match_value as value
Returns: dict
-
pattern_check
(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) → bool[source]¶ Pattern check.
Returns True if value string matches the specified pattern
Parameters: - val – value to check, extracted from match
- _filter – Filter
Returns: bool
-
process_constraint_holders
(subject_ids: Sequence[str]) → bool[source]¶ Check if holder or subject of claim still controls the identifier.
-
process_numeric_val
(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) → bool[source]¶ Trigger Filter checks.
Trigger appropriate check for a number type filter, according to _filter spec.
Parameters: - val – value to check, extracted from match
- _filter – Filter
Returns: bool
-
process_string_val
(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) → bool[source]¶ Trigger Filter checks.
Trigger appropriate check for a string type filter, according to _filter spec.
Parameters: - val – value to check, extracted from match
- _filter – Filter
Returns: bool
-
restrict_field_paths_one_of_filter
(field_paths: Sequence[str], cred_dict: dict) → Sequence[str][source]¶ Return field_paths that are applicable to oneof_filter.
-
reveal_doc
(credential_dict: dict, constraints: aries_cloudagent.protocols.present_proof.dif.pres_exch.Constraints)[source]¶ Generate reveal_doc dict for deriving credential.
-
string_to_timezone_aware_datetime
(datetime_str: str) → datetime.datetime[source]¶ Convert string with PYTZ timezone to datetime for comparison.
-
subject_is_issuer
(credential: aries_cloudagent.storage.vc_holder.vc_record.VCRecord) → bool[source]¶ subject_is_issuer check.
Returns True if cred issuer_id is in subject_ids
Parameters: credential – VCRecord Returns: bool
-
to_requirement
(sr: aries_cloudagent.protocols.present_proof.dif.pres_exch.SubmissionRequirements, descriptors: Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.InputDescriptors]) → aries_cloudagent.protocols.present_proof.dif.pres_exch.Requirement[source]¶ Return Requirement.
Parameters: - sr – submission_requirement
- descriptors – list of input_descriptors
Raises: DIFPresExchError
– If not able to create requirement
-
validate_patch
(to_check: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) → bool[source]¶ Apply filter on match_value.
Utility function used in applying filtering to a cred by triggering checks according to filter specification
Parameters: - to_check – value to check, extracted from match
- _filter – Filter
Returns: bool
-
aries_cloudagent.protocols.present_proof.dif.pres_proposal_schema module¶
DIF Proof Proposal Schema.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_proposal_schema.
DIFProofProposalSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
Schema for DIF Proposal.
-
input_descriptors
¶ Used by autodoc_mock_imports.
-
options
¶ Used by autodoc_mock_imports.
-
aries_cloudagent.protocols.present_proof.dif.pres_request_schema module¶
DIF Proof Request Schema.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_request_schema.
DIFPresSpecSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
Schema for DIF Presentation Spec schema.
-
issuer_id
¶ Used by autodoc_mock_imports.
-
presentation_definition
¶ Used by autodoc_mock_imports.
-
record_ids
¶ Used by autodoc_mock_imports.
-
reveal_doc
¶ Used by autodoc_mock_imports.
-
-
class
aries_cloudagent.protocols.present_proof.dif.pres_request_schema.
DIFProofRequest
(presentation_definition: Union[dict, aries_cloudagent.protocols.present_proof.dif.pres_exch.PresentationDefinition, None], options: Union[dict, aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFOptions, None] = None)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModel
DIF presentation request input detail.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_request_schema.
DIFProofRequestSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchema
Schema for DIF presentation request.
-
class
Meta
[source]¶ Bases:
object
Accept parameter overload.
-
model_class
¶ alias of
DIFProofRequest
-
unknown
¶ Used by autodoc_mock_imports.
-
-
options
¶ Used by autodoc_mock_imports.
-
presentation_definition
¶ Used by autodoc_mock_imports.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_schema module¶
DIF Proof Schema.
-
class
aries_cloudagent.protocols.present_proof.dif.pres_schema.
DIFProofSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
Schema for DIF Proof.
-
contexts
¶ Used by autodoc_mock_imports.
-
credentials
¶ Used by autodoc_mock_imports.
-
id
¶ Used by autodoc_mock_imports.
-
presentation_submission
¶ Used by autodoc_mock_imports.
-
proof
¶ Used by autodoc_mock_imports.
-
types
¶ Used by autodoc_mock_imports.
-