@pagopa/io-react-native-wallet 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/credential/issuance/06-obtain-credential.js +1 -1
 - package/lib/commonjs/credential/issuance/06-obtain-credential.js.map +1 -1
 - package/lib/commonjs/credential/issuance/types.js +1 -1
 - package/lib/commonjs/credential/issuance/types.js.map +1 -1
 - package/lib/commonjs/credential/presentation/03-get-request-object.js +2 -18
 - package/lib/commonjs/credential/presentation/03-get-request-object.js.map +1 -1
 - package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js +1 -1
 - package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
 - package/lib/commonjs/credential/presentation/08-send-authorization-response.js +52 -12
 - package/lib/commonjs/credential/presentation/08-send-authorization-response.js.map +1 -1
 - package/lib/commonjs/credential/presentation/README.md +1 -3
 - package/lib/commonjs/credential/presentation/index.js +6 -0
 - package/lib/commonjs/credential/presentation/index.js.map +1 -1
 - package/lib/commonjs/credential/presentation/types.js +19 -1
 - package/lib/commonjs/credential/presentation/types.js.map +1 -1
 - package/lib/module/credential/issuance/06-obtain-credential.js +1 -1
 - package/lib/module/credential/issuance/06-obtain-credential.js.map +1 -1
 - package/lib/module/credential/issuance/types.js +1 -1
 - package/lib/module/credential/issuance/types.js.map +1 -1
 - package/lib/module/credential/presentation/03-get-request-object.js +2 -17
 - package/lib/module/credential/presentation/03-get-request-object.js.map +1 -1
 - package/lib/module/credential/presentation/07-evaluate-input-descriptor.js +1 -1
 - package/lib/module/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
 - package/lib/module/credential/presentation/08-send-authorization-response.js +51 -11
 - package/lib/module/credential/presentation/08-send-authorization-response.js.map +1 -1
 - package/lib/module/credential/presentation/README.md +1 -3
 - package/lib/module/credential/presentation/index.js +2 -2
 - package/lib/module/credential/presentation/index.js.map +1 -1
 - package/lib/module/credential/presentation/types.js +18 -0
 - package/lib/module/credential/presentation/types.js.map +1 -1
 - package/lib/typescript/credential/issuance/06-obtain-credential.d.ts.map +1 -1
 - package/lib/typescript/credential/issuance/types.d.ts +4 -4
 - package/lib/typescript/credential/presentation/03-get-request-object.d.ts +0 -3
 - package/lib/typescript/credential/presentation/03-get-request-object.d.ts.map +1 -1
 - package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts.map +1 -1
 - package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts +23 -7
 - package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts.map +1 -1
 - package/lib/typescript/credential/presentation/index.d.ts +3 -3
 - package/lib/typescript/credential/presentation/index.d.ts.map +1 -1
 - package/lib/typescript/credential/presentation/types.d.ts +26 -0
 - package/lib/typescript/credential/presentation/types.d.ts.map +1 -1
 - package/package.json +1 -1
 - package/src/credential/issuance/06-obtain-credential.ts +6 -4
 - package/src/credential/issuance/types.ts +1 -1
 - package/src/credential/presentation/03-get-request-object.ts +1 -24
 - package/src/credential/presentation/07-evaluate-input-descriptor.ts +2 -5
 - package/src/credential/presentation/08-send-authorization-response.ts +70 -22
 - package/src/credential/presentation/README.md +1 -3
 - package/src/credential/presentation/index.ts +4 -0
 - package/src/credential/presentation/types.ts +26 -0
 
