@pagopa/io-react-native-wallet 1.6.2 → 1.7.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.
Files changed (81) hide show
  1. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js +69 -35
  2. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
  3. package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js +181 -0
  4. package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js.map +1 -0
  5. package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js +3 -67
  6. package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
  7. package/lib/commonjs/credential/presentation/08-send-authorization-response.js +98 -2
  8. package/lib/commonjs/credential/presentation/08-send-authorization-response.js.map +1 -1
  9. package/lib/commonjs/credential/presentation/index.js +14 -1
  10. package/lib/commonjs/credential/presentation/index.js.map +1 -1
  11. package/lib/commonjs/credential/presentation/types.js +9 -2
  12. package/lib/commonjs/credential/presentation/types.js.map +1 -1
  13. package/lib/commonjs/mdoc/index.js +1 -1
  14. package/lib/commonjs/mdoc/index.js.map +1 -1
  15. package/lib/commonjs/sd-jwt/__test__/index.test.js +24 -21
  16. package/lib/commonjs/sd-jwt/__test__/index.test.js.map +1 -1
  17. package/lib/commonjs/sd-jwt/__test__/types.test.js +3 -0
  18. package/lib/commonjs/sd-jwt/__test__/types.test.js.map +1 -1
  19. package/lib/commonjs/sd-jwt/types.js +4 -1
  20. package/lib/commonjs/sd-jwt/types.js.map +1 -1
  21. package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js +469 -0
  22. package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js.map +1 -0
  23. package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-utils.js +90 -0
  24. package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-utils.js.map +1 -0
  25. package/lib/module/credential/issuance/07-verify-and-parse-credential.js +67 -35
  26. package/lib/module/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
  27. package/lib/module/credential/presentation/07-evaluate-dcql-query.js +175 -0
  28. package/lib/module/credential/presentation/07-evaluate-dcql-query.js.map +1 -0
  29. package/lib/module/credential/presentation/07-evaluate-input-descriptor.js +3 -66
  30. package/lib/module/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
  31. package/lib/module/credential/presentation/08-send-authorization-response.js +97 -2
  32. package/lib/module/credential/presentation/08-send-authorization-response.js.map +1 -1
  33. package/lib/module/credential/presentation/index.js +4 -3
  34. package/lib/module/credential/presentation/index.js.map +1 -1
  35. package/lib/module/credential/presentation/types.js +9 -2
  36. package/lib/module/credential/presentation/types.js.map +1 -1
  37. package/lib/module/mdoc/index.js +1 -1
  38. package/lib/module/mdoc/index.js.map +1 -1
  39. package/lib/module/sd-jwt/__test__/index.test.js +24 -21
  40. package/lib/module/sd-jwt/__test__/index.test.js.map +1 -1
  41. package/lib/module/sd-jwt/__test__/types.test.js +3 -0
  42. package/lib/module/sd-jwt/__test__/types.test.js.map +1 -1
  43. package/lib/module/sd-jwt/types.js +4 -1
  44. package/lib/module/sd-jwt/types.js.map +1 -1
  45. package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js +462 -0
  46. package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js.map +1 -0
  47. package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-utils.js +83 -0
  48. package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-utils.js.map +1 -0
  49. package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts +12 -0
  50. package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts.map +1 -1
  51. package/lib/typescript/credential/presentation/07-evaluate-dcql-query.d.ts +27 -0
  52. package/lib/typescript/credential/presentation/07-evaluate-dcql-query.d.ts.map +1 -0
  53. package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts +2 -28
  54. package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts.map +1 -1
  55. package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts +23 -1
  56. package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts.map +1 -1
  57. package/lib/typescript/credential/presentation/index.d.ts +6 -4
  58. package/lib/typescript/credential/presentation/index.d.ts.map +1 -1
  59. package/lib/typescript/credential/presentation/types.d.ts +26 -7
  60. package/lib/typescript/credential/presentation/types.d.ts.map +1 -1
  61. package/lib/typescript/sd-jwt/index.d.ts +12 -0
  62. package/lib/typescript/sd-jwt/index.d.ts.map +1 -1
  63. package/lib/typescript/sd-jwt/types.d.ts +15 -0
  64. package/lib/typescript/sd-jwt/types.d.ts.map +1 -1
  65. package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-inputs.d.ts +3 -0
  66. package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-inputs.d.ts.map +1 -0
  67. package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-utils.d.ts +42 -0
  68. package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-utils.d.ts.map +1 -0
  69. package/package.json +3 -2
  70. package/src/credential/issuance/07-verify-and-parse-credential.ts +35 -3
  71. package/src/credential/presentation/07-evaluate-dcql-query.ts +228 -0
  72. package/src/credential/presentation/07-evaluate-input-descriptor.ts +6 -103
  73. package/src/credential/presentation/08-send-authorization-response.ts +137 -2
  74. package/src/credential/presentation/index.ts +12 -2
  75. package/src/credential/presentation/types.ts +33 -3
  76. package/src/mdoc/index.ts +1 -1
  77. package/src/sd-jwt/__test__/index.test.ts +45 -36
  78. package/src/sd-jwt/__test__/types.test.ts +3 -0
  79. package/src/sd-jwt/types.ts +3 -0
  80. package/src/utils/credential/issuance/07-verify-and-parse-credentials-inputs.ts +615 -0
  81. package/src/utils/credential/issuance/07-verify-and-parse-credentials-utils.ts +171 -0
