import { VpTokenCredentialsExtractor } from '../../../../src/validators/presentation/vpTokenCredentialsExtractor.js'; import joseWrapper from '../../../../src/shared/middleware/joseWrapper.js'; describe('vpTokenCredentialExtractor should', () => { it('return the list of credentials from vp_token, input: DCQL with LDP VP and VC', () => { const vpToken = { query_0: { id: 'urn:did:57c8dff5-f9bc-40d9-955b-7ebd90ecc995', '@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: 'Ed25519Signature2018', created: '2021-03-19T15:30:15Z', challenge: 'n-0S6_WzA2Mj', domain: 'https://client.example.org/cb', jws: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050In0.eyJpYXQiOjE3MTIxNDQ1MjgsImV4cCI6NDg1OTc0MTcwMCwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwiYXVkIjoiaHR0cHM6Ly9zdGFnaW5nLXN0dWRpby52aWRjaGFpbi5uZXQvdmlkY3JlZGVudGlhbHMtc3R1ZGlvL29pZGM0dmMvdjEvdmVyaWZpZXIvNTQxN2FmNjUtNjA1OC00YWI0LWE4OTEtZDBhMDAzNTNlODQ3Iiwic3ViIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwibmJmIjoxNzEyMTQ0NTI4LCJub25jZSI6IjcwY2NmNmUxLTRhY2YtNGI0OC1iODUzLWJjNWU1ZjQ1MjNiMCIsImp0aSI6InVybjpkaWQ6NTdjOGRmZjUtZjliYy00MGQ5LTk1NWItN2ViZDkwZWNjOTk1IiwidnAiOnsiaWQiOiJ1cm46ZGlkOjU3YzhkZmY1LWY5YmMtNDBkOS05NTViLTdlYmQ5MGVjYzk5NSIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJdLCJob2xkZXIiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6W3siQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiLCJodHRwczovL2FwaS52aWRjaGFpbi5uZXQvYXBpL3YxL2NvbnRleHRzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJFbWFpbENyZWRlbnRpYWwiXSwiaWQiOiJ1cm46dXVpZDoxODYxNDEyYy05ZTYzLTQ1NTktYjcyZS1kMTkwNDlkMjEzOGEiLCJpc3N1ZXIiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYiLCJuYW1lIjoiVmFsaWRhdGVkIElEIFNMIn0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwiZW1haWwiOiJiZXJuYXQubWFyY2lsbGFAdmFsaWRhdGVkaWQuY29tIn0sInByb29mIjp7InR5cGUiOiJKc29uV2ViU2lnbmF0dXJlMjAyMCIsImNyZWF0ZWQiOiIyMDI0LTAzLTI1VDEyOjI3OjI4LjAwMFoiLCJwcm9vZlB1cnBvc2UiOiJhc3NlcnRpb25NZXRob2QiLCJ2ZXJpZmljYXRpb25NZXRob2QiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYjejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtibzE5MmdiUmZ4TDE3WURKS3dvZXVaSkp2Mm5NOE15YnlwYjdQUlNnRDdFQjd5MkE1YmVGZVhvZnJpRExaTUZUTFBTbjJqSFg5NEIzdDJ2SmFtYTg2TmRVdXpaV1BhdWs3RXlkaXdhS3VDaWZZRjV0VnY2eDdFZDhXU21oZjlONG9NdiIsImp3cyI6ImV5SmhiR2NpT2lKRlV6STFOaUlzSW5SNWNDSTZJa3BYVkNJc0ltdHBaQ0k2SW1ScFpEcHJaWGs2ZWpKa2JYcEVPREZqWjFCNE9GWnJhVGRLWW5WMVRXMUdXWEpYVUdkWmIzbDBlV3RWV2pObGVYRm9kREZxT1V0aWJ6RTVNbWRpVW1aNFRERTNXVVJLUzNkdlpYVmFTa3AyTW01Tk9FMTVZbmx3WWpkUVVsTm5SRGRGUWpkNU1rRTFZbVZHWlZodlpuSnBSRXhhVFVaVVRGQlRiakpxU0ZnNU5FSXpkREoyU21GdFlUZzJUbVJWZFhwYVYxQmhkV3MzUlhsa2FYZGhTM1ZEYVdaWlJqVjBWblkyZURkRlpEaFhVMjFvWmpsT05HOU5kaU42TW1SdGVrUTRNV05uVUhnNFZtdHBOMHBpZFhWTmJVWlpjbGRRWjFsdmVYUjVhMVZhTTJWNWNXaDBNV281UzJKdk1Ua3laMkpTWm5oTU1UZFpSRXBMZDI5bGRWcEtTbll5YmswNFRYbGllWEJpTjFCU1UyZEVOMFZDTjNreVFUVmlaVVpsV0c5bWNtbEVURnBOUmxSTVVGTnVNbXBJV0RrMFFqTjBNblpLWVcxaE9EWk9aRlYxZWxwWFVHRjFhemRGZVdScGQyRkxkVU5wWmxsR05YUldkalo0TjBWa09GZFRiV2htT1U0MGIwMTJJbjAuZXlKMll5STZleUpBWTI5dWRHVjRkQ0k2V3lKb2RIUndjem92TDNkM2R5NTNNeTV2Y21jdk1qQXhPQzlqY21Wa1pXNTBhV0ZzY3k5Mk1TSXNJbWgwZEhCek9pOHZZWEJwTG5acFpHTm9ZV2x1TG01bGRDOWhjR2t2ZGpFdlkyOXVkR1Y0ZEhNdmRqRWlYU3dpZEhsd1pTSTZXeUpXWlhKcFptbGhZbXhsUTNKbFpHVnVkR2xoYkNJc0lrVnRZV2xzUTNKbFpHVnVkR2xoYkNKZExDSnBjM04xWlhJaU9uc2lhV1FpT2lKa2FXUTZhMlY1T25veVpHMTZSRGd4WTJkUWVEaFdhMmszU21KMWRVMXRSbGx5VjFCbldXOTVkSGxyVlZvelpYbHhhSFF4YWpsTFltOHhPVEpuWWxKbWVFd3hOMWxFU2t0M2IyVjFXa3BLZGpKdVRUaE5lV0o1Y0dJM1VGSlRaMFEzUlVJM2VUSkJOV0psUm1WWWIyWnlhVVJNV2sxR1ZFeFFVMjR5YWtoWU9UUkNNM1F5ZGtwaGJXRTROazVrVlhWNldsZFFZWFZyTjBWNVpHbDNZVXQxUTJsbVdVWTFkRloyTm5nM1JXUTRWMU50YUdZNVRqUnZUWFlpTENKdVlXMWxJam9pVm1Gc2FXUmhkR1ZrSUVsRUlGTk1JbjBzSW1sa0lqb2lkWEp1T25WMWFXUTZNVGcyTVRReE1tTXRPV1UyTXkwME5UVTVMV0kzTW1VdFpERTVNRFE1WkRJeE16aGhJaXdpWTNKbFpHVnVkR2xoYkZOMVltcGxZM1FpT25zaWFXUWlPaUprYVdRNmEyVjVPbm95WkcxNlJEZ3hZMmRRZURoV2EyazNTbUoxZFUxdFJsbHlWMUJuV1c5NWRIbHJWVm96WlhseGFIUXhhamxMWW5BM1kweGFURko0YzFwMVJWUnJPVUpPWnpOdlZtRlNWRVJSUTA0NGRWaGhlWGg1WlhRMVdtTnFaMXA0ZG5kdWRVMVlXVmRIZW5NM1RIaFlNWE0wUjFKaVRGVktkMFpLU0VaNlJXVk9la0p6TmxaM1N6aFRTbmxxY21sTGFrVTRObmhMUmxSRlFYZFdjemR4ZVZOSWEzSTRXak41YVcxb2MxTk1OMkpyWTAwM1RuUWlMQ0psYldGcGJDSTZJbUpsY201aGRDNXRZWEpqYVd4c1lVQjJZV3hwWkdGMFpXUnBaQzVqYjIwaWZTd2lZM0psWkdWdWRHbGhiRk4wWVhSMWN5STZleUowZVhCbElqb2lVbVYyYjJOaGRHbHZia3hwYzNReU1ESXhJaXdpYVdRaU9pSm9kSFJ3Y3pvdkwyUmxkaTUyYVdSamFHRnBiaTV1WlhRdllYQnBMM1l4TDNKbGRtOWpZWFJwYjI0dlkzSmxaR1Z1ZEdsaGJDMXpkR0YwZFhNdmMzUmhkSFZ6TFd4cGMzUXZNakkwTDJOeVpXUmxiblJwWVd3dk1qWWlMQ0p6ZEdGMGRYTk1hWE4wUTNKbFpHVnVkR2xoYkNJNkltaDBkSEJ6T2k4dlpHVjJMblpwWkdOb1lXbHVMbTVsZEM5aGNHa3ZkakV2Y21WMmIyTmhkR2x2Ymk5emRHRjBkWE10YkdsemRDOHlNalFpTENKemRHRjBkWE5NYVhOMFNXNWtaWGdpT2lJeU5pSjlmU3dpYVdGMElqb3hOekV4TXpZNU5qUTRMQ0pwYzNNaU9pSmthV1E2YTJWNU9ub3laRzE2UkRneFkyZFFlRGhXYTJrM1NtSjFkVTF0UmxseVYxQm5XVzk1ZEhsclZWb3paWGx4YUhReGFqbExZbTh4T1RKbllsSm1lRXd4TjFsRVNrdDNiMlYxV2twS2RqSnVUVGhOZVdKNWNHSTNVRkpUWjBRM1JVSTNlVEpCTldKbFJtVlliMlp5YVVSTVdrMUdWRXhRVTI0eWFraFlPVFJDTTNReWRrcGhiV0U0Tms1a1ZYVjZXbGRRWVhWck4wVjVaR2wzWVV0MVEybG1XVVkxZEZaMk5uZzNSV1E0VjFOdGFHWTVUalJ2VFhZaWZRLm4zeDRuZEtpb2F4MHcxSDMxU25oNGYyMnBtY0k1VDdjcDhfQU16R2lVSHlnTFV4bldYYW1HMDAtWGlTTk16QWUxWXFaOEs3aE5RMFp5SWJnbEFlVkJRIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjQtMDMtMjVUMTI6Mjc6MjguMDAwWiIsImNyZWRlbnRpYWxTdGF0dXMiOnsidHlwZSI6IlJldm9jYXRpb25MaXN0MjAyMSIsImlkIjoiaHR0cHM6Ly9kZXYudmlkY2hhaW4ubmV0L2FwaS92MS9yZXZvY2F0aW9uL2NyZWRlbnRpYWwtc3RhdHVzL3N0YXR1cy1saXN0LzIyNC9jcmVkZW50aWFsLzI2Iiwic3RhdHVzTGlzdENyZWRlbnRpYWwiOiJodHRwczovL2Rldi52aWRjaGFpbi5uZXQvYXBpL3YxL3Jldm9jYXRpb24vc3RhdHVzLWxpc3QvMjI0Iiwic3RhdHVzTGlzdEluZGV4IjoiMjYifX1dfX0.2Md0_YH9dcMM5XdfnM4YVtKdLAntr0NSzV6DtzMkSjqq35JqNb18DjUpyigyme8wSUQP-JRD3UMEXlkL_W9GBQ', proofPurpose: 'authentication', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', }, }, }; const dcqlQuery = { credentials: [ { id: 'query_0', format: 'ldp_vc', meta: { type_values: [['EmailCredential']], }, }, ], }; const vpTokenCredentialsExtractor = new VpTokenCredentialsExtractor( vpToken, dcqlQuery, ); const credentials = vpTokenCredentialsExtractor.extract(); const decodedCredential = joseWrapper.decodeJWT( vpToken.query_0.verifiableCredential[0].proof.jws, ); expect(credentials).toEqual({ result: { valid: true }, vpTokenData: { credentialQueryIds: ['query_0'], decodedVerifiablePresentation: { aud: 'https://staging-studio.vidchain.net/vidcredentials-studio/oidc4vc/v1/verifier/5417af65-6058-4ab4-a891-d0a00353e847', exp: 4859741700, iat: 1712144528, iss: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', jti: 'urn:did:57c8dff5-f9bc-40d9-955b-7ebd90ecc995', nbf: 1712144528, 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:57c8dff5-f9bc-40d9-955b-7ebd90ecc995', 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'], }, ], }, }, verifiableCredentials: [ { format: 'ldp_vc', 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'], }, }, ], verifiableCredentialsDecoded: [decodedCredential], vpTokenIssuer: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', }, }); }); it('return the list of credentials from vp_token, input: multiple DCQL with JWT VP', () => { const vpToken = { query_0: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIn0.eyJpYXQiOjE3Njg5MTk4NzcsImV4cCI6NDkyMjUxOTg3NiwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIiwiYXVkIjoiZGVjZW50cmFsaXplZF9pZGVudGlmaWVyOmRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtickRGQmt0bktyR2tva1VTUHJIUm5VZVIyZmdvWnF0VFF0UFVXYmNMeldOVFNFSlVlTTVzdjJUN2U5TG51QzNnVmhMajZjWUd1ZEtxbkJUOUxGcXBYdFJFYzNQbjE4QWIzbjFvM3pYdnhkWm0yelBNU2NnR25rWHc2cEJ1dkRXS2d0TCIsInN1YiI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsIm5iZiI6MTc2ODkxOTg3Niwibm9uY2UiOiJLdnFZeXdLVlBTaVFUXzNXSnNFTi1BIiwianRpIjoidXJuOmRpZDpiNGY1NGQ4NS04ZDQwLTRlZjgtOTEzMy1hNjBkOTYyYWVjZTkiLCJ2cCI6eyJpZCI6InVybjpkaWQ6YjRmNTRkODUtOGQ0MC00ZWY4LTkxMzMtYTYwZDk2MmFlY2U5IiwiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlUHJlc2VudGF0aW9uIl0sImhvbGRlciI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsInZlcmlmaWFibGVDcmVkZW50aWFsIjpbeyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkVtYWlsQ3JlZGVudGlhbCJdLCJpZCI6InVybjp1dWlkOmMxOGVkYTQ4LTA5MGEtNDk1OS1iZjU4LTJkZWRlODk4NGNhYyIsImlzc3VlciI6eyJpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmIiwibmFtZSI6IlZhbGlkYXRlZCBJRCBTTCJ9LCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsImVtYWlsIjoiaXNhYWMub2xsZUBzaWduYXR1cml0LmNvbSJ9LCJwcm9vZiI6eyJ0eXBlIjoiSnNvbldlYlNpZ25hdHVyZTIwMjAiLCJjcmVhdGVkIjoiMjAyNi0wMS0yMFQwOTo0Njo0MC4wMDBaIiwicHJvb2ZQdXJwb3NlIjoiYXNzZXJ0aW9uTWV0aG9kIiwidmVyaWZpY2F0aW9uTWV0aG9kIjoiZGlkOndlYjpzdGFnaW5nLnZpZGNoYWluLm5ldDphcGk6djE6ZGlkLXdlYi1yZXNvbHZlcjpkM2RmNDA5ZC0wMTViLTQxYjQtYWEzMS1iZDdmNDM4NDA1NGYja2V5LTAiLCJqd3MiOiJleUpoYkdjaU9pSkZVekkxTmlJc0luUjVjQ0k2SWtwWFZDSXNJbXRwWkNJNkltUnBaRHAzWldJNmMzUmhaMmx1Wnk1MmFXUmphR0ZwYmk1dVpYUTZZWEJwT25ZeE9tUnBaQzEzWldJdGNtVnpiMngyWlhJNlpETmtaalF3T1dRdE1ERTFZaTAwTVdJMExXRmhNekV0WW1RM1pqUXpPRFF3TlRSbUkydGxlUzB3SW4wLmV5SjJZeUk2ZXlKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3Zibk12WTNKbFpHVnVkR2xoYkhNdmRqSWlYU3dpYVdRaU9pSjFjbTQ2ZFhWcFpEcGpNVGhsWkdFME9DMHdPVEJoTFRRNU5Ua3RZbVkxT0MweVpHVmtaVGc1T0RSallXTWlMQ0owZVhCbElqcGJJbFpsY21sbWFXRmliR1ZEY21Wa1pXNTBhV0ZzSWl3aVJXMWhhV3hEY21Wa1pXNTBhV0ZzSWwwc0ltTnlaV1JsYm5ScFlXeFRkV0pxWldOMElqcDdJbWxrSWpvaVpHbGtPbXRsZVRwNk1tUnRla1E0TVdOblVIZzRWbXRwTjBwaWRYVk5iVVpaY2xkUVoxbHZlWFI1YTFWYU0yVjVjV2gwTVdvNVMySnhabk54WldoQ1FsQTNhMjlCWjJSalJ6WlZaVTFJVVdkS1duQlFTelJLYVU1VWJWcFZZbW96U21kbE9EZGxTbmgyYVZScmMyWXlZVUYxZFV4VVRYbGhSMjFGVUU0NWRrVlFNMUZTVWpOQlRVRlVaVk5yVjFsRGEweHFaWGRSTkV0dVREWTRkMmhJTTNWdmEzQmlOMlZXYTJSQ2MzWTNjbVJOVFROVWNrRXlZazVWSWl3aVpXMWhhV3dpT2lKcGMyRmhZeTV2Ykd4bFFITnBaMjVoZEhWeWFYUXVZMjl0SW4wc0ltbHpjM1ZsY2lJNmV5SnBaQ0k2SW1ScFpEcDNaV0k2YzNSaFoybHVaeTUyYVdSamFHRnBiaTV1WlhRNllYQnBPbll4T21ScFpDMTNaV0l0Y21WemIyeDJaWEk2WkROa1pqUXdPV1F0TURFMVlpMDBNV0kwTFdGaE16RXRZbVEzWmpRek9EUXdOVFJtSWl3aWJtRnRaU0k2SWxaaGJHbGtZWFJsWkNCSlJDQlRUQ0o5TENKMllXeHBaRVp5YjIwaU9pSXlNREkyTFRBeExUSXdWREE1T2pRMk9qUXdXaUlzSW1OeVpXUmxiblJwWVd4VGRHRjBkWE1pT25zaWFXUWlPaUpvZEhSd2N6b3ZMM04wWVdkcGJtY3RjM1IxWkdsdkxuWnBaR05vWVdsdUxtNWxkQzkyYVdSamNtVmtaVzUwYVdGc2N5MXpkSFZrYVc4dllYQnBMM1l4TDNOMFlYUjFjeTFzYVhOMExXTnlaV1JsYm5ScFlXd3ZPVEVqT0Rjeklpd2ljM1JoZEhWelRHbHpkRU55WldSbGJuUnBZV3dpT2lKb2RIUndjem92TDNOMFlXZHBibWN0YzNSMVpHbHZMblpwWkdOb1lXbHVMbTVsZEM5MmFXUmpjbVZrWlc1MGFXRnNjeTF6ZEhWa2FXOHZZWEJwTDNZeEwzTjBZWFIxY3kxc2FYTjBMV055WldSbGJuUnBZV3d2T1RFaUxDSnpkR0YwZFhOTWFYTjBTVzVrWlhnaU9pSTROek1pTENKMGVYQmxJam9pVW1WMmIyTmhkR2x2Ymt4cGMzUXlNREl4VTNSaGRIVnpJaXdpYzNSaGRIVnpVSFZ5Y0c5elpTSTZJbkpsZG05allYUnBiMjRpZlgwc0ltNWlaaUk2TVRjMk9Ea3dNalF3TUN3aWFYTnpJam9pWkdsa09uZGxZanB6ZEdGbmFXNW5MblpwWkdOb1lXbHVMbTVsZERwaGNHazZkakU2Wkdsa0xYZGxZaTF5WlhOdmJIWmxjanBrTTJSbU5EQTVaQzB3TVRWaUxUUXhZalF0WVdFek1TMWlaRGRtTkRNNE5EQTFOR1lpTENKcFlYUWlPakUzTmpnNU1ESTBNREFzSW5OMVlpSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY1daemNXVm9Ra0pRTjJ0dlFXZGtZMGMyVldWTlNGRm5TbHB3VUVzMFNtbE9WRzFhVldKcU0wcG5aVGczWlVwNGRtbFVhM05tTW1GQmRYVk1WRTE1WVVkdFJWQk9PWFpGVUROUlVsSXpRVTFCVkdWVGExZFpRMnRNYW1WM1VUUkxia3cyT0hkb1NETjFiMnR3WWpkbFZtdGtRbk4yTjNKa1RVMHpWSEpCTW1KT1ZTSXNJbXAwYVNJNkluVnlianAxZFdsa09tTXhPR1ZrWVRRNExUQTVNR0V0TkRrMU9TMWlaalU0TFRKa1pXUmxPRGs0TkdOaFl5SjkueEhjYjlrTmVnQmFhaXNEd0dDRVBaMVRLS3NhY3BCd3pPMjRfQWdyOEJRblkzamY1eGNpYnlXam16SW5RMXVnMW40S29uOFdQN2loZGpocFdBQi1JSHcifSwidmFsaWRGcm9tIjoiMjAyNi0wMS0yMFQwOTo0Njo0MFoiLCJjcmVkZW50aWFsU3RhdHVzIjp7ImlkIjoiaHR0cHM6Ly9zdGFnaW5nLXN0dWRpby52aWRjaGFpbi5uZXQvdmlkY3JlZGVudGlhbHMtc3R1ZGlvL2FwaS92MS9zdGF0dXMtbGlzdC1jcmVkZW50aWFsLzkxIzg3MyIsInN0YXR1c0xpc3RDcmVkZW50aWFsIjoiaHR0cHM6Ly9zdGFnaW5nLXN0dWRpby52aWRjaGFpbi5uZXQvdmlkY3JlZGVudGlhbHMtc3R1ZGlvL2FwaS92MS9zdGF0dXMtbGlzdC1jcmVkZW50aWFsLzkxIiwic3RhdHVzTGlzdEluZGV4IjoiODczIiwidHlwZSI6IlJldm9jYXRpb25MaXN0MjAyMVN0YXR1cyIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIn19XX19.rrP242r0qjag_XCUhoqbiIHHO69dx79iAdeC_vpxexLUS424TNssFGVIEAL1wZNgdq2Jy8-Jl0roRNb72TTVKQ', ], query_1: [ 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIn0.eyJpYXQiOjE3Njg5MTk4NzcsImV4cCI6NDkyMjUxOTg3NiwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JxZnNxZWhCQlA3a29BZ2RjRzZVZU1IUWdKWnBQSzRKaU5UbVpVYmozSmdlODdlSnh2aVRrc2YyYUF1dUxUTXlhR21FUE45dkVQM1FSUjNBTUFUZVNrV1lDa0xqZXdRNEtuTDY4d2hIM3Vva3BiN2VWa2RCc3Y3cmRNTTNUckEyYk5VIiwiYXVkIjoiZGVjZW50cmFsaXplZF9pZGVudGlmaWVyOmRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtickRGQmt0bktyR2tva1VTUHJIUm5VZVIyZmdvWnF0VFF0UFVXYmNMeldOVFNFSlVlTTVzdjJUN2U5TG51QzNnVmhMajZjWUd1ZEtxbkJUOUxGcXBYdFJFYzNQbjE4QWIzbjFvM3pYdnhkWm0yelBNU2NnR25rWHc2cEJ1dkRXS2d0TCIsInN1YiI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsIm5iZiI6MTc2ODkxOTg3Niwibm9uY2UiOiJLdnFZeXdLVlBTaVFUXzNXSnNFTi1BIiwianRpIjoidXJuOmRpZDpiNGY1NGQ4NS04ZDQwLTRlZjgtOTEzMy1hNjBkOTYyYWVjZTkiLCJ2cCI6eyJpZCI6InVybjpkaWQ6YjRmNTRkODUtOGQ0MC00ZWY4LTkxMzMtYTYwZDk2MmFlY2U5IiwiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlUHJlc2VudGF0aW9uIl0sImhvbGRlciI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsInZlcmlmaWFibGVDcmVkZW50aWFsIjpbeyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkVtYWlsQ3JlZGVudGlhbCJdLCJpZCI6InVybjp1dWlkOmMxOGVkYTQ4LTA5MGEtNDk1OS1iZjU4LTJkZWRlODk4NGNhYyIsImlzc3VlciI6eyJpZCI6ImRpZDp3ZWI6c3RhZ2luZy52aWRjaGFpbi5uZXQ6YXBpOnYxOmRpZC13ZWItcmVzb2x2ZXI6ZDNkZjQwOWQtMDE1Yi00MWI0LWFhMzEtYmQ3ZjQzODQwNTRmIiwibmFtZSI6IlZhbGlkYXRlZCBJRCBTTCJ9LCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticWZzcWVoQkJQN2tvQWdkY0c2VWVNSFFnSlpwUEs0SmlOVG1aVWJqM0pnZTg3ZUp4dmlUa3NmMmFBdXVMVE15YUdtRVBOOXZFUDNRUlIzQU1BVGVTa1dZQ2tMamV3UTRLbkw2OHdoSDN1b2twYjdlVmtkQnN2N3JkTU0zVHJBMmJOVSIsImVtYWlsIjoiaXNhYWMub2xsZUBzaWduYXR1cml0LmNvbSJ9LCJwcm9vZiI6eyJ0eXBlIjoiSnNvbldlYlNpZ25hdHVyZTIwMjAiLCJjcmVhdGVkIjoiMjAyNi0wMS0yMFQwOTo0Njo0MC4wMDBaIiwicHJvb2ZQdXJwb3NlIjoiYXNzZXJ0aW9uTWV0aG9kIiwidmVyaWZpY2F0aW9uTWV0aG9kIjoiZGlkOndlYjpzdGFnaW5nLnZpZGNoYWluLm5ldDphcGk6djE6ZGlkLXdlYi1yZXNvbHZlcjpkM2RmNDA5ZC0wMTViLTQxYjQtYWEzMS1iZDdmNDM4NDA1NGYja2V5LTAiLCJqd3MiOiJleUpoYkdjaU9pSkZVekkxTmlJc0luUjVjQ0k2SWtwWFZDSXNJbXRwWkNJNkltUnBaRHAzWldJNmMzUmhaMmx1Wnk1MmFXUmphR0ZwYmk1dVpYUTZZWEJwT25ZeE9tUnBaQzEzWldJdGNtVnpiMngyWlhJNlpETmtaalF3T1dRdE1ERTFZaTAwTVdJMExXRmhNekV0WW1RM1pqUXpPRFF3TlRSbUkydGxlUzB3SW4wLmV5SjJZeUk2ZXlKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3Zibk12WTNKbFpHVnVkR2xoYkhNdmRqSWlYU3dpYVdRaU9pSjFjbTQ2ZFhWcFpEcGpNVGhsWkdFME9DMHdPVEJoTFRRNU5Ua3RZbVkxT0MweVpHVmtaVGc1T0RSallXTWlMQ0owZVhCbElqcGJJbFpsY21sbWFXRmliR1ZEY21Wa1pXNTBhV0ZzSWl3aVJXMWhhV3hEY21Wa1pXNTBhV0ZzSWwwc0ltTnlaV1JsYm5ScFlXeFRkV0pxWldOMElqcDdJbWxrSWpvaVpHbGtPbXRsZVRwNk1tUnRla1E0TVdOblVIZzRWbXRwTjBwaWRYVk5iVVpaY2xkUVoxbHZlWFI1YTFWYU0yVjVjV2gwTVdvNVMySnhabk54WldoQ1FsQTNhMjlCWjJSalJ6WlZaVTFJVVdkS1duQlFTelJLYVU1VWJWcFZZbW96U21kbE9EZGxTbmgyYVZScmMyWXlZVUYxZFV4VVRYbGhSMjFGVUU0NWRrVlFNMUZTVWpOQlRVRlVaVk5yVjFsRGEweHFaWGRSTkV0dVREWTRkMmhJTTNWdmEzQmlOMlZXYTJSQ2MzWTNjbVJOVFROVWNrRXlZazVWSWl3aVpXMWhhV3dpT2lKcGMyRmhZeTV2Ykd4bFFITnBaMjVoZEhWeWFYUXVZMjl0SW4wc0ltbHpjM1ZsY2lJNmV5SnBaQ0k2SW1ScFpEcDNaV0k2YzNSaFoybHVaeTUyYVdSamFHRnBiaTV1WlhRNllYQnBPbll4T21ScFpDMTNaV0l0Y21WemIyeDJaWEk2WkROa1pqUXdPV1F0TURFMVlpMDBNV0kwTFdGaE16RXRZbVEzWmpRek9EUXdOVFJtSWl3aWJtRnRaU0k2SWxaaGJHbGtZWFJsWkNCSlJDQlRUQ0o5TENKMllXeHBaRVp5YjIwaU9pSXlNREkyTFRBeExUSXdWREE1T2pRMk9qUXdXaUlzSW1OeVpXUmxiblJwWVd4VGRHRjBkWE1pT25zaWFXUWlPaUpvZEhSd2N6b3ZMM04wWVdkcGJtY3RjM1IxWkdsdkxuWnBaR05vWVdsdUxtNWxkQzkyYVdSamNtVmtaVzUwYVdGc2N5MXpkSFZrYVc4dllYQnBMM1l4TDNOMFlYUjFjeTFzYVhOMExXTnlaV1JsYm5ScFlXd3ZPVEVqT0Rjeklpd2ljM1JoZEhWelRHbHpkRU55WldSbGJuUnBZV3dpT2lKb2RIUndjem92TDNOMFlXZHBibWN0YzNSMVpHbHZMblpwWkdOb1lXbHVMbTVsZEM5MmFXUmpjbVZrWlc1MGFXRnNjeTF6ZEhWa2FXOHZZWEJwTDNZeEwzTjBZWFIxY3kxc2FYTjBMV055WldSbGJuUnBZV3d2T1RFaUxDSnpkR0YwZFhOTWFYTjBTVzVrWlhnaU9pSTROek1pTENKMGVYQmxJam9pVW1WMmIyTmhkR2x2Ymt4cGMzUXlNREl4VTNSaGRIVnpJaXdpYzNSaGRIVnpVSFZ5Y0c5elpTSTZJbkpsZG05allYUnBiMjRpZlgwc0ltNWlaaUk2TVRjMk9Ea3dNalF3TUN3aWFYTnpJam9pWkdsa09uZGxZanB6ZEdGbmFXNW5MblpwWkdOb1lXbHVMbTVsZERwaGNHazZkakU2Wkdsa0xYZGxZaTF5WlhOdmJIWmxjanBrTTJSbU5EQTVaQzB3TVRWaUxUUXhZalF0WVdFek1TMWlaRGRtTkRNNE5EQTFOR1lpTENKcFlYUWlPakUzTmpnNU1ESTBNREFzSW5OMVlpSTZJbVJwWkRwclpYazZlakprYlhwRU9ERmpaMUI0T0ZacmFUZEtZblYxVFcxR1dYSlhVR2RaYjNsMGVXdFZXak5sZVhGb2RERnFPVXRpY1daemNXVm9Ra0pRTjJ0dlFXZGtZMGMyVldWTlNGRm5TbHB3VUVzMFNtbE9WRzFhVldKcU0wcG5aVGczWlVwNGRtbFVhM05tTW1GQmRYVk1WRTE1WVVkdFJWQk9PWFpGVUROUlVsSXpRVTFCVkdWVGExZFpRMnRNYW1WM1VUUkxia3cyT0hkb1NETjFiMnR3WWpkbFZtdGtRbk4yTjNKa1RVMHpWSEpCTW1KT1ZTSXNJbXAwYVNJNkluVnlianAxZFdsa09tTXhPR1ZrWVRRNExUQTVNR0V0TkRrMU9TMWlaalU0TFRKa1pXUmxPRGs0TkdOaFl5SjkueEhjYjlrTmVnQmFhaXNEd0dDRVBaMVRLS3NhY3BCd3pPMjRfQWdyOEJRblkzamY1eGNpYnlXam16SW5RMXVnMW40S29uOFdQN2loZGpocFdBQi1JSHcifSwidmFsaWRGcm9tIjoiMjAyNi0wMS0yMFQwOTo0Njo0MFoiLCJjcmVkZW50aWFsU3RhdHVzIjp7ImlkIjoiaHR0cHM6Ly9zdGFnaW5nLXN0dWRpby52aWRjaGFpbi5uZXQvdmlkY3JlZGVudGlhbHMtc3R1ZGlvL2FwaS92MS9zdGF0dXMtbGlzdC1jcmVkZW50aWFsLzkxIzg3MyIsInN0YXR1c0xpc3RDcmVkZW50aWFsIjoiaHR0cHM6Ly9zdGFnaW5nLXN0dWRpby52aWRjaGFpbi5uZXQvdmlkY3JlZGVudGlhbHMtc3R1ZGlvL2FwaS92MS9zdGF0dXMtbGlzdC1jcmVkZW50aWFsLzkxIiwic3RhdHVzTGlzdEluZGV4IjoiODczIiwidHlwZSI6IlJldm9jYXRpb25MaXN0MjAyMVN0YXR1cyIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIn19XX19.rrP242r0qjag_XCUhoqbiIHHO69dx79iAdeC_vpxexLUS424TNssFGVIEAL1wZNgdq2Jy8-Jl0roRNb72TTVKQ', ], }; const dcqlQuery = { credentials: [ { id: 'query_0', format: 'ldp_vc', meta: { type_values: [['EmailCredential']], }, }, { id: 'query_1', format: 'ldp_vc', meta: { type_values: [['EmailCredential']], }, }, ], }; const vpTokenCredentialsExtractor = new VpTokenCredentialsExtractor( vpToken, dcqlQuery, ); const credentials = vpTokenCredentialsExtractor.extract(); expect(credentials).toEqual({ result: { valid: true }, vpTokenData: { credentialQueryIds: ['query_0', 'query_1'], decodedVerifiablePresentation: [ { 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', }, ], }, }, { 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', }, ], }, }, ], verifiableCredentials: [ { format: 'ldp_vc', 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', }, }, { format: 'ldp_vc', 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', }, }, ], verifiableCredentialsDecoded: [ { iat: 1768902400, iss: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f', jti: 'urn:uuid:c18eda48-090a-4959-bf58-2dede8984cac', nbf: 1768902400, sub: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', vc: { '@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', }, type: ['VerifiableCredential', 'EmailCredential'], validFrom: '2026-01-20T09:46:40Z', }, }, { iat: 1768902400, iss: 'did:web:staging.vidchain.net:api:v1:did-web-resolver:d3df409d-015b-41b4-aa31-bd7f4384054f', jti: 'urn:uuid:c18eda48-090a-4959-bf58-2dede8984cac', nbf: 1768902400, sub: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', vc: { '@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', }, type: ['VerifiableCredential', 'EmailCredential'], validFrom: '2026-01-20T09:46:40Z', }, }, ], vpTokenIssuer: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfsqehBBP7koAgdcG6UeMHQgJZpPK4JiNTmZUbj3Jge87eJxviTksf2aAuuLTMyaGmEPN9vEP3QRR3AMATeSkWYCkLjewQ4KnL68whH3uokpb7eVkdBsv7rdMM3TrA2bNU', }, }); }); it('return the list of credentials from vp_token, input: DCQL with LDP VP and VC using proofValue (VCDM 2.0)', () => { const credJwt = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtibzE5MmdiUmZ4TDE3WURKS3dvZXVaSkp2Mm5NOE15YnlwYjdQUlNnRDdFQjd5MkE1YmVGZVhvZnJpRExaTUZUTFBTbjJqSFg5NEIzdDJ2SmFtYTg2TmRVdXpaV1BhdWs3RXlkaXdhS3VDaWZZRjV0VnY2eDdFZDhXU21oZjlONG9NdiN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JvMTkyZ2JSZnhMMTdZREpLd29ldVpKSnYybk04TXlieXBiN1BSU2dEN0VCN3kyQTViZUZlWG9mcmlETFpNRlRMUFNuMmpIWDk0QjN0MnZKYW1hODZOZFV1elpXUGF1azdFeWRpd2FLdUNpZllGNXRWdjZ4N0VkOFdTbWhmOU40b012In0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vYXBpLnZpZGNoYWluLm5ldC9hcGkvdjEvY29udGV4dHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkVtYWlsQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYiLCJuYW1lIjoiVmFsaWRhdGVkIElEIFNMIn0sImlkIjoidXJuOnV1aWQ6MTg2MTQxMmMtOWU2My00NTU5LWI3MmUtZDE5MDQ5ZDIxMzhhIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJlbWFpbCI6ImJlcm5hdC5tYXJjaWxsYUB2YWxpZGF0ZWRpZC5jb20ifSwiY3JlZGVudGlhbFN0YXR1cyI6eyJ0eXBlIjoiUmV2b2NhdGlvbkxpc3QyMDIxIiwiaWQiOiJodHRwczovL2Rldi52aWRjaGFpbi5uZXQvYXBpL3YxL3Jldm9jYXRpb24vY3JlZGVudGlhbC1zdGF0dXMvc3RhdHVzLWxpc3QvMjI0L2NyZWRlbnRpYWwvMjYiLCJzdGF0dXNMaXN0Q3JlZGVudGlhbCI6Imh0dHBzOi8vZGV2LnZpZGNoYWluLm5ldC9hcGkvdjEvcmV2b2NhdGlvbi9zdGF0dXMtbGlzdC8yMjQiLCJzdGF0dXNMaXN0SW5kZXgiOiIyNiJ9fSwiaWF0IjoxNzExMzY5NjQ4LCJpc3MiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYifQ.n3x4ndKioax0w1H31Snh4f22pmcI5T7cp8_AMzGiUHygLUxnWXamG00-XiSNMzAe1YqZ8K7hNQ0ZyIbglAeVBQ'; // VP JWT with proofValue in the embedded credential (VCDM 2.0 style), fake signature since decodeJWT does not verify const newVpJwt = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDprZXk6ejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUticDdjTFpMUnhzWnVFVGs5Qk5nM29WYVJURFFDTjh1WGF5eHlldDVaY2pnWnh2d251TVhZV0d6czdMeFgxczRHUmJMVUp3RkpIRnpFZU56QnM2VndLOFNKeWpyaUtqRTg2eEtGVEVBd1ZzN3F5U0hrcjhaM3lpbWhzU0w3YmtjTTdOdCN6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050In0.eyJpYXQiOjE3MTIxNDQ1MjgsImV4cCI6NDg1OTc0MTcwMCwiaXNzIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwiYXVkIjoiaHR0cHM6Ly9zdGFnaW5nLXN0dWRpby52aWRjaGFpbi5uZXQvdmlkY3JlZGVudGlhbHMtc3R1ZGlvL29pZGM0dmMvdjEvdmVyaWZpZXIvNTQxN2FmNjUtNjA1OC00YWI0LWE4OTEtZDBhMDAzNTNlODQ3Iiwic3ViIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwibmJmIjoxNzEyMTQ0NTI4LCJub25jZSI6IjcwY2NmNmUxLTRhY2YtNGI0OC1iODUzLWJjNWU1ZjQ1MjNiMCIsImp0aSI6InVybjpkaWQ6NTdjOGRmZjUtZjliYy00MGQ5LTk1NWItN2ViZDkwZWNjOTk1IiwidnAiOnsiaWQiOiJ1cm46ZGlkOjU3YzhkZmY1LWY5YmMtNDBkOS05NTViLTdlYmQ5MGVjYzk5NSIsIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJdLCJob2xkZXIiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYnA3Y0xaTFJ4c1p1RVRrOUJOZzNvVmFSVERRQ044dVhheXh5ZXQ1WmNqZ1p4dndudU1YWVdHenM3THhYMXM0R1JiTFVKd0ZKSEZ6RWVOekJzNlZ3SzhTSnlqcmlLakU4NnhLRlRFQXdWczdxeVNIa3I4WjN5aW1oc1NMN2JrY003TnQiLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6W3siQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiLCJodHRwczovL2FwaS52aWRjaGFpbi5uZXQvYXBpL3YxL2NvbnRleHRzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJFbWFpbENyZWRlbnRpYWwiXSwiaWQiOiJ1cm46dXVpZDoxODYxNDEyYy05ZTYzLTQ1NTktYjcyZS1kMTkwNDlkMjEzOGEiLCJpc3N1ZXIiOnsiaWQiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYiLCJuYW1lIjoiVmFsaWRhdGVkIElEIFNMIn0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmtleTp6MmRtekQ4MWNnUHg4VmtpN0pidXVNbUZZcldQZ1lveXR5a1VaM2V5cWh0MWo5S2JwN2NMWkxSeHNadUVUazlCTmczb1ZhUlREUUNOOHVYYXl4eWV0NVpjamdaeHZ3bnVNWFlXR3pzN0x4WDFzNEdSYkxVSndGSkhGekVlTnpCczZWd0s4U0p5anJpS2pFODZ4S0ZURUF3VnM3cXlTSGtyOFozeWltaHNTTDdia2NNN050IiwiZW1haWwiOiJiZXJuYXQubWFyY2lsbGFAdmFsaWRhdGVkaWQuY29tIn0sInByb29mIjp7InR5cGUiOiJKc29uV2ViU2lnbmF0dXJlMjAyMCIsImNyZWF0ZWQiOiIyMDI0LTAzLTI1VDEyOjI3OjI4LjAwMFoiLCJwcm9vZlB1cnBvc2UiOiJhc3NlcnRpb25NZXRob2QiLCJ2ZXJpZmljYXRpb25NZXRob2QiOiJkaWQ6a2V5OnoyZG16RDgxY2dQeDhWa2k3SmJ1dU1tRllyV1BnWW95dHlrVVozZXlxaHQxajlLYm8xOTJnYlJmeEwxN1lESkt3b2V1WkpKdjJuTThNeWJ5cGI3UFJTZ0Q3RUI3eTJBNWJlRmVYb2ZyaURMWk1GVExQU24yakhYOTRCM3QydkphbWE4Nk5kVXV6WldQYXVrN0V5ZGl3YUt1Q2lmWUY1dFZ2Nng3RWQ4V1NtaGY5TjRvTXYjejJkbXpEODFjZ1B4OFZraTdKYnV1TW1GWXJXUGdZb3l0eWtVWjNleXFodDFqOUtibzE5MmdiUmZ4TDE3WURKS3dvZXVaSkp2Mm5NOE15YnlwYjdQUlNnRDdFQjd5MkE1YmVGZVhvZnJpRExaTUZUTFBTbjJqSFg5NEIzdDJ2SmFtYTg2TmRVdXpaV1BhdWs3RXlkaXdhS3VDaWZZRjV0VnY2eDdFZDhXU21oZjlONG9NdiIsInByb29mVmFsdWUiOiJleUpoYkdjaU9pSkZVekkxTmlJc0luUjVjQ0k2SWtwWFZDSXNJbXRwWkNJNkltUnBaRHByWlhrNmVqSmtiWHBFT0RGaloxQjRPRlpyYVRkS1luVjFUVzFHV1hKWFVHZFpiM2wwZVd0VldqTmxlWEZvZERGcU9VdGliekU1TW1kaVVtWjRUREUzV1VSS1MzZHZaWFZhU2twMk1tNU5PRTE1WW5sd1lqZFFVbE5uUkRkRlFqZDVNa0UxWW1WR1pWaHZabkpwUkV4YVRVWlVURkJUYmpKcVNGZzVORUl6ZERKMlNtRnRZVGcyVG1SVmRYcGFWMUJoZFdzM1JYbGthWGRoUzNWRGFXWlpSalYwVm5ZMmVEZEZaRGhYVTIxb1pqbE9ORzlOZGlONk1tUnRla1E0TVdOblVIZzRWbXRwTjBwaWRYVk5iVVpaY2xkUVoxbHZlWFI1YTFWYU0yVjVjV2gwTVdvNVMySnZNVGt5WjJKU1puaE1NVGRaUkVwTGQyOWxkVnBLU25ZeWJrMDRUWGxpZVhCaU4xQlNVMmRFTjBWQ04za3lRVFZpWlVabFdHOW1jbWxFVEZwTlJsUk1VRk51TW1wSVdEazBRak4wTW5aS1lXMWhPRFpPWkZWMWVscFhVR0YxYXpkRmVXUnBkMkZMZFVOcFpsbEdOWFJXZGpaNE4wVmtPRmRUYldobU9VNDBiMDEySW4wLmV5SjJZeUk2ZXlKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3ZNakF4T0M5amNtVmtaVzUwYVdGc2N5OTJNU0lzSW1oMGRIQnpPaTh2WVhCcExuWnBaR05vWVdsdUxtNWxkQzloY0drdmRqRXZZMjl1ZEdWNGRITXZkakVpWFN3aWRIbHdaU0k2V3lKV1pYSnBabWxoWW14bFEzSmxaR1Z1ZEdsaGJDSXNJa1Z0WVdsc1EzSmxaR1Z1ZEdsaGJDSmRMQ0pwYzNOMVpYSWlPbnNpYVdRaU9pSmthV1E2YTJWNU9ub3laRzE2UkRneFkyZFFlRGhXYTJrM1NtSjFkVTF0UmxseVYxQm5XVzk1ZEhsclZWb3paWGx4YUhReGFqbExZbTh4T1RKbllsSm1lRXd4TjFsRVNrdDNiMlYxV2twS2RqSnVUVGhOZVdKNWNHSTNVRkpUWjBRM1JVSTNlVEpCTldKbFJtVlliMlp5YVVSTVdrMUdWRXhRVTI0eWFraFlPVFJDTTNReWRrcGhiV0U0Tms1a1ZYVjZXbGRRWVhWck4wVjVaR2wzWVV0MVEybG1XVVkxZEZaMk5uZzNSV1E0VjFOdGFHWTVUalJ2VFhZaUxDSnVZVzFsSWpvaVZtRnNhV1JoZEdWa0lFbEVJRk5NSW4wc0ltbGtJam9pZFhKdU9uVjFhV1E2TVRnMk1UUXhNbU10T1dVMk15MDBOVFU1TFdJM01tVXRaREU1TURRNVpESXhNemhoSWl3aVkzSmxaR1Z1ZEdsaGJGTjFZbXBsWTNRaU9uc2lhV1FpT2lKa2FXUTZhMlY1T25veVpHMTZSRGd4WTJkUWVEaFdhMmszU21KMWRVMXRSbGx5VjFCbldXOTVkSGxyVlZvelpYbHhhSFF4YWpsTFluQTNZMHhhVEZKNGMxcDFSVlJyT1VKT1p6TnZWbUZTVkVSUlEwNDRkVmhoZVhoNVpYUTFXbU5xWjFwNGRuZHVkVTFZV1ZkSGVuTTNUSGhZTVhNMFIxSmlURlZLZDBaS1NFWjZSV1ZPZWtKek5sWjNTemhUU25scWNtbExha1U0Tm5oTFJsUkZRWGRXY3pkeGVWTklhM0k0V2pONWFXMW9jMU5NTjJKclkwMDNUblFpTENKbGJXRnBiQ0k2SW1KbGNtNWhkQzV0WVhKamFXeHNZVUIyWVd4cFpHRjBaV1JwWkM1amIyMGlmU3dpWTNKbFpHVnVkR2xoYkZOMFlYUjFjeUk2ZXlKMGVYQmxJam9pVW1WMmIyTmhkR2x2Ymt4cGMzUXlNREl4SWl3aWFXUWlPaUpvZEhSd2N6b3ZMMlJsZGk1MmFXUmphR0ZwYmk1dVpYUXZZWEJwTDNZeEwzSmxkbTlqWVhScGIyNHZZM0psWkdWdWRHbGhiQzF6ZEdGMGRYTXZjM1JoZEhWekxXeHBjM1F2TWpJMEwyTnlaV1JsYm5ScFlXd3ZNallpTENKemRHRjBkWE5NYVhOMFEzSmxaR1Z1ZEdsaGJDSTZJbWgwZEhCek9pOHZaR1YyTG5acFpHTm9ZV2x1TG01bGRDOWhjR2t2ZGpFdmNtVjJiMk5oZEdsdmJpOXpkR0YwZFhNdGJHbHpkQzh5TWpRaUxDSnpkR0YwZFhOTWFYTjBTVzVrWlhnaU9pSXlOaUo5ZlN3aWFXRjBJam94TnpFeE16WTVOalE0TENKcGMzTWlPaUprYVdRNmEyVjVPbm95WkcxNlJEZ3hZMmRRZURoV2EyazNTbUoxZFUxdFJsbHlWMUJuV1c5NWRIbHJWVm96WlhseGFIUXhhamxMWW04eE9USm5ZbEptZUV3eE4xbEVTa3QzYjJWMVdrcEtkakp1VFRoTmVXSjVjR0kzVUZKVFowUTNSVUkzZVRKQk5XSmxSbVZZYjJaeWFVUk1XazFHVkV4UVUyNHlha2hZT1RSQ00zUXlka3BoYldFNE5rNWtWWFY2V2xkUVlYVnJOMFY1WkdsM1lVdDFRMmxtV1VZMWRGWjJObmczUldRNFYxTnRhR1k1VGpSdlRYWWlmUS5uM3g0bmRLaW9heDB3MUgzMVNuaDRmMjJwbWNJNVQ3Y3A4X0FNekdpVUh5Z0xVeG5XWGFtRzAwLVhpU05NekFlMVlxWjhLN2hOUTBaeUliZ2xBZVZCUSJ9LCJpc3N1YW5jZURhdGUiOiIyMDI0LTAzLTI1VDEyOjI3OjI4LjAwMFoiLCJjcmVkZW50aWFsU3RhdHVzIjp7InR5cGUiOiJSZXZvY2F0aW9uTGlzdDIwMjEiLCJpZCI6Imh0dHBzOi8vZGV2LnZpZGNoYWluLm5ldC9hcGkvdjEvcmV2b2NhdGlvbi9jcmVkZW50aWFsLXN0YXR1cy9zdGF0dXMtbGlzdC8yMjQvY3JlZGVudGlhbC8yNiIsInN0YXR1c0xpc3RDcmVkZW50aWFsIjoiaHR0cHM6Ly9kZXYudmlkY2hhaW4ubmV0L2FwaS92MS9yZXZvY2F0aW9uL3N0YXR1cy1saXN0LzIyNCIsInN0YXR1c0xpc3RJbmRleCI6IjI2In19XX19.fakesignature'; const vpToken = { query_0: { id: 'urn:did:57c8dff5-f9bc-40d9-955b-7ebd90ecc995', '@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', proofValue: credJwt, }, 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: 'Ed25519Signature2018', created: '2021-03-19T15:30:15Z', challenge: 'n-0S6_WzA2Mj', domain: 'https://client.example.org/cb', proofValue: newVpJwt, proofPurpose: 'authentication', verificationMethod: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', }, }, }; const dcqlQuery = { credentials: [ { id: 'query_0', format: 'ldp_vc', meta: { type_values: [['EmailCredential']], }, }, ], }; const vpTokenCredentialsExtractor = new VpTokenCredentialsExtractor( vpToken, dcqlQuery, ); const credentials = vpTokenCredentialsExtractor.extract(); // VCDM 2.0 behaviour: // - decodedVerifiablePresentation is the raw JSON-LD VP object (NOT a decoded JWT). // - verifiableCredentialsDecoded contains { vc, iss } wrappers; the proofValue // is NOT decoded as a JWT because it is a multibase-encoded raw signature. const jsonCredential = vpToken.query_0.verifiableCredential[0]; const issuerDid = jsonCredential.issuer.id; expect(credentials).toEqual({ result: { valid: true }, vpTokenData: { credentialQueryIds: ['query_0'], // The raw JSON-LD VP object is stored as-is (no JWT decoding). decodedVerifiablePresentation: vpToken.query_0, verifiableCredentials: [ { format: 'ldp_vc', verifiableCredential: jsonCredential, }, ], // Wrapped as { vc, iss } so downstream validators can access the credential // without expecting a JWT payload structure. verifiableCredentialsDecoded: [ { vc: jsonCredential, iss: issuerDid }, ], vpTokenIssuer: 'did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9Kbp7cLZLRxsZuETk9BNg3oVaRTDQCN8uXayxyet5ZcjgZxvwnuMXYWGzs7LxX1s4GRbLUJwFJHFzEeNzBs6VwK8SJyjriKjE86xKFTEAwVs7qySHkr8Z3yimhsSL7bkcM7Nt', }, }); }); });