Source code for aries_cloudagent.protocols.present_proof.dif.pres_schema

"""DIF Proof Schema."""
from marshmallow import fields

from ....messaging.models.openapi import OpenAPISchema
from ....messaging.valid import (
    UUID4,
    StrOrDictField,
)
from ....vc.vc_ld import LinkedDataProofSchema

from .pres_exch import PresentationSubmissionSchema


[docs]class DIFProofSchema(OpenAPISchema): """Schema for DIF Proof.""" id = fields.Str( description="ID", required=False, **UUID4, ) contexts = fields.List( StrOrDictField(), data_key="@context", required=True, ) types = fields.List( fields.Str(description="Types"), data_key="type", required=True, ) credentials = fields.List( fields.Dict(description="Credentials", required=False), data_key="verifiableCredential", ) proof = fields.Nested( LinkedDataProofSchema(), required=False, description="The proof of the credential", ) presentation_submission = fields.Nested(PresentationSubmissionSchema())