@@ -0,0 +1,462 @@
1
+ import { buildMockSDJWTTestScenario, buildMockMDOCTestScenario } from "./07-verify-and-parse-credentials-utils";
2
+ import { IoWalletError } from "../../../utils/errors";
3
+ export const inputs = [
4
+ // sd-jwt
5
+ {
6
+ name: "Mandatory claims = Disclosures, all mandatory",
7
+ input: {
8
+ format: "vc+sd-jwt",
9
+ parameters: buildMockSDJWTTestScenario({
10
+ family_name: {
11
+ display: [{
12
+ name: "Cognome",
13
+ locale: "it-IT"
14
+ }],
15
+ mandatory: true
16
+ },
17
+ given_name: {
18
+ display: [{
19
+ name: "Nome",
20
+ locale: "it-IT"
21
+ }],
22
+ mandatory: true
23
+ }
24
+ }, [["unused", "family_name", "Rossi"], ["unused", "given_name", "Mario"]])
25
+ },
26
+ expected: {
27
+ given_name: {
28
+ name: {
29
+ "it-IT": "Nome"
30
+ },
31
+ value: "Mario",
32
+ mandatory: true
33
+ },
34
+ family_name: {
35
+ name: {
36
+ "it-IT": "Cognome"
37
+ },
38
+ value: "Rossi",
39
+ mandatory: true
40
+ }
41
+ }
42
+ }, {
43
+ name: "Mandatory claims = Disclosures, not all mandatory",
44
+ input: {
45
+ format: "vc+sd-jwt",
46
+ parameters: buildMockSDJWTTestScenario({
47
+ family_name: {
48
+ display: [{
49
+ name: "Cognome",
50
+ locale: "it-IT"
51
+ }],
52
+ mandatory: true
53
+ },
54
+ given_name: {
55
+ display: [{
56
+ name: "Nome",
57
+ locale: "it-IT"
58
+ }],
59
+ mandatory: false
60
+ }
61
+ }, [["unused", "family_name", "Rossi"], ["unused", "given_name", "Mario"]])
62
+ },
63
+ expected: {
64
+ given_name: {
65
+ name: {
66
+ "it-IT": "Nome"
67
+ },
68
+ value: "Mario",
69
+ mandatory: false
70
+ },
71
+ family_name: {
72
+ name: {
73
+ "it-IT": "Cognome"
74
+ },
75
+ value: "Rossi",
76
+ mandatory: true
77
+ }
78
+ }
79
+ }, {
80
+ name: "Mandatory claims < Disclosures, all mandatory",
81
+ input: {
82
+ format: "vc+sd-jwt",
83
+ parameters: buildMockSDJWTTestScenario({
84
+ family_name: {
85
+ display: [{
86
+ name: "Cognome",
87
+ locale: "it-IT"
88
+ }],
89
+ mandatory: true
90
+ }
91
+ }, [["unused", "family_name", "Rossi"], ["unused", "given_name", "Mario"]])
92
+ },
93
+ expected: {
94
+ given_name: {
95
+ name: "given_name",
96
+ value: "Mario"
97
+ },
98
+ family_name: {
99
+ name: {
100
+ "it-IT": "Cognome"
101
+ },
102
+ value: "Rossi",
103
+ mandatory: true
104
+ }
105
+ }
106
+ }, {
107
+ name: "Mandatory claims < Disclosures, not all mandatory",
108
+ input: {
109
+ format: "vc+sd-jwt",
110
+ parameters: buildMockSDJWTTestScenario({
111
+ family_name: {
112
+ display: [{
113
+ name: "Cognome",
114
+ locale: "it-IT"
115
+ }],
116
+ mandatory: true
117
+ },
118
+ given_name: {
119
+ display: [{
120
+ name: "Nome",
121
+ locale: "it-IT"
122
+ }],
123
+ mandatory: false
124
+ }
125
+ }, [["unused", "family_name", "Rossi"], ["unused", "given_name", "Mario"], ["unused", "birth_date", new Date(2000, 2, 1)]])
126
+ },
127
+ expected: {
128
+ given_name: {
129
+ name: {
130
+ "it-IT": "Nome"
131
+ },
132
+ value: "Mario",
133
+ mandatory: false
134
+ },
135
+ family_name: {
136
+ name: {
137
+ "it-IT": "Cognome"
138
+ },
139
+ value: "Rossi",
140
+ mandatory: true
141
+ },
142
+ birth_date: {
143
+ name: "birth_date",
144
+ value: new Date(2000, 2, 1)
145
+ }
146
+ }
147
+ }, {
148
+ name: "Mandatory claims > Disclosures, all mandatory",
149
+ input: {
150
+ format: "vc+sd-jwt",
151
+ parameters: buildMockSDJWTTestScenario({
152
+ family_name: {
153
+ display: [{
154
+ name: "Cognome",
155
+ locale: "it-IT"
156
+ }],
157
+ mandatory: true
158
+ },
159
+ given_name: {
160
+ display: [{
161
+ name: "Nome",
162
+ locale: "it-IT"
163
+ }],
164
+ mandatory: true
165
+ }
166
+ }, [["unused", "family_name", "Rossi"]])
167
+ },
168
+ throws: new IoWalletError()
169
+ }, {
170
+ name: "Mandatory claims > Disclosures, not all mandatory",
171
+ input: {
172
+ format: "vc+sd-jwt",
173
+ parameters: buildMockSDJWTTestScenario({
174
+ family_name: {
175
+ display: [{
176
+ name: "Cognome",
177
+ locale: "it-IT"
178
+ }],
179
+ mandatory: true
180
+ },
181
+ given_name: {
182
+ display: [{
183
+ name: "Nome",
184
+ locale: "it-IT"
185
+ }],
186
+ mandatory: true
187
+ },
188
+ birth_date: {
189
+ display: [{
190
+ name: "Data di nascita",
191
+ locale: "it-IT"
192
+ }],
193
+ mandatory: false
194
+ }
195
+ }, [["unused", "family_name", "Rossi"]])
196
+ },
197
+ throws: new IoWalletError()
198
+ }, {
199
+ name: "Non mandatory claim not found",
200
+ input: {
201
+ format: "vc+sd-jwt",
202
+ parameters: buildMockSDJWTTestScenario({
203
+ family_name: {
204
+ display: [{
205
+ name: "Cognome",
206
+ locale: "it-IT"
207
+ }],
208
+ mandatory: true
209
+ },
210
+ given_name: {
211
+ display: [{
212
+ name: "Nome",
213
+ locale: "it-IT"
214
+ }],
215
+ mandatory: false
216
+ }
217
+ }, [["unused", "family_name", "Rossi"], ["unused", "birth_date", new Date(2000, 2, 1)]])
218
+ },
219
+ expected: {
220
+ family_name: {
221
+ name: {
222
+ "it-IT": "Cognome"
223
+ },
224
+ value: "Rossi",
225
+ mandatory: true
226
+ },
227
+ birth_date: {
228
+ name: "birth_date",
229
+ value: new Date(2000, 2, 1)
230
+ }
231
+ }
232
+ },
233
+ //MDOC
234
+ {
235
+ name: "Mandatory claims = Disclosures, all mandatory",
236
+ input: {
237
+ format: "mso_mdoc",
238
+ parameters: buildMockMDOCTestScenario({
239
+ family_name: {
240
+ display: [{
241
+ name: "Cognome",
242
+ locale: "it-IT"
243
+ }],
244
+ mandatory: true
245
+ },
246
+ given_name: {
247
+ display: [{
248
+ name: "Nome",
249
+ locale: "it-IT"
250
+ }],
251
+ mandatory: true
252
+ }
253
+ }, [["family_name", "Rossi"], ["given_name", "Mario"]])
254
+ },
255
+ expected: {
256
+ given_name: {
257
+ name: {
258
+ "it-IT": "Nome"
259
+ },
260
+ value: "Mario",
261
+ mandatory: true
262
+ },
263
+ family_name: {
264
+ name: {
265
+ "it-IT": "Cognome"
266
+ },
267
+ value: "Rossi",
268
+ mandatory: true
269
+ }
270
+ }
271
+ }, {
272
+ name: "Mandatory claims = Disclosures, not all mandatory",
273
+ input: {
274
+ format: "mso_mdoc",
275
+ parameters: buildMockMDOCTestScenario({
276
+ family_name: {
277
+ display: [{
278
+ name: "Cognome",
279
+ locale: "it-IT"
280
+ }],
281
+ mandatory: true
282
+ },
283
+ given_name: {
284
+ display: [{
285
+ name: "Nome",
286
+ locale: "it-IT"
287
+ }],
288
+ mandatory: false
289
+ }
290
+ }, [["family_name", "Rossi"], ["given_name", "Mario"]])
291
+ },
292
+ expected: {
293
+ given_name: {
294
+ name: {
295
+ "it-IT": "Nome"
296
+ },
297
+ value: "Mario",
298
+ mandatory: false
299
+ },
300
+ family_name: {
301
+ name: {
302
+ "it-IT": "Cognome"
303
+ },
304
+ value: "Rossi",
305
+ mandatory: true
306
+ }
307
+ }
308
+ }, {
309
+ name: "Mandatory claims < Disclosures, all mandatory",
310
+ input: {
311
+ format: "mso_mdoc",
312
+ parameters: buildMockMDOCTestScenario({
313
+ family_name: {
314
+ display: [{
315
+ name: "Cognome",
316
+ locale: "it-IT"
317
+ }],
318
+ mandatory: true
319
+ }
320
+ }, [["family_name", "Rossi"], ["given_name", "Mario"]])
321
+ },
322
+ expected: {
323
+ given_name: {
324
+ name: "given_name",
325
+ value: "Mario"
326
+ },
327
+ family_name: {
328
+ name: {
329
+ "it-IT": "Cognome"
330
+ },
331
+ value: "Rossi",
332
+ mandatory: true
333
+ }
334
+ }
335
+ }, {
336
+ name: "Mandatory claims < Disclosures, not all mandatory",
337
+ input: {
338
+ format: "mso_mdoc",
339
+ parameters: buildMockMDOCTestScenario({
340
+ family_name: {
341
+ display: [{
342
+ name: "Cognome",
343
+ locale: "it-IT"
344
+ }],
345
+ mandatory: true
346
+ },
347
+ given_name: {
348
+ display: [{
349
+ name: "Nome",
350
+ locale: "it-IT"
351
+ }],
352
+ mandatory: false
353
+ }
354
+ }, [["family_name", "Rossi"], ["given_name", "Mario"], ["birth_date", new Date(2000, 2, 1)]])
355
+ },
356
+ expected: {
357
+ given_name: {
358
+ name: {
359
+ "it-IT": "Nome"
360
+ },
361
+ value: "Mario",
362
+ mandatory: false
363
+ },
364
+ family_name: {
365
+ name: {
366
+ "it-IT": "Cognome"
367
+ },
368
+ value: "Rossi",
369
+ mandatory: true
370
+ },
371
+ birth_date: {
372
+ name: "birth_date",
373
+ value: new Date(2000, 2, 1)
374
+ }
375
+ }
376
+ }, {
377
+ name: "Mandatory claims > Disclosures, all mandatory",
378
+ input: {
379
+ format: "mso_mdoc",
380
+ parameters: buildMockMDOCTestScenario({
381
+ family_name: {
382
+ display: [{
383
+ name: "Cognome",
384
+ locale: "it-IT"
385
+ }],
386
+ mandatory: true
387
+ },
388
+ given_name: {
389
+ display: [{
390
+ name: "Nome",
391
+ locale: "it-IT"
392
+ }],
393
+ mandatory: true
394
+ }
395
+ }, [["family_name", "Rossi"]])
396
+ },
397
+ throws: new IoWalletError()
398
+ }, {
399
+ name: "Mandatory claims > Disclosures, not all mandatory",
400
+ input: {
401
+ format: "mso_mdoc",
402
+ parameters: buildMockMDOCTestScenario({
403
+ family_name: {
404
+ display: [{
405
+ name: "Cognome",
406
+ locale: "it-IT"
407
+ }],
408
+ mandatory: true
409
+ },
410
+ given_name: {
411
+ display: [{
412
+ name: "Nome",
413
+ locale: "it-IT"
414
+ }],
415
+ mandatory: true
416
+ },
417
+ birth_date: {
418
+ display: [{
419
+ name: "Data di nascita",
420
+ locale: "it-IT"
421
+ }],
422
+ mandatory: false
423
+ }
424
+ }, [["family_name", "Rossi"]])
425
+ },
426
+ throws: new IoWalletError()
427
+ }, {
428
+ name: "Not mandatory claim not found",
429
+ input: {
430
+ format: "mso_mdoc",
431
+ parameters: buildMockMDOCTestScenario({
432
+ family_name: {
433
+ display: [{
434
+ name: "Cognome",
435
+ locale: "it-IT"
436
+ }],
437
+ mandatory: true
438
+ },
439
+ given_name: {
440
+ display: [{
441
+ name: "Nome",
442
+ locale: "it-IT"
443
+ }],
444
+ mandatory: false
445
+ }
446
+ }, [["family_name", "Rossi"], ["birth_date", new Date(2000, 2, 1)]])
447
+ },
448
+ expected: {
449
+ family_name: {
450
+ name: {
451
+ "it-IT": "Cognome"
452
+ },
453
+ value: "Rossi",
454
+ mandatory: true
455
+ },
456
+ birth_date: {
457
+ name: "birth_date",
458
+ value: new Date(2000, 2, 1)
459
+ }
460
+ }
461
+ }];
462
+ //# sourceMappingURL=07-verify-and-parse-credentials-inputs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["buildMockSDJWTTestScenario","buildMockMDOCTestScenario","IoWalletError","inputs","name","input","format","parameters","family_name","display","locale","mandatory","given_name","expected","value","Date","birth_date","throws"],"sourceRoot":"../../../../../src","sources":["utils/credential/issuance/07-verify-and-parse-credentials-inputs.ts"],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ export function buildMockMDOCTestScenario(claims, nameSpaces) {
2
+ return [{
3
+ "org.iso.18013.5.1.mDL": {
4
+ cryptographic_suites_supported: [],
5
+ cryptographic_binding_methods_supported: [],
6
+ format: "mso_mdoc",
7
+ display: [],
8
+ claims: {
9
+ "org.iso.18013.5.1": claims
10
+ }
11
+ }
12
+ }, "org.iso.18013.5.1.mDL", {
13
+ issuerSigned: {
14
+ nameSpaces: {
15
+ "org.iso.18013.5.1": nameSpaces.map(namespace => ({
16
+ elementIdentifier: namespace[0],
17
+ elementValue: namespace[1]
18
+ }))
19
+ },
20
+ issuerAuth: {
21
+ unprotectedHeader: [],
22
+ protectedHeader: "unused",
23
+ payload: {
24
+ validityInfo: {
25
+ signed: new Date(2000, 2, 1),
26
+ validFrom: new Date(2000, 2, 1),
27
+ validUntil: new Date(2000, 2, 1)
28
+ },
29
+ deviceKeyInfo: {
30
+ deviceKey: {
31
+ kty: "EC",
32
+ crv: "P-256",
33
+ x: "unused",
34
+ y: "unused"
35
+ }
36
+ },
37
+ valueDigests: {}
38
+ }
39
+ }
40
+ }
41
+ }, false, true];
42
+ }
43
+ export function buildMockSDJWTTestScenario(claims, disclosures) {
44
+ return [{
45
+ "eu.europa.ec.eudi.pid.1": {
46
+ cryptographic_suites_supported: [],
47
+ cryptographic_binding_methods_supported: [],
48
+ format: "vc+sd-jwt",
49
+ display: [],
50
+ claims
51
+ }
52
+ }, {
53
+ sdJwt: {
54
+ header: {
55
+ typ: "vc+sd-jwt",
56
+ alg: "unused"
57
+ },
58
+ payload: {
59
+ status: {
60
+ status_assertion: {
61
+ credential_hash_alg: "sha-256"
62
+ }
63
+ },
64
+ vct: "eu.europa.ec.eudi.pid.1",
65
+ iss: "unused",
66
+ sub: "unused",
67
+ expiry_date: "unused",
68
+ issuing_authority: "unused",
69
+ issuing_country: "unused",
70
+ exp: 0,
71
+ _sd_alg: "sha-256",
72
+ cnf: {
73
+ jwk: {
74
+ kty: "RSA"
75
+ }
76
+ },
77
+ _sd: []
78
+ }
79
+ },
80
+ disclosures
81
+ }, false, true];
82
+ }
83
+ //# sourceMappingURL=07-verify-and-parse-credentials-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["buildMockMDOCTestScenario","claims","nameSpaces","cryptographic_suites_supported","cryptographic_binding_methods_supported","format","display","issuerSigned","map","namespace","elementIdentifier","elementValue","issuerAuth","unprotectedHeader","protectedHeader","payload","validityInfo","signed","Date","validFrom","validUntil","deviceKeyInfo","deviceKey","kty","crv","x","y","valueDigests","buildMockSDJWTTestScenario","disclosures","sdJwt","header","typ","alg","status","status_assertion","credential_hash_alg","vct","iss","sub","expiry_date","issuing_authority","issuing_country","exp","_sd_alg","cnf","jwk","_sd"],"sourceRoot":"../../../../../src","sources":["utils/credential/issuance/07-verify-and-parse-credentials-utils.ts"],"mappings":"AAuEA,OAAO,SAASA,yBAAyBA,CACvCC,MAAkB,EAClBC,UAA2B,EACa;EACxC,OAAO,CACL;IACE,uBAAuB,EAAE;MACvBC,8BAA8B,EAAE,EAAE;MAClCC,uCAAuC,EAAE,EAAE;MAC3CC,MAAM,EAAE,UAAU;MAClBC,OAAO,EAAE,EAAE;MACXL,MAAM,EAAE;QACN,mBAAmB,EAAEA;MACvB;IACF;EACF,CAAC,EACD,uBAAuB,EACvB;IACEM,YAAY,EAAE;MACZL,UAAU,EAAE;QACV,mBAAmB,EAAEA,UAAU,CAACM,GAAG,CAAEC,SAAS,KAAM;UAClDC,iBAAiB,EAAED,SAAS,CAAC,CAAC,CAAC;UAC/BE,YAAY,EAAEF,SAAS,CAAC,CAAC;QAC3B,CAAC,CAAC;MACJ,CAAC;MACDG,UAAU,EAAE;QACVC,iBAAiB,EAAE,EAAE;QACrBC,eAAe,EAAE,QAAQ;QACzBC,OAAO,EAAE;UACPC,YAAY,EAAE;YACZC,MAAM,EAAE,IAAIC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5BC,SAAS,EAAE,IAAID,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/BE,UAAU,EAAE,IAAIF,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;UACjC,CAAC;UACDG,aAAa,EAAE;YACbC,SAAS,EAAE;cACTC,GAAG,EAAE,IAAI;cACTC,GAAG,EAAE,OAAO;cACZC,CAAC,EAAE,QAAQ;cACXC,CAAC,EAAE;YACL;UACF,CAAC;UACDC,YAAY,EAAE,CAAC;QACjB;MACF;IACF;EACF,CAAC,EACD,KAAK,EACL,IAAI,CACL;AACH;AAEA,OAAO,SAASC,0BAA0BA,CACxC3B,MAAmB,EACnB4B,WAAwC,EACC;EACzC,OAAO,CACL;IACE,yBAAyB,EAAE;MACzB1B,8BAA8B,EAAE,EAAE;MAClCC,uCAAuC,EAAE,EAAE;MAC3CC,MAAM,EAAE,WAAW;MACnBC,OAAO,EAAE,EAAE;MACXL;IACF;EACF,CAAC,EACD;IACE6B,KAAK,EAAE;MACLC,MAAM,EAAE;QACNC,GAAG,EAAE,WAAW;QAChBC,GAAG,EAAE;MACP,CAAC;MACDlB,OAAO,EAAE;QACPmB,MAAM,EAAE;UACNC,gBAAgB,EAAE;YAChBC,mBAAmB,EAAE;UACvB;QACF,CAAC;QACDC,GAAG,EAAE,yBAAyB;QAC9BC,GAAG,EAAE,QAAQ;QACbC,GAAG,EAAE,QAAQ;QACbC,WAAW,EAAE,QAAQ;QACrBC,iBAAiB,EAAE,QAAQ;QAC3BC,eAAe,EAAE,QAAQ;QACzBC,GAAG,EAAE,CAAC;QACNC,OAAO,EAAE,SAAS;QAClBC,GAAG,EAAE;UACHC,GAAG,EAAE;YACHvB,GAAG,EAAE;UACP;QACF,CAAC;QACDwB,GAAG,EAAE;MACP;IACF,CAAC;IACDlB;EACF,CAAC,EACD,KAAK,EACL,IAAI,CACL;AACH"}
@@ -1,6 +1,10 @@
1
1
  import type { CryptoContext } from "@pagopa/io-react-native-jwt";