| 
         @@ -99,15 +99,16 @@ export const prepareVpToken = async (requestObject, presentationDefinition, _ref 
     | 
|
| 
       99 
99 
     | 
    
         
             
             * Builds a URL-encoded form body for a direct POST response without encryption.
         
     | 
| 
       100 
100 
     | 
    
         
             
             *
         
     | 
| 
       101 
101 
     | 
    
         
             
             * @param requestObject - Contains state, nonce, and other relevant info.
         
     | 
| 
       102 
     | 
    
         
            -
             * @param  
     | 
| 
       103 
     | 
    
         
            -
             * @param presentationSubmission - Object mapping credential disclosures.
         
     | 
| 
      
 102 
     | 
    
         
            +
             * @param payload - Object that contains either the VP token to encrypt and the stringified mapping of the credential disclosures or the error code
         
     | 
| 
       104 
103 
     | 
    
         
             
             * @returns A URL-encoded string suitable for an `application/x-www-form-urlencoded` POST body.
         
     | 
| 
       105 
104 
     | 
    
         
             
             */
         
     | 
| 
       106 
     | 
    
         
            -
            export const buildDirectPostBody = async (requestObject,  
     | 
| 
      
 105 
     | 
    
         
            +
            export const buildDirectPostBody = async (requestObject, payload) => {
         
     | 
| 
       107 
106 
     | 
    
         
             
              const formUrlEncodedBody = new URLSearchParams({
         
     | 
| 
       108 
107 
     | 
    
         
             
                state: requestObject.state,
         
     | 
| 
       109 
     | 
    
         
            -
                 
     | 
| 
       110 
     | 
    
         
            -
             
     | 
| 
      
 108 
     | 
    
         
            +
                ...Object.fromEntries(Object.entries(payload).map(_ref2 => {
         
     | 
| 
      
 109 
     | 
    
         
            +
                  let [key, value] = _ref2;
         
     | 
| 
      
 110 
     | 
    
         
            +
                  return [key, typeof value === "object" ? JSON.stringify(value) : value];
         
     | 
| 
      
 111 
     | 
    
         
            +
                }))
         
     | 
| 
       111 
112 
     | 
    
         
             
              });
         
     | 
| 
       112 
113 
     | 
    
         
             
              return formUrlEncodedBody.toString();
         
     | 
| 
       113 
114 
     | 
    
         
             
            };
         
     | 
| 
         @@ -117,17 +118,15 @@ export const buildDirectPostBody = async (requestObject, vpToken, presentationSu 
     | 
|
| 
       117 
118 
     | 
    
         
             
             *
         
     | 
| 
       118 
119 
     | 
    
         
             
             * @param jwkKeys - Array of JWKs from the Relying Party for encryption.
         
     | 
| 
       119 
120 
     | 
    
         
             
             * @param requestObject - Contains state, nonce, and other relevant info.
         
     | 
| 
       120 
     | 
    
         
            -
             * @param  
     | 
| 
       121 
     | 
    
         
            -
             * @param presentationSubmission - Object mapping credential disclosures.
         
     | 
| 
      
 121 
     | 
    
         
            +
             * @param payload - Object that contains either the VP token to encrypt and the mapping of the credential disclosures or the error code
         
     | 
| 
       122 
122 
     | 
    
         
             
             * @returns A URL-encoded string for an `application/x-www-form-urlencoded` POST body,
         
     | 
| 
       123 
123 
     | 
    
         
             
             *          where `response` contains the encrypted JWE.
         
     | 
| 
       124 
124 
     | 
    
         
             
             */
         
     | 
| 
       125 
     | 
    
         
            -
            export const buildDirectPostJwtBody = async (jwkKeys, requestObject,  
     | 
| 
      
 125 
     | 
    
         
            +
            export const buildDirectPostJwtBody = async (jwkKeys, requestObject, payload) => {
         
     | 
| 
       126 
126 
     | 
    
         
             
              // Prepare the authorization response payload to be encrypted
         
     | 
| 
       127 
127 
     | 
    
         
             
              const authzResponsePayload = JSON.stringify({
         
     | 
| 
       128 
128 
     | 
    
         
             
                state: requestObject.state,
         
     | 
| 
       129 
     | 
    
         
            -
                 
     | 
| 
       130 
     | 
    
         
            -
                vp_token: vpToken
         
     | 
| 
      
 129 
     | 
    
         
            +
                ...payload
         
     | 
| 
       131 
130 
     | 
    
         
             
              });
         
     | 
| 
       132 
131 
     | 
    
         | 
| 
       133 
132 
     | 
    
         
             
              // Choose a suitable RSA public key for encryption
         
     | 
| 
         @@ -178,7 +177,13 @@ export const sendAuthorizationResponse = async function (requestObject, presenta 
     | 
|
| 
       178 
177 
     | 
    
         
             
              } = await prepareVpToken(requestObject, presentationDefinition, presentation);
         
     | 
| 
       179 
178 
     | 
    
         | 
| 
       180 
179 
     | 
    
         
             
              // 2. Choose the appropriate request body builder based on response mode
         
     | 
| 
       181 
     | 
    
         
            -
              const requestBody = requestObject.response_mode === "direct_post.jwt" ? await buildDirectPostJwtBody(jwkKeys, requestObject,  
     | 
| 
      
 180 
     | 
    
         
            +
              const requestBody = requestObject.response_mode === "direct_post.jwt" ? await buildDirectPostJwtBody(jwkKeys, requestObject, {
         
     | 
| 
      
 181 
     | 
    
         
            +
                vp_token,
         
     | 
| 
      
 182 
     | 
    
         
            +
                presentation_submission
         
     | 
| 
      
 183 
     | 
    
         
            +
              }) : await buildDirectPostBody(requestObject, {
         
     | 
| 
      
 184 
     | 
    
         
            +
                vp_token,
         
     | 
| 
      
 185 
     | 
    
         
            +
                presentation_submission: presentation_submission
         
     | 
| 
      
 186 
     | 
    
         
            +
              });
         
     | 
| 
       182 
187 
     | 
    
         | 
| 
       183 
188 
     | 
    
         
             
              // 3. Send the authorization response via HTTP POST and validate the response
         
     | 
| 
       184 
189 
     | 
    
         
             
              return await appFetch(requestObject.response_uri, {
         
     | 
| 
         @@ -189,4 +194,39 @@ export const sendAuthorizationResponse = async function (requestObject, presenta 
     | 
|
| 
       189 
194 
     | 
    
         
             
                body: requestBody
         
     | 
| 
       190 
195 
     | 
    
         
             
              }).then(hasStatusOrThrow(200)).then(res => res.json()).then(AuthorizationResponse.parse);
         
     | 
| 
       191 
196 
     | 
    
         
             
            };
         
     | 
| 
      
 197 
     | 
    
         
            +
             
     | 
| 
      
 198 
     | 
    
         
            +
            /**
         
     | 
| 
      
 199 
     | 
    
         
            +
             * Type definition for the function that sends the authorization response
         
     | 
| 
      
 200 
     | 
    
         
            +
             * to the Relying Party, completing the presentation flow.
         
     | 
| 
      
 201 
     | 
    
         
            +
             */
         
     | 
| 
      
 202 
     | 
    
         
            +
             
     | 
| 
      
 203 
     | 
    
         
            +
            /**
         
     | 
| 
      
 204 
     | 
    
         
            +
             * Sends the authorization error response to the Relying Party (RP) using the specified `response_mode`.
         
     | 
| 
      
 205 
     | 
    
         
            +
             * This function completes the presentation flow in an OpenID 4 Verifiable Presentations scenario.
         
     | 
| 
      
 206 
     | 
    
         
            +
             *
         
     | 
| 
      
 207 
     | 
    
         
            +
             * @param requestObject - The request details, including presentation requirements.
         
     | 
| 
      
 208 
     | 
    
         
            +
             * @param error - The response error value
         
     | 
| 
      
 209 
     | 
    
         
            +
             * @param jwkKeys - Array of JWKs from the Relying Party for optional encryption.
         
     | 
| 
      
 210 
     | 
    
         
            +
             * @param context - Contains optional custom fetch implementation.
         
     | 
| 
      
 211 
     | 
    
         
            +
             * @returns Parsed and validated authorization response from the Relying Party.
         
     | 
| 
      
 212 
     | 
    
         
            +
             */
         
     | 
| 
      
 213 
     | 
    
         
            +
            export const sendAuthorizationErrorResponse = async function (requestObject, error, jwkKeys) {
         
     | 
| 
      
 214 
     | 
    
         
            +
              let {
         
     | 
| 
      
 215 
     | 
    
         
            +
                appFetch = fetch
         
     | 
| 
      
 216 
     | 
    
         
            +
              } = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
         
     | 
| 
      
 217 
     | 
    
         
            +
              // 2. Choose the appropriate request body builder based on response mode
         
     | 
| 
      
 218 
     | 
    
         
            +
              const requestBody = requestObject.response_mode === "direct_post.jwt" ? await buildDirectPostJwtBody(jwkKeys, requestObject, {
         
     | 
| 
      
 219 
     | 
    
         
            +
                error
         
     | 
| 
      
 220 
     | 
    
         
            +
              }) : await buildDirectPostBody(requestObject, {
         
     | 
| 
      
 221 
     | 
    
         
            +
                error
         
     | 
| 
      
 222 
     | 
    
         
            +
              });
         
     | 
| 
      
 223 
     | 
    
         
            +
              // 3. Send the authorization error response via HTTP POST and validate the response
         
     | 
| 
      
 224 
     | 
    
         
            +
              return await appFetch(requestObject.response_uri, {
         
     | 
| 
      
 225 
     | 
    
         
            +
                method: "POST",
         
     | 
| 
      
 226 
     | 
    
         
            +
                headers: {
         
     | 
| 
      
 227 
     | 
    
         
            +
                  "Content-Type": "application/x-www-form-urlencoded"
         
     | 
| 
      
 228 
     | 
    
         
            +
                },
         
     | 
| 
      
 229 
     | 
    
         
            +
                body: requestBody
         
     | 
| 
      
 230 
     | 
    
         
            +
              }).then(hasStatusOrThrow(200)).then(res => res.json()).then(AuthorizationResponse.parse);
         
     | 
| 
      
 231 
     | 
    
         
            +
            };
         
     | 
| 
       192 
232 
     | 
    
         
             
            //# sourceMappingURL=08-send-authorization-response.js.map
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"names":["EncryptJwe","SignJWT","sha256ToBase64","uuid","NoSuitableKeysFoundInEntityConfiguration","hasStatusOrThrow","disclose","z","AuthorizationResponse","object","status","string","optional","response_code","redirect_uri","choosePublicKeyToEncrypt","rpJwkKeys","encKey","filter","jwk","use","prepareVpToken","requestObject","presentationDefinition","_ref","_presentationDefiniti","verifiableCredential","requestedClaims","cryptoContext","token","vp","sd_hash","kbJwt","setProtectedHeader","typ","alg","setPayload","nonce","setAudience","client_id","setIssuedAt","sign","vp_token","join","presentation_submission","id","v4","definition_id","descriptor_map","input_descriptors","path","format","buildDirectPostBody"," 
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"names":["EncryptJwe","SignJWT","sha256ToBase64","uuid","NoSuitableKeysFoundInEntityConfiguration","hasStatusOrThrow","disclose","z","AuthorizationResponse","object","status","string","optional","response_code","redirect_uri","choosePublicKeyToEncrypt","rpJwkKeys","encKey","filter","jwk","use","prepareVpToken","requestObject","presentationDefinition","_ref","_presentationDefiniti","verifiableCredential","requestedClaims","cryptoContext","token","vp","sd_hash","kbJwt","setProtectedHeader","typ","alg","setPayload","nonce","setAudience","client_id","setIssuedAt","sign","vp_token","join","presentation_submission","id","v4","definition_id","descriptor_map","input_descriptors","path","format","buildDirectPostBody","payload","formUrlEncodedBody","URLSearchParams","state","Object","fromEntries","entries","map","_ref2","key","value","JSON","stringify","toString","buildDirectPostJwtBody","jwkKeys","authzResponsePayload","encPublicJwk","client_metadata","encryptedResponse","authorization_encrypted_response_alg","enc","authorization_encrypted_response_enc","kid","encrypt","formBody","response","sendAuthorizationResponse","presentation","appFetch","fetch","arguments","length","undefined","requestBody","response_mode","response_uri","method","headers","body","then","res","json","parse","sendAuthorizationErrorResponse","error"],"sourceRoot":"../../../../src","sources":["credential/presentation/08-send-authorization-response.ts"],"mappings":"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"}
         
     | 
| 
         @@ -62,9 +62,7 @@ const { rpConf } = await Credential.Presentation.evaluateRelyingPartyTrust(clien 
     | 
|
| 
       62 
62 
     | 
    
         | 
| 
       63 
63 
     | 
    
         
             
            const { requestObjectEncodedJwt } =
         
     | 
| 
       64 
64 
     | 
    
         
             
                await Credential.Presentation.getRequestObject(requestURI, {
         
     | 
| 
       65 
     | 
    
         
            -
                   
     | 
| 
       66 
     | 
    
         
            -
                  appFetch: appFetch,
         
     | 
| 
       67 
     | 
    
         
            -
                  walletInstanceAttestation: walletInstanceAttestation,
         
     | 
| 
      
 65 
     | 
    
         
            +
                  appFetch: appFetch
         
     | 
| 
       68 
66 
     | 
    
         
             
                });
         
     | 
| 
       69 
67 
     | 
    
         | 
| 
       70 
68 
     | 
    
         
             
            // Retrieve RP JWK
         
     | 
| 
         @@ -5,7 +5,7 @@ import { fetchJwksFromRequestObject, fetchJwksFromConfig } from "./04-retrieve-r 
     | 
|
| 
       5 
5 
     | 
    
         
             
            import { verifyRequestObjectSignature } from "./05-verify-request-object";
         
     | 
| 
       6 
6 
     | 
    
         
             
            import { fetchPresentDefinition } from "./06-fetch-presentation-definition";
         
     | 
| 
       7 
7 
     | 
    
         
             
            import { evaluateInputDescriptorForSdJwt4VC } from "./07-evaluate-input-descriptor";
         
     | 
| 
       8 
     | 
    
         
            -
            import { sendAuthorizationResponse } from "./08-send-authorization-response";
         
     | 
| 
      
 8 
     | 
    
         
            +
            import { sendAuthorizationResponse, sendAuthorizationErrorResponse } from "./08-send-authorization-response";
         
     | 
| 
       9 
9 
     | 
    
         
             
            import * as Errors from "./errors";
         
     | 
| 
       10 
     | 
    
         
            -
            export { startFlowFromQR, evaluateRelyingPartyTrust, getRequestObject, fetchJwksFromRequestObject, fetchJwksFromConfig, verifyRequestObjectSignature, fetchPresentDefinition, evaluateInputDescriptorForSdJwt4VC, sendAuthorizationResponse, Errors };
         
     | 
| 
      
 10 
     | 
    
         
            +
            export { startFlowFromQR, evaluateRelyingPartyTrust, getRequestObject, fetchJwksFromRequestObject, fetchJwksFromConfig, verifyRequestObjectSignature, fetchPresentDefinition, evaluateInputDescriptorForSdJwt4VC, sendAuthorizationResponse, sendAuthorizationErrorResponse, Errors };
         
     | 
| 
       11 
11 
     | 
    
         
             
            //# sourceMappingURL=index.js.map
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"names":["startFlowFromQR","evaluateRelyingPartyTrust","getRequestObject","fetchJwksFromRequestObject","fetchJwksFromConfig","verifyRequestObjectSignature","fetchPresentDefinition","evaluateInputDescriptorForSdJwt4VC","sendAuthorizationResponse","Errors"],"sourceRoot":"../../../../src","sources":["credential/presentation/index.ts"],"mappings":"AAAA,SAASA,eAAe,QAAwB,iBAAiB;AACjE,SACEC,yBAAyB,QAEpB,wBAAwB;AAC/B,SACEC,gBAAgB,QAEX,yBAAyB;AAChC,SACEC,0BAA0B,EAC1BC,mBAAmB,QAEd,uBAAuB;AAC9B,SACEC,4BAA4B,QAEvB,4BAA4B;AACnC,SACEC,sBAAsB,QAEjB,oCAAoC;AAC3C,SACEC,kCAAkC,QAE7B,gCAAgC;AACvC,SACEC,yBAAyB, 
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"names":["startFlowFromQR","evaluateRelyingPartyTrust","getRequestObject","fetchJwksFromRequestObject","fetchJwksFromConfig","verifyRequestObjectSignature","fetchPresentDefinition","evaluateInputDescriptorForSdJwt4VC","sendAuthorizationResponse","sendAuthorizationErrorResponse","Errors"],"sourceRoot":"../../../../src","sources":["credential/presentation/index.ts"],"mappings":"AAAA,SAASA,eAAe,QAAwB,iBAAiB;AACjE,SACEC,yBAAyB,QAEpB,wBAAwB;AAC/B,SACEC,gBAAgB,QAEX,yBAAyB;AAChC,SACEC,0BAA0B,EAC1BC,mBAAmB,QAEd,uBAAuB;AAC9B,SACEC,4BAA4B,QAEvB,4BAA4B;AACnC,SACEC,sBAAsB,QAEjB,oCAAoC;AAC3C,SACEC,kCAAkC,QAE7B,gCAAgC;AACvC,SACEC,yBAAyB,EAEzBC,8BAA8B,QAEzB,kCAAkC;AACzC,OAAO,KAAKC,MAAM,MAAM,UAAU;AAElC,SACEV,eAAe,EACfC,yBAAyB,EACzBC,gBAAgB,EAChBC,0BAA0B,EAC1BC,mBAAmB,EACnBC,4BAA4B,EAC5BC,sBAAsB,EACtBC,kCAAkC,EAClCC,yBAAyB,EACzBC,8BAA8B,EAC9BC,MAAM"}
         
     | 
| 
         @@ -92,4 +92,22 @@ export const RequestObject = z.object({ 
     | 
|
| 
       92 
92 
     | 
    
         
             
              scope: z.string().optional(),
         
     | 
| 
       93 
93 
     | 
    
         
             
              presentation_definition: PresentationDefinition.optional()
         
     | 
| 
       94 
94 
     | 
    
         
             
            });
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
      
 96 
     | 
    
         
            +
            /**
         
     | 
| 
      
 97 
     | 
    
         
            +
             * This type models the possible error responses the OpenID4VP protocol allows for a presentation of a credential.
         
     | 
| 
      
 98 
     | 
    
         
            +
             * See https://openid.github.io/OpenID4VP/openid-4-verifiable-presentations-wg-draft.html#name-error-response for more information.
         
     | 
| 
      
 99 
     | 
    
         
            +
             */
         
     | 
| 
      
 100 
     | 
    
         
            +
             
     | 
| 
      
 101 
     | 
    
         
            +
            export const ErrorResponse = z.enum(["invalid_scope", "invalid_request", "invalid_client", "access_denied"]);
         
     | 
| 
      
 102 
     | 
    
         
            +
             
     | 
| 
      
 103 
     | 
    
         
            +
            /**
         
     | 
| 
      
 104 
     | 
    
         
            +
             * Type that defines the possible payload formats accepted by {@link buildDirectPostJwtBody} and {@link buildDirectPostBody}
         
     | 
| 
      
 105 
     | 
    
         
            +
             */
         
     | 
| 
      
 106 
     | 
    
         
            +
             
     | 
| 
      
 107 
     | 
    
         
            +
            export const DirectAuthorizationBodyPayload = z.union([z.object({
         
     | 
| 
      
 108 
     | 
    
         
            +
              vp_token: z.string(),
         
     | 
| 
      
 109 
     | 
    
         
            +
              presentation_submission: z.record(z.string(), z.unknown())
         
     | 
| 
      
 110 
     | 
    
         
            +
            }), z.object({
         
     | 
| 
      
 111 
     | 
    
         
            +
              error: ErrorResponse
         
     | 
| 
      
 112 
     | 
    
         
            +
            })]);
         
     | 
| 
       95 
113 
     | 
    
         
             
            //# sourceMappingURL=types.js.map
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"names":["UnixTime","z","JWKS","Fields","object","path","array","string","min","id","optional","purpose","name","filter","any","boolean","intent_to_retain","Constraints","fields","limit_disclosure","enum","InputDescriptor","format","record","constraints","group","SubmissionRequirement","rule","from","from_nested","count","number","PresentationDefinition","input_descriptors","submission_requirements","RequestObject","iss","iat","exp","state","nonce","response_uri","response_type","literal","response_mode","client_id","client_id_scheme","client_metadata","authorization_encrypted_response_alg","authorization_encrypted_response_enc","jwks_uri","jwks","scope","presentation_definition"],"sourceRoot":"../../../../src","sources":["credential/presentation/types.ts"],"mappings":"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"}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"names":["UnixTime","z","JWKS","Fields","object","path","array","string","min","id","optional","purpose","name","filter","any","boolean","intent_to_retain","Constraints","fields","limit_disclosure","enum","InputDescriptor","format","record","constraints","group","SubmissionRequirement","rule","from","from_nested","count","number","PresentationDefinition","input_descriptors","submission_requirements","RequestObject","iss","iat","exp","state","nonce","response_uri","response_type","literal","response_mode","client_id","client_id_scheme","client_metadata","authorization_encrypted_response_alg","authorization_encrypted_response_enc","jwks_uri","jwks","scope","presentation_definition","ErrorResponse","DirectAuthorizationBodyPayload","union","vp_token","presentation_submission","unknown","error"],"sourceRoot":"../../../../src","sources":["credential/presentation/types.ts"],"mappings":"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"}
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"06-obtain-credential.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/06-obtain-credential.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAGnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAQ5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAI7C,MAAM,MAAM,gBAAgB,GAAG,CAC7B,UAAU,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,EAC9C,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,EAChD,QAAQ,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,EACjD,oBAAoB,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,sBAAsB,CAAC,EACzE,OAAO,EAAE;IACP,iBAAiB,EAAE,aAAa,CAAC;IACjC,uBAAuB,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEjC,eAAO,MAAM,gBAAgB,UACpB,MAAM,UACL,MAAM,YACJ,MAAM,OACX,aAAa,KACjB,QAAQ,MAAM,CAehB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB,EAAE, 
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"06-obtain-credential.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/06-obtain-credential.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAGnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAQ5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAI7C,MAAM,MAAM,gBAAgB,GAAG,CAC7B,UAAU,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,EAC9C,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,EAChD,QAAQ,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,EACjD,oBAAoB,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,sBAAsB,CAAC,EACzE,OAAO,EAAE;IACP,iBAAiB,EAAE,aAAa,CAAC;IACjC,uBAAuB,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEjC,eAAO,MAAM,gBAAgB,UACpB,MAAM,UACL,MAAM,YACJ,MAAM,OACX,aAAa,KACjB,QAAQ,MAAM,CAehB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAsG9B,CAAC"}
         
     | 
| 
         @@ -2,7 +2,7 @@ import * as z from "zod"; 
     | 
|
| 
       2 
2 
     | 
    
         
             
            export type TokenResponse = z.infer<typeof TokenResponse>;
         
     | 
| 
       3 
3 
     | 
    
         
             
            export declare const TokenResponse: z.ZodObject<{
         
     | 
| 
       4 
4 
     | 
    
         
             
                access_token: z.ZodString;
         
     | 
| 
       5 
     | 
    
         
            -
                authorization_details: z.ZodObject<{
         
     | 
| 
      
 5 
     | 
    
         
            +
                authorization_details: z.ZodArray<z.ZodObject<{
         
     | 
| 
       6 
6 
     | 
    
         
             
                    credential_configuration_id: z.ZodString;
         
     | 
| 
       7 
7 
     | 
    
         
             
                    type: z.ZodLiteral<"openid_credential">;
         
     | 
| 
       8 
8 
     | 
    
         
             
                }, "strip", z.ZodTypeAny, {
         
     | 
| 
         @@ -11,7 +11,7 @@ export declare const TokenResponse: z.ZodObject<{ 
     | 
|
| 
       11 
11 
     | 
    
         
             
                }, {
         
     | 
| 
       12 
12 
     | 
    
         
             
                    type: "openid_credential";
         
     | 
| 
       13 
13 
     | 
    
         
             
                    credential_configuration_id: string;
         
     | 
| 
       14 
     | 
    
         
            -
                }>;
         
     | 
| 
      
 14 
     | 
    
         
            +
                }>, "many">;
         
     | 
| 
       15 
15 
     | 
    
         
             
                c_nonce: z.ZodString;
         
     | 
| 
       16 
16 
     | 
    
         
             
                c_nonce_expires_in: z.ZodNumber;
         
     | 
| 
       17 
17 
     | 
    
         
             
                expires_in: z.ZodNumber;
         
     | 
| 
         @@ -20,7 +20,7 @@ export declare const TokenResponse: z.ZodObject<{ 
     | 
|
| 
       20 
20 
     | 
    
         
             
                authorization_details: {
         
     | 
| 
       21 
21 
     | 
    
         
             
                    type: "openid_credential";
         
     | 
| 
       22 
22 
     | 
    
         
             
                    credential_configuration_id: string;
         
     | 
| 
       23 
     | 
    
         
            -
                };
         
     | 
| 
      
 23 
     | 
    
         
            +
                }[];
         
     | 
| 
       24 
24 
     | 
    
         
             
                access_token: string;
         
     | 
| 
       25 
25 
     | 
    
         
             
                c_nonce: string;
         
     | 
| 
       26 
26 
     | 
    
         
             
                c_nonce_expires_in: number;
         
     | 
| 
         @@ -30,7 +30,7 @@ export declare const TokenResponse: z.ZodObject<{ 
     | 
|
| 
       30 
30 
     | 
    
         
             
                authorization_details: {
         
     | 
| 
       31 
31 
     | 
    
         
             
                    type: "openid_credential";
         
     | 
| 
       32 
32 
     | 
    
         
             
                    credential_configuration_id: string;
         
     | 
| 
       33 
     | 
    
         
            -
                };
         
     | 
| 
      
 33 
     | 
    
         
            +
                }[];
         
     | 
| 
       34 
34 
     | 
    
         
             
                access_token: string;
         
     | 
| 
       35 
35 
     | 
    
         
             
                c_nonce: string;
         
     | 
| 
       36 
36 
     | 
    
         
             
                c_nonce_expires_in: number;
         
     | 
| 
         @@ -1,10 +1,7 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            import { type CryptoContext } from "@pagopa/io-react-native-jwt";
         
     | 
| 
       2 
1 
     | 
    
         
             
            import { type Out } from "../../utils/misc";
         
     | 
| 
       3 
2 
     | 
    
         
             
            import type { StartFlow } from "./01-start-flow";
         
     | 
| 
       4 
3 
     | 
    
         
             
            export type GetRequestObject = (requestUri: Out<StartFlow>["requestUri"], context: {
         
     | 
| 
       5 
     | 
    
         
            -
                wiaCryptoContext: CryptoContext;
         
     | 
| 
       6 
4 
     | 
    
         
             
                appFetch?: GlobalFetch["fetch"];
         
     | 
| 
       7 
     | 
    
         
            -
                walletInstanceAttestation: string;
         
     | 
| 
       8 
5 
     | 
    
         
             
            }) => Promise<{
         
     | 
| 
       9 
6 
     | 
    
         
             
                requestObjectEncodedJwt: string;
         
     | 
| 
       10 
7 
     | 
    
         
             
            }>;
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"03-get-request-object.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/03-get-request-object.ts"],"names":[],"mappings":" 
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"03-get-request-object.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/03-get-request-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,MAAM,gBAAgB,GAAG,CAC7B,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EACxC,OAAO,EAAE;IACP,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC;IAAE,uBAAuB,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAElD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAa9B,CAAC"}
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"07-evaluate-input-descriptor.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/07-evaluate-input-descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAO1E,MAAM,MAAM,oBAAoB,GAAG;IACjC,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;IAC7C,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;IAC7C,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,CAC5C,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAAC,EACtC,WAAW,EAAE,qBAAqB,EAAE,KACjC,oBAAoB,CAAC;AA4E1B;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kCAAkC,EAAE,+ 
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"07-evaluate-input-descriptor.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/07-evaluate-input-descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAO1E,MAAM,MAAM,oBAAoB,GAAG;IACjC,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;IAC7C,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;IAC7C,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,CAC5C,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAAC,EACtC,WAAW,EAAE,qBAAqB,EAAE,KACjC,oBAAoB,CAAC;AA4E1B;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kCAAkC,EAAE,+BAsG9C,CAAC"}
         
     | 
| 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            import type { FetchJwks } from "./04-retrieve-rp-jwks";
         
     | 
| 
       2 
2 
     | 
    
         
             
            import type { VerifyRequestObjectSignature } from "./05-verify-request-object";
         
     | 
| 
       3 
3 
     | 
    
         
             
            import { type Out } from "../../utils/misc";
         
     | 
| 
       4 
     | 
    
         
            -
            import { PresentationDefinition, type Presentation } from "./types";
         
     | 
| 
      
 4 
     | 
    
         
            +
            import { DirectAuthorizationBodyPayload, ErrorResponse, PresentationDefinition, type Presentation } from "./types";
         
     | 
| 
       5 
5 
     | 
    
         
             
            import * as z from "zod";
         
     | 
| 
       6 
6 
     | 
    
         
             
            import type { JWK } from "../../utils/jwk";
         
     | 
| 
       7 
7 
     | 
    
         
             
            export type AuthorizationResponse = z.infer<typeof AuthorizationResponse>;
         
     | 
| 
         @@ -60,22 +60,20 @@ export declare const prepareVpToken: (requestObject: Out<VerifyRequestObjectSign 
     | 
|
| 
       60 
60 
     | 
    
         
             
             * Builds a URL-encoded form body for a direct POST response without encryption.
         
     | 
| 
       61 
61 
     | 
    
         
             
             *
         
     | 
| 
       62 
62 
     | 
    
         
             
             * @param requestObject - Contains state, nonce, and other relevant info.
         
     | 
| 
       63 
     | 
    
         
            -
             * @param  
     | 
| 
       64 
     | 
    
         
            -
             * @param presentationSubmission - Object mapping credential disclosures.
         
     | 
| 
      
 63 
     | 
    
         
            +
             * @param payload - Object that contains either the VP token to encrypt and the stringified mapping of the credential disclosures or the error code
         
     | 
| 
       65 
64 
     | 
    
         
             
             * @returns A URL-encoded string suitable for an `application/x-www-form-urlencoded` POST body.
         
     | 
| 
       66 
65 
     | 
    
         
             
             */
         
     | 
| 
       67 
     | 
    
         
            -
            export declare const buildDirectPostBody: (requestObject: Out<VerifyRequestObjectSignature>["requestObject"],  
     | 
| 
      
 66 
     | 
    
         
            +
            export declare const buildDirectPostBody: (requestObject: Out<VerifyRequestObjectSignature>["requestObject"], payload: DirectAuthorizationBodyPayload) => Promise<string>;
         
     | 
| 
       68 
67 
     | 
    
         
             
            /**
         
     | 
| 
       69 
68 
     | 
    
         
             
             * Builds a URL-encoded form body for a direct POST response using JWT encryption.
         
     | 
| 
       70 
69 
     | 
    
         
             
             *
         
     | 
| 
       71 
70 
     | 
    
         
             
             * @param jwkKeys - Array of JWKs from the Relying Party for encryption.
         
     | 
| 
       72 
71 
     | 
    
         
             
             * @param requestObject - Contains state, nonce, and other relevant info.
         
     | 
| 
       73 
     | 
    
         
            -
             * @param  
     | 
| 
       74 
     | 
    
         
            -
             * @param presentationSubmission - Object mapping credential disclosures.
         
     | 
| 
      
 72 
     | 
    
         
            +
             * @param payload - Object that contains either the VP token to encrypt and the mapping of the credential disclosures or the error code
         
     | 
| 
       75 
73 
     | 
    
         
             
             * @returns A URL-encoded string for an `application/x-www-form-urlencoded` POST body,
         
     | 
| 
       76 
74 
     | 
    
         
             
             *          where `response` contains the encrypted JWE.
         
     | 
| 
       77 
75 
     | 
    
         
             
             */
         
     | 
| 
       78 
     | 
    
         
            -
            export declare const buildDirectPostJwtBody: (jwkKeys: Out<FetchJwks>["keys"], requestObject: Out<VerifyRequestObjectSignature>["requestObject"],  
     | 
| 
      
 76 
     | 
    
         
            +
            export declare const buildDirectPostJwtBody: (jwkKeys: Out<FetchJwks>["keys"], requestObject: Out<VerifyRequestObjectSignature>["requestObject"], payload: DirectAuthorizationBodyPayload) => Promise<string>;
         
     | 
| 
       79 
77 
     | 
    
         
             
            /**
         
     | 
| 
       80 
78 
     | 
    
         
             
             * Type definition for the function that sends the authorization response
         
     | 
| 
       81 
79 
     | 
    
         
             
             * to the Relying Party, completing the presentation flow.
         
     | 
| 
         @@ -96,4 +94,22 @@ context?: { 
     | 
|
| 
       96 
94 
     | 
    
         
             
             * @returns Parsed and validated authorization response from the Relying Party.
         
     | 
| 
       97 
95 
     | 
    
         
             
             */
         
     | 
| 
       98 
96 
     | 
    
         
             
            export declare const sendAuthorizationResponse: SendAuthorizationResponse;
         
     | 
| 
      
 97 
     | 
    
         
            +
            /**
         
     | 
| 
      
 98 
     | 
    
         
            +
             * Type definition for the function that sends the authorization response
         
     | 
| 
      
 99 
     | 
    
         
            +
             * to the Relying Party, completing the presentation flow.
         
     | 
| 
      
 100 
     | 
    
         
            +
             */
         
     | 
| 
      
 101 
     | 
    
         
            +
            export type SendAuthorizationErrorResponse = (requestObject: Out<VerifyRequestObjectSignature>["requestObject"], error: ErrorResponse, jwkKeys: Out<FetchJwks>["keys"], context?: {
         
     | 
| 
      
 102 
     | 
    
         
            +
                appFetch?: GlobalFetch["fetch"];
         
     | 
| 
      
 103 
     | 
    
         
            +
            }) => Promise<AuthorizationResponse>;
         
     | 
| 
      
 104 
     | 
    
         
            +
            /**
         
     | 
| 
      
 105 
     | 
    
         
            +
             * Sends the authorization error response to the Relying Party (RP) using the specified `response_mode`.
         
     | 
| 
      
 106 
     | 
    
         
            +
             * This function completes the presentation flow in an OpenID 4 Verifiable Presentations scenario.
         
     | 
| 
      
 107 
     | 
    
         
            +
             *
         
     | 
| 
      
 108 
     | 
    
         
            +
             * @param requestObject - The request details, including presentation requirements.
         
     | 
| 
      
 109 
     | 
    
         
            +
             * @param error - The response error value
         
     | 
| 
      
 110 
     | 
    
         
            +
             * @param jwkKeys - Array of JWKs from the Relying Party for optional encryption.
         
     | 
| 
      
 111 
     | 
    
         
            +
             * @param context - Contains optional custom fetch implementation.
         
     | 
| 
      
 112 
     | 
    
         
            +
             * @returns Parsed and validated authorization response from the Relying Party.
         
     | 
| 
      
 113 
     | 
    
         
            +
             */
         
     | 
| 
      
 114 
     | 
    
         
            +
            export declare const sendAuthorizationErrorResponse: SendAuthorizationErrorResponse;
         
     | 
| 
       99 
115 
     | 
    
         
             
            //# sourceMappingURL=08-send-authorization-response.d.ts.map
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"08-send-authorization-response.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/08-send-authorization-response.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE/E,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO, 
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"08-send-authorization-response.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/08-send-authorization-response.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE/E,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EACL,8BAA8B,EAC9B,aAAa,EACb,sBAAsB,EACtB,KAAK,YAAY,EAClB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC1E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAUhC,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,cACxB,IAAI,SAAS,CAAC,CAAC,MAAM,CAAC,KAChC,GAWF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,cAAc,kBACV,IAAI,4BAA4B,CAAC,CAAC,eAAe,CAAC,0BACzC,sBAAsB;cAGpC,MAAM;6BACS,OAAO,MAAM,EAAE,OAAO,CAAC;EAuCjD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,kBACf,IAAI,4BAA4B,CAAC,CAAC,eAAe,CAAC,WACxD,8BAA8B,KACtC,QAAQ,MAAM,CAWhB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,YACxB,IAAI,SAAS,CAAC,CAAC,MAAM,CAAC,iBAChB,IAAI,4BAA4B,CAAC,CAAC,eAAe,CAAC,WACxD,8BAA8B,KACtC,QAAQ,MAAM,CA8BhB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,CACtC,aAAa,EAAE,GAAG,CAAC,4BAA4B,CAAC,CAAC,eAAe,CAAC,EACjE,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAC/B,YAAY,EAAE,YAAY,EAAE,iDAAiD;AAC7E,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEpC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,EAAE,yBAqCvC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,8BAA8B,GAAG,CAC3C,aAAa,EAAE,GAAG,CAAC,4BAA4B,CAAC,CAAC,eAAe,CAAC,EACjE,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAC/B,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEpC;;;;;;;;;GASG;AACH,eAAO,MAAM,8BAA8B,EAAE,8BAuB1C,CAAC"}
         
     | 
| 
         @@ -5,8 +5,8 @@ import { fetchJwksFromRequestObject, fetchJwksFromConfig, type FetchJwks } from 
     | 
|
| 
       5 
5 
     | 
    
         
             
            import { verifyRequestObjectSignature, type VerifyRequestObjectSignature } from "./05-verify-request-object";
         
     | 
| 
       6 
6 
     | 
    
         
             
            import { fetchPresentDefinition, type FetchPresentationDefinition } from "./06-fetch-presentation-definition";
         
     | 
| 
       7 
7 
     | 
    
         
             
            import { evaluateInputDescriptorForSdJwt4VC, type EvaluateInputDescriptorSdJwt4VC } from "./07-evaluate-input-descriptor";
         
     | 
| 
       8 
     | 
    
         
            -
            import { sendAuthorizationResponse, type SendAuthorizationResponse } from "./08-send-authorization-response";
         
     | 
| 
      
 8 
     | 
    
         
            +
            import { sendAuthorizationResponse, type SendAuthorizationResponse, sendAuthorizationErrorResponse, type SendAuthorizationErrorResponse } from "./08-send-authorization-response";
         
     | 
| 
       9 
9 
     | 
    
         
             
            import * as Errors from "./errors";
         
     | 
| 
       10 
     | 
    
         
            -
            export { startFlowFromQR, evaluateRelyingPartyTrust, getRequestObject, fetchJwksFromRequestObject, fetchJwksFromConfig, verifyRequestObjectSignature, fetchPresentDefinition, evaluateInputDescriptorForSdJwt4VC, sendAuthorizationResponse, Errors, };
         
     | 
| 
       11 
     | 
    
         
            -
            export type { StartFlow, EvaluateRelyingPartyTrust, GetRequestObject, FetchJwks, VerifyRequestObjectSignature, FetchPresentationDefinition, EvaluateInputDescriptorSdJwt4VC, SendAuthorizationResponse, };
         
     | 
| 
      
 10 
     | 
    
         
            +
            export { startFlowFromQR, evaluateRelyingPartyTrust, getRequestObject, fetchJwksFromRequestObject, fetchJwksFromConfig, verifyRequestObjectSignature, fetchPresentDefinition, evaluateInputDescriptorForSdJwt4VC, sendAuthorizationResponse, sendAuthorizationErrorResponse, Errors, };
         
     | 
| 
      
 11 
     | 
    
         
            +
            export type { StartFlow, EvaluateRelyingPartyTrust, GetRequestObject, FetchJwks, VerifyRequestObjectSignature, FetchPresentationDefinition, EvaluateInputDescriptorSdJwt4VC, SendAuthorizationResponse, SendAuthorizationErrorResponse, };
         
     | 
| 
       12 
12 
     | 
    
         
             
            //# sourceMappingURL=index.d.ts.map
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,yBAAyB,EACzB,KAAK,yBAAyB,EAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,gBAAgB,EAChB,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,4BAA4B,EAC5B,KAAK,4BAA4B,EAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,KAAK,2BAA2B,EACjC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,kCAAkC,EAClC,KAAK,+BAA+B,EACrC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,yBAAyB,EACzB,KAAK,yBAAyB, 
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,yBAAyB,EACzB,KAAK,yBAAyB,EAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,gBAAgB,EAChB,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,4BAA4B,EAC5B,KAAK,4BAA4B,EAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,KAAK,2BAA2B,EACjC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,kCAAkC,EAClC,KAAK,+BAA+B,EACrC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,yBAAyB,EACzB,KAAK,yBAAyB,EAC9B,8BAA8B,EAC9B,KAAK,8BAA8B,EACpC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,gBAAgB,EAChB,0BAA0B,EAC1B,mBAAmB,EACnB,4BAA4B,EAC5B,sBAAsB,EACtB,kCAAkC,EAClC,yBAAyB,EACzB,8BAA8B,EAC9B,MAAM,GACP,CAAC;AACF,YAAY,EACV,SAAS,EACT,yBAAyB,EACzB,gBAAgB,EAChB,SAAS,EACT,4BAA4B,EAC5B,2BAA2B,EAC3B,+BAA+B,EAC/B,yBAAyB,EACzB,8BAA8B,GAC/B,CAAC"}
         
     | 
| 
         @@ -898,4 +898,30 @@ export declare const RequestObject: z.ZodObject<{ 
     | 
|
| 
       898 
898 
     | 
    
         
             
                    }[] | undefined;
         
     | 
| 
       899 
899 
     | 
    
         
             
                } | undefined;
         
     | 
| 
       900 
900 
     | 
    
         
             
            }>;
         
     | 
| 
      
 901 
     | 
    
         
            +
            /**
         
     | 
| 
      
 902 
     | 
    
         
            +
             * This type models the possible error responses the OpenID4VP protocol allows for a presentation of a credential.
         
     | 
| 
      
 903 
     | 
    
         
            +
             * See https://openid.github.io/OpenID4VP/openid-4-verifiable-presentations-wg-draft.html#name-error-response for more information.
         
     | 
| 
      
 904 
     | 
    
         
            +
             */
         
     | 
| 
      
 905 
     | 
    
         
            +
            export type ErrorResponse = z.infer<typeof ErrorResponse>;
         
     | 
| 
      
 906 
     | 
    
         
            +
            export declare const ErrorResponse: z.ZodEnum<["invalid_scope", "invalid_request", "invalid_client", "access_denied"]>;
         
     | 
| 
      
 907 
     | 
    
         
            +
            /**
         
     | 
| 
      
 908 
     | 
    
         
            +
             * Type that defines the possible payload formats accepted by {@link buildDirectPostJwtBody} and {@link buildDirectPostBody}
         
     | 
| 
      
 909 
     | 
    
         
            +
             */
         
     | 
| 
      
 910 
     | 
    
         
            +
            export type DirectAuthorizationBodyPayload = z.infer<typeof DirectAuthorizationBodyPayload>;
         
     | 
| 
      
 911 
     | 
    
         
            +
            export declare const DirectAuthorizationBodyPayload: z.ZodUnion<[z.ZodObject<{
         
     | 
| 
      
 912 
     | 
    
         
            +
                vp_token: z.ZodString;
         
     | 
| 
      
 913 
     | 
    
         
            +
                presentation_submission: z.ZodRecord<z.ZodString, z.ZodUnknown>;
         
     | 
| 
      
 914 
     | 
    
         
            +
            }, "strip", z.ZodTypeAny, {
         
     | 
| 
      
 915 
     | 
    
         
            +
                vp_token: string;
         
     | 
| 
      
 916 
     | 
    
         
            +
                presentation_submission: Record<string, unknown>;
         
     | 
| 
      
 917 
     | 
    
         
            +
            }, {
         
     | 
| 
      
 918 
     | 
    
         
            +
                vp_token: string;
         
     | 
| 
      
 919 
     | 
    
         
            +
                presentation_submission: Record<string, unknown>;
         
     | 
| 
      
 920 
     | 
    
         
            +
            }>, z.ZodObject<{
         
     | 
| 
      
 921 
     | 
    
         
            +
                error: z.ZodEnum<["invalid_scope", "invalid_request", "invalid_client", "access_denied"]>;
         
     | 
| 
      
 922 
     | 
    
         
            +
            }, "strip", z.ZodTypeAny, {
         
     | 
| 
      
 923 
     | 
    
         
            +
                error: "invalid_scope" | "invalid_request" | "invalid_client" | "access_denied";
         
     | 
| 
      
 924 
     | 
    
         
            +
            }, {
         
     | 
| 
      
 925 
     | 
    
         
            +
                error: "invalid_scope" | "invalid_request" | "invalid_client" | "access_denied";
         
     | 
| 
      
 926 
     | 
    
         
            +
            }>]>;
         
     | 
| 
       901 
927 
     | 
    
         
             
            //# sourceMappingURL=types.d.ts.map
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAGzB;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACO,MAAM;IACzB,MAAM,EAAE;IACsC,aAAa;CACzE,CAAC;AAmBF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO1B,CAAC;AAqBH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMjC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC1D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBxB,CAAC"}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAGzB;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACO,MAAM;IACzB,MAAM,EAAE;IACsC,aAAa;CACzE,CAAC;AAmBF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO1B,CAAC;AAqBH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMjC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC1D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBxB,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC1D,eAAO,MAAM,aAAa,oFAKxB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAClD,OAAO,8BAA8B,CACtC,CAAC;AACF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;IAMzC,CAAC"}
         
     | 
    
        package/package.json
    CHANGED
    
    
| 
         @@ -95,10 +95,12 @@ export const obtainCredential: ObtainCredential = async ( 
     | 
|
| 
       95 
95 
     | 
    
         
             
                credentialCryptoContext
         
     | 
| 
       96 
96 
     | 
    
         
             
              );
         
     | 
| 
       97 
97 
     | 
    
         | 
| 
       98 
     | 
    
         
            -
              const containsCredentialDefinition =
         
     | 
| 
       99 
     | 
    
         
            -
                 
     | 
| 
       100 
     | 
    
         
            -
                   
     | 
| 
       101 
     | 
    
         
            -
             
     | 
| 
      
 98 
     | 
    
         
            +
              const containsCredentialDefinition = accessToken.authorization_details.some(
         
     | 
| 
      
 99 
     | 
    
         
            +
                (detail) =>
         
     | 
| 
      
 100 
     | 
    
         
            +
                  detail.credential_configuration_id ===
         
     | 
| 
      
 101 
     | 
    
         
            +
                    credentialDefinition.credential_configuration_id &&
         
     | 
| 
      
 102 
     | 
    
         
            +
                  detail.type === credentialDefinition.type
         
     | 
| 
      
 103 
     | 
    
         
            +
              );
         
     | 
| 
       102 
104 
     | 
    
         | 
| 
       103 
105 
     | 
    
         
             
              if (!containsCredentialDefinition) {
         
     | 
| 
       104 
106 
     | 
    
         
             
                throw new ValidationFailed({
         
     | 
| 
         @@ -6,7 +6,7 @@ export type TokenResponse = z.infer<typeof TokenResponse>; 
     | 
|
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            export const TokenResponse = z.object({
         
     | 
| 
       8 
8 
     | 
    
         
             
              access_token: z.string(),
         
     | 
| 
       9 
     | 
    
         
            -
              authorization_details: AuthorizationDetail,
         
     | 
| 
      
 9 
     | 
    
         
            +
              authorization_details: z.array(AuthorizationDetail),
         
     | 
| 
       10 
10 
     | 
    
         
             
              c_nonce: z.string(),
         
     | 
| 
       11 
11 
     | 
    
         
             
              c_nonce_expires_in: z.number(),
         
     | 
| 
       12 
12 
     | 
    
         
             
              expires_in: z.number(),
         
     | 
| 
         @@ -1,19 +1,10 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            import uuid from "react-native-uuid";
         
     | 
| 
       2 
     | 
    
         
            -
            import {
         
     | 
| 
       3 
     | 
    
         
            -
              sha256ToBase64,
         
     | 
| 
       4 
     | 
    
         
            -
              type CryptoContext,
         
     | 
| 
       5 
     | 
    
         
            -
            } from "@pagopa/io-react-native-jwt";
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
            import { createDPopToken } from "../../utils/dpop";
         
     | 
| 
       8 
1 
     | 
    
         
             
            import { hasStatusOrThrow, type Out } from "../../utils/misc";
         
     | 
| 
       9 
2 
     | 
    
         
             
            import type { StartFlow } from "./01-start-flow";
         
     | 
| 
       10 
3 
     | 
    
         | 
| 
       11 
4 
     | 
    
         
             
            export type GetRequestObject = (
         
     | 
| 
       12 
5 
     | 
    
         
             
              requestUri: Out<StartFlow>["requestUri"],
         
     | 
| 
       13 
6 
     | 
    
         
             
              context: {
         
     | 
| 
       14 
     | 
    
         
            -
                wiaCryptoContext: CryptoContext;
         
     | 
| 
       15 
7 
     | 
    
         
             
                appFetch?: GlobalFetch["fetch"];
         
     | 
| 
       16 
     | 
    
         
            -
                walletInstanceAttestation: string;
         
     | 
| 
       17 
8 
     | 
    
         
             
              }
         
     | 
| 
       18 
9 
     | 
    
         
             
            ) => Promise<{ requestObjectEncodedJwt: string }>;
         
     | 
| 
       19 
10 
     | 
    
         | 
| 
         @@ -30,24 +21,10 @@ export type GetRequestObject = ( 
     | 
|
| 
       30 
21 
     | 
    
         
             
             */
         
     | 
| 
       31 
22 
     | 
    
         
             
            export const getRequestObject: GetRequestObject = async (
         
     | 
| 
       32 
23 
     | 
    
         
             
              requestUri,
         
     | 
| 
       33 
     | 
    
         
            -
              {  
     | 
| 
      
 24 
     | 
    
         
            +
              { appFetch = fetch }
         
     | 
| 
       34 
25 
     | 
    
         
             
            ) => {
         
     | 
| 
       35 
     | 
    
         
            -
              const signedWalletInstanceDPoP = await createDPopToken(
         
     | 
| 
       36 
     | 
    
         
            -
                {
         
     | 
| 
       37 
     | 
    
         
            -
                  jti: `${uuid.v4()}`,
         
     | 
| 
       38 
     | 
    
         
            -
                  htm: "GET",
         
     | 
| 
       39 
     | 
    
         
            -
                  htu: requestUri,
         
     | 
| 
       40 
     | 
    
         
            -
                  ath: await sha256ToBase64(walletInstanceAttestation),
         
     | 
| 
       41 
     | 
    
         
            -
                },
         
     | 
| 
       42 
     | 
    
         
            -
                wiaCryptoContext
         
     | 
| 
       43 
     | 
    
         
            -
              );
         
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
26 
     | 
    
         
             
              const requestObjectEncodedJwt = await appFetch(requestUri, {
         
     | 
| 
       46 
27 
     | 
    
         
             
                method: "GET",
         
     | 
| 
       47 
     | 
    
         
            -
                headers: {
         
     | 
| 
       48 
     | 
    
         
            -
                  Authorization: `DPoP ${walletInstanceAttestation}`,
         
     | 
| 
       49 
     | 
    
         
            -
                  DPoP: signedWalletInstanceDPoP,
         
     | 
| 
       50 
     | 
    
         
            -
                },
         
     | 
| 
       51 
28 
     | 
    
         
             
              })
         
     | 
| 
       52 
29 
     | 
    
         
             
                .then(hasStatusOrThrow(200))
         
     | 
| 
       53 
30 
     | 
    
         
             
                .then((res) => res.text());
         
     | 
| 
         @@ -189,11 +189,8 @@ export const evaluateInputDescriptorForSdJwt4VC: EvaluateInputDescriptorSdJwt4VC 
     | 
|
| 
       189 
189 
     | 
    
         
             
                  requiredClaimNames.includes(disclosure.decoded[INDEX_CLAIM_NAME])
         
     | 
| 
       190 
190 
     | 
    
         
             
                );
         
     | 
| 
       191 
191 
     | 
    
         | 
| 
       192 
     | 
    
         
            -
                const optionalDisclosures = disclosures.filter(
         
     | 
| 
       193 
     | 
    
         
            -
                  (disclosure) 
     | 
| 
       194 
     | 
    
         
            -
                    optionalClaimNames.includes(disclosure.decoded[INDEX_CLAIM_NAME]) ||
         
     | 
| 
       195 
     | 
    
         
            -
                    (isNotLimitDisclosure &&
         
     | 
| 
       196 
     | 
    
         
            -
                      !requiredClaimNames.includes(disclosure.decoded[INDEX_CLAIM_NAME]))
         
     | 
| 
      
 192 
     | 
    
         
            +
                const optionalDisclosures = disclosures.filter((disclosure) =>
         
     | 
| 
      
 193 
     | 
    
         
            +
                  optionalClaimNames.includes(disclosure.decoded[INDEX_CLAIM_NAME])
         
     | 
| 
       197 
194 
     | 
    
         
             
                );
         
     | 
| 
       198 
195 
     | 
    
         | 
| 
       199 
196 
     | 
    
         
             
                const isNotLimitDisclosure = !(
         
     |