import { CredentialValidationTypes, validateDcqlVp, ValidationReport, ValidationResult, VerifiablePresentationValidationReport, } from '../../../../src/index.js'; import { DCQLQuery } from '../../../../src/shared/dto/dcqlQuery.dto.js'; import { DEFAULT_PRESENTATION_TYPE } from '../../../../src/config.js'; import { DcqlPresentation } from '../../../../src/validators/presentation/dcqlPresentation.js'; describe('verifiable presentation validation report should create a report that', () => { describe('For JWT presentation format', () => { it('informs that all validations are OK', async () => { const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIn0.eyJpYXQiOjE3Njg5MTk4NzcsImV4cCI6NDkyMjUxOTg3NiwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIiwiYXVkIjoiZGVjZW50cmFsaXplZF9pZGVudGlmaWVyOmRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtickRGQmt0bktyR2tva1VTUHJIUm5VZVIyZmdvWnF0VFF0UFVXYmNMeldOVFNFSlVlTTVzdjJUN2U5TG51QzNnVmhMajZjWUd1ZEtxbkJUOUxGcXBYdFJFYzNQbjE4QWIzbjFvM3pYdnhkWm0yelBNU2NnR25rWHc2cEJ1dkRXS2d0TCIsInN1YiI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsIm5iZiI6MTc2ODkxOTg3Niwibm9uY2UiOiJLdnFZeXdLVlBTaVFUXzNXSnNFTi1BIiwianRpIjoidXJuOmRpZDpiNGY1NGQ4NS04ZDQwLTRlZjgtOTEzMy1hNjBkOTYyYWVjZTkiLCJ2cCI6eyJpZCI6InVybjpkaWQ6YjRmNTRkODUtOGQ0MC00ZWY4LTkxMzMtYTYwZDk2MmFlY2U5IiwiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlUHJlc2VudGF0aW9uIl0sImhvbGRlciI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsInZlcmlmaWFibGVDcmVkZW50aWFsIjpbeyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkVtYWlsQ3JlZGVudGlhbCJdLCJpZCI6InVybjp1dWlkOmMxOGVkYTQ4LTA5MGEtNDk1OS1iZjU4LTJkZWRlODk4NGNhYyIsImlzc3VlciI6eyJpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmIiwibmFtZSI6IlZhbGlkYXRlZCBJRCBTTCJ9LCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsImVtYWlsIjoiaXNhYWMub2xsZUBzaWduYXR1cml0LmNvbSJ9LCJwcm9vZiI6eyJ0eXBlIjoiSnNvbldlYlNpZ25hdHVyZTIwMjAiLCJjcmVhdGVkIjoiMjAyNi0wMS0yMFQwOTo0Njo0MC4wMDBaIiwicHJvb2ZQdXJwb3NlIjoiYXNzZXJ0aW9uTWV0aG9kIiwidmVyaWZpY2F0aW9uTWV0aG9kIjoiZGlkOndlYjpzdGFnaW5nLnZpZGNoYWluLm5ldDphcGk6djE6ZGlkLXdlYi1yZXNvbHZlcjpkM2RmNDA5ZC0wMTViLTQxYjQtYWEzMS1iZDdmNDM4NDA1NGYja2V5LTAiLCJqd3MiOiJleUpoYkdjaU9pSkZVekkxTmlJc0luUjVjQ0k2SWtwWFZDSXNJbXRwWkNJNkltUnBaRHAzWldJNmMzUmhaMmx1Wnk1MmFXUmphR0ZwYmk1dVpYUTZZWEJwT25ZeE9tUnBaQzEzWldJdGNtVnpiMngyWlhJNlpETmtaalF3T1dRdE1ERTFZaTAwTVdJMExXRmhNekV0WW1RM1pqUXpPRFF3TlRSbUkydGxlUzB3SW4wLmV5SjJZeUk2ZXlKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3Zibk12WTNKbFpHVnVkR2xoYkhNdmRqSWlYU3dpYVdRaU9pSjFjbTQ2ZFhWcFpEcGpNVGhsWkdFME9DMHdPVEJoTFRRNU5Ua3RZbVkxT0MweVpHVmtaVGc1T0RSallXTWlMQ0owZVhCbElqcGJJbFpsY21sbWFXRmliR1ZEY21Wa1pXNTBhV0ZzSWl3aVJXMWhhV3hEY21Wa1pXNTBhV0ZzSWwwc0ltTnlaV1JsYm5ScFlXeFRkV0pxWldOMElqcDdJbWxrSWpvaVpHbGtPbXRsZVRwNk1tUnRla1E0TVdOblVIZzRWbXRwTjBwaWRYVk5iVVpaY2xkUVoxbHZlWFI1YTFWYU0yVjVjV2gwTVdvNVMySnhabk54WldoQ1FsQTNhMjlCWjJSalJ6WlZaVTFJVVdkS1duQlFTelJLYVU1VWJWcFZZbW96U21kbE9EZGxTbmgyYVZScmMyWXlZVUYxZFV4VVRYbGhSMjFGVUU0NWRrVlFNMUZTVWpOQlRVRlVaVk5yVjFsRGEweHFaWGRSTkV0dVREWTRkMmhJTTNWdmEzQmlOMlZXYTJSQ2MzWTNjbVJOVFROVWNrRXlZazVWSWl3aVpXMWhhV3dpT2lKcGMyRmhZeTV2Ykd4bFFITnBaMjVoZEhWeWFYUXVZMjl0SW4wc0ltbHpjM1ZsY2lJNmV5SnBaQ0k2SW1ScFpEcDNaV0k2YzNSaFoybHVaeTUyYVdSamFHRnBiaTV1WlhRNllYQnBPbll4T21ScFpDMTNaV0l0Y21WemIyeDJaWEk2WkROa1pqUXdPV1F0TURFMVlpMDBNV0kwTFdGaE16RXRZbVEzWmpRek9EUXdOVFJtSWl3aWJtRnRaU0k2SWxaaGJHbGtZWFJsWkNCSlJDQlRUQ0o5TENKMllXeHBaRVp5YjIwaU9pSXlNREkyTFRBeExUSXdWREE1T2pRMk9qUXdXaUlzSW1OeVpXUmxiblJwWVd4VGRHRjBkWE1pT25zaWFXUWlPaUpvZEhSd2N6b3ZMM04wWVdkcGJtY3RjM1IxWkdsdkxuWnBaR05vWVdsdUxtNWxkQzkyYVdSamNtVmtaVzUwYVdGc2N5MXpkSFZrYVc4dllYQnBMM1l4TDNOMFlYUjFjeTFzYVhOMExXTnlaV1JsYm5ScFlXd3ZPVEVqT0Rjeklpd2ljM1JoZEhWelRHbHpkRU55WldSbGJuUnBZV3dpT2lKb2RIUndjem92TDNOMFlXZHBibWN0YzNSMVpHbHZMblpwWkdOb1lXbHVMbTVsZEM5MmFXUmpjbVZrWlc1MGFXRnNjeTF6ZEhWa2FXOHZZWEJwTDNZeEwzTjBZWFIxY3kxc2FYTjBMV055WldSbGJuUnBZV3d2T1RFaUxDSnpkR0YwZFhOTWFYTjBTVzVrWlhnaU9pSTROek1pTENKMGVYQmxJam9pVW1WMmIyTmhkR2x2Ymt4cGMzUXlNREl4VTNSaGRIVnpJaXdpYzNSaGRIVnpVSFZ5Y0c5elpTSTZJbkpsZG05allYUnBiMjRpZlgwc0ltNWlaaUk2TVRjMk9Ea3dNalF3TUN3aWFYTnpJam9pWkdsa09uZGxZanB6ZEdGbmFXNW5MblpwWkdOb1lXbHVMbTVsZERwaGNHazZkakU2Wkdsa0xYZGxZaTF5WlhOdmJIWmxjanBrTTJSbU5EQTVaQzB3TVRWaUxUUXhZalF0WVdFek1TMWlaRGRtTkRNNE5EQTFOR1lpTENKcFlYUWlPakUzTmpnNU1ESTBNREFzSW5OMVlpSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY1daemNXVm9Ra0pRTjJ0dlFXZGtZMGMyVldWTlNGRm5TbHB3VUVzMFNtbE9WRzFhVldKcU0wcG5aVGczWlVwNGRtbFVhM05tTW1GQmRYVk1WRTE1WVVkdFJWQk9PWFpGVUROUlVsSXpRVTFCVkdWVGExZFpRMnRNYW1WM1VUUkxia3cyT0hkb1NETjFiMnR3WWpkbFZtdGtRbk4yTjNKa1RVMHpWSEpCTW1KT1ZTSXNJbXAwYVNJNkluVnlianAxZFdsa09tTXhPR1ZrWVRRNExUQTVNR0V0TkRrMU9TMWlaalU0TFRKa1pXUmxPRGs0TkdOaFl5SjkueEhjYjlrTmVnQmFhaXNEd0dDRVBaMVRLS3NhY3BCd3pPMjRfQWdyOEJRblkzamY1eGNpYnlXam16SW5RMXVnMW40S29uOFdQN2loZGpocFdBQi1JSHcifSwidmFsaWRGcm9tIjoiMjAyNi0wMS0yMFQwOTo0Njo0MFoiLCJjcmVkZW50aWFsU3RhdHVzIjp7ImlkIjoiaHR0cHM6Ly9zdGFnaW5nLXN0dWRpby52aWRjaGFpbi5uZXQvdmlkY3JlZGVudGlhbHMtc3R1ZGlvL2FwaS92MS9zdGF0dXMtbGlzdC1jcmVkZW50aWFsLzkxIzg3MyIsInN0YXR1c0xpc3RDcmVkZW50aWFsIjoiaHR0cHM6Ly9zdGFnaW5nLXN0dWRpby52aWRjaGFpbi5uZXQvdmlkY3JlZGVudGlhbHMtc3R1ZGlvL2FwaS92MS9zdGF0dXMtbGlzdC1jcmVkZW50aWFsLzkxIiwic3RhdHVzTGlzdEluZGV4IjoiODczIiwidHlwZSI6IlJldm9jYXRpb25MaXN0MjAyMVN0YXR1cyIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIn19XX19.rrP242r0qjag_XCUhoqbiIHHO69dx79iAdeC_vpxexLUS424TNssFGVIEAL1wZNgdq2Jy8-Jl0roRNb72TTVKQ', ], }; const dcqlQuery: DCQLQuery = { credentials: [ { id: 'query_0', format: 'ldp_vc', meta: { type_values: [['EmailCredential']], }, }, ], }; const verifiablePresentationValidationReport = new VerifiablePresentationValidationReport(); const result = await validateDcqlVp( presentation, 'decentralized_identifier:did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDFBktnKrGkokUSPrHRnUeR2fgoZqtTQtPUWbcLzWNTSEJUeM5sv2T7e9LnuC3gVhLj6cYGudKqnBT9LFqpXtREc3Pn18Ab3n1o3zXvxdZm2zPMScgGnkXw6pBuvDWKgtL', { dcqlQuery, report: true, verifiablePresentationValidationReport, }, ); const decodedPresentation = { aud: 'decentralized_identifier:did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDFBktnKrGkokUSPrHRnUeR2fgoZqtTQtPUWbcLzWNTSEJUeM5sv2T7e9LnuC3gVhLj6cYGudKqnBT9LFqpXtREc3Pn18Ab3n1o3zXvxdZm2zPMScgGnkXw6pBuvDWKgtL', exp: 4922519876, iat: 1768919877, iss: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', jti: 'urn:did:b4f54d85-8d40-4ef8-9133-a60d962aece9', nbf: 1768919876, nonce: 'KvqYywKVPSiQT_3WJsEN-A', sub: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', vp: { '@context': ['https://www.w3.org/2018/credentials/v1'], holder: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', id: 'urn:did:b4f54d85-8d40-4ef8-9133-a60d962aece9', type: ['VerifiablePresentation'], verifiableCredential: [ { '@context': ['https://www.w3.org/ns/credentials/v2'], credentialStatus: { id: 'https://staging-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/91#873', statusListCredential: 'https://staging-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/91', statusListIndex: '873', statusPurpose: 'revocation', type: 'RevocationList2021Status', }, credentialSubject: { email: 'isaac.olle@signaturit.com', id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', }, id: 'urn:uuid:c18eda48-090a-4959-bf58-2dede8984cac', issuer: { id: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f', name: 'Validated ID SL', }, proof: { created: '2026-01-20T09:46:40.000Z', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmI2tleS0wIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXSwiaWQiOiJ1cm46dXVpZDpjMThlZGE0OC0wOTBhLTQ5NTktYmY1OC0yZGVkZTg5ODRjYWMiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRW1haWxDcmVkZW50aWFsIl0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIiwiZW1haWwiOiJpc2FhYy5vbGxlQHNpZ25hdHVyaXQuY29tIn0sImlzc3VlciI6eyJpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmIiwibmFtZSI6IlZhbGlkYXRlZCBJRCBTTCJ9LCJ2YWxpZEZyb20iOiIyMDI2LTAxLTIwVDA5OjQ2OjQwWiIsImNyZWRlbnRpYWxTdGF0dXMiOnsiaWQiOiJodHRwczovL3N0YWdpbmctc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvOTEjODczIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL3N0YWdpbmctc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvOTEiLCJzdGF0dXNMaXN0SW5kZXgiOiI4NzMiLCJ0eXBlIjoiUmV2b2NhdGlvbkxpc3QyMDIxU3RhdHVzIiwic3RhdHVzUHVycG9zZSI6InJldm9jYXRpb24ifX0sIm5iZiI6MTc2ODkwMjQwMCwiaXNzIjoiZGlkOndlYjpzdGFnaW5nLnZpZGNoYWluLm5ldDphcGk6djE6ZGlkLXdlYi1yZXNvbHZlcjpkM2RmNDA5ZC0wMTViLTQxYjQtYWEzMS1iZDdmNDM4NDA1NGYiLCJpYXQiOjE3Njg5MDI0MDAsInN1YiI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsImp0aSI6InVybjp1dWlkOmMxOGVkYTQ4LTA5MGEtNDk1OS1iZjU4LTJkZWRlODk4NGNhYyJ9.xHcb9kNegBaaisDwGCEPZ1TKKsacpBwzO24_Agr8BQnY3jf5xcibyWjmzInQ1ug1n4Kon8WP7ihdjhpWAB-IHw', proofPurpose: 'assertionMethod', type: 'JsonWebSignature2020', verificationMethod: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f#key-0', }, type: ['VerifiableCredential', 'EmailCredential'], validFrom: '2026-01-20T09:46:40Z', }, ], }, }; const expectedValidationResult = { valid: true }; const expectedValidationReport: ValidationReport = { globalResult: { result: ValidationResult.OK, }, verifiablePresentation: decodedPresentation, credentialsPresentedList: [ { verifiableCredential: { '@context': ['https://www.w3.org/ns/credentials/v2'], credentialStatus: { id: 'https://staging-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/91#873', statusListCredential: 'https://staging-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/91', statusListIndex: '873', statusPurpose: 'revocation', type: 'RevocationList2021Status', }, credentialSubject: { email: 'isaac.olle@signaturit.com', id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', }, id: 'urn:uuid:c18eda48-090a-4959-bf58-2dede8984cac', issuer: { id: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f', name: 'Validated ID SL', }, proof: { created: '2026-01-20T09:46:40.000Z', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmI2tleS0wIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXSwiaWQiOiJ1cm46dXVpZDpjMThlZGE0OC0wOTBhLTQ5NTktYmY1OC0yZGVkZTg5ODRjYWMiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRW1haWxDcmVkZW50aWFsIl0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIiwiZW1haWwiOiJpc2FhYy5vbGxlQHNpZ25hdHVyaXQuY29tIn0sImlzc3VlciI6eyJpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmIiwibmFtZSI6IlZhbGlkYXRlZCBJRCBTTCJ9LCJ2YWxpZEZyb20iOiIyMDI2LTAxLTIwVDA5OjQ2OjQwWiIsImNyZWRlbnRpYWxTdGF0dXMiOnsiaWQiOiJodHRwczovL3N0YWdpbmctc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvOTEjODczIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL3N0YWdpbmctc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvOTEiLCJzdGF0dXNMaXN0SW5kZXgiOiI4NzMiLCJ0eXBlIjoiUmV2b2NhdGlvbkxpc3QyMDIxU3RhdHVzIiwic3RhdHVzUHVycG9zZSI6InJldm9jYXRpb24ifX0sIm5iZiI6MTc2ODkwMjQwMCwiaXNzIjoiZGlkOndlYjpzdGFnaW5nLnZpZGNoYWluLm5ldDphcGk6djE6ZGlkLXdlYi1yZXNvbHZlcjpkM2RmNDA5ZC0wMTViLTQxYjQtYWEzMS1iZDdmNDM4NDA1NGYiLCJpYXQiOjE3Njg5MDI0MDAsInN1YiI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsImp0aSI6InVybjp1dWlkOmMxOGVkYTQ4LTA5MGEtNDk1OS1iZjU4LTJkZWRlODk4NGNhYyJ9.xHcb9kNegBaaisDwGCEPZ1TKKsacpBwzO24_Agr8BQnY3jf5xcibyWjmzInQ1ug1n4Kon8WP7ihdjhpWAB-IHw', proofPurpose: 'assertionMethod', type: 'JsonWebSignature2020', verificationMethod: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f#key-0', }, type: ['VerifiableCredential', 'EmailCredential'], validFrom: '2026-01-20T09:46:40Z', }, validations: [ { validationType: CredentialValidationTypes.Expiration, validationResult: ValidationResult.OK, }, { validationType: CredentialValidationTypes.NotYetValid, validationResult: ValidationResult.OK, }, { validationType: CredentialValidationTypes.Revocation, validationResult: ValidationResult.OK, }, { validationType: CredentialValidationTypes.CredentialSignature, validationResult: ValidationResult.OK, }, ], }, ], }; const report = verifiablePresentationValidationReport.generate(); expect(report).toStrictEqual(expectedValidationReport); expect(result).toStrictEqual(expectedValidationResult); }); describe('vc validations fail', () => { it('shows that one of the credentials is revoked', async () => { const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtickRRTlhZWWVUamJmU0tyTHJNQ0JySFh0amF4RGtiWnlDc3pkS0pTaTVxOXNVaFQyTW5SNVF5ZDk1cjFxQ1BLUUdUQWc4UDlWM1JHY2lCeDhyNjN6cnFNakVud0JDUW5CNXlaeFo5Zzd2UUtCWEFFejNXTHQzeXlya0NNWlpEcGF0dCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0In0.eyJpYXQiOjE3MjA2MjY0NDIsImV4cCI6NDg1OTc0MTcwMCwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwiYXVkIjoiaHR0cHMlM0ElMkYlMkZkZXYtc3R1ZGlvLnZpZGNoYWluLm5ldCUyRnZpZGNyZWRlbnRpYWxzLXN0dWRpbyUyRm9pZGM0dmMlMkZ2MSUyRnZlcmlmaWVyJTJGNDNiZWM5MjAtMzc5Mi00NmM5LWE2NDUtOTkzNWIyMjI5MDgwIiwic3ViIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwibmJmIjoxNzIwNjI2NDQyLCJub25jZSI6IjFhOGQ1YWQ4LTA3NDAtNDBkOS1iMTY5LWRkZmYxNWUyMWM2YSIsImp0aSI6InVybjpkaWQ6MzdmYzI0ZDMtMDhhNi00NWM5LTg3ODktNzRjYzFjOWU0MDBiIiwidnAiOnsiaWQiOiJ1cm46ZGlkOjM3ZmMyNGQzLTA4YTYtNDVjOS04Nzg5LTc0Y2MxYzllNDAwYiIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJdLCJob2xkZXIiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnJEUU5YWVllVGpiZlNLckxyTUNCckhYdGpheERrYlp5Q3N6ZEtKU2k1cTlzVWhUMk1uUjVReWQ5NXIxcUNQS1FHVEFnOFA5VjNSR2NpQng4cjYzenJxTWpFbndCQ1FuQjV5WnhaOWc3dlFLQlhBRXozV0x0M3l5cmtDTVpaRHBhdHQiLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6W3siQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiLCJodHRwczovL2FwaS52aWRjaGFpbi5uZXQvYXBpL3YxL2NvbnRleHRzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJUZXN0VHlwZSJdLCJpZCI6InVybjp1dWlkOjYyNzViNmZmLTJkZDMtNDY1NS1hZjE0LWE2ZWNjYzYxNjM4OCIsImlzc3VlciI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsIm5hbWUiOiJQb3N0bWFuIEVudGl0eSJ9LCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtickRRTlhZWWVUamJmU0tyTHJNQ0JySFh0amF4RGtiWnlDc3pkS0pTaTVxOXNVaFQyTW5SNVF5ZDk1cjFxQ1BLUUdUQWc4UDlWM1JHY2lCeDhyNjN6cnFNakVud0JDUW5CNXlaeFo5Zzd2UUtCWEFFejNXTHQzeXlya0NNWlpEcGF0dCIsIm5hbWUiOiJCaWFuY2EiLCJhZ2UiOjMwfSwicHJvb2YiOnsidHlwZSI6Ikpzb25XZWJTaWduYXR1cmUyMDIwIiwiY3JlYXRlZCI6IjIwMjQtMDctMTBUMTU6MTc6MjcuMDAwWiIsInByb29mUHVycG9zZSI6ImFzc2VydGlvbk1ldGhvZCIsInZlcmlmaWNhdGlvbk1ldGhvZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIiwiandzIjoiZXlKaGJHY2lPaUpGVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0lzSW10cFpDSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY1dGaGQwZFNTRGhNV0ZKUU1YRndhMkpvUVZOdVpFdElaV2xPU0doMmVtUmxhRTVtUjI1Q1oxbGtlWFZsYlhweGVGcFNURGx1TjJobldIbHdPV1JXUjBKYVVXMDBjRlp5VWs1SFl6RnhjbWxuWVUxQk5GTTVhRk5oVjIxVlkwRXpWVGxLVkdWbFIzVlpWbVpwUjB0bE9HWjRZMjh6ZWt4a1dISjJTemhyVkRWd1p5TjZNbVJ0ZWtRNE1XTm5VSGc0Vm10cE4wcGlkWFZOYlVaWmNsZFFaMWx2ZVhSNWExVmFNMlY1Y1doME1XbzVTMkp4WVdGM1IxSklPRXhZVWxBeGNYQnJZbWhCVTI1a1MwaGxhVTVJYUhaNlpHVm9UbVpIYmtKbldXUjVkV1Z0ZW5GNFdsSk1PVzQzYUdkWWVYQTVaRlpIUWxwUmJUUndWbkpTVGtkak1YRnlhV2RoVFVFMFV6bG9VMkZYYlZWalFUTlZPVXBVWldWSGRWbFdabWxIUzJVNFpuaGpiek42VEdSWWNuWkxPR3RVTlhCbkluMC5leUoyWXlJNmV5SkFZMjl1ZEdWNGRDSTZXeUpvZEhSd2N6b3ZMM2QzZHk1M015NXZjbWN2TWpBeE9DOWpjbVZrWlc1MGFXRnNjeTkyTVNJc0ltaDBkSEJ6T2k4dllYQnBMblpwWkdOb1lXbHVMbTVsZEM5aGNHa3ZkakV2WTI5dWRHVjRkSE12ZGpFaVhTd2lkSGx3WlNJNld5SldaWEpwWm1saFlteGxRM0psWkdWdWRHbGhiQ0lzSWxSbGMzUlVlWEJsSWwwc0ltbHpjM1ZsY2lJNmV5SnBaQ0k2SW1ScFpEcHJaWGs2ZWpKa2JYcEVPREZqWjFCNE9GWnJhVGRLWW5WMVRXMUdXWEpYVUdkWmIzbDBlV3RWV2pObGVYRm9kREZxT1V0aWNXRmhkMGRTU0RoTVdGSlFNWEZ3YTJKb1FWTnVaRXRJWldsT1NHaDJlbVJsYUU1bVIyNUNaMWxrZVhWbGJYcHhlRnBTVERsdU4yaG5XSGx3T1dSV1IwSmFVVzAwY0ZaeVVrNUhZekZ4Y21sbllVMUJORk01YUZOaFYyMVZZMEV6VlRsS1ZHVmxSM1ZaVm1acFIwdGxPR1o0WTI4emVreGtXSEoyU3poclZEVndaeUlzSW01aGJXVWlPaUpRYjNOMGJXRnVJRVZ1ZEdsMGVTSjlMQ0pwWkNJNkluVnlianAxZFdsa09qWXlOelZpTm1abUxUSmtaRE10TkRZMU5TMWhaakUwTFdFMlpXTmpZell4TmpNNE9DSXNJbU55WldSbGJuUnBZV3hUZFdKcVpXTjBJanA3SW1sa0lqb2laR2xrT210bGVUcDZNbVJ0ZWtRNE1XTm5VSGc0Vm10cE4wcGlkWFZOYlVaWmNsZFFaMWx2ZVhSNWExVmFNMlY1Y1doME1XbzVTMkp5UkZGT1dGbFpaVlJxWW1aVFMzSk1jazFEUW5KSVdIUnFZWGhFYTJKYWVVTnplbVJMU2xOcE5YRTVjMVZvVkRKTmJsSTFVWGxrT1RWeU1YRkRVRXRSUjFSQlp6aFFPVll6VWtkamFVSjRPSEkyTTNweWNVMXFSVzUzUWtOUmJrSTFlVnA0V2psbk4zWlJTMEpZUVVWNk0xZE1kRE41ZVhKclEwMWFXa1J3WVhSMElpd2libUZ0WlNJNklrSnBZVzVqWVNJc0ltRm5aU0k2TXpCOUxDSmpjbVZrWlc1MGFXRnNVMk5vWlcxaElqcDdJbWxrSWpvaWFIUjBjSE02THk5aGNHa3RkR1Z6ZEM1bFluTnBMbVYxTDNSeWRYTjBaV1F0YzJOb1pXMWhjeTF5WldkcGMzUnllUzkyTWk5elkyaGxiV0Z6TDNvelRXZFZSbFZyWWpjeU1uVnhOSGd6WkhZMWVVRktiVzVPYlhwRVJtVkxOVlZET0hnNE0xRnZaVXhLVFNJc0luUjVjR1VpT2lKR2RXeHNTbk52YmxOamFHVnRZVlpoYkdsa1lYUnZjakl3TWpFaWZTd2lkbUZzYVdSVmJuUnBiQ0k2SWpJd01qUXRNRGN0TURsVU1UVTZNVGM2TWpkYUlpd2lZM0psWkdWdWRHbGhiRk4wWVhSMWN5STZleUowZVhCbElqb2lVM1JoZEhWelRHbHpkREl3TWpGRmJuUnllU0lzSW1sa0lqb2lhSFIwY0hNNkx5OWtaWFl0YzNSMVpHbHZMblpwWkdOb1lXbHVMbTVsZEM5MmFXUmpjbVZrWlc1MGFXRnNjeTF6ZEhWa2FXOHZZWEJwTDNZeEwzTjBZWFIxY3kxc2FYTjBMV055WldSbGJuUnBZV3d2TWpneUl6TXlJaXdpYzNSaGRIVnpUR2x6ZEVOeVpXUmxiblJwWVd3aU9pSm9kSFJ3Y3pvdkwyUmxkaTF6ZEhWa2FXOHVkbWxrWTJoaGFXNHVibVYwTDNacFpHTnlaV1JsYm5ScFlXeHpMWE4wZFdScGJ5OWhjR2t2ZGpFdmMzUmhkSFZ6TFd4cGMzUXRZM0psWkdWdWRHbGhiQzh5T0RJaUxDSnpkR0YwZFhOTWFYTjBTVzVrWlhnaU9pSXpNaUlzSW5OMFlYUjFjMUIxY25CdmMyVWlPaUp5WlhadlkyRjBhVzl1SW4wc0ltbHpjM1ZoYm1ObFJHRjBaU0k2SWpJd01qUXRNRGN0TVRCVU1UVTZNVGM2TWpkYUluMHNJbWx6Y3lJNkltUnBaRHByWlhrNmVqSmtiWHBFT0RGaloxQjRPRlpyYVRkS1luVjFUVzFHV1hKWFVHZFpiM2wwZVd0VldqTmxlWEZvZERGcU9VdGljV0ZoZDBkU1NEaE1XRkpRTVhGd2EySm9RVk51WkV0SVpXbE9TR2gyZW1SbGFFNW1SMjVDWjFsa2VYVmxiWHB4ZUZwU1REbHVOMmhuV0hsd09XUldSMEphVVcwMGNGWnlVazVIWXpGeGNtbG5ZVTFCTkZNNWFGTmhWMjFWWTBFelZUbEtWR1ZsUjNWWlZtWnBSMHRsT0daNFkyOHpla3hrV0hKMlN6aHJWRFZ3WnlJc0ltbGhkQ0k2TVRjeU1EWXlORFkwTjMwLkFrRjJ3LWR4cFFZNmVYSTZGcWt5OEQ0N0tnbC1UcVdjeEJER2tXQk01aGlIYjZvN0hFekpKNnJZbFh0Q3V6VHhBUTBZdTg0cGtmNUlNMkhlbHpsakRBIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjQtMDctMTBUMTU6MTc6MjdaIiwidmFsaWRVbnRpbCI6IjIwMjQtMDctMDlUMTU6MTc6MjdaIiwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiU3RhdHVzTGlzdDIwMjFFbnRyeSIsImlkIjoiaHR0cHM6Ly9kZXYtc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvMjgyIzMyIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL2Rldi1zdHVkaW8udmlkY2hhaW4ubmV0L3ZpZGNyZWRlbnRpYWxzLXN0dWRpby9hcGkvdjEvc3RhdHVzLWxpc3QtY3JlZGVudGlhbC8yODIiLCJzdGF0dXNMaXN0SW5kZXgiOiIzMiIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIn0sImNyZWRlbnRpYWxTY2hlbWEiOnsiaWQiOiJodHRwczovL2FwaS10ZXN0LmVic2kuZXUvdHJ1c3RlZC1zY2hlbWFzLXJlZ2lzdHJ5L3YyL3NjaGVtYXMvejNNZ1VGVWtiNzIydXE0eDNkdjV5QUptbk5tekRGZUs1VUM4eDgzUW9lTEpNIiwidHlwZSI6IkZ1bGxKc29uU2NoZW1hVmFsaWRhdG9yMjAyMSJ9fV19fQ.a5R6qQNJVpyxNw-u-6fqxvQII9Ed_qGqPuZdde1sAZZ-FGxKc6pLll1Swcb6ZdKQ15eE0Qq-0djgrWIfv3WSzQ', ], }; const dcqlQuery: DCQLQuery = { credentials: [ { id: 'query_0', format: 'ldp_vc', meta: { type_values: [['TestType']], }, }, ], }; const verifiablePresentationValidationReport = new VerifiablePresentationValidationReport(); const result = await validateDcqlVp( presentation, 'https%3A%2F%2Fdev-studio.vidchain.net%2Fvidcredentials-studio%2Foidc4vc%2Fv1%2Fverifier%2F43bec920-3792-46c9-a645-9935b2229080', { dcqlQuery, report: true, verifiablePresentationValidationReport, }, ); const decodedPresentation = { iat: 1720626442, exp: 4859741700, iss: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', aud: 'https%3A%2F%2Fdev-studio.vidchain.net%2Fvidcredentials-studio%2Foidc4vc%2Fv1%2Fverifier%2F43bec920-3792-46c9-a645-9935b2229080', sub: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', nbf: 1720626442, nonce: '1a8d5ad8-0740-40d9-b169-ddff15e21c6a', jti: 'urn:did:37fc24d3-08a6-45c9-8789-74cc1c9e400b', vp: { id: 'urn:did:37fc24d3-08a6-45c9-8789-74cc1c9e400b', '@context': ['https://www.w3.org/2018/credentials/v1'], type: ['VerifiablePresentation'], holder: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', verifiableCredential: [ { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], type: ['VerifiableCredential', 'TestType'], id: 'urn:uuid:6275b6ff-2dd3-4655-af14-a6eccc616388', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', name: 'Postman Entity', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', name: 'Bianca', age: 30, }, proof: { type: 'JsonWebSignature2020', created: '2024-07-10T15:17:27.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlRlc3RUeXBlIl0sImlzc3VlciI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsIm5hbWUiOiJQb3N0bWFuIEVudGl0eSJ9LCJpZCI6InVybjp1dWlkOjYyNzViNmZmLTJkZDMtNDY1NS1hZjE0LWE2ZWNjYzYxNjM4OCIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwibmFtZSI6IkJpYW5jYSIsImFnZSI6MzB9LCJjcmVkZW50aWFsU2NoZW1hIjp7ImlkIjoiaHR0cHM6Ly9hcGktdGVzdC5lYnNpLmV1L3RydXN0ZWQtc2NoZW1hcy1yZWdpc3RyeS92Mi9zY2hlbWFzL3ozTWdVRlVrYjcyMnVxNHgzZHY1eUFKbW5ObXpERmVLNVVDOHg4M1FvZUxKTSIsInR5cGUiOiJGdWxsSnNvblNjaGVtYVZhbGlkYXRvcjIwMjEifSwidmFsaWRVbnRpbCI6IjIwMjQtMDctMDlUMTU6MTc6MjdaIiwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiU3RhdHVzTGlzdDIwMjFFbnRyeSIsImlkIjoiaHR0cHM6Ly9kZXYtc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvMjgyIzMyIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL2Rldi1zdHVkaW8udmlkY2hhaW4ubmV0L3ZpZGNyZWRlbnRpYWxzLXN0dWRpby9hcGkvdjEvc3RhdHVzLWxpc3QtY3JlZGVudGlhbC8yODIiLCJzdGF0dXNMaXN0SW5kZXgiOiIzMiIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjQtMDctMTBUMTU6MTc6MjdaIn0sImlzcyI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsImlhdCI6MTcyMDYyNDY0N30.AkF2w-dxpQY6eXI6Fqky8D47Kgl-TqWcxBDGkWBM5hiHb6o7HEzJJ6rYlXtCuzTxAQ0Yu84pkf5IM2HelzljDA', }, issuanceDate: '2024-07-10T15:17:27Z', validUntil: '2024-07-09T15:17:27Z', credentialStatus: { type: 'StatusList2021Entry', id: 'https://dev-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/282#32', statusListCredential: 'https://dev-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/282', statusListIndex: '32', statusPurpose: 'revocation', }, credentialSchema: { id: 'https://api-test.ebsi.eu/trusted-schemas-registry/v2/schemas/z3MgUFUkb722uq4x3dv5yAJmnNmzDFeK5UC8x83QoeLJM', type: 'FullJsonSchemaValidator2021', }, }, ], }, }; const expectedValidationResult = { valid: false, messages: [ 'urn:uuid:6275b6ff-2dd3-4655-af14-a6eccc616388 is expired', ], }; const expectedValidationReport: ValidationReport = { globalResult: { result: ValidationResult.KO, errorMessage: expectedValidationResult.messages.join(', '), }, verifiablePresentation: decodedPresentation, credentialsPresentedList: [ { verifiableCredential: { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], type: ['VerifiableCredential', 'TestType'], id: 'urn:uuid:6275b6ff-2dd3-4655-af14-a6eccc616388', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', name: 'Postman Entity', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', name: 'Bianca', age: 30, }, proof: { type: 'JsonWebSignature2020', created: '2024-07-10T15:17:27.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlRlc3RUeXBlIl0sImlzc3VlciI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsIm5hbWUiOiJQb3N0bWFuIEVudGl0eSJ9LCJpZCI6InVybjp1dWlkOjYyNzViNmZmLTJkZDMtNDY1NS1hZjE0LWE2ZWNjYzYxNjM4OCIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwibmFtZSI6IkJpYW5jYSIsImFnZSI6MzB9LCJjcmVkZW50aWFsU2NoZW1hIjp7ImlkIjoiaHR0cHM6Ly9hcGktdGVzdC5lYnNpLmV1L3RydXN0ZWQtc2NoZW1hcy1yZWdpc3RyeS92Mi9zY2hlbWFzL3ozTWdVRlVrYjcyMnVxNHgzZHY1eUFKbW5ObXpERmVLNVVDOHg4M1FvZUxKTSIsInR5cGUiOiJGdWxsSnNvblNjaGVtYVZhbGlkYXRvcjIwMjEifSwidmFsaWRVbnRpbCI6IjIwMjQtMDctMDlUMTU6MTc6MjdaIiwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiU3RhdHVzTGlzdDIwMjFFbnRyeSIsImlkIjoiaHR0cHM6Ly9kZXYtc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvMjgyIzMyIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL2Rldi1zdHVkaW8udmlkY2hhaW4ubmV0L3ZpZGNyZWRlbnRpYWxzLXN0dWRpby9hcGkvdjEvc3RhdHVzLWxpc3QtY3JlZGVudGlhbC8yODIiLCJzdGF0dXNMaXN0SW5kZXgiOiIzMiIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjQtMDctMTBUMTU6MTc6MjdaIn0sImlzcyI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsImlhdCI6MTcyMDYyNDY0N30.AkF2w-dxpQY6eXI6Fqky8D47Kgl-TqWcxBDGkWBM5hiHb6o7HEzJJ6rYlXtCuzTxAQ0Yu84pkf5IM2HelzljDA', }, issuanceDate: '2024-07-10T15:17:27Z', validUntil: '2024-07-09T15:17:27Z', credentialStatus: { type: 'StatusList2021Entry', id: 'https://dev-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/282#32', statusListCredential: 'https://dev-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/282', statusListIndex: '32', statusPurpose: 'revocation', }, credentialSchema: { id: 'https://api-test.ebsi.eu/trusted-schemas-registry/v2/schemas/z3MgUFUkb722uq4x3dv5yAJmnNmzDFeK5UC8x83QoeLJM', type: 'FullJsonSchemaValidator2021', }, }, validations: [ { validationType: CredentialValidationTypes.Expiration, validationResult: ValidationResult.KO, validationResultDetails: 'urn:uuid:6275b6ff-2dd3-4655-af14-a6eccc616388 is expired', }, { validationType: CredentialValidationTypes.NotYetValid, validationResult: ValidationResult.OK, }, { validationType: CredentialValidationTypes.Revocation, validationResult: ValidationResult.OK, }, { validationType: CredentialValidationTypes.CredentialSignature, validationResult: ValidationResult.OK, }, ], }, ], }; const report = verifiablePresentationValidationReport.generate(); expect(report).toStrictEqual(expectedValidationReport); expect(result).toStrictEqual(expectedValidationResult); }); it('shows that one of the credentials is not yet valid', async () => { const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtickRRTlhZWWVUamJmU0tyTHJNQ0JySFh0amF4RGtiWnlDc3pkS0pTaTVxOXNVaFQyTW5SNVF5ZDk1cjFxQ1BLUUdUQWc4UDlWM1JHY2lCeDhyNjN6cnFNakVud0JDUW5CNXlaeFo5Zzd2UUtCWEFFejNXTHQzeXlya0NNWlpEcGF0dCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0In0.eyJpYXQiOjE3MjA3NzI2MjEsImV4cCI6NDg1OTc0MTcwMCwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwiYXVkIjoiaHR0cHMlM0ElMkYlMkZkZXYtc3R1ZGlvLnZpZGNoYWluLm5ldCUyRnZpZGNyZWRlbnRpYWxzLXN0dWRpbyUyRm9pZGM0dmMlMkZ2MSUyRnZlcmlmaWVyJTJGZTE5Y2VmNmEtODk3Yy00MDVmLTg1ZTItODlhNGVlYjlhN2Q2Iiwic3ViIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwibmJmIjoxNzIwNzcyNjIxLCJub25jZSI6IjIzYTk2YmRjLTg3N2EtNDVlYy04YmM3LWNmNWUyMGMyZGQ1YSIsImp0aSI6InVybjpkaWQ6ZTAwMDViZDctNWE3Yi00NTdmLTgxZjItZThmYTY1NGYwZmJlIiwidnAiOnsiaWQiOiJ1cm46ZGlkOmUwMDA1YmQ3LTVhN2ItNDU3Zi04MWYyLWU4ZmE2NTRmMGZiZSIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJdLCJob2xkZXIiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnJEUU5YWVllVGpiZlNLckxyTUNCckhYdGpheERrYlp5Q3N6ZEtKU2k1cTlzVWhUMk1uUjVReWQ5NXIxcUNQS1FHVEFnOFA5VjNSR2NpQng4cjYzenJxTWpFbndCQ1FuQjV5WnhaOWc3dlFLQlhBRXozV0x0M3l5cmtDTVpaRHBhdHQiLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6W3siQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiLCJodHRwczovL2FwaS52aWRjaGFpbi5uZXQvYXBpL3YxL2NvbnRleHRzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJUZXN0VHlwZSJdLCJpZCI6InVybjp1dWlkOjUwY2MzYzk1LWFjNzEtNDE2Yy04YzA0LTM3ZDE5ODc3OTNhZCIsImlzc3VlciI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsIm5hbWUiOiJQb3N0bWFuIEVudGl0eSJ9LCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtickRRTlhZWWVUamJmU0tyTHJNQ0JySFh0amF4RGtiWnlDc3pkS0pTaTVxOXNVaFQyTW5SNVF5ZDk1cjFxQ1BLUUdUQWc4UDlWM1JHY2lCeDhyNjN6cnFNakVud0JDUW5CNXlaeFo5Zzd2UUtCWEFFejNXTHQzeXlya0NNWlpEcGF0dCIsIm5hbWUiOiJCaWFuY2EiLCJhZ2UiOjMwfSwicHJvb2YiOnsidHlwZSI6Ikpzb25XZWJTaWduYXR1cmUyMDIwIiwiY3JlYXRlZCI6IjIwMjQtMDctMTFUMTQ6MTY6MDUuMDAwWiIsInByb29mUHVycG9zZSI6ImFzc2VydGlvbk1ldGhvZCIsInZlcmlmaWNhdGlvbk1ldGhvZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIiwiandzIjoiZXlKaGJHY2lPaUpGVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0lzSW10cFpDSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY1dGaGQwZFNTRGhNV0ZKUU1YRndhMkpvUVZOdVpFdElaV2xPU0doMmVtUmxhRTVtUjI1Q1oxbGtlWFZsYlhweGVGcFNURGx1TjJobldIbHdPV1JXUjBKYVVXMDBjRlp5VWs1SFl6RnhjbWxuWVUxQk5GTTVhRk5oVjIxVlkwRXpWVGxLVkdWbFIzVlpWbVpwUjB0bE9HWjRZMjh6ZWt4a1dISjJTemhyVkRWd1p5TjZNbVJ0ZWtRNE1XTm5VSGc0Vm10cE4wcGlkWFZOYlVaWmNsZFFaMWx2ZVhSNWExVmFNMlY1Y1doME1XbzVTMkp4WVdGM1IxSklPRXhZVWxBeGNYQnJZbWhCVTI1a1MwaGxhVTVJYUhaNlpHVm9UbVpIYmtKbldXUjVkV1Z0ZW5GNFdsSk1PVzQzYUdkWWVYQTVaRlpIUWxwUmJUUndWbkpTVGtkak1YRnlhV2RoVFVFMFV6bG9VMkZYYlZWalFUTlZPVXBVWldWSGRWbFdabWxIUzJVNFpuaGpiek42VEdSWWNuWkxPR3RVTlhCbkluMC5leUoyWXlJNmV5SkFZMjl1ZEdWNGRDSTZXeUpvZEhSd2N6b3ZMM2QzZHk1M015NXZjbWN2TWpBeE9DOWpjbVZrWlc1MGFXRnNjeTkyTVNJc0ltaDBkSEJ6T2k4dllYQnBMblpwWkdOb1lXbHVMbTVsZEM5aGNHa3ZkakV2WTI5dWRHVjRkSE12ZGpFaVhTd2lkSGx3WlNJNld5SldaWEpwWm1saFlteGxRM0psWkdWdWRHbGhiQ0lzSWxSbGMzUlVlWEJsSWwwc0ltbHpjM1ZsY2lJNmV5SnBaQ0k2SW1ScFpEcHJaWGs2ZWpKa2JYcEVPREZqWjFCNE9GWnJhVGRLWW5WMVRXMUdXWEpYVUdkWmIzbDBlV3RWV2pObGVYRm9kREZxT1V0aWNXRmhkMGRTU0RoTVdGSlFNWEZ3YTJKb1FWTnVaRXRJWldsT1NHaDJlbVJsYUU1bVIyNUNaMWxrZVhWbGJYcHhlRnBTVERsdU4yaG5XSGx3T1dSV1IwSmFVVzAwY0ZaeVVrNUhZekZ4Y21sbllVMUJORk01YUZOaFYyMVZZMEV6VlRsS1ZHVmxSM1ZaVm1acFIwdGxPR1o0WTI4emVreGtXSEoyU3poclZEVndaeUlzSW01aGJXVWlPaUpRYjNOMGJXRnVJRVZ1ZEdsMGVTSjlMQ0pwWkNJNkluVnlianAxZFdsa09qVXdZMk16WXprMUxXRmpOekV0TkRFMll5MDRZekEwTFRNM1pERTVPRGMzT1ROaFpDSXNJbU55WldSbGJuUnBZV3hUZFdKcVpXTjBJanA3SW1sa0lqb2laR2xrT210bGVUcDZNbVJ0ZWtRNE1XTm5VSGc0Vm10cE4wcGlkWFZOYlVaWmNsZFFaMWx2ZVhSNWExVmFNMlY1Y1doME1XbzVTMkp5UkZGT1dGbFpaVlJxWW1aVFMzSk1jazFEUW5KSVdIUnFZWGhFYTJKYWVVTnplbVJMU2xOcE5YRTVjMVZvVkRKTmJsSTFVWGxrT1RWeU1YRkRVRXRSUjFSQlp6aFFPVll6VWtkamFVSjRPSEkyTTNweWNVMXFSVzUzUWtOUmJrSTFlVnA0V2psbk4zWlJTMEpZUVVWNk0xZE1kRE41ZVhKclEwMWFXa1J3WVhSMElpd2libUZ0WlNJNklrSnBZVzVqWVNJc0ltRm5aU0k2TXpCOUxDSmpjbVZrWlc1MGFXRnNVMk5vWlcxaElqcDdJbWxrSWpvaWFIUjBjSE02THk5aGNHa3RkR1Z6ZEM1bFluTnBMbVYxTDNSeWRYTjBaV1F0YzJOb1pXMWhjeTF5WldkcGMzUnllUzkyTWk5elkyaGxiV0Z6TDNvelRXZFZSbFZyWWpjeU1uVnhOSGd6WkhZMWVVRktiVzVPYlhwRVJtVkxOVlZET0hnNE0xRnZaVXhLVFNJc0luUjVjR1VpT2lKR2RXeHNTbk52YmxOamFHVnRZVlpoYkdsa1lYUnZjakl3TWpFaWZTd2lZM0psWkdWdWRHbGhiRk4wWVhSMWN5STZleUowZVhCbElqb2lVM1JoZEhWelRHbHpkREl3TWpGRmJuUnllU0lzSW1sa0lqb2lhSFIwY0hNNkx5OWtaWFl0YzNSMVpHbHZMblpwWkdOb1lXbHVMbTVsZEM5MmFXUmpjbVZrWlc1MGFXRnNjeTF6ZEhWa2FXOHZZWEJwTDNZeEwzTjBZWFIxY3kxc2FYTjBMV055WldSbGJuUnBZV3d2TWpneUl6UXdJaXdpYzNSaGRIVnpUR2x6ZEVOeVpXUmxiblJwWVd3aU9pSm9kSFJ3Y3pvdkwyUmxkaTF6ZEhWa2FXOHVkbWxrWTJoaGFXNHVibVYwTDNacFpHTnlaV1JsYm5ScFlXeHpMWE4wZFdScGJ5OWhjR2t2ZGpFdmMzUmhkSFZ6TFd4cGMzUXRZM0psWkdWdWRHbGhiQzh5T0RJaUxDSnpkR0YwZFhOTWFYTjBTVzVrWlhnaU9pSTBNQ0lzSW5OMFlYUjFjMUIxY25CdmMyVWlPaUp5WlhadlkyRjBhVzl1SW4wc0ltbHpjM1ZoYm1ObFJHRjBaU0k2SWpJd01qUXRNRGN0TVRGVU1UUTZNVFk2TURWYUlpd2lkbUZzYVdSR2NtOXRJam9pTWpFeU5DMHdOUzB5TkZRd09Eb3hORG8xTlZvaWZTd2lhWE56SWpvaVpHbGtPbXRsZVRwNk1tUnRla1E0TVdOblVIZzRWbXRwTjBwaWRYVk5iVVpaY2xkUVoxbHZlWFI1YTFWYU0yVjVjV2gwTVdvNVMySnhZV0YzUjFKSU9FeFlVbEF4Y1hCclltaEJVMjVrUzBobGFVNUlhSFo2WkdWb1RtWkhia0puV1dSNWRXVnRlbkY0V2xKTU9XNDNhR2RZZVhBNVpGWkhRbHBSYlRSd1ZuSlNUa2RqTVhGeWFXZGhUVUUwVXpsb1UyRlhiVlZqUVROVk9VcFVaV1ZIZFZsV1ptbEhTMlU0Wm5oamJ6TjZUR1JZY25aTE9HdFVOWEJuSWl3aWFXRjBJam94TnpJd056QTNNelkxZlEuSVgzenVTalBMWkotYUVwTlQ4YzR0Vl9PMGExLWFjaU5MZDhrWHVxNmtvc3FIcjB6WXZ0ZENBMzRIeFBlRFpkbHdqcno2eVR1aUdnQWRTa2k5QWZVOVEifSwiaXNzdWFuY2VEYXRlIjoiMjAyNC0wNy0xMVQxNDoxNjowNVoiLCJ2YWxpZEZyb20iOiIyMTI0LTA1LTI0VDA4OjE0OjU1WiIsImNyZWRlbnRpYWxTdGF0dXMiOnsidHlwZSI6IlN0YXR1c0xpc3QyMDIxRW50cnkiLCJpZCI6Imh0dHBzOi8vZGV2LXN0dWRpby52aWRjaGFpbi5uZXQvdmlkY3JlZGVudGlhbHMtc3R1ZGlvL2FwaS92MS9zdGF0dXMtbGlzdC1jcmVkZW50aWFsLzI4MiM0MCIsInN0YXR1c0xpc3RDcmVkZW50aWFsIjoiaHR0cHM6Ly9kZXYtc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvMjgyIiwic3RhdHVzTGlzdEluZGV4IjoiNDAiLCJzdGF0dXNQdXJwb3NlIjoicmV2b2NhdGlvbiJ9LCJjcmVkZW50aWFsU2NoZW1hIjp7ImlkIjoiaHR0cHM6Ly9hcGktdGVzdC5lYnNpLmV1L3RydXN0ZWQtc2NoZW1hcy1yZWdpc3RyeS92Mi9zY2hlbWFzL3ozTWdVRlVrYjcyMnVxNHgzZHY1eUFKbW5ObXpERmVLNVVDOHg4M1FvZUxKTSIsInR5cGUiOiJGdWxsSnNvblNjaGVtYVZhbGlkYXRvcjIwMjEifX1dfX0.zKZYUEfhSj6baVwtOlHUOg-3ep0cb3asmEtX-uUSri6I8XRFr4NMguK2WiSO7ZAjZeXMpGQM0tR7_YJupLB38A', ], }; const dcqlQuery: DCQLQuery = { credentials: [ { id: 'query_0', format: 'ldp_vc', meta: { type_values: [['TestType']], }, }, ], }; const verifiablePresentationValidationReport = new VerifiablePresentationValidationReport(); const result = await validateDcqlVp( presentation, 'https%3A%2F%2Fdev-studio.vidchain.net%2Fvidcredentials-studio%2Foidc4vc%2Fv1%2Fverifier%2Fe19cef6a-897c-405f-85e2-89a4eeb9a7d6', { dcqlQuery, report: true, verifiablePresentationValidationReport, }, ); const decodedPresentation = { iat: 1720772621, exp: 4859741700, iss: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', aud: 'https%3A%2F%2Fdev-studio.vidchain.net%2Fvidcredentials-studio%2Foidc4vc%2Fv1%2Fverifier%2Fe19cef6a-897c-405f-85e2-89a4eeb9a7d6', sub: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', nbf: 1720772621, nonce: '23a96bdc-877a-45ec-8bc7-cf5e20c2dd5a', jti: 'urn:did:e0005bd7-5a7b-457f-81f2-e8fa654f0fbe', vp: { id: 'urn:did:e0005bd7-5a7b-457f-81f2-e8fa654f0fbe', '@context': ['https://www.w3.org/2018/credentials/v1'], type: ['VerifiablePresentation'], holder: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', verifiableCredential: [ { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], type: ['VerifiableCredential', 'TestType'], id: 'urn:uuid:50cc3c95-ac71-416c-8c04-37d1987793ad', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', name: 'Postman Entity', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', name: 'Bianca', age: 30, }, proof: { type: 'JsonWebSignature2020', created: '2024-07-11T14:16:05.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlRlc3RUeXBlIl0sImlzc3VlciI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsIm5hbWUiOiJQb3N0bWFuIEVudGl0eSJ9LCJpZCI6InVybjp1dWlkOjUwY2MzYzk1LWFjNzEtNDE2Yy04YzA0LTM3ZDE5ODc3OTNhZCIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwibmFtZSI6IkJpYW5jYSIsImFnZSI6MzB9LCJjcmVkZW50aWFsU2NoZW1hIjp7ImlkIjoiaHR0cHM6Ly9hcGktdGVzdC5lYnNpLmV1L3RydXN0ZWQtc2NoZW1hcy1yZWdpc3RyeS92Mi9zY2hlbWFzL3ozTWdVRlVrYjcyMnVxNHgzZHY1eUFKbW5ObXpERmVLNVVDOHg4M1FvZUxKTSIsInR5cGUiOiJGdWxsSnNvblNjaGVtYVZhbGlkYXRvcjIwMjEifSwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiU3RhdHVzTGlzdDIwMjFFbnRyeSIsImlkIjoiaHR0cHM6Ly9kZXYtc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvMjgyIzQwIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL2Rldi1zdHVkaW8udmlkY2hhaW4ubmV0L3ZpZGNyZWRlbnRpYWxzLXN0dWRpby9hcGkvdjEvc3RhdHVzLWxpc3QtY3JlZGVudGlhbC8yODIiLCJzdGF0dXNMaXN0SW5kZXgiOiI0MCIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjQtMDctMTFUMTQ6MTY6MDVaIiwidmFsaWRGcm9tIjoiMjEyNC0wNS0yNFQwODoxNDo1NVoifSwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIiwiaWF0IjoxNzIwNzA3MzY1fQ.IX3zuSjPLZJ-aEpNT8c4tV_O0a1-aciNLd8kXuq6kosqHr0zYvtdCA34HxPeDZdlwjrz6yTuiGgAdSki9AfU9Q', }, issuanceDate: '2024-07-11T14:16:05Z', validFrom: '2124-05-24T08:14:55Z', credentialStatus: { type: 'StatusList2021Entry', id: 'https://dev-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/282#40', statusListCredential: 'https://dev-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/282', statusListIndex: '40', statusPurpose: 'revocation', }, credentialSchema: { id: 'https://api-test.ebsi.eu/trusted-schemas-registry/v2/schemas/z3MgUFUkb722uq4x3dv5yAJmnNmzDFeK5UC8x83QoeLJM', type: 'FullJsonSchemaValidator2021', }, }, ], }, }; const expectedValidationResult = { valid: false, messages: [ 'urn:uuid:50cc3c95-ac71-416c-8c04-37d1987793ad is not yet valid', ], }; const expectedValidationReport: ValidationReport = { globalResult: { result: ValidationResult.KO, errorMessage: expectedValidationResult.messages.join(', '), }, verifiablePresentation: decodedPresentation, credentialsPresentedList: [ { verifiableCredential: { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], type: ['VerifiableCredential', 'TestType'], id: 'urn:uuid:50cc3c95-ac71-416c-8c04-37d1987793ad', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', name: 'Postman Entity', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', name: 'Bianca', age: 30, }, proof: { type: 'JsonWebSignature2020', created: '2024-07-11T14:16:05.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlRlc3RUeXBlIl0sImlzc3VlciI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsIm5hbWUiOiJQb3N0bWFuIEVudGl0eSJ9LCJpZCI6InVybjp1dWlkOjUwY2MzYzk1LWFjNzEtNDE2Yy04YzA0LTM3ZDE5ODc3OTNhZCIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwibmFtZSI6IkJpYW5jYSIsImFnZSI6MzB9LCJjcmVkZW50aWFsU2NoZW1hIjp7ImlkIjoiaHR0cHM6Ly9hcGktdGVzdC5lYnNpLmV1L3RydXN0ZWQtc2NoZW1hcy1yZWdpc3RyeS92Mi9zY2hlbWFzL3ozTWdVRlVrYjcyMnVxNHgzZHY1eUFKbW5ObXpERmVLNVVDOHg4M1FvZUxKTSIsInR5cGUiOiJGdWxsSnNvblNjaGVtYVZhbGlkYXRvcjIwMjEifSwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiU3RhdHVzTGlzdDIwMjFFbnRyeSIsImlkIjoiaHR0cHM6Ly9kZXYtc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvMjgyIzQwIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL2Rldi1zdHVkaW8udmlkY2hhaW4ubmV0L3ZpZGNyZWRlbnRpYWxzLXN0dWRpby9hcGkvdjEvc3RhdHVzLWxpc3QtY3JlZGVudGlhbC8yODIiLCJzdGF0dXNMaXN0SW5kZXgiOiI0MCIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjQtMDctMTFUMTQ6MTY6MDVaIiwidmFsaWRGcm9tIjoiMjEyNC0wNS0yNFQwODoxNDo1NVoifSwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIiwiaWF0IjoxNzIwNzA3MzY1fQ.IX3zuSjPLZJ-aEpNT8c4tV_O0a1-aciNLd8kXuq6kosqHr0zYvtdCA34HxPeDZdlwjrz6yTuiGgAdSki9AfU9Q', }, issuanceDate: '2024-07-11T14:16:05Z', validFrom: '2124-05-24T08:14:55Z', credentialStatus: { type: 'StatusList2021Entry', id: 'https://dev-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/282#40', statusListCredential: 'https://dev-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/282', statusListIndex: '40', statusPurpose: 'revocation', }, credentialSchema: { id: 'https://api-test.ebsi.eu/trusted-schemas-registry/v2/schemas/z3MgUFUkb722uq4x3dv5yAJmnNmzDFeK5UC8x83QoeLJM', type: 'FullJsonSchemaValidator2021', }, }, validations: [ { validationType: CredentialValidationTypes.Expiration, validationResult: ValidationResult.OK, }, { validationType: CredentialValidationTypes.NotYetValid, validationResult: ValidationResult.KO, validationResultDetails: 'urn:uuid:50cc3c95-ac71-416c-8c04-37d1987793ad is not yet valid', }, { validationType: CredentialValidationTypes.Revocation, validationResult: ValidationResult.OK, }, { validationType: CredentialValidationTypes.CredentialSignature, validationResult: ValidationResult.OK, }, ], }, ], }; const report = verifiablePresentationValidationReport.generate(); expect(report).toStrictEqual(expectedValidationReport); expect(result).toStrictEqual(expectedValidationResult); }); it('shows that one of the credentials is revoked', async () => { const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtickRRTlhZWWVUamJmU0tyTHJNQ0JySFh0amF4RGtiWnlDc3pkS0pTaTVxOXNVaFQyTW5SNVF5ZDk1cjFxQ1BLUUdUQWc4UDlWM1JHY2lCeDhyNjN6cnFNakVud0JDUW5CNXlaeFo5Zzd2UUtCWEFFejNXTHQzeXlya0NNWlpEcGF0dCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0In0.eyJpYXQiOjE3MjA2MjYzMDMsImV4cCI6NDg1OTc0MTcwMCwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwiYXVkIjoiaHR0cHMlM0ElMkYlMkZkZXYtc3R1ZGlvLnZpZGNoYWluLm5ldCUyRnZpZGNyZWRlbnRpYWxzLXN0dWRpbyUyRm9pZGM0dmMlMkZ2MSUyRnZlcmlmaWVyJTJGN2EzZGQ2ODQtMWVmNy00YWRjLTg0YjEtYTQ2ZDM2OTE4OWVmIiwic3ViIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwibmJmIjoxNzIwNjI2MzAzLCJub25jZSI6IjRiYjNkZjJjLTM5MTgtNDRjZC04MjZlLWUzYmRiMDY4Zjc5NyIsImp0aSI6InVybjpkaWQ6OGZmMmVlZDItZWE5Mi00ZWUzLWEzZWUtZmNjODY1ZTY1OTE2IiwidnAiOnsiaWQiOiJ1cm46ZGlkOjhmZjJlZWQyLWVhOTItNGVlMy1hM2VlLWZjYzg2NWU2NTkxNiIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJdLCJob2xkZXIiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnJEUU5YWVllVGpiZlNLckxyTUNCckhYdGpheERrYlp5Q3N6ZEtKU2k1cTlzVWhUMk1uUjVReWQ5NXIxcUNQS1FHVEFnOFA5VjNSR2NpQng4cjYzenJxTWpFbndCQ1FuQjV5WnhaOWc3dlFLQlhBRXozV0x0M3l5cmtDTVpaRHBhdHQiLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6W3siQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiLCJodHRwczovL2FwaS52aWRjaGFpbi5uZXQvYXBpL3YxL2NvbnRleHRzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJUZXN0VHlwZSJdLCJpZCI6InVybjp1dWlkOjRhZTBiY2RlLTUwM2QtNGU0OC1iOTBiLWYxNGM2YjllODY2ZCIsImlzc3VlciI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsIm5hbWUiOiJQb3N0bWFuIEVudGl0eSJ9LCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtickRRTlhZWWVUamJmU0tyTHJNQ0JySFh0amF4RGtiWnlDc3pkS0pTaTVxOXNVaFQyTW5SNVF5ZDk1cjFxQ1BLUUdUQWc4UDlWM1JHY2lCeDhyNjN6cnFNakVud0JDUW5CNXlaeFo5Zzd2UUtCWEFFejNXTHQzeXlya0NNWlpEcGF0dCIsIm5hbWUiOiJCaWFuY2EiLCJhZ2UiOjMwfSwicHJvb2YiOnsidHlwZSI6Ikpzb25XZWJTaWduYXR1cmUyMDIwIiwiY3JlYXRlZCI6IjIwMjQtMDctMTBUMTU6NDQ6MzUuMDAwWiIsInByb29mUHVycG9zZSI6ImFzc2VydGlvbk1ldGhvZCIsInZlcmlmaWNhdGlvbk1ldGhvZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIiwiandzIjoiZXlKaGJHY2lPaUpGVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0lzSW10cFpDSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY1dGaGQwZFNTRGhNV0ZKUU1YRndhMkpvUVZOdVpFdElaV2xPU0doMmVtUmxhRTVtUjI1Q1oxbGtlWFZsYlhweGVGcFNURGx1TjJobldIbHdPV1JXUjBKYVVXMDBjRlp5VWs1SFl6RnhjbWxuWVUxQk5GTTVhRk5oVjIxVlkwRXpWVGxLVkdWbFIzVlpWbVpwUjB0bE9HWjRZMjh6ZWt4a1dISjJTemhyVkRWd1p5TjZNbVJ0ZWtRNE1XTm5VSGc0Vm10cE4wcGlkWFZOYlVaWmNsZFFaMWx2ZVhSNWExVmFNMlY1Y1doME1XbzVTMkp4WVdGM1IxSklPRXhZVWxBeGNYQnJZbWhCVTI1a1MwaGxhVTVJYUhaNlpHVm9UbVpIYmtKbldXUjVkV1Z0ZW5GNFdsSk1PVzQzYUdkWWVYQTVaRlpIUWxwUmJUUndWbkpTVGtkak1YRnlhV2RoVFVFMFV6bG9VMkZYYlZWalFUTlZPVXBVWldWSGRWbFdabWxIUzJVNFpuaGpiek42VEdSWWNuWkxPR3RVTlhCbkluMC5leUoyWXlJNmV5SkFZMjl1ZEdWNGRDSTZXeUpvZEhSd2N6b3ZMM2QzZHk1M015NXZjbWN2TWpBeE9DOWpjbVZrWlc1MGFXRnNjeTkyTVNJc0ltaDBkSEJ6T2k4dllYQnBMblpwWkdOb1lXbHVMbTVsZEM5aGNHa3ZkakV2WTI5dWRHVjRkSE12ZGpFaVhTd2lkSGx3WlNJNld5SldaWEpwWm1saFlteGxRM0psWkdWdWRHbGhiQ0lzSWxSbGMzUlVlWEJsSWwwc0ltbHpjM1ZsY2lJNmV5SnBaQ0k2SW1ScFpEcHJaWGs2ZWpKa2JYcEVPREZqWjFCNE9GWnJhVGRLWW5WMVRXMUdXWEpYVUdkWmIzbDBlV3RWV2pObGVYRm9kREZxT1V0aWNXRmhkMGRTU0RoTVdGSlFNWEZ3YTJKb1FWTnVaRXRJWldsT1NHaDJlbVJsYUU1bVIyNUNaMWxrZVhWbGJYcHhlRnBTVERsdU4yaG5XSGx3T1dSV1IwSmFVVzAwY0ZaeVVrNUhZekZ4Y21sbllVMUJORk01YUZOaFYyMVZZMEV6VlRsS1ZHVmxSM1ZaVm1acFIwdGxPR1o0WTI4emVreGtXSEoyU3poclZEVndaeUlzSW01aGJXVWlPaUpRYjNOMGJXRnVJRVZ1ZEdsMGVTSjlMQ0pwWkNJNkluVnlianAxZFdsa09qUmhaVEJpWTJSbExUVXdNMlF0TkdVME9DMWlPVEJpTFdZeE5HTTJZamxsT0RZMlpDSXNJbU55WldSbGJuUnBZV3hUZFdKcVpXTjBJanA3SW1sa0lqb2laR2xrT210bGVUcDZNbVJ0ZWtRNE1XTm5VSGc0Vm10cE4wcGlkWFZOYlVaWmNsZFFaMWx2ZVhSNWExVmFNMlY1Y1doME1XbzVTMkp5UkZGT1dGbFpaVlJxWW1aVFMzSk1jazFEUW5KSVdIUnFZWGhFYTJKYWVVTnplbVJMU2xOcE5YRTVjMVZvVkRKTmJsSTFVWGxrT1RWeU1YRkRVRXRSUjFSQlp6aFFPVll6VWtkamFVSjRPSEkyTTNweWNVMXFSVzUzUWtOUmJrSTFlVnA0V2psbk4zWlJTMEpZUVVWNk0xZE1kRE41ZVhKclEwMWFXa1J3WVhSMElpd2libUZ0WlNJNklrSnBZVzVqWVNJc0ltRm5aU0k2TXpCOUxDSmpjbVZrWlc1MGFXRnNVMk5vWlcxaElqcDdJbWxrSWpvaWFIUjBjSE02THk5aGNHa3RkR1Z6ZEM1bFluTnBMbVYxTDNSeWRYTjBaV1F0YzJOb1pXMWhjeTF5WldkcGMzUnllUzkyTWk5elkyaGxiV0Z6TDNvelRXZFZSbFZyWWpjeU1uVnhOSGd6WkhZMWVVRktiVzVPYlhwRVJtVkxOVlZET0hnNE0xRnZaVXhLVFNJc0luUjVjR1VpT2lKR2RXeHNTbk52YmxOamFHVnRZVlpoYkdsa1lYUnZjakl3TWpFaWZTd2lZM0psWkdWdWRHbGhiRk4wWVhSMWN5STZleUowZVhCbElqb2lVM1JoZEhWelRHbHpkREl3TWpGRmJuUnllU0lzSW1sa0lqb2lhSFIwY0hNNkx5OWtaWFl0YzNSMVpHbHZMblpwWkdOb1lXbHVMbTVsZEM5MmFXUmpjbVZrWlc1MGFXRnNjeTF6ZEhWa2FXOHZZWEJwTDNZeEwzTjBZWFIxY3kxc2FYTjBMV055WldSbGJuUnBZV3d2TWpneUl6TXpJaXdpYzNSaGRIVnpUR2x6ZEVOeVpXUmxiblJwWVd3aU9pSm9kSFJ3Y3pvdkwyUmxkaTF6ZEhWa2FXOHVkbWxrWTJoaGFXNHVibVYwTDNacFpHTnlaV1JsYm5ScFlXeHpMWE4wZFdScGJ5OWhjR2t2ZGpFdmMzUmhkSFZ6TFd4cGMzUXRZM0psWkdWdWRHbGhiQzh5T0RJaUxDSnpkR0YwZFhOTWFYTjBTVzVrWlhnaU9pSXpNeUlzSW5OMFlYUjFjMUIxY25CdmMyVWlPaUp5WlhadlkyRjBhVzl1SW4wc0ltbHpjM1ZoYm1ObFJHRjBaU0k2SWpJd01qUXRNRGN0TVRCVU1UVTZORFE2TXpWYUluMHNJbWx6Y3lJNkltUnBaRHByWlhrNmVqSmtiWHBFT0RGaloxQjRPRlpyYVRkS1luVjFUVzFHV1hKWFVHZFpiM2wwZVd0VldqTmxlWEZvZERGcU9VdGljV0ZoZDBkU1NEaE1XRkpRTVhGd2EySm9RVk51WkV0SVpXbE9TR2gyZW1SbGFFNW1SMjVDWjFsa2VYVmxiWHB4ZUZwU1REbHVOMmhuV0hsd09XUldSMEphVVcwMGNGWnlVazVIWXpGeGNtbG5ZVTFCTkZNNWFGTmhWMjFWWTBFelZUbEtWR1ZsUjNWWlZtWnBSMHRsT0daNFkyOHpla3hrV0hKMlN6aHJWRFZ3WnlJc0ltbGhkQ0k2TVRjeU1EWXlOakkzTlgwLm1wWlJMeFJaV2lTTWJtYlQ3Nmp2Wkg3UkVBWUo2XzZudlRJdzllbEs3NWJtajEtOFAxbVhkS2Z6RTlXcEE2dEc1RHVEaHBpbUNYYzJrZkpNWUdEMDBnIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjQtMDctMTBUMTU6NDQ6MzVaIiwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiU3RhdHVzTGlzdDIwMjFFbnRyeSIsImlkIjoiaHR0cHM6Ly9kZXYtc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvMjgyIzMzIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL2Rldi1zdHVkaW8udmlkY2hhaW4ubmV0L3ZpZGNyZWRlbnRpYWxzLXN0dWRpby9hcGkvdjEvc3RhdHVzLWxpc3QtY3JlZGVudGlhbC8yODIiLCJzdGF0dXNMaXN0SW5kZXgiOiIzMyIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIn0sImNyZWRlbnRpYWxTY2hlbWEiOnsiaWQiOiJodHRwczovL2FwaS10ZXN0LmVic2kuZXUvdHJ1c3RlZC1zY2hlbWFzLXJlZ2lzdHJ5L3YyL3NjaGVtYXMvejNNZ1VGVWtiNzIydXE0eDNkdjV5QUptbk5tekRGZUs1VUM4eDgzUW9lTEpNIiwidHlwZSI6IkZ1bGxKc29uU2NoZW1hVmFsaWRhdG9yMjAyMSJ9fV19fQ.rEtd3iXjRJXcDHfK8ol7OzJsdOyqTYquGNuNyzRSM4pWFBy2klLMOF-fD_AUg1XBIG7onXKhvpQ3KZBSYkjZZQ', ], }; const dcqlQuery: DCQLQuery = { credentials: [ { id: 'query_0', format: 'ldp_vc', meta: { type_values: [['TestType']], }, }, ], }; const verifiablePresentationValidationReport = new VerifiablePresentationValidationReport(); const result = await validateDcqlVp( presentation, 'https%3A%2F%2Fdev-studio.vidchain.net%2Fvidcredentials-studio%2Foidc4vc%2Fv1%2Fverifier%2F7a3dd684-1ef7-4adc-84b1-a46d369189ef', { dcqlQuery, report: true, verifiablePresentationValidationReport, }, ); const decodedPresentation = { iat: 1720626303, exp: 4859741700, iss: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', aud: 'https%3A%2F%2Fdev-studio.vidchain.net%2Fvidcredentials-studio%2Foidc4vc%2Fv1%2Fverifier%2F7a3dd684-1ef7-4adc-84b1-a46d369189ef', sub: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', nbf: 1720626303, nonce: '4bb3df2c-3918-44cd-826e-e3bdb068f797', jti: 'urn:did:8ff2eed2-ea92-4ee3-a3ee-fcc865e65916', vp: { id: 'urn:did:8ff2eed2-ea92-4ee3-a3ee-fcc865e65916', '@context': ['https://www.w3.org/2018/credentials/v1'], type: ['VerifiablePresentation'], holder: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', verifiableCredential: [ { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], type: ['VerifiableCredential', 'TestType'], id: 'urn:uuid:4ae0bcde-503d-4e48-b90b-f14c6b9e866d', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', name: 'Postman Entity', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', name: 'Bianca', age: 30, }, proof: { type: 'JsonWebSignature2020', created: '2024-07-10T15:44:35.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlRlc3RUeXBlIl0sImlzc3VlciI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsIm5hbWUiOiJQb3N0bWFuIEVudGl0eSJ9LCJpZCI6InVybjp1dWlkOjRhZTBiY2RlLTUwM2QtNGU0OC1iOTBiLWYxNGM2YjllODY2ZCIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwibmFtZSI6IkJpYW5jYSIsImFnZSI6MzB9LCJjcmVkZW50aWFsU2NoZW1hIjp7ImlkIjoiaHR0cHM6Ly9hcGktdGVzdC5lYnNpLmV1L3RydXN0ZWQtc2NoZW1hcy1yZWdpc3RyeS92Mi9zY2hlbWFzL3ozTWdVRlVrYjcyMnVxNHgzZHY1eUFKbW5ObXpERmVLNVVDOHg4M1FvZUxKTSIsInR5cGUiOiJGdWxsSnNvblNjaGVtYVZhbGlkYXRvcjIwMjEifSwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiU3RhdHVzTGlzdDIwMjFFbnRyeSIsImlkIjoiaHR0cHM6Ly9kZXYtc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvMjgyIzMzIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL2Rldi1zdHVkaW8udmlkY2hhaW4ubmV0L3ZpZGNyZWRlbnRpYWxzLXN0dWRpby9hcGkvdjEvc3RhdHVzLWxpc3QtY3JlZGVudGlhbC8yODIiLCJzdGF0dXNMaXN0SW5kZXgiOiIzMyIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjQtMDctMTBUMTU6NDQ6MzVaIn0sImlzcyI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsImlhdCI6MTcyMDYyNjI3NX0.mpZRLxRZWiSMbmbT76jvZH7REAYJ6_6nvTIw9elK75bmj1-8P1mXdKfzE9WpA6tG5DuDhpimCXc2kfJMYGD00g', }, issuanceDate: '2024-07-10T15:44:35Z', credentialStatus: { type: 'StatusList2021Entry', id: 'https://dev-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/282#33', statusListCredential: 'https://dev-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/282', statusListIndex: '33', statusPurpose: 'revocation', }, credentialSchema: { id: 'https://api-test.ebsi.eu/trusted-schemas-registry/v2/schemas/z3MgUFUkb722uq4x3dv5yAJmnNmzDFeK5UC8x83QoeLJM', type: 'FullJsonSchemaValidator2021', }, }, ], }, }; const expectedValidationResult = { valid: false, messages: [ 'urn:uuid:4ae0bcde-503d-4e48-b90b-f14c6b9e866d is revoked', ], }; const expectedValidationReport: ValidationReport = { globalResult: { result: ValidationResult.KO, errorMessage: expectedValidationResult.messages.join(', '), }, verifiablePresentation: decodedPresentation, credentialsPresentedList: [ { verifiableCredential: { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], type: ['VerifiableCredential', 'TestType'], id: 'urn:uuid:4ae0bcde-503d-4e48-b90b-f14c6b9e866d', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', name: 'Postman Entity', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', name: 'Bianca', age: 30, }, proof: { type: 'JsonWebSignature2020', created: '2024-07-10T15:44:35.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlRlc3RUeXBlIl0sImlzc3VlciI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsIm5hbWUiOiJQb3N0bWFuIEVudGl0eSJ9LCJpZCI6InVybjp1dWlkOjRhZTBiY2RlLTUwM2QtNGU0OC1iOTBiLWYxNGM2YjllODY2ZCIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwibmFtZSI6IkJpYW5jYSIsImFnZSI6MzB9LCJjcmVkZW50aWFsU2NoZW1hIjp7ImlkIjoiaHR0cHM6Ly9hcGktdGVzdC5lYnNpLmV1L3RydXN0ZWQtc2NoZW1hcy1yZWdpc3RyeS92Mi9zY2hlbWFzL3ozTWdVRlVrYjcyMnVxNHgzZHY1eUFKbW5ObXpERmVLNVVDOHg4M1FvZUxKTSIsInR5cGUiOiJGdWxsSnNvblNjaGVtYVZhbGlkYXRvcjIwMjEifSwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiU3RhdHVzTGlzdDIwMjFFbnRyeSIsImlkIjoiaHR0cHM6Ly9kZXYtc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvMjgyIzMzIiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL2Rldi1zdHVkaW8udmlkY2hhaW4ubmV0L3ZpZGNyZWRlbnRpYWxzLXN0dWRpby9hcGkvdjEvc3RhdHVzLWxpc3QtY3JlZGVudGlhbC8yODIiLCJzdGF0dXNMaXN0SW5kZXgiOiIzMyIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjQtMDctMTBUMTU6NDQ6MzVaIn0sImlzcyI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsImlhdCI6MTcyMDYyNjI3NX0.mpZRLxRZWiSMbmbT76jvZH7REAYJ6_6nvTIw9elK75bmj1-8P1mXdKfzE9WpA6tG5DuDhpimCXc2kfJMYGD00g', }, issuanceDate: '2024-07-10T15:44:35Z', credentialStatus: { type: 'StatusList2021Entry', id: 'https://dev-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/282#33', statusListCredential: 'https://dev-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/282', statusListIndex: '33', statusPurpose: 'revocation', }, credentialSchema: { id: 'https://api-test.ebsi.eu/trusted-schemas-registry/v2/schemas/z3MgUFUkb722uq4x3dv5yAJmnNmzDFeK5UC8x83QoeLJM', type: 'FullJsonSchemaValidator2021', }, }, validations: [ { validationType: CredentialValidationTypes.Expiration, validationResult: ValidationResult.OK, }, { validationType: CredentialValidationTypes.NotYetValid, validationResult: ValidationResult.OK, }, { validationType: CredentialValidationTypes.Revocation, validationResultDetails: 'urn:uuid:4ae0bcde-503d-4e48-b90b-f14c6b9e866d is revoked', validationResult: ValidationResult.KO, }, { validationType: CredentialValidationTypes.CredentialSignature, validationResult: ValidationResult.OK, }, ], }, ], }; const report = verifiablePresentationValidationReport.generate(); expect(report).toStrictEqual(expectedValidationReport); expect(result).toStrictEqual(expectedValidationResult); }); it('shows that one of the credentials signature is not valid', async () => { const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtickRRTlhZWWVUamJmU0tyTHJNQ0JySFh0amF4RGtiWnlDc3pkS0pTaTVxOXNVaFQyTW5SNVF5ZDk1cjFxQ1BLUUdUQWc4UDlWM1JHY2lCeDhyNjN6cnFNakVud0JDUW5CNXlaeFo5Zzd2UUtCWEFFejNXTHQzeXlya0NNWlpEcGF0dCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0In0.eyJpYXQiOjE3MjA2ODkzNzIsImV4cCI6NDg1OTc0MTcwMCwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwiYXVkIjoiaHR0cHMlM0ElMkYlMkZkZXYtc3R1ZGlvLnZpZGNoYWluLm5ldCUyRnZpZGNyZWRlbnRpYWxzLXN0dWRpbyUyRm9pZGM0dmMlMkZ2MSUyRnZlcmlmaWVyJTJGNGUwMGQ5ZWItZjhkOC00NTdkLTljNjctY2VjNmZkMmM4MDFiIiwic3ViIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwibmJmIjoxNzIwNjg5MzcyLCJub25jZSI6IjAxMGE5NWFhLTIwNWEtNGMxMi1iOWVlLTk3ZDI1ZTJkMmM1NyIsImp0aSI6InVybjpkaWQ6Y2Q0ZTNiYjUtZWI5NC00MmQ4LWJiNjctMTY3MTQwMTJmYmJjIiwidnAiOnsiaWQiOiJ1cm46ZGlkOmNkNGUzYmI1LWViOTQtNDJkOC1iYjY3LTE2NzE0MDEyZmJiYyIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJdLCJob2xkZXIiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnJEUU5YWVllVGpiZlNLckxyTUNCckhYdGpheERrYlp5Q3N6ZEtKU2k1cTlzVWhUMk1uUjVReWQ5NXIxcUNQS1FHVEFnOFA5VjNSR2NpQng4cjYzenJxTWpFbndCQ1FuQjV5WnhaOWc3dlFLQlhBRXozV0x0M3l5cmtDTVpaRHBhdHQiLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6W3siQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiLCJodHRwczovL2FwaS52aWRjaGFpbi5uZXQvYXBpL3YxL2NvbnRleHRzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJUZXN0VHlwZSJdLCJpZCI6InVybjp1dWlkOjIzNmUxNGYxLWY5MWQtNDhjMi1iYTBiLTc0MWRiZjk5YmExOCIsImlzc3VlciI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsIm5hbWUiOiJQb3N0bWFuIEVudGl0eSJ9LCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtickRRTlhZWWVUamJmU0tyTHJNQ0JySFh0amF4RGtiWnlDc3pkS0pTaTVxOXNVaFQyTW5SNVF5ZDk1cjFxQ1BLUUdUQWc4UDlWM1JHY2lCeDhyNjN6cnFNakVud0JDUW5CNXlaeFo5Zzd2UUtCWEFFejNXTHQzeXlya0NNWlpEcGF0dCIsIm5hbWUiOiJCaWFuY2EiLCJhZ2UiOjMwfSwicHJvb2YiOnsidHlwZSI6Ikpzb25XZWJTaWduYXR1cmUyMDIwIiwiY3JlYXRlZCI6IjIwMjQtMDctMTBUMTM6NDE6MjcuMDAwWiIsInByb29mUHVycG9zZSI6ImFzc2VydGlvbk1ldGhvZCIsInZlcmlmaWNhdGlvbk1ldGhvZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIiwiandzIjoiZXlKaGJHY2lPaUpGVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0lzSW10cFpDSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY1dGaGQwZFNTRGhNV0ZKUU1YRndhMkpvUVZOdVpFdElaV2xPU0doMmVtUmxhRTVtUjI1Q1oxbGtlWFZsYlhweGVGcFNURGx1TjJobldIbHdPV1JXUjBKYVVXMDBjRlp5VWs1SFl6RnhjbWxuWVUxQk5GTTVhRk5oVjIxVlkwRXpWVGxLVkdWbFIzVlpWbVpwUjB0bE9HWjRZMjh6ZWt4a1dISjJTemhyVkRWd1p5TjZNbVJ0ZWtRNE1XTm5VSGc0Vm10cE4wcGlkWFZOYlVaWmNsZFFaMWx2ZVhSNWExVmFNMlY1Y1doME1XbzVTMkp4WVdGM1IxSklPRXhZVWxBeGNYQnJZbWhCVTI1a1MwaGxhVTVJYUhaNlpHVm9UbVpIYmtKbldXUjVkV1Z0ZW5GNFdsSk1PVzQzYUdkWWVYQTVaRlpIUWxwUmJUUndWbkpTVGtkak1YRnlhV2RoVFVFMFV6bG9VMkZYYlZWalFUTlZPVXBVWldWSGRWbFdabWxIUzJVNFpuaGpiek42VEdSWWNuWkxPR3RVTlhCbkluMC5ld29nSUNKMll5STZJSHNLSUNBZ0lDSkFZMjl1ZEdWNGRDSTZJRnNLSUNBZ0lDQWdJbWgwZEhCek9pOHZkM2QzTG5jekxtOXlaeTh5TURFNEwyTnlaV1JsYm5ScFlXeHpMM1l4SWl3S0lDQWdJQ0FnSW1oMGRIQnpPaTh2WVhCcExuWnBaR05vWVdsdUxtNWxkQzloY0drdmRqRXZZMjl1ZEdWNGRITXZkakVpQ2lBZ0lDQmRMQW9nSUNBZ0luUjVjR1VpT2lCYkNpQWdJQ0FnSUNKV1pYSnBabWxoWW14bFEzSmxaR1Z1ZEdsaGJDSXNDaUFnSUNBZ0lDSlVaWE4wVkhsd1pTSUtJQ0FnSUYwc0NpQWdJQ0FpYVhOemRXVnlJam9nZXdvZ0lDQWdJQ0FpYVdRaU9pQWlaR2xrT210bGVUcDZNbVJ0ZWtRNE1XTm5VSGc0Vm10cE4wcGlkWFZOYlVaWmNsZFFaMWx2ZVhSNWExVmFNMlY1Y1doME1XbzVTMkp4WVdGM1IxSklPRXhZVWxBeGNYQnJZbWhCVTI1a1MwaGxhVTVJYUhaNlpHVm9UbVpIYmtKbldXUjVkV1Z0ZW5GNFdsSk1PVzQzYUdkWWVYQTVaRlpIUWxwUmJUUndWbkpTVGtkak1YRnlhV2RoVFVFMFV6bG9VMkZYYlZWalFUTlZPVXBVWldWSGRWbFdabWxIUzJVNFpuaGpiek42VEdSWWNuWkxPR3RVTlhCbklpd0tJQ0FnSUNBZ0ltNWhiV1VpT2lBaVVHOXpkRzFoYmlCRmJuUnBkSGtpQ2lBZ0lDQjlMQW9nSUNBZ0ltbGtJam9nSW5WeWJqcDFkV2xrT2pJek5tVXhOR1l4TFdZNU1XUXRORGhqTWkxaVlUQmlMVGMwTVdSaVpqazVZbUV4T0NJc0NpQWdJQ0FpWTNKbFpHVnVkR2xoYkZOMVltcGxZM1FpT2lCN0NpQWdJQ0FnSUNKcFpDSTZJQ0prYVdRNmEyVjVPbm95WkcxNlJEZ3hZMmRRZURoV2EyazNTbUoxZFUxdFJsbHlWMUJuV1c5NWRIbHJWVm96WlhseGFIUXhhamxMWW5KRVVVNVlXVmxsVkdwaVpsTkxja3h5VFVOQ2NraFlkR3BoZUVScllscDVRM042WkV0S1UyazFjVGx6VldoVU1rMXVValZSZVdRNU5YSXhjVU5RUzFGSFZFRm5PRkE1VmpOU1IyTnBRbmc0Y2pZemVuSnhUV3BGYm5kQ1ExRnVRalY1V25oYU9XYzNkbEZMUWxoQlJYb3pWMHgwTTNsNWNtdERUVnBhUkhCaGRIUWlMQW9nSUNBZ0lDQWlibUZ0WlNJNklDSkNhV0Z1WTJFaUxBb2dJQ0FnSUNBaVlXZGxJam9nTXpBS0lDQWdJSDBzQ2lBZ0lDQWlZM0psWkdWdWRHbGhiRk5qYUdWdFlTSTZJSHNLSUNBZ0lDQWdJbWxrSWpvZ0ltaDBkSEJ6T2k4dllYQnBMWFJsYzNRdVpXSnphUzVsZFM5MGNuVnpkR1ZrTFhOamFHVnRZWE10Y21WbmFYTjBjbmt2ZGpJdmMyTm9aVzFoY3k5Nk0wMW5WVVpWYTJJM01qSjFjVFI0TTJSMk5YbEJTbTF1VG0xNlJFWmxTelZWUXpoNE9ETlJiMlZNU2swaUxBb2dJQ0FnSUNBaWRIbHdaU0k2SUNKR2RXeHNTbk52YmxOamFHVnRZVlpoYkdsa1lYUnZjakl3TWpFaUNpQWdJQ0I5TEFvZ0lDQWdJbU55WldSbGJuUnBZV3hUZEdGMGRYTWlPaUI3Q2lBZ0lDQWdJQ0owZVhCbElqb2dJbE4wWVhSMWMweHBjM1F5TURJeFJXNTBjbmtpTEFvZ0lDQWdJQ0FpYVdRaU9pQWlhSFIwY0hNNkx5OWtaWFl1ZG1sa1kyaGhhVzR1Ym1WMEwyRndhUzkyTVM5eVpYWnZZMkYwYVc5dUwzTjBZWFIxY3kxc2FYTjBMekk0TWlNeU5DSXNDaUFnSUNBZ0lDSnpkR0YwZFhOTWFYTjBRM0psWkdWdWRHbGhiQ0k2SUNKb2RIUndjem92TDJSbGRpNTJhV1JqYUdGcGJpNXVaWFF2WVhCcEwzWXhMM0psZG05allYUnBiMjR2YzNSaGRIVnpMV3hwYzNRdk1qZ3lJaXdLSUNBZ0lDQWdJbk4wWVhSMWMweHBjM1JKYm1SbGVDSTZJQ0l5TkNJc0NpQWdJQ0FnSUNKemRHRjBkWE5RZFhKd2IzTmxJam9nSW5KbGRtOWpZWFJwYjI1eklnb2dJQ0FnZlN3S0lDQWdJQ0pwYzNOMVlXNWpaVVJoZEdVaU9pQWlNakF5TkMwd055MHhNRlF4TXpvME1Ub3lOMW9pQ2lBZ2ZTd0tJQ0FpYVhOeklqb2dJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY1dGaGQwZFNTRGhNV0ZKUU1YRndhMkpvUVZOdVpFdElaV2xPU0doMmVtUmxhRTVtUjI1Q1oxbGtlWFZsYlhweGVGcFNURGx1TjJobldIbHdPV1JXUjBKYVVXMDBjRlp5VWs1SFl6RnhjbWxuWVUxQk5GTTVhRk5oVjIxVlkwRXpWVGxLVkdWbFIzVlpWbVpwUjB0bE9HWjRZMjh6ZWt4a1dISjJTemhyVkRWd1p5SXNDaUFnSW1saGRDSTZJREUzTWpBMk1UZzRPRGNLZlE9PS5NVG1qUjVxYUhYcXFya1ltU2dyUnRfQzFKSUgzV09uWXNPeTRvVGNkc1BYRllnNUhoeHhtczhJRk1ZLTF0SmJQUTgwREJCcEpNSlNhVWJUUDRLZmRMdyJ9LCJpc3N1YW5jZURhdGUiOiIyMDI0LTA3LTEwVDEzOjQxOjI3WiIsImNyZWRlbnRpYWxTdGF0dXMiOnsidHlwZSI6IlN0YXR1c0xpc3QyMDIxRW50cnkiLCJpZCI6Imh0dHBzOi8vZGV2LnZpZGNoYWluLm5ldC9hcGkvdjEvcmV2b2NhdGlvbi9zdGF0dXMtbGlzdC8yODIjMjQiLCJzdGF0dXNMaXN0Q3JlZGVudGlhbCI6Imh0dHBzOi8vZGV2LnZpZGNoYWluLm5ldC9hcGkvdjEvcmV2b2NhdGlvbi9zdGF0dXMtbGlzdC8yODIiLCJzdGF0dXNMaXN0SW5kZXgiOiIyNCIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9ucyJ9LCJjcmVkZW50aWFsU2NoZW1hIjp7ImlkIjoiaHR0cHM6Ly9hcGktdGVzdC5lYnNpLmV1L3RydXN0ZWQtc2NoZW1hcy1yZWdpc3RyeS92Mi9zY2hlbWFzL3ozTWdVRlVrYjcyMnVxNHgzZHY1eUFKbW5ObXpERmVLNVVDOHg4M1FvZUxKTSIsInR5cGUiOiJGdWxsSnNvblNjaGVtYVZhbGlkYXRvcjIwMjEifX1dfX0.Erxix5wzThM_QG4ttZV76wMgcx2UlRBzLGi2X1VI80OHrLdpckm9GnkBjAK9EiTfo2i6VAdU96RkS8RVBCyWdQ', ], }; const dcqlQuery: DCQLQuery = { credentials: [ { id: 'query_0', format: 'ldp_vc', meta: { type_values: [['TestType']], }, }, ], }; const verifiablePresentationValidationReport = new VerifiablePresentationValidationReport(); const result = await validateDcqlVp( presentation, 'https%3A%2F%2Fdev-studio.vidchain.net%2Fvidcredentials-studio%2Foidc4vc%2Fv1%2Fverifier%2F4e00d9eb-f8d8-457d-9c67-cec6fd2c801b', { dcqlQuery, report: true, verifiablePresentationValidationReport, }, ); const decodedPresentation = { iat: 1720689372, exp: 4859741700, iss: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', aud: 'https%3A%2F%2Fdev-studio.vidchain.net%2Fvidcredentials-studio%2Foidc4vc%2Fv1%2Fverifier%2F4e00d9eb-f8d8-457d-9c67-cec6fd2c801b', sub: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', nbf: 1720689372, nonce: '010a95aa-205a-4c12-b9ee-97d25e2d2c57', jti: 'urn:did:cd4e3bb5-eb94-42d8-bb67-16714012fbbc', vp: { id: 'urn:did:cd4e3bb5-eb94-42d8-bb67-16714012fbbc', '@context': ['https://www.w3.org/2018/credentials/v1'], type: ['VerifiablePresentation'], holder: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', verifiableCredential: [ { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], type: ['VerifiableCredential', 'TestType'], id: 'urn:uuid:236e14f1-f91d-48c2-ba0b-741dbf99ba18', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', name: 'Postman Entity', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', name: 'Bianca', age: 30, }, proof: { type: 'JsonWebSignature2020', created: '2024-07-10T13:41:27.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIn0.ewogICJ2YyI6IHsKICAgICJAY29udGV4dCI6IFsKICAgICAgImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIiwKICAgICAgImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiCiAgICBdLAogICAgInR5cGUiOiBbCiAgICAgICJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsCiAgICAgICJUZXN0VHlwZSIKICAgIF0sCiAgICAiaXNzdWVyIjogewogICAgICAiaWQiOiAiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIiwKICAgICAgIm5hbWUiOiAiUG9zdG1hbiBFbnRpdHkiCiAgICB9LAogICAgImlkIjogInVybjp1dWlkOjIzNmUxNGYxLWY5MWQtNDhjMi1iYTBiLTc0MWRiZjk5YmExOCIsCiAgICAiY3JlZGVudGlhbFN1YmplY3QiOiB7CiAgICAgICJpZCI6ICJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnJEUU5YWVllVGpiZlNLckxyTUNCckhYdGpheERrYlp5Q3N6ZEtKU2k1cTlzVWhUMk1uUjVReWQ5NXIxcUNQS1FHVEFnOFA5VjNSR2NpQng4cjYzenJxTWpFbndCQ1FuQjV5WnhaOWc3dlFLQlhBRXozV0x0M3l5cmtDTVpaRHBhdHQiLAogICAgICAibmFtZSI6ICJCaWFuY2EiLAogICAgICAiYWdlIjogMzAKICAgIH0sCiAgICAiY3JlZGVudGlhbFNjaGVtYSI6IHsKICAgICAgImlkIjogImh0dHBzOi8vYXBpLXRlc3QuZWJzaS5ldS90cnVzdGVkLXNjaGVtYXMtcmVnaXN0cnkvdjIvc2NoZW1hcy96M01nVUZVa2I3MjJ1cTR4M2R2NXlBSm1uTm16REZlSzVVQzh4ODNRb2VMSk0iLAogICAgICAidHlwZSI6ICJGdWxsSnNvblNjaGVtYVZhbGlkYXRvcjIwMjEiCiAgICB9LAogICAgImNyZWRlbnRpYWxTdGF0dXMiOiB7CiAgICAgICJ0eXBlIjogIlN0YXR1c0xpc3QyMDIxRW50cnkiLAogICAgICAiaWQiOiAiaHR0cHM6Ly9kZXYudmlkY2hhaW4ubmV0L2FwaS92MS9yZXZvY2F0aW9uL3N0YXR1cy1saXN0LzI4MiMyNCIsCiAgICAgICJzdGF0dXNMaXN0Q3JlZGVudGlhbCI6ICJodHRwczovL2Rldi52aWRjaGFpbi5uZXQvYXBpL3YxL3Jldm9jYXRpb24vc3RhdHVzLWxpc3QvMjgyIiwKICAgICAgInN0YXR1c0xpc3RJbmRleCI6ICIyNCIsCiAgICAgICJzdGF0dXNQdXJwb3NlIjogInJldm9jYXRpb25zIgogICAgfSwKICAgICJpc3N1YW5jZURhdGUiOiAiMjAyNC0wNy0xMFQxMzo0MToyN1oiCiAgfSwKICAiaXNzIjogImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsCiAgImlhdCI6IDE3MjA2MTg4ODcKfQ==.MTmjR5qaHXqqrkYmSgrRt_C1JIH3WOnYsOy4oTcdsPXFYg5Hhxxms8IFMY-1tJbPQ80DBBpJMJSaUbTP4KfdLw', }, issuanceDate: '2024-07-10T13:41:27Z', credentialStatus: { type: 'StatusList2021Entry', id: 'https://dev.vidchain.net/api/v1/revocation/status-list/282#24', statusListCredential: 'https://dev.vidchain.net/api/v1/revocation/status-list/282', statusListIndex: '24', statusPurpose: 'revocations', }, credentialSchema: { id: 'https://api-test.ebsi.eu/trusted-schemas-registry/v2/schemas/z3MgUFUkb722uq4x3dv5yAJmnNmzDFeK5UC8x83QoeLJM', type: 'FullJsonSchemaValidator2021', }, }, ], }, }; const expectedValidationResult = { valid: false, messages: [ 'urn:uuid:236e14f1-f91d-48c2-ba0b-741dbf99ba18 signature is not correct', ], }; const expectedValidationReport: ValidationReport = { globalResult: { result: ValidationResult.KO, errorMessage: expectedValidationResult.messages.join(', '), }, verifiablePresentation: decodedPresentation, credentialsPresentedList: [ { verifiableCredential: { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], type: ['VerifiableCredential', 'TestType'], id: 'urn:uuid:236e14f1-f91d-48c2-ba0b-741dbf99ba18', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', name: 'Postman Entity', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', name: 'Bianca', age: 30, }, proof: { type: 'JsonWebSignature2020', created: '2024-07-10T13:41:27.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIn0.ewogICJ2YyI6IHsKICAgICJAY29udGV4dCI6IFsKICAgICAgImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIiwKICAgICAgImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiCiAgICBdLAogICAgInR5cGUiOiBbCiAgICAgICJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsCiAgICAgICJUZXN0VHlwZSIKICAgIF0sCiAgICAiaXNzdWVyIjogewogICAgICAiaWQiOiAiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIiwKICAgICAgIm5hbWUiOiAiUG9zdG1hbiBFbnRpdHkiCiAgICB9LAogICAgImlkIjogInVybjp1dWlkOjIzNmUxNGYxLWY5MWQtNDhjMi1iYTBiLTc0MWRiZjk5YmExOCIsCiAgICAiY3JlZGVudGlhbFN1YmplY3QiOiB7CiAgICAgICJpZCI6ICJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnJEUU5YWVllVGpiZlNLckxyTUNCckhYdGpheERrYlp5Q3N6ZEtKU2k1cTlzVWhUMk1uUjVReWQ5NXIxcUNQS1FHVEFnOFA5VjNSR2NpQng4cjYzenJxTWpFbndCQ1FuQjV5WnhaOWc3dlFLQlhBRXozV0x0M3l5cmtDTVpaRHBhdHQiLAogICAgICAibmFtZSI6ICJCaWFuY2EiLAogICAgICAiYWdlIjogMzAKICAgIH0sCiAgICAiY3JlZGVudGlhbFNjaGVtYSI6IHsKICAgICAgImlkIjogImh0dHBzOi8vYXBpLXRlc3QuZWJzaS5ldS90cnVzdGVkLXNjaGVtYXMtcmVnaXN0cnkvdjIvc2NoZW1hcy96M01nVUZVa2I3MjJ1cTR4M2R2NXlBSm1uTm16REZlSzVVQzh4ODNRb2VMSk0iLAogICAgICAidHlwZSI6ICJGdWxsSnNvblNjaGVtYVZhbGlkYXRvcjIwMjEiCiAgICB9LAogICAgImNyZWRlbnRpYWxTdGF0dXMiOiB7CiAgICAgICJ0eXBlIjogIlN0YXR1c0xpc3QyMDIxRW50cnkiLAogICAgICAiaWQiOiAiaHR0cHM6Ly9kZXYudmlkY2hhaW4ubmV0L2FwaS92MS9yZXZvY2F0aW9uL3N0YXR1cy1saXN0LzI4MiMyNCIsCiAgICAgICJzdGF0dXNMaXN0Q3JlZGVudGlhbCI6ICJodHRwczovL2Rldi52aWRjaGFpbi5uZXQvYXBpL3YxL3Jldm9jYXRpb24vc3RhdHVzLWxpc3QvMjgyIiwKICAgICAgInN0YXR1c0xpc3RJbmRleCI6ICIyNCIsCiAgICAgICJzdGF0dXNQdXJwb3NlIjogInJldm9jYXRpb25zIgogICAgfSwKICAgICJpc3N1YW5jZURhdGUiOiAiMjAyNC0wNy0xMFQxMzo0MToyN1oiCiAgfSwKICAiaXNzIjogImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsCiAgImlhdCI6IDE3MjA2MTg4ODcKfQ==.MTmjR5qaHXqqrkYmSgrRt_C1JIH3WOnYsOy4oTcdsPXFYg5Hhxxms8IFMY-1tJbPQ80DBBpJMJSaUbTP4KfdLw', }, issuanceDate: '2024-07-10T13:41:27Z', credentialStatus: { type: 'StatusList2021Entry', id: 'https://dev.vidchain.net/api/v1/revocation/status-list/282#24', statusListCredential: 'https://dev.vidchain.net/api/v1/revocation/status-list/282', statusListIndex: '24', statusPurpose: 'revocations', }, credentialSchema: { id: 'https://api-test.ebsi.eu/trusted-schemas-registry/v2/schemas/z3MgUFUkb722uq4x3dv5yAJmnNmzDFeK5UC8x83QoeLJM', type: 'FullJsonSchemaValidator2021', }, }, validations: [ { validationType: CredentialValidationTypes.Expiration, validationResult: ValidationResult.OK, }, { validationType: CredentialValidationTypes.NotYetValid, validationResult: ValidationResult.OK, }, { validationType: CredentialValidationTypes.Revocation, validationResult: ValidationResult.OK, }, { validationType: CredentialValidationTypes.CredentialSignature, validationResult: ValidationResult.KO, validationResultDetails: 'urn:uuid:236e14f1-f91d-48c2-ba0b-741dbf99ba18 signature is not correct', }, ], }, ], }; const report = verifiablePresentationValidationReport.generate(); expect(report).toStrictEqual(expectedValidationReport); expect(result).toStrictEqual(expectedValidationResult); }); }); describe('vp validations fail', () => { it('shows that the presentation did does not match with credential holder', async () => { const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtickRRTlhZWWVUamJmU0tyTHJNQ0JySFh0amF4RGtiWnlDc3pkS0pTaTVxOXNVaFQyTW5SNVF5ZDk1cjFxQ1BLUUdUQWc4UDlWM1JHY2lCeDhyNjN6cnFNakVud0JDUW5CNXlaeFo5Zzd2UUtCWEFFejNXTHQzeXlya0NNWlpEcGF0dCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0In0.eyJpYXQiOjE3MjA3MDMzNTIsImV4cCI6NDg1OTc0MTcwMCwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwiYXVkIjoiaHR0cHMlM0ElMkYlMkZkZXYtc3R1ZGlvLnZpZGNoYWluLm5ldCUyRnZpZGNyZWRlbnRpYWxzLXN0dWRpbyUyRm9pZGM0dmMlMkZ2MSUyRnZlcmlmaWVyJTJGNzJiZmU0MTItZWFhYi00MjY3LWJjMTEtOTRmMTE2MmQxYzQ0Iiwic3ViIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwibmJmIjoxNzIwNzAzMzUyLCJub25jZSI6IjA4OTI3NDY4LWZkZjUtNDdmMS1iNTNlLTlkY2ZhYTA1MmUxZCIsImp0aSI6InVybjpkaWQ6NDUxNjMyMTUtZGQ4MS00NWUxLWI2OTktZDhjOTJmMzJhNzY2IiwidnAiOnsiaWQiOiJ1cm46ZGlkOjQ1MTYzMjE1LWRkODEtNDVlMS1iNjk5LWQ4YzkyZjMyYTc2NiIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJdLCJob2xkZXIiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnJEUU5YWVllVGpiZlNLckxyTUNCckhYdGpheERrYlp5Q3N6ZEtKU2k1cTlzVWhUMk1uUjVReWQ5NXIxcUNQS1FHVEFnOFA5VjNSR2NpQng4cjYzenJxTWpFbndCQ1FuQjV5WnhaOWc3dlFLQlhBRXozV0x0M3l5cmtDTVpaRHBhdHQiLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6W3siQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiLCJodHRwczovL2FwaS52aWRjaGFpbi5uZXQvYXBpL3YxL2NvbnRleHRzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJUZXN0VHlwZSJdLCJpZCI6InVybjp1dWlkOmIyNWQ3NzlmLTBiZGUtNGZmMy1hOTUyLWQzMmM4YTVmNjdhOCIsImlzc3VlciI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsIm5hbWUiOiJQb3N0bWFuIEVudGl0eSJ9LCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticU5DRmptYkpOSENUUmRTNHdNQjVNNlNBYVNMYk5aMzZqOVVvNVQyS3k0cmJZN3pNSDZ6eXBnUkVTRm9Gd1dTUUJmOHIyN2RFa2NGZDJtaHppMnhxMTNQWmNvOVUxNXBubXBhR1BQYXN2WmlXajdGblBVZXdqclB0UmVIYVZyRnZZNCIsIm5hbWUiOiJCaWFuY2EiLCJhZ2UiOjMwfSwicHJvb2YiOnsidHlwZSI6Ikpzb25XZWJTaWduYXR1cmUyMDIwIiwiY3JlYXRlZCI6IjIwMjQtMDctMTFUMTM6MDM6NDAuMDAwWiIsInByb29mUHVycG9zZSI6ImFzc2VydGlvbk1ldGhvZCIsInZlcmlmaWNhdGlvbk1ldGhvZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIiwiandzIjoiZXlKaGJHY2lPaUpGVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0lzSW10cFpDSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY1dGaGQwZFNTRGhNV0ZKUU1YRndhMkpvUVZOdVpFdElaV2xPU0doMmVtUmxhRTVtUjI1Q1oxbGtlWFZsYlhweGVGcFNURGx1TjJobldIbHdPV1JXUjBKYVVXMDBjRlp5VWs1SFl6RnhjbWxuWVUxQk5GTTVhRk5oVjIxVlkwRXpWVGxLVkdWbFIzVlpWbVpwUjB0bE9HWjRZMjh6ZWt4a1dISjJTemhyVkRWd1p5TjZNbVJ0ZWtRNE1XTm5VSGc0Vm10cE4wcGlkWFZOYlVaWmNsZFFaMWx2ZVhSNWExVmFNMlY1Y1doME1XbzVTMkp4WVdGM1IxSklPRXhZVWxBeGNYQnJZbWhCVTI1a1MwaGxhVTVJYUhaNlpHVm9UbVpIYmtKbldXUjVkV1Z0ZW5GNFdsSk1PVzQzYUdkWWVYQTVaRlpIUWxwUmJUUndWbkpTVGtkak1YRnlhV2RoVFVFMFV6bG9VMkZYYlZWalFUTlZPVXBVWldWSGRWbFdabWxIUzJVNFpuaGpiek42VEdSWWNuWkxPR3RVTlhCbkluMC5leUoyWXlJNmV5SkFZMjl1ZEdWNGRDSTZXeUpvZEhSd2N6b3ZMM2QzZHk1M015NXZjbWN2TWpBeE9DOWpjbVZrWlc1MGFXRnNjeTkyTVNJc0ltaDBkSEJ6T2k4dllYQnBMblpwWkdOb1lXbHVMbTVsZEM5aGNHa3ZkakV2WTI5dWRHVjRkSE12ZGpFaVhTd2lkSGx3WlNJNld5SldaWEpwWm1saFlteGxRM0psWkdWdWRHbGhiQ0lzSWxSbGMzUlVlWEJsSWwwc0ltbHpjM1ZsY2lJNmV5SnBaQ0k2SW1ScFpEcHJaWGs2ZWpKa2JYcEVPREZqWjFCNE9GWnJhVGRLWW5WMVRXMUdXWEpYVUdkWmIzbDBlV3RWV2pObGVYRm9kREZxT1V0aWNXRmhkMGRTU0RoTVdGSlFNWEZ3YTJKb1FWTnVaRXRJWldsT1NHaDJlbVJsYUU1bVIyNUNaMWxrZVhWbGJYcHhlRnBTVERsdU4yaG5XSGx3T1dSV1IwSmFVVzAwY0ZaeVVrNUhZekZ4Y21sbllVMUJORk01YUZOaFYyMVZZMEV6VlRsS1ZHVmxSM1ZaVm1acFIwdGxPR1o0WTI4emVreGtXSEoyU3poclZEVndaeUlzSW01aGJXVWlPaUpRYjNOMGJXRnVJRVZ1ZEdsMGVTSjlMQ0pwWkNJNkluVnlianAxZFdsa09tSXlOV1EzTnpsbUxUQmlaR1V0TkdabU15MWhPVFV5TFdRek1tTTRZVFZtTmpkaE9DSXNJbU55WldSbGJuUnBZV3hUZFdKcVpXTjBJanA3SW1sa0lqb2laR2xrT210bGVUcDZNbVJ0ZWtRNE1XTm5VSGc0Vm10cE4wcGlkWFZOYlVaWmNsZFFaMWx2ZVhSNWExVmFNMlY1Y1doME1XbzVTMkp4VGtOR2FtMWlTazVJUTFSU1pGTTBkMDFDTlUwMlUwRmhVMHhpVGxvek5tbzVWVzgxVkRKTGVUUnlZbGszZWsxSU5ucDVjR2RTUlZOR2IwWjNWMU5SUW1ZNGNqSTNaRVZyWTBaa01tMW9lbWt5ZUhFeE0xQmFZMjg1VlRFMWNHNXRjR0ZIVUZCaGMzWmFhVmRxTjBadVVGVmxkMnB5VUhSU1pVaGhWbkpHZGxrMElpd2libUZ0WlNJNklrSnBZVzVqWVNJc0ltRm5aU0k2TXpCOUxDSmpjbVZrWlc1MGFXRnNVMk5vWlcxaElqcDdJbWxrSWpvaWFIUjBjSE02THk5aGNHa3RkR1Z6ZEM1bFluTnBMbVYxTDNSeWRYTjBaV1F0YzJOb1pXMWhjeTF5WldkcGMzUnllUzkyTWk5elkyaGxiV0Z6TDNvelRXZFZSbFZyWWpjeU1uVnhOSGd6WkhZMWVVRktiVzVPYlhwRVJtVkxOVlZET0hnNE0xRnZaVXhLVFNJc0luUjVjR1VpT2lKR2RXeHNTbk52YmxOamFHVnRZVlpoYkdsa1lYUnZjakl3TWpFaWZTd2lZM0psWkdWdWRHbGhiRk4wWVhSMWN5STZleUowZVhCbElqb2lVM1JoZEhWelRHbHpkREl3TWpGRmJuUnllU0lzSW1sa0lqb2lhSFIwY0hNNkx5OWtaWFl0YzNSMVpHbHZMblpwWkdOb1lXbHVMbTVsZEM5MmFXUmpjbVZrWlc1MGFXRnNjeTF6ZEhWa2FXOHZZWEJwTDNZeEwzTjBZWFIxY3kxc2FYTjBMV055WldSbGJuUnBZV3d2TWpneUl6TTFJaXdpYzNSaGRIVnpUR2x6ZEVOeVpXUmxiblJwWVd3aU9pSm9kSFJ3Y3pvdkwyUmxkaTF6ZEhWa2FXOHVkbWxrWTJoaGFXNHVibVYwTDNacFpHTnlaV1JsYm5ScFlXeHpMWE4wZFdScGJ5OWhjR2t2ZGpFdmMzUmhkSFZ6TFd4cGMzUXRZM0psWkdWdWRHbGhiQzh5T0RJaUxDSnpkR0YwZFhOTWFYTjBTVzVrWlhnaU9pSXpOU0lzSW5OMFlYUjFjMUIxY25CdmMyVWlPaUp5WlhadlkyRjBhVzl1SW4wc0ltbHpjM1ZoYm1ObFJHRjBaU0k2SWpJd01qUXRNRGN0TVRGVU1UTTZNRE02TkRCYUluMHNJbWx6Y3lJNkltUnBaRHByWlhrNmVqSmtiWHBFT0RGaloxQjRPRlpyYVRkS1luVjFUVzFHV1hKWFVHZFpiM2wwZVd0VldqTmxlWEZvZERGcU9VdGljV0ZoZDBkU1NEaE1XRkpRTVhGd2EySm9RVk51WkV0SVpXbE9TR2gyZW1SbGFFNW1SMjVDWjFsa2VYVmxiWHB4ZUZwU1REbHVOMmhuV0hsd09XUldSMEphVVcwMGNGWnlVazVIWXpGeGNtbG5ZVTFCTkZNNWFGTmhWMjFWWTBFelZUbEtWR1ZsUjNWWlZtWnBSMHRsT0daNFkyOHpla3hrV0hKMlN6aHJWRFZ3WnlJc0ltbGhkQ0k2TVRjeU1EY3dNekF5TUgwLllUNElxdUVMd0dtOXBlVjNkMUttVUE2YkdwUmI4YVFpSTJHMzJsdFR1NlRFZ2lmWHdidnkyWkxrS3lYMnJIVEo0QVpDWXJDVnExbmlxeWNfeVJQcjJRIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjQtMDctMTFUMTM6MDM6NDBaIiwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiU3RhdHVzTGlzdDIwMjFFbnRyeSIsImlkIjoiaHR0cHM6Ly9kZXYtc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvMjgyIzM1Iiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL2Rldi1zdHVkaW8udmlkY2hhaW4ubmV0L3ZpZGNyZWRlbnRpYWxzLXN0dWRpby9hcGkvdjEvc3RhdHVzLWxpc3QtY3JlZGVudGlhbC8yODIiLCJzdGF0dXNMaXN0SW5kZXgiOiIzNSIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIn0sImNyZWRlbnRpYWxTY2hlbWEiOnsiaWQiOiJodHRwczovL2FwaS10ZXN0LmVic2kuZXUvdHJ1c3RlZC1zY2hlbWFzLXJlZ2lzdHJ5L3YyL3NjaGVtYXMvejNNZ1VGVWtiNzIydXE0eDNkdjV5QUptbk5tekRGZUs1VUM4eDgzUW9lTEpNIiwidHlwZSI6IkZ1bGxKc29uU2NoZW1hVmFsaWRhdG9yMjAyMSJ9fV19fQ.vXwRYH00iQ-IHv3c-rcGXr-pBsJjJENLgQ4za1zlIXHNqBzhyc4OlKE1Wr6nldpI9_zsogsZx50vmw_J1enfLg', ], }; const dcqlQuery: DCQLQuery = { credentials: [ { id: 'query_0', format: 'ldp_vc', meta: { type_values: [['TestType']], }, }, ], }; const verifiablePresentationValidationReport = new VerifiablePresentationValidationReport(); const result = await validateDcqlVp( presentation, 'https%3A%2F%2Fdev-studio.vidchain.net%2Fvidcredentials-studio%2Foidc4vc%2Fv1%2Fverifier%2F72bfe412-eaab-4267-bc11-94f1162d1c44', { dcqlQuery, report: true, verifiablePresentationValidationReport, }, ); const decodedPresentation = { iat: 1720703352, exp: 4859741700, iss: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', aud: 'https%3A%2F%2Fdev-studio.vidchain.net%2Fvidcredentials-studio%2Foidc4vc%2Fv1%2Fverifier%2F72bfe412-eaab-4267-bc11-94f1162d1c44', sub: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', nbf: 1720703352, nonce: '08927468-fdf5-47f1-b53e-9dcfaa052e1d', jti: 'urn:did:45163215-dd81-45e1-b699-d8c92f32a766', vp: { id: 'urn:did:45163215-dd81-45e1-b699-d8c92f32a766', '@context': ['https://www.w3.org/2018/credentials/v1'], type: ['VerifiablePresentation'], holder: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', verifiableCredential: [ { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], type: ['VerifiableCredential', 'TestType'], id: 'urn:uuid:b25d779f-0bde-4ff3-a952-d32c8a5f67a8', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', name: 'Postman Entity', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqNCFjmbJNHCTRdS4wMB5M6SAaSLbNZ36j9Uo5T2Ky4rbY7zMH6zypgRESFoFwWSQBf8r27dEkcFd2mhzi2xq13PZco9U15pnmpaGPPasvZiWj7FnPUewjrPtReHaVrFvY4', name: 'Bianca', age: 30, }, proof: { type: 'JsonWebSignature2020', created: '2024-07-11T13:03:40.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlRlc3RUeXBlIl0sImlzc3VlciI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsIm5hbWUiOiJQb3N0bWFuIEVudGl0eSJ9LCJpZCI6InVybjp1dWlkOmIyNWQ3NzlmLTBiZGUtNGZmMy1hOTUyLWQzMmM4YTVmNjdhOCIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxTkNGam1iSk5IQ1RSZFM0d01CNU02U0FhU0xiTlozNmo5VW81VDJLeTRyYlk3ek1INnp5cGdSRVNGb0Z3V1NRQmY4cjI3ZEVrY0ZkMm1oemkyeHExM1BaY285VTE1cG5tcGFHUFBhc3ZaaVdqN0ZuUFVld2pyUHRSZUhhVnJGdlk0IiwibmFtZSI6IkJpYW5jYSIsImFnZSI6MzB9LCJjcmVkZW50aWFsU2NoZW1hIjp7ImlkIjoiaHR0cHM6Ly9hcGktdGVzdC5lYnNpLmV1L3RydXN0ZWQtc2NoZW1hcy1yZWdpc3RyeS92Mi9zY2hlbWFzL3ozTWdVRlVrYjcyMnVxNHgzZHY1eUFKbW5ObXpERmVLNVVDOHg4M1FvZUxKTSIsInR5cGUiOiJGdWxsSnNvblNjaGVtYVZhbGlkYXRvcjIwMjEifSwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiU3RhdHVzTGlzdDIwMjFFbnRyeSIsImlkIjoiaHR0cHM6Ly9kZXYtc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvMjgyIzM1Iiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL2Rldi1zdHVkaW8udmlkY2hhaW4ubmV0L3ZpZGNyZWRlbnRpYWxzLXN0dWRpby9hcGkvdjEvc3RhdHVzLWxpc3QtY3JlZGVudGlhbC8yODIiLCJzdGF0dXNMaXN0SW5kZXgiOiIzNSIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjQtMDctMTFUMTM6MDM6NDBaIn0sImlzcyI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsImlhdCI6MTcyMDcwMzAyMH0.YT4IquELwGm9peV3d1KmUA6bGpRb8aQiI2G32ltTu6TEgifXwbvy2ZLkKyX2rHTJ4AZCYrCVq1niqyc_yRPr2Q', }, issuanceDate: '2024-07-11T13:03:40Z', credentialStatus: { type: 'StatusList2021Entry', id: 'https://dev-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/282#35', statusListCredential: 'https://dev-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/282', statusListIndex: '35', statusPurpose: 'revocation', }, credentialSchema: { id: 'https://api-test.ebsi.eu/trusted-schemas-registry/v2/schemas/z3MgUFUkb722uq4x3dv5yAJmnNmzDFeK5UC8x83QoeLJM', type: 'FullJsonSchemaValidator2021', }, }, ], }, }; const expectedValidationResult = { valid: false, messages: [ 'Presentation issuer does not match with credential holder. Credential Id: urn:uuid:b25d779f-0bde-4ff3-a952-d32c8a5f67a8', ], }; const expectedValidationReport: ValidationReport = { globalResult: { result: ValidationResult.KO, errorMessage: 'Presentation issuer does not match with credential holder. Credential Id: urn:uuid:b25d779f-0bde-4ff3-a952-d32c8a5f67a8', }, verifiablePresentation: decodedPresentation, credentialsPresentedList: [ { verifiableCredential: { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], type: ['VerifiableCredential', 'TestType'], id: 'urn:uuid:b25d779f-0bde-4ff3-a952-d32c8a5f67a8', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', name: 'Postman Entity', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqNCFjmbJNHCTRdS4wMB5M6SAaSLbNZ36j9Uo5T2Ky4rbY7zMH6zypgRESFoFwWSQBf8r27dEkcFd2mhzi2xq13PZco9U15pnmpaGPPasvZiWj7FnPUewjrPtReHaVrFvY4', name: 'Bianca', age: 30, }, proof: { type: 'JsonWebSignature2020', created: '2024-07-11T13:03:40.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlRlc3RUeXBlIl0sImlzc3VlciI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsIm5hbWUiOiJQb3N0bWFuIEVudGl0eSJ9LCJpZCI6InVybjp1dWlkOmIyNWQ3NzlmLTBiZGUtNGZmMy1hOTUyLWQzMmM4YTVmNjdhOCIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxTkNGam1iSk5IQ1RSZFM0d01CNU02U0FhU0xiTlozNmo5VW81VDJLeTRyYlk3ek1INnp5cGdSRVNGb0Z3V1NRQmY4cjI3ZEVrY0ZkMm1oemkyeHExM1BaY285VTE1cG5tcGFHUFBhc3ZaaVdqN0ZuUFVld2pyUHRSZUhhVnJGdlk0IiwibmFtZSI6IkJpYW5jYSIsImFnZSI6MzB9LCJjcmVkZW50aWFsU2NoZW1hIjp7ImlkIjoiaHR0cHM6Ly9hcGktdGVzdC5lYnNpLmV1L3RydXN0ZWQtc2NoZW1hcy1yZWdpc3RyeS92Mi9zY2hlbWFzL3ozTWdVRlVrYjcyMnVxNHgzZHY1eUFKbW5ObXpERmVLNVVDOHg4M1FvZUxKTSIsInR5cGUiOiJGdWxsSnNvblNjaGVtYVZhbGlkYXRvcjIwMjEifSwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiU3RhdHVzTGlzdDIwMjFFbnRyeSIsImlkIjoiaHR0cHM6Ly9kZXYtc3R1ZGlvLnZpZGNoYWluLm5ldC92aWRjcmVkZW50aWFscy1zdHVkaW8vYXBpL3YxL3N0YXR1cy1saXN0LWNyZWRlbnRpYWwvMjgyIzM1Iiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL2Rldi1zdHVkaW8udmlkY2hhaW4ubmV0L3ZpZGNyZWRlbnRpYWxzLXN0dWRpby9hcGkvdjEvc3RhdHVzLWxpc3QtY3JlZGVudGlhbC8yODIiLCJzdGF0dXNMaXN0SW5kZXgiOiIzNSIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjQtMDctMTFUMTM6MDM6NDBaIn0sImlzcyI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsImlhdCI6MTcyMDcwMzAyMH0.YT4IquELwGm9peV3d1KmUA6bGpRb8aQiI2G32ltTu6TEgifXwbvy2ZLkKyX2rHTJ4AZCYrCVq1niqyc_yRPr2Q', }, issuanceDate: '2024-07-11T13:03:40Z', credentialStatus: { type: 'StatusList2021Entry', id: 'https://dev-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/282#35', statusListCredential: 'https://dev-studio.vidchain.net/vidcredentials-studio/api/v1/status-list-credential/282', statusListIndex: '35', statusPurpose: 'revocation', }, credentialSchema: { id: 'https://api-test.ebsi.eu/trusted-schemas-registry/v2/schemas/z3MgUFUkb722uq4x3dv5yAJmnNmzDFeK5UC8x83QoeLJM', type: 'FullJsonSchemaValidator2021', }, }, validations: [ { validationType: CredentialValidationTypes.Expiration, validationResult: ValidationResult.NotValidated, }, { validationType: CredentialValidationTypes.NotYetValid, validationResult: ValidationResult.NotValidated, }, { validationType: CredentialValidationTypes.Revocation, validationResult: ValidationResult.NotValidated, }, { validationType: CredentialValidationTypes.CredentialSignature, validationResult: ValidationResult.NotValidated, }, ], }, ], }; const report = verifiablePresentationValidationReport.generate(); expect(report).toStrictEqual(expectedValidationReport); expect(result).toStrictEqual(expectedValidationResult); }); it('shows that the presentation format is not valid', async () => { const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtickRRTlhZWWVUamJmU0tyTHJNQ0JySFh0amF4RGtiWnlDc3pkS0pTaTVxOXNVaFQyTW5SNVF5ZDk1cjFxQ1BLUUdUQWc4UDlWM1JHY2lCeDhyNjN6cnFNakVud0JDUW5CNXlaeFo5Zzd2UUtCWEFFejNXTHQzeXlya0NNWlpEcGF0dCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0In0.eyJpYXQiOjE3MjA3MDM0NjYsImV4cCI6NDg1OTc0MTcwMCwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwiYXVkIjoiaHR0cHMlM0ElMkYlMkZkZXYtc3R1ZGlvLnZpZGNoYWluLm5ldCUyRnZpZGNyZWRlbnRpYWxzLXN0dWRpbyUyRm9pZGM0dmMlMkZ2MSUyRnZlcmlmaWVyJTJGNzVhZmEwNmMtYmQzYS00NTUzLTg3MDgtODgxNGZhY2Y0OWE2Iiwic3ViIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwibmJmIjoxNzIwNzAzNDY2LCJub25jZSI6IjdmZDk4MmMyLTc2OTEtNGFhMy1iMjM4LTU1MzMzZWI5MjJjYiIsImp0aSI6InVybjpkaWQ6YzY3YmQ5ZmQtNDk2YS00ZjBmLTlmZjctMmZlY2JiN2Q2ZTYyIiwidnAiOnsiaWQiOiJ1cm46ZGlkOmM2N2JkOWZkLTQ5NmEtNGYwZi05ZmY3LTJmZWNiYjdkNmU2MiIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIl0sInR5cGUiOlsiV3JvbmdQcmVzZW50YXRpb24iXSwiaG9sZGVyIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwidmVyaWZpYWJsZUNyZWRlbnRpYWwiOlt7IkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIiwiaHR0cHM6Ly9hcGkudmlkY2hhaW4ubmV0L2FwaS92MS9jb250ZXh0cy92MSJdLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiVGVzdFR5cGUiXSwiaWQiOiJ1cm46dXVpZDoyMzZlMTRmMS1mOTFkLTQ4YzItYmEwYi03NDFkYmY5OWJhMTgiLCJpc3N1ZXIiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnFhYXdHUkg4TFhSUDFxcGtiaEFTbmRLSGVpTkhodnpkZWhOZkduQmdZZHl1ZW16cXhaUkw5bjdoZ1h5cDlkVkdCWlFtNHBWclJOR2MxcXJpZ2FNQTRTOWhTYVdtVWNBM1U5SlRlZUd1WVZmaUdLZThmeGNvM3pMZFhydks4a1Q1cGciLCJuYW1lIjoiUG9zdG1hbiBFbnRpdHkifSwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnJEUU5YWVllVGpiZlNLckxyTUNCckhYdGpheERrYlp5Q3N6ZEtKU2k1cTlzVWhUMk1uUjVReWQ5NXIxcUNQS1FHVEFnOFA5VjNSR2NpQng4cjYzenJxTWpFbndCQ1FuQjV5WnhaOWc3dlFLQlhBRXozV0x0M3l5cmtDTVpaRHBhdHQiLCJuYW1lIjoiQmlhbmNhIiwiYWdlIjozMH0sInByb29mIjp7InR5cGUiOiJKc29uV2ViU2lnbmF0dXJlMjAyMCIsImNyZWF0ZWQiOiIyMDI0LTA3LTEwVDEzOjQxOjI3LjAwMFoiLCJwcm9vZlB1cnBvc2UiOiJhc3NlcnRpb25NZXRob2QiLCJ2ZXJpZmljYXRpb25NZXRob2QiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnFhYXdHUkg4TFhSUDFxcGtiaEFTbmRLSGVpTkhodnpkZWhOZkduQmdZZHl1ZW16cXhaUkw5bjdoZ1h5cDlkVkdCWlFtNHBWclJOR2MxcXJpZ2FNQTRTOWhTYVdtVWNBM1U5SlRlZUd1WVZmaUdLZThmeGNvM3pMZFhydks4a1Q1cGcjejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsImp3cyI6ImV5SmhiR2NpT2lKRlV6STFOaUlzSW5SNWNDSTZJa3BYVkNJc0ltdHBaQ0k2SW1ScFpEcHJaWGs2ZWpKa2JYcEVPREZqWjFCNE9GWnJhVGRLWW5WMVRXMUdXWEpYVUdkWmIzbDBlV3RWV2pObGVYRm9kREZxT1V0aWNXRmhkMGRTU0RoTVdGSlFNWEZ3YTJKb1FWTnVaRXRJWldsT1NHaDJlbVJsYUU1bVIyNUNaMWxrZVhWbGJYcHhlRnBTVERsdU4yaG5XSGx3T1dSV1IwSmFVVzAwY0ZaeVVrNUhZekZ4Y21sbllVMUJORk01YUZOaFYyMVZZMEV6VlRsS1ZHVmxSM1ZaVm1acFIwdGxPR1o0WTI4emVreGtXSEoyU3poclZEVndaeU42TW1SdGVrUTRNV05uVUhnNFZtdHBOMHBpZFhWTmJVWlpjbGRRWjFsdmVYUjVhMVZhTTJWNWNXaDBNV281UzJKeFlXRjNSMUpJT0V4WVVsQXhjWEJyWW1oQlUyNWtTMGhsYVU1SWFIWjZaR1ZvVG1aSGJrSm5XV1I1ZFdWdGVuRjRXbEpNT1c0M2FHZFllWEE1WkZaSFFscFJiVFJ3Vm5KU1RrZGpNWEZ5YVdkaFRVRTBVemxvVTJGWGJWVmpRVE5WT1VwVVpXVkhkVmxXWm1sSFMyVTRabmhqYnpONlRHUlljblpMT0d0VU5YQm5JbjAuZXlKMll5STZleUpBWTI5dWRHVjRkQ0k2V3lKb2RIUndjem92TDNkM2R5NTNNeTV2Y21jdk1qQXhPQzlqY21Wa1pXNTBhV0ZzY3k5Mk1TSXNJbWgwZEhCek9pOHZZWEJwTG5acFpHTm9ZV2x1TG01bGRDOWhjR2t2ZGpFdlkyOXVkR1Y0ZEhNdmRqRWlYU3dpZEhsd1pTSTZXeUpXWlhKcFptbGhZbXhsUTNKbFpHVnVkR2xoYkNJc0lsUmxjM1JVZVhCbElsMHNJbWx6YzNWbGNpSTZleUpwWkNJNkltUnBaRHByWlhrNmVqSmtiWHBFT0RGaloxQjRPRlpyYVRkS1luVjFUVzFHV1hKWFVHZFpiM2wwZVd0VldqTmxlWEZvZERGcU9VdGljV0ZoZDBkU1NEaE1XRkpRTVhGd2EySm9RVk51WkV0SVpXbE9TR2gyZW1SbGFFNW1SMjVDWjFsa2VYVmxiWHB4ZUZwU1REbHVOMmhuV0hsd09XUldSMEphVVcwMGNGWnlVazVIWXpGeGNtbG5ZVTFCTkZNNWFGTmhWMjFWWTBFelZUbEtWR1ZsUjNWWlZtWnBSMHRsT0daNFkyOHpla3hrV0hKMlN6aHJWRFZ3WnlJc0ltNWhiV1VpT2lKUWIzTjBiV0Z1SUVWdWRHbDBlU0o5TENKcFpDSTZJblZ5YmpwMWRXbGtPakl6Tm1VeE5HWXhMV1k1TVdRdE5EaGpNaTFpWVRCaUxUYzBNV1JpWmprNVltRXhPQ0lzSW1OeVpXUmxiblJwWVd4VGRXSnFaV04wSWpwN0ltbGtJam9pWkdsa09tdGxlVHA2TW1SdGVrUTRNV05uVUhnNFZtdHBOMHBpZFhWTmJVWlpjbGRRWjFsdmVYUjVhMVZhTTJWNWNXaDBNV281UzJKeVJGRk9XRmxaWlZScVltWlRTM0pNY2sxRFFuSklXSFJxWVhoRWEySmFlVU56ZW1STFNsTnBOWEU1YzFWb1ZESk5ibEkxVVhsa09UVnlNWEZEVUV0UlIxUkJaemhRT1ZZelVrZGphVUo0T0hJMk0zcHljVTFxUlc1M1FrTlJia0kxZVZwNFdqbG5OM1pSUzBKWVFVVjZNMWRNZERONWVYSnJRMDFhV2tSd1lYUjBJaXdpYm1GdFpTSTZJa0pwWVc1allTSXNJbUZuWlNJNk16QjlMQ0pqY21Wa1pXNTBhV0ZzVTJOb1pXMWhJanA3SW1sa0lqb2lhSFIwY0hNNkx5OWhjR2t0ZEdWemRDNWxZbk5wTG1WMUwzUnlkWE4wWldRdGMyTm9aVzFoY3kxeVpXZHBjM1J5ZVM5Mk1pOXpZMmhsYldGekwzb3pUV2RWUmxWcllqY3lNblZ4TkhnelpIWTFlVUZLYlc1T2JYcEVSbVZMTlZWRE9IZzRNMUZ2WlV4S1RTSXNJblI1Y0dVaU9pSkdkV3hzU25OdmJsTmphR1Z0WVZaaGJHbGtZWFJ2Y2pJd01qRWlmU3dpWTNKbFpHVnVkR2xoYkZOMFlYUjFjeUk2ZXlKMGVYQmxJam9pVTNSaGRIVnpUR2x6ZERJd01qRkZiblJ5ZVNJc0ltbGtJam9pYUhSMGNITTZMeTlrWlhZdWRtbGtZMmhoYVc0dWJtVjBMMkZ3YVM5Mk1TOXlaWFp2WTJGMGFXOXVMM04wWVhSMWN5MXNhWE4wTHpJNE1pTXlOQ0lzSW5OMFlYUjFjMHhwYzNSRGNtVmtaVzUwYVdGc0lqb2lhSFIwY0hNNkx5OWtaWFl1ZG1sa1kyaGhhVzR1Ym1WMEwyRndhUzkyTVM5eVpYWnZZMkYwYVc5dUwzTjBZWFIxY3kxc2FYTjBMekk0TWlJc0luTjBZWFIxYzB4cGMzUkpibVJsZUNJNklqSTBJaXdpYzNSaGRIVnpVSFZ5Y0c5elpTSTZJbkpsZG05allYUnBiMjRpZlN3aWFYTnpkV0Z1WTJWRVlYUmxJam9pTWpBeU5DMHdOeTB4TUZReE16bzBNVG95TjFvaWZTd2lhWE56SWpvaVpHbGtPbXRsZVRwNk1tUnRla1E0TVdOblVIZzRWbXRwTjBwaWRYVk5iVVpaY2xkUVoxbHZlWFI1YTFWYU0yVjVjV2gwTVdvNVMySnhZV0YzUjFKSU9FeFlVbEF4Y1hCclltaEJVMjVrUzBobGFVNUlhSFo2WkdWb1RtWkhia0puV1dSNWRXVnRlbkY0V2xKTU9XNDNhR2RZZVhBNVpGWkhRbHBSYlRSd1ZuSlNUa2RqTVhGeWFXZGhUVUUwVXpsb1UyRlhiVlZqUVROVk9VcFVaV1ZIZFZsV1ptbEhTMlU0Wm5oamJ6TjZUR1JZY25aTE9HdFVOWEJuSWl3aWFXRjBJam94TnpJd05qRTRPRGczZlEuTVRtalI1cWFIWHFxcmtZbVNnclJ0X0MxSklIM1dPbllzT3k0b1RjZHNQWEZZZzVIaHh4bXM4SUZNWS0xdEpiUFE4MERCQnBKTUpTYVViVFA0S2ZkTHcifSwiaXNzdWFuY2VEYXRlIjoiMjAyNC0wNy0xMFQxMzo0MToyN1oiLCJjcmVkZW50aWFsU3RhdHVzIjp7InR5cGUiOiJTdGF0dXNMaXN0MjAyMUVudHJ5IiwiaWQiOiJodHRwczovL2Rldi52aWRjaGFpbi5uZXQvYXBpL3YxL3Jldm9jYXRpb24vc3RhdHVzLWxpc3QvMjgyIzI0Iiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL2Rldi52aWRjaGFpbi5uZXQvYXBpL3YxL3Jldm9jYXRpb24vc3RhdHVzLWxpc3QvMjgyIiwic3RhdHVzTGlzdEluZGV4IjoiMjQiLCJzdGF0dXNQdXJwb3NlIjoicmV2b2NhdGlvbiJ9LCJjcmVkZW50aWFsU2NoZW1hIjp7ImlkIjoiaHR0cHM6Ly9hcGktdGVzdC5lYnNpLmV1L3RydXN0ZWQtc2NoZW1hcy1yZWdpc3RyeS92Mi9zY2hlbWFzL3ozTWdVRlVrYjcyMnVxNHgzZHY1eUFKbW5ObXpERmVLNVVDOHg4M1FvZUxKTSIsInR5cGUiOiJGdWxsSnNvblNjaGVtYVZhbGlkYXRvcjIwMjEifX1dfX0.auLJpYn85rLaA_tjyZ0fGzY2S-ViDPlGRHjMniConhhmWyecnJhr9XJ50lZYRsmrmQhXJQ3aAdB2BAqXj7VBww', ], }; const dcqlQuery: DCQLQuery = { credentials: [ { id: 'query_0', format: 'ldp_vc', meta: { type_values: [['TestType']], }, }, ], }; const verifiablePresentationValidationReport = new VerifiablePresentationValidationReport(); const result = await validateDcqlVp( presentation, 'https%3A%2F%2Fdev-studio.vidchain.net%2Fvidcredentials-studio%2Foidc4vc%2Fv1%2Fverifier%2F75afa06c-bd3a-4553-8708-8814facf49a6', { dcqlQuery, report: true, verifiablePresentationValidationReport, }, ); const decodedPresentation = { iat: 1720703466, exp: 4859741700, iss: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', aud: 'https%3A%2F%2Fdev-studio.vidchain.net%2Fvidcredentials-studio%2Foidc4vc%2Fv1%2Fverifier%2F75afa06c-bd3a-4553-8708-8814facf49a6', sub: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', nbf: 1720703466, nonce: '7fd982c2-7691-4aa3-b238-55333eb922cb', jti: 'urn:did:c67bd9fd-496a-4f0f-9ff7-2fecbb7d6e62', vp: { id: 'urn:did:c67bd9fd-496a-4f0f-9ff7-2fecbb7d6e62', '@context': ['https://www.w3.org/2018/credentials/v1'], type: ['WrongPresentation'], holder: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', verifiableCredential: [ { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], type: ['VerifiableCredential', 'TestType'], id: 'urn:uuid:236e14f1-f91d-48c2-ba0b-741dbf99ba18', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', name: 'Postman Entity', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', name: 'Bianca', age: 30, }, proof: { type: 'JsonWebSignature2020', created: '2024-07-10T13:41:27.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlRlc3RUeXBlIl0sImlzc3VlciI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsIm5hbWUiOiJQb3N0bWFuIEVudGl0eSJ9LCJpZCI6InVybjp1dWlkOjIzNmUxNGYxLWY5MWQtNDhjMi1iYTBiLTc0MWRiZjk5YmExOCIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwibmFtZSI6IkJpYW5jYSIsImFnZSI6MzB9LCJjcmVkZW50aWFsU2NoZW1hIjp7ImlkIjoiaHR0cHM6Ly9hcGktdGVzdC5lYnNpLmV1L3RydXN0ZWQtc2NoZW1hcy1yZWdpc3RyeS92Mi9zY2hlbWFzL3ozTWdVRlVrYjcyMnVxNHgzZHY1eUFKbW5ObXpERmVLNVVDOHg4M1FvZUxKTSIsInR5cGUiOiJGdWxsSnNvblNjaGVtYVZhbGlkYXRvcjIwMjEifSwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiU3RhdHVzTGlzdDIwMjFFbnRyeSIsImlkIjoiaHR0cHM6Ly9kZXYudmlkY2hhaW4ubmV0L2FwaS92MS9yZXZvY2F0aW9uL3N0YXR1cy1saXN0LzI4MiMyNCIsInN0YXR1c0xpc3RDcmVkZW50aWFsIjoiaHR0cHM6Ly9kZXYudmlkY2hhaW4ubmV0L2FwaS92MS9yZXZvY2F0aW9uL3N0YXR1cy1saXN0LzI4MiIsInN0YXR1c0xpc3RJbmRleCI6IjI0Iiwic3RhdHVzUHVycG9zZSI6InJldm9jYXRpb24ifSwiaXNzdWFuY2VEYXRlIjoiMjAyNC0wNy0xMFQxMzo0MToyN1oifSwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIiwiaWF0IjoxNzIwNjE4ODg3fQ.MTmjR5qaHXqqrkYmSgrRt_C1JIH3WOnYsOy4oTcdsPXFYg5Hhxxms8IFMY-1tJbPQ80DBBpJMJSaUbTP4KfdLw', }, issuanceDate: '2024-07-10T13:41:27Z', credentialStatus: { type: 'StatusList2021Entry', id: 'https://dev.vidchain.net/api/v1/revocation/status-list/282#24', statusListCredential: 'https://dev.vidchain.net/api/v1/revocation/status-list/282', statusListIndex: '24', statusPurpose: 'revocation', }, credentialSchema: { id: 'https://api-test.ebsi.eu/trusted-schemas-registry/v2/schemas/z3MgUFUkb722uq4x3dv5yAJmnNmzDFeK5UC8x83QoeLJM', type: 'FullJsonSchemaValidator2021', }, }, ], }, }; const expectedValidationResult = { valid: false, messages: [ 'type is missing default "VerifiablePresentation". Presentation: urn:did:c67bd9fd-496a-4f0f-9ff7-2fecbb7d6e62', ], }; const expectedValidationReport: ValidationReport = { globalResult: { result: ValidationResult.KO, errorMessage: `type is missing default "${DEFAULT_PRESENTATION_TYPE}". Presentation: urn:did:c67bd9fd-496a-4f0f-9ff7-2fecbb7d6e62`, }, verifiablePresentation: decodedPresentation, credentialsPresentedList: [ { verifiableCredential: { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], type: ['VerifiableCredential', 'TestType'], id: 'urn:uuid:236e14f1-f91d-48c2-ba0b-741dbf99ba18', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', name: 'Postman Entity', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrDQNXYYeTjbfSKrLrMCBrHXtjaxDkbZyCszdKJSi5q9sUhT2MnR5Qyd95r1qCPKQGTAg8P9V3RGciBx8r63zrqMjEnwBCQnB5yZxZ9g7vQKBXAEz3WLt3yyrkCMZZDpatt', name: 'Bianca', age: 30, }, proof: { type: 'JsonWebSignature2020', created: '2024-07-10T13:41:27.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqaawGRH8LXRP1qpkbhASndKHeiNHhvzdehNfGnBgYdyuemzqxZRL9n7hgXyp9dVGBZQm4pVrRNGc1qrigaMA4S9hSaWmUcA3U9JTeeGuYVfiGKe8fxco3zLdXrvK8kT5pg', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlRlc3RUeXBlIl0sImlzc3VlciI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWFhd0dSSDhMWFJQMXFwa2JoQVNuZEtIZWlOSGh2emRlaE5mR25CZ1lkeXVlbXpxeFpSTDluN2hnWHlwOWRWR0JaUW00cFZyUk5HYzFxcmlnYU1BNFM5aFNhV21VY0EzVTlKVGVlR3VZVmZpR0tlOGZ4Y28zekxkWHJ2SzhrVDVwZyIsIm5hbWUiOiJQb3N0bWFuIEVudGl0eSJ9LCJpZCI6InVybjp1dWlkOjIzNmUxNGYxLWY5MWQtNDhjMi1iYTBiLTc0MWRiZjk5YmExOCIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JyRFFOWFlZZVRqYmZTS3JMck1DQnJIWHRqYXhEa2JaeUNzemRLSlNpNXE5c1VoVDJNblI1UXlkOTVyMXFDUEtRR1RBZzhQOVYzUkdjaUJ4OHI2M3pycU1qRW53QkNRbkI1eVp4WjlnN3ZRS0JYQUV6M1dMdDN5eXJrQ01aWkRwYXR0IiwibmFtZSI6IkJpYW5jYSIsImFnZSI6MzB9LCJjcmVkZW50aWFsU2NoZW1hIjp7ImlkIjoiaHR0cHM6Ly9hcGktdGVzdC5lYnNpLmV1L3RydXN0ZWQtc2NoZW1hcy1yZWdpc3RyeS92Mi9zY2hlbWFzL3ozTWdVRlVrYjcyMnVxNHgzZHY1eUFKbW5ObXpERmVLNVVDOHg4M1FvZUxKTSIsInR5cGUiOiJGdWxsSnNvblNjaGVtYVZhbGlkYXRvcjIwMjEifSwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiU3RhdHVzTGlzdDIwMjFFbnRyeSIsImlkIjoiaHR0cHM6Ly9kZXYudmlkY2hhaW4ubmV0L2FwaS92MS9yZXZvY2F0aW9uL3N0YXR1cy1saXN0LzI4MiMyNCIsInN0YXR1c0xpc3RDcmVkZW50aWFsIjoiaHR0cHM6Ly9kZXYudmlkY2hhaW4ubmV0L2FwaS92MS9yZXZvY2F0aW9uL3N0YXR1cy1saXN0LzI4MiIsInN0YXR1c0xpc3RJbmRleCI6IjI0Iiwic3RhdHVzUHVycG9zZSI6InJldm9jYXRpb24ifSwiaXNzdWFuY2VEYXRlIjoiMjAyNC0wNy0xMFQxMzo0MToyN1oifSwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxYWF3R1JIOExYUlAxcXBrYmhBU25kS0hlaU5IaHZ6ZGVoTmZHbkJnWWR5dWVtenF4WlJMOW43aGdYeXA5ZFZHQlpRbTRwVnJSTkdjMXFyaWdhTUE0UzloU2FXbVVjQTNVOUpUZWVHdVlWZmlHS2U4ZnhjbzN6TGRYcnZLOGtUNXBnIiwiaWF0IjoxNzIwNjE4ODg3fQ.MTmjR5qaHXqqrkYmSgrRt_C1JIH3WOnYsOy4oTcdsPXFYg5Hhxxms8IFMY-1tJbPQ80DBBpJMJSaUbTP4KfdLw', }, issuanceDate: '2024-07-10T13:41:27Z', credentialStatus: { type: 'StatusList2021Entry', id: 'https://dev.vidchain.net/api/v1/revocation/status-list/282#24', statusListCredential: 'https://dev.vidchain.net/api/v1/revocation/status-list/282', statusListIndex: '24', statusPurpose: 'revocation', }, credentialSchema: { id: 'https://api-test.ebsi.eu/trusted-schemas-registry/v2/schemas/z3MgUFUkb722uq4x3dv5yAJmnNmzDFeK5UC8x83QoeLJM', type: 'FullJsonSchemaValidator2021', }, }, validations: [ { validationType: CredentialValidationTypes.Expiration, validationResult: ValidationResult.NotValidated, }, { validationType: CredentialValidationTypes.NotYetValid, validationResult: ValidationResult.NotValidated, }, { validationType: CredentialValidationTypes.Revocation, validationResult: ValidationResult.NotValidated, }, { validationType: CredentialValidationTypes.Schema, validationResult: ValidationResult.NotValidated, }, { validationType: CredentialValidationTypes.CredentialSignature, validationResult: ValidationResult.NotValidated, }, ], }, ], }; const report = verifiablePresentationValidationReport.generate(); expect(report).toStrictEqual(expectedValidationReport); expect(result).toStrictEqual(expectedValidationResult); }); it('shows that the presentation signature is not valid', async () => { const presentation = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050In0.ewogICJpYXQiOiAxNzEyMzE1MTEzLAogICJleHAiOiA0ODU5NzQxODAwLAogICJpc3MiOiAiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwKICAiYXVkIjogImF1ZGllbmNlIiwKICAic3ViIjogImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCIsCiAgIm5iZiI6IDE3MTIzMTUxMTMsCiAgIm5vbmNlIjogIjcwY2NmNmUxLTRhY2YtNGI0OC1iODUzLWJjNWU1ZjQ1MjNiMCIsCiAgImp0aSI6ICJ1cm46ZGlkOmVkOTkzNGFhLTc4NGYtNGQ1NC04YmIzLWRkN2Y1ODQ1YzNkNyIsCiAgInZwIjogewogICAgImlkIjogInVybjpkaWQ6ZWQ5OTM0YWEtNzg0Zi00ZDU0LThiYjMtZGQ3ZjU4NDVjM2Q3IiwKICAgICJAY29udGV4dCI6IFsKICAgICAgImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIgogICAgXSwKICAgICJ0eXBlIjogWwogICAgICAiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiIKICAgIF0sCiAgICAiaG9sZGVyIjogImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCIsCiAgICAidmVyaWZpYWJsZUNyZWRlbnRpYWwiOiBbCiAgICAgIHsKICAgICAgICAiQGNvbnRleHQiOiBbCiAgICAgICAgICAiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiLAogICAgICAgICAgImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6IFsKICAgICAgICAgICJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsCiAgICAgICAgICAiRW1haWxDcmVkZW50aWFsIgogICAgICAgIF0sCiAgICAgICAgImlkIjogInVybjp1dWlkOjE4NjE0MTJjLTllNjMtNDU1OS1iNzJlLWQxOTA0OWQyMTM4YSIsCiAgICAgICAgImlzc3VlciI6IHsKICAgICAgICAgICJpZCI6ICJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYiLAogICAgICAgICAgIm5hbWUiOiAiVmFsaWRhdGVkIElEIFNMIgogICAgICAgIH0sCiAgICAgICAgImNyZWRlbnRpYWxTdWJqZWN0IjogewogICAgICAgICAgImlkIjogImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCIsCiAgICAgICAgICAiZW1haWwiOiAiYmVybmF0Lm1hcmNpbGxhQHZhbGlkYXRlZGlkLmNvbSIKICAgICAgICB9LAogICAgICAgICJwcm9vZiI6IHsKICAgICAgICAgICJ0eXBlIjogIkpzb25XZWJTaWduYXR1cmUyMDIwIiwKICAgICAgICAgICJjcmVhdGVkIjogIjIwMjQtMDMtMjVUMTI6Mjc6MjguMDAwWiIsCiAgICAgICAgICAicHJvb2ZQdXJwb3NlIjogImFzc2VydGlvbk1ldGhvZCIsCiAgICAgICAgICAidmVyaWZpY2F0aW9uTWV0aG9kIjogImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtibzE5MmdiUmZ4TDE3WURKS3dvZXVaSkp2Mm5NOE15YnlwYjdQUlNnRDdFQjd5MkE1YmVGZVhvZnJpRExaTUZUTFBTbjJqSFg5NEIzdDJ2SmFtYTg2TmRVdXpaV1BhdWs3RXlkaXdhS3VDaWZZRjV0VnY2eDdFZDhXU21oZjlONG9NdiN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JvMTkyZ2JSZnhMMTdZREpLd29ldVpKSnYybk04TXlieXBiN1BSU2dEN0VCN3kyQTViZUZlWG9mcmlETFpNRlRMUFNuMmpIWDk0QjN0MnZKYW1hODZOZFV1elpXUGF1azdFeWRpd2FLdUNpZllGNXRWdjZ4N0VkOFdTbWhmOU40b012IiwKICAgICAgICAgICJqd3MiOiAiZXlKaGJHY2lPaUpGVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0lzSW10cFpDSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpYnpFNU1tZGlVbVo0VERFM1dVUktTM2R2WlhWYVNrcDJNbTVOT0UxNVlubHdZamRRVWxOblJEZEZRamQ1TWtFMVltVkdaVmh2Wm5KcFJFeGFUVVpVVEZCVGJqSnFTRmc1TkVJemRESjJTbUZ0WVRnMlRtUlZkWHBhVjFCaGRXczNSWGxrYVhkaFMzVkRhV1paUmpWMFZuWTJlRGRGWkRoWFUyMW9aamxPTkc5TmRpTjZNbVJ0ZWtRNE1XTm5VSGc0Vm10cE4wcGlkWFZOYlVaWmNsZFFaMWx2ZVhSNWExVmFNMlY1Y1doME1XbzVTMkp2TVRreVoySlNabmhNTVRkWlJFcExkMjlsZFZwS1NuWXliazA0VFhsaWVYQmlOMUJTVTJkRU4wVkNOM2t5UVRWaVpVWmxXRzltY21sRVRGcE5SbFJNVUZOdU1tcElXRGswUWpOME1uWktZVzFoT0RaT1pGVjFlbHBYVUdGMWF6ZEZlV1JwZDJGTGRVTnBabGxHTlhSV2RqWjROMFZrT0ZkVGJXaG1PVTQwYjAxMkluMC5leUoyWXlJNmV5SkFZMjl1ZEdWNGRDSTZXeUpvZEhSd2N6b3ZMM2QzZHk1M015NXZjbWN2TWpBeE9DOWpjbVZrWlc1MGFXRnNjeTkyTVNJc0ltaDBkSEJ6T2k4dllYQnBMblpwWkdOb1lXbHVMbTVsZEM5aGNHa3ZkakV2WTI5dWRHVjRkSE12ZGpFaVhTd2lkSGx3WlNJNld5SldaWEpwWm1saFlteGxRM0psWkdWdWRHbGhiQ0lzSWtWdFlXbHNRM0psWkdWdWRHbGhiQ0pkTENKcGMzTjFaWElpT25zaWFXUWlPaUprYVdRNmEyVjVPbm95WkcxNlJEZ3hZMmRRZURoV2EyazNTbUoxZFUxdFJsbHlWMUJuV1c5NWRIbHJWVm96WlhseGFIUXhhamxMWW04eE9USm5ZbEptZUV3eE4xbEVTa3QzYjJWMVdrcEtkakp1VFRoTmVXSjVjR0kzVUZKVFowUTNSVUkzZVRKQk5XSmxSbVZZYjJaeWFVUk1XazFHVkV4UVUyNHlha2hZT1RSQ00zUXlka3BoYldFNE5rNWtWWFY2V2xkUVlYVnJOMFY1WkdsM1lVdDFRMmxtV1VZMWRGWjJObmczUldRNFYxTnRhR1k1VGpSdlRYWWlMQ0p1WVcxbElqb2lWbUZzYVdSaGRHVmtJRWxFSUZOTUluMHNJbWxrSWpvaWRYSnVPblYxYVdRNk1UZzJNVFF4TW1NdE9XVTJNeTAwTlRVNUxXSTNNbVV0WkRFNU1EUTVaREl4TXpoaElpd2lZM0psWkdWdWRHbGhiRk4xWW1wbFkzUWlPbnNpYVdRaU9pSmthV1E2YTJWNU9ub3laRzE2UkRneFkyZFFlRGhXYTJrM1NtSjFkVTF0UmxseVYxQm5XVzk1ZEhsclZWb3paWGx4YUhReGFqbExZbkEzWTB4YVRGSjRjMXAxUlZSck9VSk9aek52Vm1GU1ZFUlJRMDQ0ZFZoaGVYaDVaWFExV21OcVoxcDRkbmR1ZFUxWVdWZEhlbk0zVEhoWU1YTTBSMUppVEZWS2QwWktTRVo2UldWT2VrSnpObFozU3poVFNubHFjbWxMYWtVNE5uaExSbFJGUVhkV2N6ZHhlVk5JYTNJNFdqTjVhVzFvYzFOTU4ySnJZMDAzVG5RaUxDSmxiV0ZwYkNJNkltSmxjbTVoZEM1dFlYSmphV3hzWVVCMllXeHBaR0YwWldScFpDNWpiMjBpZlN3aVkzSmxaR1Z1ZEdsaGJGTjBZWFIxY3lJNmV5SjBlWEJsSWpvaVVtVjJiMk5oZEdsdmJreHBjM1F5TURJeElpd2lhV1FpT2lKb2RIUndjem92TDJSbGRpNTJhV1JqYUdGcGJpNXVaWFF2WVhCcEwzWXhMM0psZG05allYUnBiMjR2WTNKbFpHVnVkR2xoYkMxemRHRjBkWE12YzNSaGRIVnpMV3hwYzNRdk1qSTBMMk55WldSbGJuUnBZV3d2TWpZaUxDSnpkR0YwZFhOTWFYTjBRM0psWkdWdWRHbGhiQ0k2SW1oMGRIQnpPaTh2WkdWMkxuWnBaR05vWVdsdUxtNWxkQzloY0drdmRqRXZjbVYyYjJOaGRHbHZiaTl6ZEdGMGRYTXRiR2x6ZEM4eU1qUWlMQ0p6ZEdGMGRYTk1hWE4wU1c1a1pYZ2lPaUl5TmlKOWZTd2lhV0YwSWpveE56RXhNelk1TmpRNExDSnBjM01pT2lKa2FXUTZhMlY1T25veVpHMTZSRGd4WTJkUWVEaFdhMmszU21KMWRVMXRSbGx5VjFCbldXOTVkSGxyVlZvelpYbHhhSFF4YWpsTFltOHhPVEpuWWxKbWVFd3hOMWxFU2t0M2IyVjFXa3BLZGpKdVRUaE5lV0o1Y0dJM1VGSlRaMFEzUlVJM2VUSkJOV0psUm1WWWIyWnlhVVJNV2sxR1ZFeFFVMjR5YWtoWU9UUkNNM1F5ZGtwaGJXRTROazVrVlhWNldsZFFZWFZyTjBWNVpHbDNZVXQxUTJsbVdVWTFkRloyTm5nM1JXUTRWMU50YUdZNVRqUnZUWFlpZlEubjN4NG5kS2lvYXgwdzFIMzFTbmg0ZjIycG1jSTVUN2NwOF9BTXpHaVVIeWdMVXhuV1hhbUcwMC1YaVNOTXpBZTFZcVo4SzdoTlEwWnlJYmdsQWVWQlEiCiAgICAgICAgfSwKICAgICAgICAiaXNzdWFuY2VEYXRlIjogIjIwMjQtMDMtMjVUMTI6Mjc6MjguMDAwWiIsCiAgICAgICAgImNyZWRlbnRpYWxTdGF0dXMiOiB7CiAgICAgICAgICAidHlwZSI6ICJSZXZvY2F0aW9uTGlzdDIwMjEiLAogICAgICAgICAgImlkIjogImh0dHBzOi8vZGV2LnZpZGNoYWluLm5ldC9hcGkvdjEvcmV2b2NhdGlvbi9jcmVkZW50aWFsLXN0YXR1cy9zdGF0dXMtbGlzdC8yMjQvY3JlZGVudGlhbC8yNiIsCiAgICAgICAgICAic3RhdHVzTGlzdENyZWRlbnRpYWwiOiAiaHR0cHM6Ly9kZXYudmlkY2hhaW4ubmV0L2FwaS92MS9yZXZvY2F0aW9uL3N0YXR1cy1saXN0LzIyNCIsCiAgICAgICAgICAic3RhdHVzTGlzdEluZGV4IjogIjI2IgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQ==.hMvI0uKjFd6xKHObvwbs7NrVATVHIZCdMt5rpHBMBtutncQLmqHEf0I-yIHt-yFNH9V0KsZNHhygRk3iGlGb4g', ], }; const dcqlQuery: DCQLQuery = { credentials: [ { id: 'query_0', format: 'ldp_vc', meta: { type_values: [['EmailCredential']], }, }, ], }; const verifiablePresentationValidationReport = new VerifiablePresentationValidationReport(); const result = await validateDcqlVp(presentation, 'audience', { dcqlQuery, report: true, verifiablePresentationValidationReport, }); const decodedPresentation = { iat: 1712315113, exp: 4859741800, iss: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', aud: 'audience', sub: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', nbf: 1712315113, nonce: '70ccf6e1-4acf-4b48-b853-bc5e5f4523b0', jti: 'urn:did:ed9934aa-784f-4d54-8bb3-dd7f5845c3d7', vp: { id: 'urn:did:ed9934aa-784f-4d54-8bb3-dd7f5845c3d7', '@context': ['https://www.w3.org/2018/credentials/v1'], type: ['VerifiablePresentation'], holder: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', verifiableCredential: [ { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], type: ['VerifiableCredential', 'EmailCredential'], id: 'urn:uuid:1861412c-9e63-4559-b72e-d19049d2138a', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv', name: 'Validated ID SL', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', email: 'bernat.marcilla@validatedid.com', }, proof: { type: 'JsonWebSignature2020', created: '2024-03-25T12:27:28.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtibzE5MmdiUmZ4TDE3WURKS3dvZXVaSkp2Mm5NOE15YnlwYjdQUlNnRDdFQjd5MkE1YmVGZVhvZnJpRExaTUZUTFBTbjJqSFg5NEIzdDJ2SmFtYTg2TmRVdXpaV1BhdWs3RXlkaXdhS3VDaWZZRjV0VnY2eDdFZDhXU21oZjlONG9NdiN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JvMTkyZ2JSZnhMMTdZREpLd29ldVpKSnYybk04TXlieXBiN1BSU2dEN0VCN3kyQTViZUZlWG9mcmlETFpNRlRMUFNuMmpIWDk0QjN0MnZKYW1hODZOZFV1elpXUGF1azdFeWRpd2FLdUNpZllGNXRWdjZ4N0VkOFdTbWhmOU40b012In0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkVtYWlsQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYiLCJuYW1lIjoiVmFsaWRhdGVkIElEIFNMIn0sImlkIjoidXJuOnV1aWQ6MTg2MTQxMmMtOWU2My00NTU5LWI3MmUtZDE5MDQ5ZDIxMzhhIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJlbWFpbCI6ImJlcm5hdC5tYXJjaWxsYUB2YWxpZGF0ZWRpZC5jb20ifSwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiUmV2b2NhdGlvbkxpc3QyMDIxIiwiaWQiOiJodHRwczovL2Rldi52aWRjaGFpbi5uZXQvYXBpL3YxL3Jldm9jYXRpb24vY3JlZGVudGlhbC1zdGF0dXMvc3RhdHVzLWxpc3QvMjI0L2NyZWRlbnRpYWwvMjYiLCJzdGF0dXNMaXN0Q3JlZGVudGlhbCI6Imh0dHBzOi8vZGV2LnZpZGNoYWluLm5ldC9hcGkvdjEvcmV2b2NhdGlvbi9zdGF0dXMtbGlzdC8yMjQiLCJzdGF0dXNMaXN0SW5kZXgiOiIyNiJ9fSwiaWF0IjoxNzExMzY5NjQ4LCJpc3MiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYifQ.n3x4ndKioax0w1H31Snh4f22pmcI5T7cp8_AMzGiUHygLUxnWXamG00-XiSNMzAe1YqZ8K7hNQ0ZyIbglAeVBQ', }, issuanceDate: '2024-03-25T12:27:28.000Z', credentialStatus: { type: 'RevocationList2021', id: 'https://dev.vidchain.net/api/v1/revocation/credential-status/status-list/224/credential/26', statusListCredential: 'https://dev.vidchain.net/api/v1/revocation/status-list/224', statusListIndex: '26', }, }, ], }, }; const expectedValidationResult = { valid: false, messages: ['Verifiable presentation signature is not correct'], }; const expectedValidationReport: ValidationReport = { globalResult: { result: ValidationResult.KO, errorMessage: 'Verifiable presentation signature is not correct', }, verifiablePresentation: decodedPresentation, credentialsPresentedList: [ { verifiableCredential: { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], type: ['VerifiableCredential', 'EmailCredential'], id: 'urn:uuid:1861412c-9e63-4559-b72e-d19049d2138a', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv', name: 'Validated ID SL', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', email: 'bernat.marcilla@validatedid.com', }, proof: { type: 'JsonWebSignature2020', created: '2024-03-25T12:27:28.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtibzE5MmdiUmZ4TDE3WURKS3dvZXVaSkp2Mm5NOE15YnlwYjdQUlNnRDdFQjd5MkE1YmVGZVhvZnJpRExaTUZUTFBTbjJqSFg5NEIzdDJ2SmFtYTg2TmRVdXpaV1BhdWs3RXlkaXdhS3VDaWZZRjV0VnY2eDdFZDhXU21oZjlONG9NdiN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JvMTkyZ2JSZnhMMTdZREpLd29ldVpKSnYybk04TXlieXBiN1BSU2dEN0VCN3kyQTViZUZlWG9mcmlETFpNRlRMUFNuMmpIWDk0QjN0MnZKYW1hODZOZFV1elpXUGF1azdFeWRpd2FLdUNpZllGNXRWdjZ4N0VkOFdTbWhmOU40b012In0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkVtYWlsQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYiLCJuYW1lIjoiVmFsaWRhdGVkIElEIFNMIn0sImlkIjoidXJuOnV1aWQ6MTg2MTQxMmMtOWU2My00NTU5LWI3MmUtZDE5MDQ5ZDIxMzhhIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJlbWFpbCI6ImJlcm5hdC5tYXJjaWxsYUB2YWxpZGF0ZWRpZC5jb20ifSwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiUmV2b2NhdGlvbkxpc3QyMDIxIiwiaWQiOiJodHRwczovL2Rldi52aWRjaGFpbi5uZXQvYXBpL3YxL3Jldm9jYXRpb24vY3JlZGVudGlhbC1zdGF0dXMvc3RhdHVzLWxpc3QvMjI0L2NyZWRlbnRpYWwvMjYiLCJzdGF0dXNMaXN0Q3JlZGVudGlhbCI6Imh0dHBzOi8vZGV2LnZpZGNoYWluLm5ldC9hcGkvdjEvcmV2b2NhdGlvbi9zdGF0dXMtbGlzdC8yMjQiLCJzdGF0dXNMaXN0SW5kZXgiOiIyNiJ9fSwiaWF0IjoxNzExMzY5NjQ4LCJpc3MiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYifQ.n3x4ndKioax0w1H31Snh4f22pmcI5T7cp8_AMzGiUHygLUxnWXamG00-XiSNMzAe1YqZ8K7hNQ0ZyIbglAeVBQ', }, issuanceDate: '2024-03-25T12:27:28.000Z', credentialStatus: { type: 'RevocationList2021', id: 'https://dev.vidchain.net/api/v1/revocation/credential-status/status-list/224/credential/26', statusListCredential: 'https://dev.vidchain.net/api/v1/revocation/status-list/224', statusListIndex: '26', }, }, validations: [ { validationType: CredentialValidationTypes.Expiration, validationResult: ValidationResult.NotValidated, }, { validationType: CredentialValidationTypes.NotYetValid, validationResult: ValidationResult.NotValidated, }, { validationType: CredentialValidationTypes.Revocation, validationResult: ValidationResult.NotValidated, }, { validationType: CredentialValidationTypes.Schema, validationResult: ValidationResult.NotValidated, }, { validationType: CredentialValidationTypes.CredentialSignature, validationResult: ValidationResult.NotValidated, }, ], }, ], }; const report = verifiablePresentationValidationReport.generate(); expect(report).toStrictEqual(expectedValidationReport); expect(result).toStrictEqual(expectedValidationResult); }); }); describe('For JSON presentation format', () => { it('informs that all validations are OK', async () => { const presentation = { query_0: [ { id: 'urn:did:ed9934aa-784f-4d54-8bb3-dd7f5845c3d7', '@context': ['https://www.w3.org/2018/credentials/v1'], type: ['VerifiablePresentation'], holder: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', verifiableCredential: [ { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], type: ['VerifiableCredential', 'EmailCredential'], id: 'urn:uuid:1861412c-9e63-4559-b72e-d19049d2138a', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv', name: 'Validated ID SL', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', email: 'bernat.marcilla@validatedid.com', }, proof: { type: 'JsonWebSignature2020', created: '2024-03-25T12:27:28.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtibzE5MmdiUmZ4TDE3WURKS3dvZXVaSkp2Mm5NOE15YnlwYjdQUlNnRDdFQjd5MkE1YmVGZVhvZnJpRExaTUZUTFBTbjJqSFg5NEIzdDJ2SmFtYTg2TmRVdXpaV1BhdWs3RXlkaXdhS3VDaWZZRjV0VnY2eDdFZDhXU21oZjlONG9NdiN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JvMTkyZ2JSZnhMMTdZREpLd29ldVpKSnYybk04TXlieXBiN1BSU2dEN0VCN3kyQTViZUZlWG9mcmlETFpNRlRMUFNuMmpIWDk0QjN0MnZKYW1hODZOZFV1elpXUGF1azdFeWRpd2FLdUNpZllGNXRWdjZ4N0VkOFdTbWhmOU40b012In0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkVtYWlsQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYiLCJuYW1lIjoiVmFsaWRhdGVkIElEIFNMIn0sImlkIjoidXJuOnV1aWQ6MTg2MTQxMmMtOWU2My00NTU5LWI3MmUtZDE5MDQ5ZDIxMzhhIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJlbWFpbCI6ImJlcm5hdC5tYXJjaWxsYUB2YWxpZGF0ZWRpZC5jb20ifSwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiUmV2b2NhdGlvbkxpc3QyMDIxIiwiaWQiOiJodHRwczovL2Rldi52aWRjaGFpbi5uZXQvYXBpL3YxL3Jldm9jYXRpb24vY3JlZGVudGlhbC1zdGF0dXMvc3RhdHVzLWxpc3QvMjI0L2NyZWRlbnRpYWwvMjYiLCJzdGF0dXNMaXN0Q3JlZGVudGlhbCI6Imh0dHBzOi8vZGV2LnZpZGNoYWluLm5ldC9hcGkvdjEvcmV2b2NhdGlvbi9zdGF0dXMtbGlzdC8yMjQiLCJzdGF0dXNMaXN0SW5kZXgiOiIyNiJ9fSwiaWF0IjoxNzExMzY5NjQ4LCJpc3MiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYifQ.n3x4ndKioax0w1H31Snh4f22pmcI5T7cp8_AMzGiUHygLUxnWXamG00-XiSNMzAe1YqZ8K7hNQ0ZyIbglAeVBQ', }, issuanceDate: '2024-03-25T12:27:28.000Z', credentialStatus: { type: 'RevocationList2021', id: 'https://dev.vidchain.net/api/v1/revocation/credential-status/status-list/224/credential/26', statusListCredential: 'https://dev.vidchain.net/api/v1/revocation/status-list/224', statusListIndex: '26', }, }, ], proof: { type: 'JsonWebSignature2020', created: '2024-05-05T13:05:13.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050In0.eyJpYXQiOjE3MTIzMTUxMTMsImV4cCI6NDg1OTc0MTcwMCwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwiYXVkIjoiYXVkaWVuY2UiLCJzdWIiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJuYmYiOjE3MTIzMTUxMTMsIm5vbmNlIjoiNzBjY2Y2ZTEtNGFjZi00YjQ4LWI4NTMtYmM1ZTVmNDUyM2IwIiwianRpIjoidXJuOmRpZDplZDk5MzRhYS03ODRmLTRkNTQtOGJiMy1kZDdmNTg0NWMzZDciLCJ2cCI6eyJpZCI6InVybjpkaWQ6ZWQ5OTM0YWEtNzg0Zi00ZDU0LThiYjMtZGQ3ZjU4NDVjM2Q3IiwiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlUHJlc2VudGF0aW9uIl0sImhvbGRlciI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCIsInZlcmlmaWFibGVDcmVkZW50aWFsIjpbeyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkVtYWlsQ3JlZGVudGlhbCJdLCJpZCI6InVybjp1dWlkOjE4NjE0MTJjLTllNjMtNDU1OS1iNzJlLWQxOTA0OWQyMTM4YSIsImlzc3VlciI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtibzE5MmdiUmZ4TDE3WURKS3dvZXVaSkp2Mm5NOE15YnlwYjdQUlNnRDdFQjd5MkE1YmVGZVhvZnJpRExaTUZUTFBTbjJqSFg5NEIzdDJ2SmFtYTg2TmRVdXpaV1BhdWs3RXlkaXdhS3VDaWZZRjV0VnY2eDdFZDhXU21oZjlONG9NdiIsIm5hbWUiOiJWYWxpZGF0ZWQgSUQgU0wifSwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJlbWFpbCI6ImJlcm5hdC5tYXJjaWxsYUB2YWxpZGF0ZWRpZC5jb20ifSwicHJvb2YiOnsidHlwZSI6Ikpzb25XZWJTaWduYXR1cmUyMDIwIiwiY3JlYXRlZCI6IjIwMjQtMDMtMjVUMTI6Mjc6MjguMDAwWiIsInByb29mUHVycG9zZSI6ImFzc2VydGlvbk1ldGhvZCIsInZlcmlmaWNhdGlvbk1ldGhvZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtibzE5MmdiUmZ4TDE3WURKS3dvZXVaSkp2Mm5NOE15YnlwYjdQUlNnRDdFQjd5MkE1YmVGZVhvZnJpRExaTUZUTFBTbjJqSFg5NEIzdDJ2SmFtYTg2TmRVdXpaV1BhdWs3RXlkaXdhS3VDaWZZRjV0VnY2eDdFZDhXU21oZjlONG9NdiN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JvMTkyZ2JSZnhMMTdZREpLd29ldVpKSnYybk04TXlieXBiN1BSU2dEN0VCN3kyQTViZUZlWG9mcmlETFpNRlRMUFNuMmpIWDk0QjN0MnZKYW1hODZOZFV1elpXUGF1azdFeWRpd2FLdUNpZllGNXRWdjZ4N0VkOFdTbWhmOU40b012IiwiandzIjoiZXlKaGJHY2lPaUpGVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0lzSW10cFpDSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpYnpFNU1tZGlVbVo0VERFM1dVUktTM2R2WlhWYVNrcDJNbTVOT0UxNVlubHdZamRRVWxOblJEZEZRamQ1TWtFMVltVkdaVmh2Wm5KcFJFeGFUVVpVVEZCVGJqSnFTRmc1TkVJemRESjJTbUZ0WVRnMlRtUlZkWHBhVjFCaGRXczNSWGxrYVhkaFMzVkRhV1paUmpWMFZuWTJlRGRGWkRoWFUyMW9aamxPTkc5TmRpTjZNbVJ0ZWtRNE1XTm5VSGc0Vm10cE4wcGlkWFZOYlVaWmNsZFFaMWx2ZVhSNWExVmFNMlY1Y1doME1XbzVTMkp2TVRreVoySlNabmhNTVRkWlJFcExkMjlsZFZwS1NuWXliazA0VFhsaWVYQmlOMUJTVTJkRU4wVkNOM2t5UVRWaVpVWmxXRzltY21sRVRGcE5SbFJNVUZOdU1tcElXRGswUWpOME1uWktZVzFoT0RaT1pGVjFlbHBYVUdGMWF6ZEZlV1JwZDJGTGRVTnBabGxHTlhSV2RqWjROMFZrT0ZkVGJXaG1PVTQwYjAxMkluMC5leUoyWXlJNmV5SkFZMjl1ZEdWNGRDSTZXeUpvZEhSd2N6b3ZMM2QzZHk1M015NXZjbWN2TWpBeE9DOWpjbVZrWlc1MGFXRnNjeTkyTVNJc0ltaDBkSEJ6T2k4dllYQnBMblpwWkdOb1lXbHVMbTVsZEM5aGNHa3ZkakV2WTI5dWRHVjRkSE12ZGpFaVhTd2lkSGx3WlNJNld5SldaWEpwWm1saFlteGxRM0psWkdWdWRHbGhiQ0lzSWtWdFlXbHNRM0psWkdWdWRHbGhiQ0pkTENKcGMzTjFaWElpT25zaWFXUWlPaUprYVdRNmEyVjVPbm95WkcxNlJEZ3hZMmRRZURoV2EyazNTbUoxZFUxdFJsbHlWMUJuV1c5NWRIbHJWVm96WlhseGFIUXhhamxMWW04eE9USm5ZbEptZUV3eE4xbEVTa3QzYjJWMVdrcEtkakp1VFRoTmVXSjVjR0kzVUZKVFowUTNSVUkzZVRKQk5XSmxSbVZZYjJaeWFVUk1XazFHVkV4UVUyNHlha2hZT1RSQ00zUXlka3BoYldFNE5rNWtWWFY2V2xkUVlYVnJOMFY1WkdsM1lVdDFRMmxtV1VZMWRGWjJObmczUldRNFYxTnRhR1k1VGpSdlRYWWlMQ0p1WVcxbElqb2lWbUZzYVdSaGRHVmtJRWxFSUZOTUluMHNJbWxrSWpvaWRYSnVPblYxYVdRNk1UZzJNVFF4TW1NdE9XVTJNeTAwTlRVNUxXSTNNbVV0WkRFNU1EUTVaREl4TXpoaElpd2lZM0psWkdWdWRHbGhiRk4xWW1wbFkzUWlPbnNpYVdRaU9pSmthV1E2YTJWNU9ub3laRzE2UkRneFkyZFFlRGhXYTJrM1NtSjFkVTF0UmxseVYxQm5XVzk1ZEhsclZWb3paWGx4YUhReGFqbExZbkEzWTB4YVRGSjRjMXAxUlZSck9VSk9aek52Vm1GU1ZFUlJRMDQ0ZFZoaGVYaDVaWFExV21OcVoxcDRkbmR1ZFUxWVdWZEhlbk0zVEhoWU1YTTBSMUppVEZWS2QwWktTRVo2UldWT2VrSnpObFozU3poVFNubHFjbWxMYWtVNE5uaExSbFJGUVhkV2N6ZHhlVk5JYTNJNFdqTjVhVzFvYzFOTU4ySnJZMDAzVG5RaUxDSmxiV0ZwYkNJNkltSmxjbTVoZEM1dFlYSmphV3hzWVVCMllXeHBaR0YwWldScFpDNWpiMjBpZlN3aVkzSmxaR1Z1ZEdsaGJGTjBZWFIxY3lJNmV5SjBlWEJsSWpvaVVtVjJiMk5oZEdsdmJreHBjM1F5TURJeElpd2lhV1FpT2lKb2RIUndjem92TDJSbGRpNTJhV1JqYUdGcGJpNXVaWFF2WVhCcEwzWXhMM0psZG05allYUnBiMjR2WTNKbFpHVnVkR2xoYkMxemRHRjBkWE12YzNSaGRIVnpMV3hwYzNRdk1qSTBMMk55WldSbGJuUnBZV3d2TWpZaUxDSnpkR0YwZFhOTWFYTjBRM0psWkdWdWRHbGhiQ0k2SW1oMGRIQnpPaTh2WkdWMkxuWnBaR05vWVdsdUxtNWxkQzloY0drdmRqRXZjbVYyYjJOaGRHbHZiaTl6ZEdGMGRYTXRiR2x6ZEM4eU1qUWlMQ0p6ZEdGMGRYTk1hWE4wU1c1a1pYZ2lPaUl5TmlKOWZTd2lhV0YwSWpveE56RXhNelk1TmpRNExDSnBjM01pT2lKa2FXUTZhMlY1T25veVpHMTZSRGd4WTJkUWVEaFdhMmszU21KMWRVMXRSbGx5VjFCbldXOTVkSGxyVlZvelpYbHhhSFF4YWpsTFltOHhPVEpuWWxKbWVFd3hOMWxFU2t0M2IyVjFXa3BLZGpKdVRUaE5lV0o1Y0dJM1VGSlRaMFEzUlVJM2VUSkJOV0psUm1WWWIyWnlhVVJNV2sxR1ZFeFFVMjR5YWtoWU9UUkNNM1F5ZGtwaGJXRTROazVrVlhWNldsZFFZWFZyTjBWNVpHbDNZVXQxUTJsbVdVWTFkRloyTm5nM1JXUTRWMU50YUdZNVRqUnZUWFlpZlEubjN4NG5kS2lvYXgwdzFIMzFTbmg0ZjIycG1jSTVUN2NwOF9BTXpHaVVIeWdMVXhuV1hhbUcwMC1YaVNOTXpBZTFZcVo4SzdoTlEwWnlJYmdsQWVWQlEifSwiaXNzdWFuY2VEYXRlIjoiMjAyNC0wMy0yNVQxMjoyNzoyOC4wMDBaIiwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiUmV2b2NhdGlvbkxpc3QyMDIxIiwiaWQiOiJodHRwczovL2Rldi52aWRjaGFpbi5uZXQvYXBpL3YxL3Jldm9jYXRpb24vY3JlZGVudGlhbC1zdGF0dXMvc3RhdHVzLWxpc3QvMjI0L2NyZWRlbnRpYWwvMjYiLCJzdGF0dXNMaXN0Q3JlZGVudGlhbCI6Imh0dHBzOi8vZGV2LnZpZGNoYWluLm5ldC9hcGkvdjEvcmV2b2NhdGlvbi9zdGF0dXMtbGlzdC8yMjQiLCJzdGF0dXNMaXN0SW5kZXgiOiIyNiJ9fV19fQ.hMvI0uKjFd6xKHObvwbs7NrVATVHIZCdMt5rpHBMBtutncQLmqHEf0I-yIHt-yFNH9V0KsZNHhygRk3iGlGb4g', }, }, ], }; const dcqlQuery: DCQLQuery = { credentials: [ { id: 'query_0', format: 'ldp_vc', meta: { type_values: [['EmailCredential']], }, }, ], }; const verifiablePresentationValidationReport = new VerifiablePresentationValidationReport(); const result = await validateDcqlVp(presentation, 'audience', { dcqlQuery, report: true, verifiablePresentationValidationReport, }); const decodedPresentation = { aud: 'audience', exp: 4859741700, iat: 1712315113, iss: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', jti: 'urn:did:ed9934aa-784f-4d54-8bb3-dd7f5845c3d7', nbf: 1712315113, nonce: '70ccf6e1-4acf-4b48-b853-bc5e5f4523b0', sub: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', vp: { '@context': ['https://www.w3.org/2018/credentials/v1'], holder: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', id: 'urn:did:ed9934aa-784f-4d54-8bb3-dd7f5845c3d7', type: ['VerifiablePresentation'], verifiableCredential: [ { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], credentialStatus: { id: 'https://dev.vidchain.net/api/v1/revocation/credential-status/status-list/224/credential/26', statusListCredential: 'https://dev.vidchain.net/api/v1/revocation/status-list/224', statusListIndex: '26', type: 'RevocationList2021', }, credentialSubject: { email: 'bernat.marcilla@validatedid.com', id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', }, id: 'urn:uuid:1861412c-9e63-4559-b72e-d19049d2138a', issuanceDate: '2024-03-25T12:27:28.000Z', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv', name: 'Validated ID SL', }, proof: { created: '2024-03-25T12:27:28.000Z', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtibzE5MmdiUmZ4TDE3WURKS3dvZXVaSkp2Mm5NOE15YnlwYjdQUlNnRDdFQjd5MkE1YmVGZVhvZnJpRExaTUZUTFBTbjJqSFg5NEIzdDJ2SmFtYTg2TmRVdXpaV1BhdWs3RXlkaXdhS3VDaWZZRjV0VnY2eDdFZDhXU21oZjlONG9NdiN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JvMTkyZ2JSZnhMMTdZREpLd29ldVpKSnYybk04TXlieXBiN1BSU2dEN0VCN3kyQTViZUZlWG9mcmlETFpNRlRMUFNuMmpIWDk0QjN0MnZKYW1hODZOZFV1elpXUGF1azdFeWRpd2FLdUNpZllGNXRWdjZ4N0VkOFdTbWhmOU40b012In0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkVtYWlsQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYiLCJuYW1lIjoiVmFsaWRhdGVkIElEIFNMIn0sImlkIjoidXJuOnV1aWQ6MTg2MTQxMmMtOWU2My00NTU5LWI3MmUtZDE5MDQ5ZDIxMzhhIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJlbWFpbCI6ImJlcm5hdC5tYXJjaWxsYUB2YWxpZGF0ZWRpZC5jb20ifSwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiUmV2b2NhdGlvbkxpc3QyMDIxIiwiaWQiOiJodHRwczovL2Rldi52aWRjaGFpbi5uZXQvYXBpL3YxL3Jldm9jYXRpb24vY3JlZGVudGlhbC1zdGF0dXMvc3RhdHVzLWxpc3QvMjI0L2NyZWRlbnRpYWwvMjYiLCJzdGF0dXNMaXN0Q3JlZGVudGlhbCI6Imh0dHBzOi8vZGV2LnZpZGNoYWluLm5ldC9hcGkvdjEvcmV2b2NhdGlvbi9zdGF0dXMtbGlzdC8yMjQiLCJzdGF0dXNMaXN0SW5kZXgiOiIyNiJ9fSwiaWF0IjoxNzExMzY5NjQ4LCJpc3MiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYifQ.n3x4ndKioax0w1H31Snh4f22pmcI5T7cp8_AMzGiUHygLUxnWXamG00-XiSNMzAe1YqZ8K7hNQ0ZyIbglAeVBQ', proofPurpose: 'assertionMethod', type: 'JsonWebSignature2020', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv', }, type: ['VerifiableCredential', 'EmailCredential'], }, ], }, }; const expectedValidationResult = { valid: true }; const expectedValidationReport: ValidationReport = { globalResult: { result: ValidationResult.OK, }, verifiablePresentation: decodedPresentation, credentialsPresentedList: [ { verifiableCredential: { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], type: ['VerifiableCredential', 'EmailCredential'], id: 'urn:uuid:1861412c-9e63-4559-b72e-d19049d2138a', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv', name: 'Validated ID SL', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', email: 'bernat.marcilla@validatedid.com', }, proof: { type: 'JsonWebSignature2020', created: '2024-03-25T12:27:28.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtibzE5MmdiUmZ4TDE3WURKS3dvZXVaSkp2Mm5NOE15YnlwYjdQUlNnRDdFQjd5MkE1YmVGZVhvZnJpRExaTUZUTFBTbjJqSFg5NEIzdDJ2SmFtYTg2TmRVdXpaV1BhdWs3RXlkaXdhS3VDaWZZRjV0VnY2eDdFZDhXU21oZjlONG9NdiN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JvMTkyZ2JSZnhMMTdZREpLd29ldVpKSnYybk04TXlieXBiN1BSU2dEN0VCN3kyQTViZUZlWG9mcmlETFpNRlRMUFNuMmpIWDk0QjN0MnZKYW1hODZOZFV1elpXUGF1azdFeWRpd2FLdUNpZllGNXRWdjZ4N0VkOFdTbWhmOU40b012In0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkVtYWlsQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYiLCJuYW1lIjoiVmFsaWRhdGVkIElEIFNMIn0sImlkIjoidXJuOnV1aWQ6MTg2MTQxMmMtOWU2My00NTU5LWI3MmUtZDE5MDQ5ZDIxMzhhIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJlbWFpbCI6ImJlcm5hdC5tYXJjaWxsYUB2YWxpZGF0ZWRpZC5jb20ifSwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiUmV2b2NhdGlvbkxpc3QyMDIxIiwiaWQiOiJodHRwczovL2Rldi52aWRjaGFpbi5uZXQvYXBpL3YxL3Jldm9jYXRpb24vY3JlZGVudGlhbC1zdGF0dXMvc3RhdHVzLWxpc3QvMjI0L2NyZWRlbnRpYWwvMjYiLCJzdGF0dXNMaXN0Q3JlZGVudGlhbCI6Imh0dHBzOi8vZGV2LnZpZGNoYWluLm5ldC9hcGkvdjEvcmV2b2NhdGlvbi9zdGF0dXMtbGlzdC8yMjQiLCJzdGF0dXNMaXN0SW5kZXgiOiIyNiJ9fSwiaWF0IjoxNzExMzY5NjQ4LCJpc3MiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYifQ.n3x4ndKioax0w1H31Snh4f22pmcI5T7cp8_AMzGiUHygLUxnWXamG00-XiSNMzAe1YqZ8K7hNQ0ZyIbglAeVBQ', }, issuanceDate: '2024-03-25T12:27:28.000Z', credentialStatus: { type: 'RevocationList2021', id: 'https://dev.vidchain.net/api/v1/revocation/credential-status/status-list/224/credential/26', statusListCredential: 'https://dev.vidchain.net/api/v1/revocation/status-list/224', statusListIndex: '26', }, }, validations: [ { validationType: CredentialValidationTypes.Expiration, validationResult: ValidationResult.OK, }, { validationType: CredentialValidationTypes.NotYetValid, validationResult: ValidationResult.OK, }, { validationType: CredentialValidationTypes.Revocation, validationResult: ValidationResult.OK, }, { validationType: CredentialValidationTypes.CredentialSignature, validationResult: ValidationResult.OK, }, ], }, ], }; const report = verifiablePresentationValidationReport.generate(); expect(report).toStrictEqual(expectedValidationReport); expect(result).toStrictEqual(expectedValidationResult); }); it('informs that the VP format is wrong for the second VP', async () => { const presentation: DcqlPresentation = { query_0: [ { id: 'urn:did:ed9934aa-784f-4d54-8bb3-dd7f5845c3d7', '@context': ['https://www.w3.org/2018/credentials/v1'], type: ['VerifiablePresentation'], holder: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', verifiableCredential: [ { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], type: ['VerifiableCredential', 'EmailCredential'], id: 'urn:uuid:1861412c-9e63-4559-b72e-d19049d2138a', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv', name: 'Validated ID SL', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', email: 'bernat.marcilla@validatedid.com', }, proof: { type: 'JsonWebSignature2020', created: '2024-03-25T12:27:28.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtibzE5MmdiUmZ4TDE3WURKS3dvZXVaSkp2Mm5NOE15YnlwYjdQUlNnRDdFQjd5MkE1YmVGZVhvZnJpRExaTUZUTFBTbjJqSFg5NEIzdDJ2SmFtYTg2TmRVdXpaV1BhdWs3RXlkaXdhS3VDaWZZRjV0VnY2eDdFZDhXU21oZjlONG9NdiN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JvMTkyZ2JSZnhMMTdZREpLd29ldVpKSnYybk04TXlieXBiN1BSU2dEN0VCN3kyQTViZUZlWG9mcmlETFpNRlRMUFNuMmpIWDk0QjN0MnZKYW1hODZOZFV1elpXUGF1azdFeWRpd2FLdUNpZllGNXRWdjZ4N0VkOFdTbWhmOU40b012In0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkVtYWlsQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYiLCJuYW1lIjoiVmFsaWRhdGVkIElEIFNMIn0sImlkIjoidXJuOnV1aWQ6MTg2MTQxMmMtOWU2My00NTU5LWI3MmUtZDE5MDQ5ZDIxMzhhIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJlbWFpbCI6ImJlcm5hdC5tYXJjaWxsYUB2YWxpZGF0ZWRpZC5jb20ifSwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiUmV2b2NhdGlvbkxpc3QyMDIxIiwiaWQiOiJodHRwczovL2Rldi52aWRjaGFpbi5uZXQvYXBpL3YxL3Jldm9jYXRpb24vY3JlZGVudGlhbC1zdGF0dXMvc3RhdHVzLWxpc3QvMjI0L2NyZWRlbnRpYWwvMjYiLCJzdGF0dXNMaXN0Q3JlZGVudGlhbCI6Imh0dHBzOi8vZGV2LnZpZGNoYWluLm5ldC9hcGkvdjEvcmV2b2NhdGlvbi9zdGF0dXMtbGlzdC8yMjQiLCJzdGF0dXNMaXN0SW5kZXgiOiIyNiJ9fSwiaWF0IjoxNzExMzY5NjQ4LCJpc3MiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYifQ.n3x4ndKioax0w1H31Snh4f22pmcI5T7cp8_AMzGiUHygLUxnWXamG00-XiSNMzAe1YqZ8K7hNQ0ZyIbglAeVBQ', }, issuanceDate: '2024-03-25T12:27:28.000Z', credentialStatus: { type: 'RevocationList2021', id: 'https://dev.vidchain.net/api/v1/revocation/credential-status/status-list/224/credential/26', statusListCredential: 'https://dev.vidchain.net/api/v1/revocation/status-list/224', statusListIndex: '26', }, }, ], proof: { type: 'JsonWebSignature2020', created: '2024-05-05T13:05:13.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050In0.eyJpYXQiOjE3MTIzMTUxMTMsImV4cCI6NDg1OTc0MTcwMCwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwiYXVkIjoiYXVkaWVuY2UiLCJzdWIiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJuYmYiOjE3MTIzMTUxMTMsIm5vbmNlIjoiNzBjY2Y2ZTEtNGFjZi00YjQ4LWI4NTMtYmM1ZTVmNDUyM2IwIiwianRpIjoidXJuOmRpZDplZDk5MzRhYS03ODRmLTRkNTQtOGJiMy1kZDdmNTg0NWMzZDciLCJ2cCI6eyJpZCI6InVybjpkaWQ6ZWQ5OTM0YWEtNzg0Zi00ZDU0LThiYjMtZGQ3ZjU4NDVjM2Q3IiwiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlUHJlc2VudGF0aW9uIl0sImhvbGRlciI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCIsInZlcmlmaWFibGVDcmVkZW50aWFsIjpbeyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkVtYWlsQ3JlZGVudGlhbCJdLCJpZCI6InVybjp1dWlkOjE4NjE0MTJjLTllNjMtNDU1OS1iNzJlLWQxOTA0OWQyMTM4YSIsImlzc3VlciI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtibzE5MmdiUmZ4TDE3WURKS3dvZXVaSkp2Mm5NOE15YnlwYjdQUlNnRDdFQjd5MkE1YmVGZVhvZnJpRExaTUZUTFBTbjJqSFg5NEIzdDJ2SmFtYTg2TmRVdXpaV1BhdWs3RXlkaXdhS3VDaWZZRjV0VnY2eDdFZDhXU21oZjlONG9NdiIsIm5hbWUiOiJWYWxpZGF0ZWQgSUQgU0wifSwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJlbWFpbCI6ImJlcm5hdC5tYXJjaWxsYUB2YWxpZGF0ZWRpZC5jb20ifSwicHJvb2YiOnsidHlwZSI6Ikpzb25XZWJTaWduYXR1cmUyMDIwIiwiY3JlYXRlZCI6IjIwMjQtMDMtMjVUMTI6Mjc6MjguMDAwWiIsInByb29mUHVycG9zZSI6ImFzc2VydGlvbk1ldGhvZCIsInZlcmlmaWNhdGlvbk1ldGhvZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtibzE5MmdiUmZ4TDE3WURKS3dvZXVaSkp2Mm5NOE15YnlwYjdQUlNnRDdFQjd5MkE1YmVGZVhvZnJpRExaTUZUTFBTbjJqSFg5NEIzdDJ2SmFtYTg2TmRVdXpaV1BhdWs3RXlkaXdhS3VDaWZZRjV0VnY2eDdFZDhXU21oZjlONG9NdiN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JvMTkyZ2JSZnhMMTdZREpLd29ldVpKSnYybk04TXlieXBiN1BSU2dEN0VCN3kyQTViZUZlWG9mcmlETFpNRlRMUFNuMmpIWDk0QjN0MnZKYW1hODZOZFV1elpXUGF1azdFeWRpd2FLdUNpZllGNXRWdjZ4N0VkOFdTbWhmOU40b012IiwiandzIjoiZXlKaGJHY2lPaUpGVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0lzSW10cFpDSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpYnpFNU1tZGlVbVo0VERFM1dVUktTM2R2WlhWYVNrcDJNbTVOT0UxNVlubHdZamRRVWxOblJEZEZRamQ1TWtFMVltVkdaVmh2Wm5KcFJFeGFUVVpVVEZCVGJqSnFTRmc1TkVJemRESjJTbUZ0WVRnMlRtUlZkWHBhVjFCaGRXczNSWGxrYVhkaFMzVkRhV1paUmpWMFZuWTJlRGRGWkRoWFUyMW9aamxPTkc5TmRpTjZNbVJ0ZWtRNE1XTm5VSGc0Vm10cE4wcGlkWFZOYlVaWmNsZFFaMWx2ZVhSNWExVmFNMlY1Y1doME1XbzVTMkp2TVRreVoySlNabmhNTVRkWlJFcExkMjlsZFZwS1NuWXliazA0VFhsaWVYQmlOMUJTVTJkRU4wVkNOM2t5UVRWaVpVWmxXRzltY21sRVRGcE5SbFJNVUZOdU1tcElXRGswUWpOME1uWktZVzFoT0RaT1pGVjFlbHBYVUdGMWF6ZEZlV1JwZDJGTGRVTnBabGxHTlhSV2RqWjROMFZrT0ZkVGJXaG1PVTQwYjAxMkluMC5leUoyWXlJNmV5SkFZMjl1ZEdWNGRDSTZXeUpvZEhSd2N6b3ZMM2QzZHk1M015NXZjbWN2TWpBeE9DOWpjbVZrWlc1MGFXRnNjeTkyTVNJc0ltaDBkSEJ6T2k4dllYQnBMblpwWkdOb1lXbHVMbTVsZEM5aGNHa3ZkakV2WTI5dWRHVjRkSE12ZGpFaVhTd2lkSGx3WlNJNld5SldaWEpwWm1saFlteGxRM0psWkdWdWRHbGhiQ0lzSWtWdFlXbHNRM0psWkdWdWRHbGhiQ0pkTENKcGMzTjFaWElpT25zaWFXUWlPaUprYVdRNmEyVjVPbm95WkcxNlJEZ3hZMmRRZURoV2EyazNTbUoxZFUxdFJsbHlWMUJuV1c5NWRIbHJWVm96WlhseGFIUXhhamxMWW04eE9USm5ZbEptZUV3eE4xbEVTa3QzYjJWMVdrcEtkakp1VFRoTmVXSjVjR0kzVUZKVFowUTNSVUkzZVRKQk5XSmxSbVZZYjJaeWFVUk1XazFHVkV4UVUyNHlha2hZT1RSQ00zUXlka3BoYldFNE5rNWtWWFY2V2xkUVlYVnJOMFY1WkdsM1lVdDFRMmxtV1VZMWRGWjJObmczUldRNFYxTnRhR1k1VGpSdlRYWWlMQ0p1WVcxbElqb2lWbUZzYVdSaGRHVmtJRWxFSUZOTUluMHNJbWxrSWpvaWRYSnVPblYxYVdRNk1UZzJNVFF4TW1NdE9XVTJNeTAwTlRVNUxXSTNNbVV0WkRFNU1EUTVaREl4TXpoaElpd2lZM0psWkdWdWRHbGhiRk4xWW1wbFkzUWlPbnNpYVdRaU9pSmthV1E2YTJWNU9ub3laRzE2UkRneFkyZFFlRGhXYTJrM1NtSjFkVTF0UmxseVYxQm5XVzk1ZEhsclZWb3paWGx4YUhReGFqbExZbkEzWTB4YVRGSjRjMXAxUlZSck9VSk9aek52Vm1GU1ZFUlJRMDQ0ZFZoaGVYaDVaWFExV21OcVoxcDRkbmR1ZFUxWVdWZEhlbk0zVEhoWU1YTTBSMUppVEZWS2QwWktTRVo2UldWT2VrSnpObFozU3poVFNubHFjbWxMYWtVNE5uaExSbFJGUVhkV2N6ZHhlVk5JYTNJNFdqTjVhVzFvYzFOTU4ySnJZMDAzVG5RaUxDSmxiV0ZwYkNJNkltSmxjbTVoZEM1dFlYSmphV3hzWVVCMllXeHBaR0YwWldScFpDNWpiMjBpZlN3aVkzSmxaR1Z1ZEdsaGJGTjBZWFIxY3lJNmV5SjBlWEJsSWpvaVVtVjJiMk5oZEdsdmJreHBjM1F5TURJeElpd2lhV1FpT2lKb2RIUndjem92TDJSbGRpNTJhV1JqYUdGcGJpNXVaWFF2WVhCcEwzWXhMM0psZG05allYUnBiMjR2WTNKbFpHVnVkR2xoYkMxemRHRjBkWE12YzNSaGRIVnpMV3hwYzNRdk1qSTBMMk55WldSbGJuUnBZV3d2TWpZaUxDSnpkR0YwZFhOTWFYTjBRM0psWkdWdWRHbGhiQ0k2SW1oMGRIQnpPaTh2WkdWMkxuWnBaR05vWVdsdUxtNWxkQzloY0drdmRqRXZjbVYyYjJOaGRHbHZiaTl6ZEdGMGRYTXRiR2x6ZEM4eU1qUWlMQ0p6ZEdGMGRYTk1hWE4wU1c1a1pYZ2lPaUl5TmlKOWZTd2lhV0YwSWpveE56RXhNelk1TmpRNExDSnBjM01pT2lKa2FXUTZhMlY1T25veVpHMTZSRGd4WTJkUWVEaFdhMmszU21KMWRVMXRSbGx5VjFCbldXOTVkSGxyVlZvelpYbHhhSFF4YWpsTFltOHhPVEpuWWxKbWVFd3hOMWxFU2t0M2IyVjFXa3BLZGpKdVRUaE5lV0o1Y0dJM1VGSlRaMFEzUlVJM2VUSkJOV0psUm1WWWIyWnlhVVJNV2sxR1ZFeFFVMjR5YWtoWU9UUkNNM1F5ZGtwaGJXRTROazVrVlhWNldsZFFZWFZyTjBWNVpHbDNZVXQxUTJsbVdVWTFkRloyTm5nM1JXUTRWMU50YUdZNVRqUnZUWFlpZlEubjN4NG5kS2lvYXgwdzFIMzFTbmg0ZjIycG1jSTVUN2NwOF9BTXpHaVVIeWdMVXhuV1hhbUcwMC1YaVNOTXpBZTFZcVo4SzdoTlEwWnlJYmdsQWVWQlEifSwiaXNzdWFuY2VEYXRlIjoiMjAyNC0wMy0yNVQxMjoyNzoyOC4wMDBaIiwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiUmV2b2NhdGlvbkxpc3QyMDIxIiwiaWQiOiJodHRwczovL2Rldi52aWRjaGFpbi5uZXQvYXBpL3YxL3Jldm9jYXRpb24vY3JlZGVudGlhbC1zdGF0dXMvc3RhdHVzLWxpc3QvMjI0L2NyZWRlbnRpYWwvMjYiLCJzdGF0dXNMaXN0Q3JlZGVudGlhbCI6Imh0dHBzOi8vZGV2LnZpZGNoYWluLm5ldC9hcGkvdjEvcmV2b2NhdGlvbi9zdGF0dXMtbGlzdC8yMjQiLCJzdGF0dXNMaXN0SW5kZXgiOiIyNiJ9fV19fQ.hMvI0uKjFd6xKHObvwbs7NrVATVHIZCdMt5rpHBMBtutncQLmqHEf0I-yIHt-yFNH9V0KsZNHhygRk3iGlGb4g', }, }, ], query_1: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050In0.eyJpYXQiOjE3MTIzMDU2NTMsImV4cCI6NDg1OTc0MTcwMCwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwiYXVkIjoiYXVkaWVuY2UiLCJzdWIiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJuYmYiOjE3MTIzMDU2NTMsIm5vbmNlIjoiNzBjY2Y2ZTEtNGFjZi00YjQ4LWI4NTMtYmM1ZTVmNDUyM2IwIiwianRpIjoidXJuOmRpZDpiMzFkMzhhNy1iYjk5LTQ1MGYtOWI5OS02Mzg5MmQyMTFkOTIiLCJ2cCI6eyJpZCI6InVybjpkaWQ6YjMxZDM4YTctYmI5OS00NTBmLTliOTktNjM4OTJkMjExZDkyIiwiQGNvbnRleHQiOltdLCJ0eXBlIjpbIlZlcmlmaWFibGVQcmVzZW50YXRpb24iXSwiaG9sZGVyIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwidmVyaWZpYWJsZUNyZWRlbnRpYWwiOlsiZXlKaGJHY2lPaUpGVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0lzSW10cFpDSTZJbVJwWkRwbFluTnBPbnB5Y20xUWRYUktUVFZqWjJScVIxRkdOR05FZVRWaUkzUkNOaTFVYjJreFdsSk9TM1ZmUkVkaVpHVnJiVXhETjJFM1R6SjBha1JEUTNaalVGZHlja2xMTTJNaWZRLmV5SnFkR2tpT2lKMWNtNDZaR2xrT2pFeU16UTFOaUlzSW5OMVlpSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY1U1RFJtcHRZa3BPU0VOVVVtUlROSGROUWpWTk5sTkJZVk5NWWs1YU16WnFPVlZ2TlZReVMzazBjbUpaTjNwTlNEWjZlWEJuVWtWVFJtOUdkMWRUVVVKbU9ISXlOMlJGYTJOR1pESnRhSHBwTW5oeE1UTlFXbU52T1ZVeE5YQnViWEJoUjFCUVlYTjJXbWxYYWpkR2JsQlZaWGRxY2xCMFVtVklZVlp5Um5aWk5DSXNJbWx6Y3lJNkltUnBaRHBsWW5OcE9ucHljbTFRZFhSS1RUVmpaMlJxUjFGR05HTkVlVFZpSWl3aWJtSm1Jam94TmpNMU56STBPREF3TENKbGVIQWlPalV4TURrME16WTRNREFzSW1saGRDSTZNVFl6TlRVMU1qQXdNQ3dpZG1NaU9uc2lRR052Ym5SbGVIUWlPbHNpYUhSMGNITTZMeTkzZDNjdWR6TXViM0puTHpJd01UZ3ZZM0psWkdWdWRHbGhiSE12ZGpFaVhTd2lhV1FpT2lKMWNtNDZaR2xrT2pFeU16UTFOaUlzSW5SNWNHVWlPbHNpVm1WeWFXWnBZV0pzWlVOeVpXUmxiblJwWVd3aUxDSldaWEpwWm1saFlteGxRWFIwWlhOMFlYUnBiMjRpWFN3aWFYTnpkV1Z5SWpvaVpHbGtPbVZpYzJrNmVuSnliVkIxZEVwTk5XTm5aR3BIVVVZMFkwUjVOV0lpTENKcGMzTjFZVzVqWlVSaGRHVWlPaUl5TURJeExURXhMVEF4VkRBd09qQXdPakF3V2lJc0luWmhiR2xrUm5KdmJTSTZJakl3TWpFdE1URXRNREZVTURBNk1EQTZNREJhSWl3aWFYTnpkV1ZrSWpvaU1qQXlNUzB4TUMwek1GUXdNRG93TURvd01Gb2lMQ0pqY21Wa1pXNTBhV0ZzVTNWaWFtVmpkQ0k2ZXlKcFpDSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY1U1RFJtcHRZa3BPU0VOVVVtUlROSGROUWpWTk5sTkJZVk5NWWs1YU16WnFPVlZ2TlZReVMzazBjbUpaTjNwTlNEWjZlWEJuVWtWVFJtOUdkMWRUVVVKbU9ISXlOMlJGYTJOR1pESnRhSHBwTW5oeE1UTlFXbU52T1ZVeE5YQnViWEJoUjFCUVlYTjJXbWxYYWpkR2JsQlZaWGRxY2xCMFVtVklZVlp5Um5aWk5DSXNJbkJsY25OdmJtRnNTV1JsYm5ScFptbGxjaUk2SWtsVUwwUkZMekV5TXpRaUxDSm1ZVzFwYkhsT1lXMWxJam9pUTJGemRHRm1hVzl5YVNJc0ltWnBjbk4wVG1GdFpTSTZJa0pwWVc1allTSXNJbVJoZEdWUFprSnBjblJvSWpvaU1Ua3pNQzB4TUMwd01TSjlMQ0pqY21Wa1pXNTBhV0ZzVTJOb1pXMWhJanA3SW1sa0lqb2lhSFIwY0hNNkx5OWhjR2t0Y0dsc2IzUXVaV0p6YVM1bGRTOTBjblZ6ZEdWa0xYTmphR1Z0WVhNdGNtVm5hWE4wY25rdmRqSXZjMk5vWlcxaGN5OHdlREJtTkRGaE1XWTBPVE0wWlRFeFpqaG1PVGhsTkRRMFpXUXpOR1ppTURRd05qUTFaR05qTURSalpXRmtNbUZsTWpobVkyRXdOakpsWVdKbVlXTXhPREVpTENKMGVYQmxJam9pUm5Wc2JFcHpiMjVUWTJobGJXRldZV3hwWkdGMGIzSXlNREl4SW4wc0ltVjRjR2x5WVhScGIyNUVZWFJsSWpvaU1qRXpNUzB4TVMwek1GUXdNRG93TURvd01Gb2lmWDAuM1N0ODRQcTYtdTRSMlNkLTdhQldMdjAyOXMtaGJzaTNyTXlOeUEwSXozQUpWZTZuMENlbGZyN2ExMFVBbzU1Y1dQa3czckdTMTlBbXp0WGRWVlZsQUEiXX19.fnbwX98ybUlPdj_VCaXvXkJMB_wuBKPSlobEZ04-oItTQkabsCzMdPQSaW9ECXuRaaecTPU_qs1c8K-DgFiyug', ], }; const dcqlQuery: DCQLQuery = { credentials: [ { id: 'query_0', format: 'ldp_vc', meta: { type_values: [['EmailCredential']], }, }, { id: 'query_1', format: 'ldp_vc', meta: { type_values: [['TestType']], }, }, ], }; const verifiablePresentationValidationReport = new VerifiablePresentationValidationReport(); const result = await validateDcqlVp(presentation, 'audience', { dcqlQuery, report: true, verifiablePresentationValidationReport, }); const decodedPresentation = [ { aud: 'audience', exp: 4859741700, iat: 1712315113, iss: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', jti: 'urn:did:ed9934aa-784f-4d54-8bb3-dd7f5845c3d7', nbf: 1712315113, nonce: '70ccf6e1-4acf-4b48-b853-bc5e5f4523b0', sub: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', vp: { '@context': ['https://www.w3.org/2018/credentials/v1'], holder: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', id: 'urn:did:ed9934aa-784f-4d54-8bb3-dd7f5845c3d7', type: ['VerifiablePresentation'], verifiableCredential: [ { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], credentialStatus: { id: 'https://dev.vidchain.net/api/v1/revocation/credential-status/status-list/224/credential/26', statusListCredential: 'https://dev.vidchain.net/api/v1/revocation/status-list/224', statusListIndex: '26', type: 'RevocationList2021', }, credentialSubject: { email: 'bernat.marcilla@validatedid.com', id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', }, id: 'urn:uuid:1861412c-9e63-4559-b72e-d19049d2138a', issuanceDate: '2024-03-25T12:27:28.000Z', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv', name: 'Validated ID SL', }, proof: { created: '2024-03-25T12:27:28.000Z', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtibzE5MmdiUmZ4TDE3WURKS3dvZXVaSkp2Mm5NOE15YnlwYjdQUlNnRDdFQjd5MkE1YmVGZVhvZnJpRExaTUZUTFBTbjJqSFg5NEIzdDJ2SmFtYTg2TmRVdXpaV1BhdWs3RXlkaXdhS3VDaWZZRjV0VnY2eDdFZDhXU21oZjlONG9NdiN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JvMTkyZ2JSZnhMMTdZREpLd29ldVpKSnYybk04TXlieXBiN1BSU2dEN0VCN3kyQTViZUZlWG9mcmlETFpNRlRMUFNuMmpIWDk0QjN0MnZKYW1hODZOZFV1elpXUGF1azdFeWRpd2FLdUNpZllGNXRWdjZ4N0VkOFdTbWhmOU40b012In0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkVtYWlsQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYiLCJuYW1lIjoiVmFsaWRhdGVkIElEIFNMIn0sImlkIjoidXJuOnV1aWQ6MTg2MTQxMmMtOWU2My00NTU5LWI3MmUtZDE5MDQ5ZDIxMzhhIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJlbWFpbCI6ImJlcm5hdC5tYXJjaWxsYUB2YWxpZGF0ZWRpZC5jb20ifSwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiUmV2b2NhdGlvbkxpc3QyMDIxIiwiaWQiOiJodHRwczovL2Rldi52aWRjaGFpbi5uZXQvYXBpL3YxL3Jldm9jYXRpb24vY3JlZGVudGlhbC1zdGF0dXMvc3RhdHVzLWxpc3QvMjI0L2NyZWRlbnRpYWwvMjYiLCJzdGF0dXNMaXN0Q3JlZGVudGlhbCI6Imh0dHBzOi8vZGV2LnZpZGNoYWluLm5ldC9hcGkvdjEvcmV2b2NhdGlvbi9zdGF0dXMtbGlzdC8yMjQiLCJzdGF0dXNMaXN0SW5kZXgiOiIyNiJ9fSwiaWF0IjoxNzExMzY5NjQ4LCJpc3MiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYifQ.n3x4ndKioax0w1H31Snh4f22pmcI5T7cp8_AMzGiUHygLUxnWXamG00-XiSNMzAe1YqZ8K7hNQ0ZyIbglAeVBQ', proofPurpose: 'assertionMethod', type: 'JsonWebSignature2020', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv', }, type: ['VerifiableCredential', 'EmailCredential'], }, ], }, }, { aud: 'audience', exp: 4859741700, iat: 1712305653, iss: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', jti: 'urn:did:b31d38a7-bb99-450f-9b99-63892d211d92', nbf: 1712305653, nonce: '70ccf6e1-4acf-4b48-b853-bc5e5f4523b0', sub: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', vp: { '@context': [], holder: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', id: 'urn:did:b31d38a7-bb99-450f-9b99-63892d211d92', type: ['VerifiablePresentation'], verifiableCredential: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDplYnNpOnpycm1QdXRKTTVjZ2RqR1FGNGNEeTViI3RCNi1Ub2kxWlJOS3VfREdiZGVrbUxDN2E3TzJ0akRDQ3ZjUFdycklLM2MifQ.eyJqdGkiOiJ1cm46ZGlkOjEyMzQ1NiIsInN1YiI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticU5DRmptYkpOSENUUmRTNHdNQjVNNlNBYVNMYk5aMzZqOVVvNVQyS3k0cmJZN3pNSDZ6eXBnUkVTRm9Gd1dTUUJmOHIyN2RFa2NGZDJtaHppMnhxMTNQWmNvOVUxNXBubXBhR1BQYXN2WmlXajdGblBVZXdqclB0UmVIYVZyRnZZNCIsImlzcyI6ImRpZDplYnNpOnpycm1QdXRKTTVjZ2RqR1FGNGNEeTViIiwibmJmIjoxNjM1NzI0ODAwLCJleHAiOjUxMDk0MzY4MDAsImlhdCI6MTYzNTU1MjAwMCwidmMiOnsiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwiaWQiOiJ1cm46ZGlkOjEyMzQ1NiIsInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJWZXJpZmlhYmxlQXR0ZXN0YXRpb24iXSwiaXNzdWVyIjoiZGlkOmVic2k6enJybVB1dEpNNWNnZGpHUUY0Y0R5NWIiLCJpc3N1YW5jZURhdGUiOiIyMDIxLTExLTAxVDAwOjAwOjAwWiIsInZhbGlkRnJvbSI6IjIwMjEtMTEtMDFUMDA6MDA6MDBaIiwiaXNzdWVkIjoiMjAyMS0xMC0zMFQwMDowMDowMFoiLCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticU5DRmptYkpOSENUUmRTNHdNQjVNNlNBYVNMYk5aMzZqOVVvNVQyS3k0cmJZN3pNSDZ6eXBnUkVTRm9Gd1dTUUJmOHIyN2RFa2NGZDJtaHppMnhxMTNQWmNvOVUxNXBubXBhR1BQYXN2WmlXajdGblBVZXdqclB0UmVIYVZyRnZZNCIsInBlcnNvbmFsSWRlbnRpZmllciI6IklUL0RFLzEyMzQiLCJmYW1pbHlOYW1lIjoiQ2FzdGFmaW9yaSIsImZpcnN0TmFtZSI6IkJpYW5jYSIsImRhdGVPZkJpcnRoIjoiMTkzMC0xMC0wMSJ9LCJjcmVkZW50aWFsU2NoZW1hIjp7ImlkIjoiaHR0cHM6Ly9hcGktcGlsb3QuZWJzaS5ldS90cnVzdGVkLXNjaGVtYXMtcmVnaXN0cnkvdjIvc2NoZW1hcy8weDBmNDFhMWY0OTM0ZTExZjhmOThlNDQ0ZWQzNGZiMDQwNjQ1ZGNjMDRjZWFkMmFlMjhmY2EwNjJlYWJmYWMxODEiLCJ0eXBlIjoiRnVsbEpzb25TY2hlbWFWYWxpZGF0b3IyMDIxIn0sImV4cGlyYXRpb25EYXRlIjoiMjEzMS0xMS0zMFQwMDowMDowMFoifX0.3St84Pq6-u4R2Sd-7aBWLv029s-hbsi3rMyNyA0Iz3AJVe6n0Celfr7a10UAo55cWPkw3rGS19AmztXdVVVlAA', ], }, }, ]; const expectedValidationResult = { valid: false, messages: [ 'Credential presented does not satisfy Presentation Query with id query_1.', ], }; const expectedValidationReport: ValidationReport = { globalResult: { result: ValidationResult.KO, errorMessage: 'Credential presented does not satisfy Presentation Query with id query_1.', }, verifiablePresentation: decodedPresentation, credentialsPresentedList: [ { validations: [ { validationType: CredentialValidationTypes.Expiration, validationResult: ValidationResult.NotValidated, }, { validationType: CredentialValidationTypes.NotYetValid, validationResult: ValidationResult.NotValidated, }, { validationType: CredentialValidationTypes.Revocation, validationResult: ValidationResult.NotValidated, }, { validationResult: ValidationResult.NotValidated, validationType: CredentialValidationTypes.Schema, }, { validationType: CredentialValidationTypes.CredentialSignature, validationResult: ValidationResult.NotValidated, }, ], verifiableCredential: { '@context': [ 'https://www.w3.org/2018/credentials/v1', 'https://api.vidchain.net/api/v1/contexts/v1', ], type: ['VerifiableCredential', 'EmailCredential'], id: 'urn:uuid:1861412c-9e63-4559-b72e-d19049d2138a', issuer: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv', name: 'Validated ID SL', }, credentialSubject: { id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', email: 'bernat.marcilla@validatedid.com', }, proof: { type: 'JsonWebSignature2020', created: '2024-03-25T12:27:28.000Z', proofPurpose: 'assertionMethod', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbo192gbRfxL17YDJKwoeuZJJv2nM8Mybypb7PRSgD7EB7y2A5beFeXofriDLZMFTLPSn2jHX94B3t2vJama86NdUuzZWPauk7EydiwaKuCifYF5tVv6x7Ed8WSmhf9N4oMv', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtibzE5MmdiUmZ4TDE3WURKS3dvZXVaSkp2Mm5NOE15YnlwYjdQUlNnRDdFQjd5MkE1YmVGZVhvZnJpRExaTUZUTFBTbjJqSFg5NEIzdDJ2SmFtYTg2TmRVdXpaV1BhdWs3RXlkaXdhS3VDaWZZRjV0VnY2eDdFZDhXU21oZjlONG9NdiN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JvMTkyZ2JSZnhMMTdZREpLd29ldVpKSnYybk04TXlieXBiN1BSU2dEN0VCN3kyQTViZUZlWG9mcmlETFpNRlRMUFNuMmpIWDk0QjN0MnZKYW1hODZOZFV1elpXUGF1azdFeWRpd2FLdUNpZllGNXRWdjZ4N0VkOFdTbWhmOU40b012In0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkVtYWlsQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYiLCJuYW1lIjoiVmFsaWRhdGVkIElEIFNMIn0sImlkIjoidXJuOnV1aWQ6MTg2MTQxMmMtOWU2My00NTU5LWI3MmUtZDE5MDQ5ZDIxMzhhIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJlbWFpbCI6ImJlcm5hdC5tYXJjaWxsYUB2YWxpZGF0ZWRpZC5jb20ifSwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiUmV2b2NhdGlvbkxpc3QyMDIxIiwiaWQiOiJodHRwczovL2Rldi52aWRjaGFpbi5uZXQvYXBpL3YxL3Jldm9jYXRpb24vY3JlZGVudGlhbC1zdGF0dXMvc3RhdHVzLWxpc3QvMjI0L2NyZWRlbnRpYWwvMjYiLCJzdGF0dXNMaXN0Q3JlZGVudGlhbCI6Imh0dHBzOi8vZGV2LnZpZGNoYWluLm5ldC9hcGkvdjEvcmV2b2NhdGlvbi9zdGF0dXMtbGlzdC8yMjQiLCJzdGF0dXNMaXN0SW5kZXgiOiIyNiJ9fSwiaWF0IjoxNzExMzY5NjQ4LCJpc3MiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYifQ.n3x4ndKioax0w1H31Snh4f22pmcI5T7cp8_AMzGiUHygLUxnWXamG00-XiSNMzAe1YqZ8K7hNQ0ZyIbglAeVBQ', }, issuanceDate: '2024-03-25T12:27:28.000Z', credentialStatus: { type: 'RevocationList2021', id: 'https://dev.vidchain.net/api/v1/revocation/credential-status/status-list/224/credential/26', statusListCredential: 'https://dev.vidchain.net/api/v1/revocation/status-list/224', statusListIndex: '26', }, }, }, { validations: [ { validationResult: ValidationResult.NotValidated, validationType: CredentialValidationTypes.Expiration, }, { validationResult: ValidationResult.NotValidated, validationType: CredentialValidationTypes.NotYetValid, }, { validationResult: ValidationResult.NotValidated, validationType: CredentialValidationTypes.Revocation, }, { validationResult: ValidationResult.NotValidated, validationType: CredentialValidationTypes.Schema, }, { validationResult: ValidationResult.NotValidated, validationType: CredentialValidationTypes.CredentialSignature, }, ], verifiableCredential: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDplYnNpOnpycm1QdXRKTTVjZ2RqR1FGNGNEeTViI3RCNi1Ub2kxWlJOS3VfREdiZGVrbUxDN2E3TzJ0akRDQ3ZjUFdycklLM2MifQ.eyJqdGkiOiJ1cm46ZGlkOjEyMzQ1NiIsInN1YiI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticU5DRmptYkpOSENUUmRTNHdNQjVNNlNBYVNMYk5aMzZqOVVvNVQyS3k0cmJZN3pNSDZ6eXBnUkVTRm9Gd1dTUUJmOHIyN2RFa2NGZDJtaHppMnhxMTNQWmNvOVUxNXBubXBhR1BQYXN2WmlXajdGblBVZXdqclB0UmVIYVZyRnZZNCIsImlzcyI6ImRpZDplYnNpOnpycm1QdXRKTTVjZ2RqR1FGNGNEeTViIiwibmJmIjoxNjM1NzI0ODAwLCJleHAiOjUxMDk0MzY4MDAsImlhdCI6MTYzNTU1MjAwMCwidmMiOnsiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwiaWQiOiJ1cm46ZGlkOjEyMzQ1NiIsInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJWZXJpZmlhYmxlQXR0ZXN0YXRpb24iXSwiaXNzdWVyIjoiZGlkOmVic2k6enJybVB1dEpNNWNnZGpHUUY0Y0R5NWIiLCJpc3N1YW5jZURhdGUiOiIyMDIxLTExLTAxVDAwOjAwOjAwWiIsInZhbGlkRnJvbSI6IjIwMjEtMTEtMDFUMDA6MDA6MDBaIiwiaXNzdWVkIjoiMjAyMS0xMC0zMFQwMDowMDowMFoiLCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticU5DRmptYkpOSENUUmRTNHdNQjVNNlNBYVNMYk5aMzZqOVVvNVQyS3k0cmJZN3pNSDZ6eXBnUkVTRm9Gd1dTUUJmOHIyN2RFa2NGZDJtaHppMnhxMTNQWmNvOVUxNXBubXBhR1BQYXN2WmlXajdGblBVZXdqclB0UmVIYVZyRnZZNCIsInBlcnNvbmFsSWRlbnRpZmllciI6IklUL0RFLzEyMzQiLCJmYW1pbHlOYW1lIjoiQ2FzdGFmaW9yaSIsImZpcnN0TmFtZSI6IkJpYW5jYSIsImRhdGVPZkJpcnRoIjoiMTkzMC0xMC0wMSJ9LCJjcmVkZW50aWFsU2NoZW1hIjp7ImlkIjoiaHR0cHM6Ly9hcGktcGlsb3QuZWJzaS5ldS90cnVzdGVkLXNjaGVtYXMtcmVnaXN0cnkvdjIvc2NoZW1hcy8weDBmNDFhMWY0OTM0ZTExZjhmOThlNDQ0ZWQzNGZiMDQwNjQ1ZGNjMDRjZWFkMmFlMjhmY2EwNjJlYWJmYWMxODEiLCJ0eXBlIjoiRnVsbEpzb25TY2hlbWFWYWxpZGF0b3IyMDIxIn0sImV4cGlyYXRpb25EYXRlIjoiMjEzMS0xMS0zMFQwMDowMDowMFoifX0.3St84Pq6-u4R2Sd-7aBWLv029s-hbsi3rMyNyA0Iz3AJVe6n0Celfr7a10UAo55cWPkw3rGS19AmztXdVVVlAA', verifiableCredentialsDecoded: { exp: 5109436800, iat: 1635552000, iss: 'did:ebsi:zrrmPutJM5cgdjGQF4cDy5b', jti: 'urn:did:123456', nbf: 1635724800, sub: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqNCFjmbJNHCTRdS4wMB5M6SAaSLbNZ36j9Uo5T2Ky4rbY7zMH6zypgRESFoFwWSQBf8r27dEkcFd2mhzi2xq13PZco9U15pnmpaGPPasvZiWj7FnPUewjrPtReHaVrFvY4', vc: { '@context': ['https://www.w3.org/2018/credentials/v1'], credentialSchema: { id: 'https://api-pilot.ebsi.eu/trusted-schemas-registry/v2/schemas/0x0f41a1f4934e11f8f98e444ed34fb040645dcc04cead2ae28fca062eabfac181', type: 'FullJsonSchemaValidator2021', }, credentialSubject: { dateOfBirth: '1930-10-01', familyName: 'Castafiori', firstName: 'Bianca', id: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqNCFjmbJNHCTRdS4wMB5M6SAaSLbNZ36j9Uo5T2Ky4rbY7zMH6zypgRESFoFwWSQBf8r27dEkcFd2mhzi2xq13PZco9U15pnmpaGPPasvZiWj7FnPUewjrPtReHaVrFvY4', personalIdentifier: 'IT/DE/1234', }, expirationDate: '2131-11-30T00:00:00Z', id: 'urn:did:123456', issuanceDate: '2021-11-01T00:00:00Z', issued: '2021-10-30T00:00:00Z', issuer: 'did:ebsi:zrrmPutJM5cgdjGQF4cDy5b', type: ['VerifiableCredential', 'VerifiableAttestation'], validFrom: '2021-11-01T00:00:00Z', }, }, }, ], }; const report = verifiablePresentationValidationReport.generate(); expect(report).toStrictEqual(expectedValidationReport); expect(result).toStrictEqual(expectedValidationResult); }); }); }); });