2
+ import { CBOR } from "@pagopa/io-react-native-cbor";
2
3
  import type { Out } from "../../utils/misc";
3
4
  import type { GetIssuerConfig } from "./02-get-issuer-config";
5
+ import { SdJwt4VC } from "../../sd-jwt/types";
6
+ import { verify as verifySdJwt } from "../../sd-jwt";
7
+ import { verify as verifyMdoc } from "../../mdoc";
4
8
  import type { ObtainCredential } from "./06-obtain-credential";
5
9
  export type VerifyAndParseCredential = (issuerConf: Out<GetIssuerConfig>["issuerConf"], credential: Out<ObtainCredential>["credential"], format: Out<ObtainCredential>["format"], credentialType: string, context: {
6
10
  credentialCryptoContext: CryptoContext;
@@ -25,6 +29,14 @@ string, {
25
29
  /** The actual value of the attribute */
26
30
  value: unknown;
27
31
  }>;
32
+ type DecodedSdJwtCredential = Out<typeof verifySdJwt> & {
33
+ sdJwt: SdJwt4VC;
34
+ };
35
+ type DecodedMDocCredential = Out<typeof verifyMdoc> & {
36
+ issuerSigned: CBOR.IssuerSigned;
37
+ };
38
+ export declare const parseCredentialSdJwt: (credentials_supported: Out<GetIssuerConfig>["issuerConf"]["credential_configurations_supported"], { sdJwt, disclosures }: DecodedSdJwtCredential, ignoreMissingAttributes?: boolean, includeUndefinedAttributes?: boolean) => ParsedCredential;
39
+ export declare const parseCredentialMDoc: (credentials_supported: Out<GetIssuerConfig>["issuerConf"]["credential_configurations_supported"], credential_type: string, { issuerSigned }: DecodedMDocCredential, ignoreMissingAttributes?: boolean, includeUndefinedAttributes?: boolean) => ParsedCredential;
28
40
  /**
29
41
  * Verify and parse an encoded credential.
30
42
  * @param issuerConf The Issuer configuration returned by {@link getIssuerConfig}
@@ -1 +1 @@
1
- {"version":3,"file":"07-verify-and-parse-credential.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/07-verify-and-parse-credential.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAO9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,MAAM,MAAM,wBAAwB,GAAG,CACrC,UAAU,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,EAC9C,UAAU,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,EAC/C,MAAM,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,EACvC,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE;IACP,uBAAuB,EAAE,aAAa,CAAC;IACvC;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,KACE,OAAO,CAAC;IACX,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAC;CAC5B,CAAC,CAAC;AAGH,KAAK,gBAAgB,GAAG,MAAM;AAC5B,oBAAoB;AACpB,MAAM,EACN;IACE,2CAA2C;IAC3C,IAAI,EACA,yBAAyB,CAAC,MAAM,CAC9B,MAAM,EACN,MAAM,CACP,GACD,4BAA4B,CAAC,MAAM,GACnC,SAAS,CAAC;IACd,wCAAwC;IACxC,KAAK,EAAE,OAAO,CAAC;CAChB,CACF,CAAC;AA4XF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,EAAE,wBA2BtC,CAAC"}
1
+ {"version":3,"file":"07-verify-and-parse-credential.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/07-verify-and-parse-credential.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,MAAM,MAAM,wBAAwB,GAAG,CACrC,UAAU,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,EAC9C,UAAU,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,EAC/C,MAAM,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,EACvC,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE;IACP,uBAAuB,EAAE,aAAa,CAAC;IACvC;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,KACE,OAAO,CAAC;IACX,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAC;CAC5B,CAAC,CAAC;AAGH,KAAK,gBAAgB,GAAG,MAAM;AAC5B,oBAAoB;AACpB,MAAM,EACN;IACE,2CAA2C;IAC3C,IAAI,EACA,yBAAyB,CAAC,MAAM,CAC9B,MAAM,EACN,MAAM,CACP,GACD,4BAA4B,CAAC,MAAM,GACnC,SAAS,CAAC;IACd,wCAAwC;IACxC,KAAK,EAAE,OAAO,CAAC;CAChB,CACF,CAAC;AAGF,KAAK,sBAAsB,GAAG,GAAG,CAAC,OAAO,WAAW,CAAC,GAAG;IACtD,KAAK,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,KAAK,qBAAqB,GAAG,GAAG,CAAC,OAAO,UAAU,CAAC,GAAG;IACpD,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC;CACjC,CAAC;AAGF,eAAO,MAAM,oBAAoB,0BAER,IAAI,eAAe,CAAC,CAAC,YAAY,CAAC,CAAC,qCAAqC,CAAC,0BACxE,sBAAsB,4BACrB,OAAO,+BACJ,OAAO,KAClC,gBAsFF,CAAC;AAGF,eAAO,MAAM,mBAAmB,0BAEP,IAAI,eAAe,CAAC,CAAC,YAAY,CAAC,CAAC,qCAAqC,CAAC,mBAC/E,MAAM,oBACL,qBAAqB,4BACd,OAAO,+BACJ,OAAO,KAClC,gBAwHF,CAAC;AAkLF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,EAAE,wBA2BtC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { DcqlQuery } from "dcql";
2
+ import type { CredentialFormat, EvaluatedDisclosure } from "./types";
3
+ /**
4
+ * The purpose for the credential request by the RP.
5
+ */
6
+ type CredentialPurpose = {
7
+ required: boolean;
8
+ description?: string;
9
+ };
10
+ export type EvaluateDcqlQuery = (query: DcqlQuery.Input, credentialsSdJwt: [
11
+ string,
12
+ string,
13
+ string
14
+ ][], credentialsMdoc: [
15
+ string,
16
+ string,
17
+ string
18
+ ][]) => Promise<({
19
+ id: string;
20
+ credential: string;
21
+ keyTag: string;
22
+ requiredDisclosures: EvaluatedDisclosure[];
23
+ purposes: CredentialPurpose[];
24
+ } & CredentialFormat)[]>;
25
+ export declare const evaluateDcqlQuery: EvaluateDcqlQuery;
26
+ export {};
27
+ //# sourceMappingURL=07-evaluate-dcql-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"07-evaluate-dcql-query.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/07-evaluate-dcql-query.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAKV,MAAM,MAAM,CAAC;AAMd,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGrE;;GAEG;AACH,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAC9B,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,gBAAgB,EAAE;IAChB,MAAM;IACN,MAAM;IACN,MAAM;CACP,EAAE,EACH,eAAe,EAAE;IACf,MAAM;IACN,MAAM;IACN,MAAM;CACP,EAAE,KACA,OAAO,CACV,CAAC;IACC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;IAC3C,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B,GAAG,gBAAgB,CAAC,EAAE,CACxB,CAAC;AAkFF,eAAO,MAAM,iBAAiB,EAAE,iBAsG/B,CAAC"}
@@ -1,6 +1,5 @@
1
- import { InputDescriptor, type RemotePresentation } from "./types";
1
+ import { InputDescriptor, type EvaluatedDisclosure } from "./types";
2
2
  import { SdJwt4VC, type DisclosureWithEncoded } from "../../sd-jwt/types";
3
- import { type EvaluatedDisclosure } from "./types";
4
3
  import { CBOR } from "@pagopa/io-react-native-cbor";
5
4
  type EvaluatedDisclosures = {
6
5
  requiredDisclosures: EvaluatedDisclosure[];
@@ -8,22 +7,12 @@ type EvaluatedDisclosures = {
8
7
  };
9
8
  type EvaluateInputDescriptorSdJwt4VC = (inputDescriptor: InputDescriptor, payloadCredential: SdJwt4VC["payload"], disclosures: DisclosureWithEncoded[]) => EvaluatedDisclosures;
10
9
  type EvaluateInputDescriptorMdoc = (inputDescriptor: InputDescriptor, issuerSigned: CBOR.IssuerSigned) => EvaluatedDisclosures;
11
- export type EvaluateInputDescriptors = (descriptors: InputDescriptor[], credentialsSdJwt: [string, string][], credentialsMdoc: [string, string][]) => Promise<{
10
+ export type EvaluateInputDescriptors = (descriptors: InputDescriptor[], credentialsSdJwt: [string, string, string][], credentialsMdoc: [string, string, string][]) => Promise<{
12
11
  evaluatedDisclosure: EvaluatedDisclosures;
13
12
  inputDescriptor: InputDescriptor;
14
13
  credential: string;
15
14
  keyTag: string;
16
15
  }[]>;
17
- export type PrepareRemotePresentations = (credentialAndDescriptors: {
18
- requestedClaims: EvaluatedDisclosure[];
19
- inputDescriptor: InputDescriptor;
20
- credential: string;
21
- keyTag: string;
22
- }[], authRequestObject: {
23
- nonce: string;
24
- clientId: string;
25
- responseUri: string;
26
- }) => Promise<RemotePresentation>;
27
16
  export declare const disclosureWithEncodedToEvaluatedDisclosure: (disclosure: DisclosureWithEncoded) => EvaluatedDisclosure;
28
17
  type DecodedCredentialMdoc = {
29
18
  keyTag: string;
@@ -102,20 +91,5 @@ export declare const findCredentialMDoc: (inputDescriptor: InputDescriptor, deco
102
91
  * @throws {CredentialNotFoundError} When the credential format is unsupported.
103
92
  */
104
93
  export declare const evaluateInputDescriptors: EvaluateInputDescriptors;
105
- /**
106
- * Prepares remote presentations for a set of credentials based on input descriptors.
107
- *
108
- * For each credential and its corresponding input descriptor, this function:
109
- * - Validates the credential format.
110
- * - Generates a verifiable presentation token (vpToken) using the provided nonce and client identifier.
111
- *
112
- * @param credentialAndDescriptors - An array containing objects with requested claims,
113
- * input descriptor, credential, and keyTag.
114
- * @param nonce - A unique nonce for the verifiable presentation token.
115
- * @param client_id - The client identifier.
116
- * @returns A promise that resolves to an array of RemotePresentation objects.
117
- * @throws {CredentialNotFoundError} When the credential format is unsupported.
118
- */
119
- export declare const prepareRemotePresentations: PrepareRemotePresentations;
120
94
  export {};
121
95
  //# sourceMappingURL=07-evaluate-input-descriptor.d.ts.map