executeQuery

fun <Credential : Any> executeQuery(    credentials: List<DCQLCredentialQuery>,     requestedCredentialSetQueries: List<DCQLCredentialSetQuery>,     availableCredentials: List<Credential>,     credentialFormatExtractor: (Credential) -> CredentialFormatEnum,     mdocCredentialDoctypeExtractor: (Credential) -> String,     sdJwtCredentialTypeExtractor: (Credential) -> String,     credentialClaimStructureExtractor: (Credential) -> DCQLCredentialClaimStructure): KmmResult<DCQLQueryResult<Credential>>(source)

6.3.1.2. Selecting Credentials

The following rules apply for selecting Credentials via credentials and credential_sets: If credential_sets is not provided, the Verifier requests presentations for all Credentials in credentials to be returned.

Otherwise, the Verifier requests presentations of Credentials to be returned satisfying all of the Credential Set Queries in the credential_sets array where the required attribute is true or omitted, and optionally, any of the other Credential Set Queries.To satisfy a Credential Set Query, the Wallet MUST return presentations of a set of Credentials that match to one of the options inside the Credential Set Query.Credentials not matching the respective constraints expressed within credentials MUST NOT be returned, i.e., they are treated as if they would not exist in the Wallet.If the Wallet cannot deliver all non-optional Credentials requested by the Verifier according to these rules, it MUST NOT return any Credential(s).