@pagopa/io-react-native-wallet 3.0.1 → 3.1.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 (505) hide show
  1. package/lib/commonjs/api/index.js +3 -0
  2. package/lib/commonjs/api/index.js.map +1 -1
  3. package/lib/commonjs/client/generated/wallet-provider.js +42 -4
  4. package/lib/commonjs/client/generated/wallet-provider.js.map +1 -1
  5. package/lib/commonjs/client/index.js +5 -3
  6. package/lib/commonjs/client/index.js.map +1 -1
  7. package/lib/commonjs/credential/issuance/README.md +2 -0
  8. package/lib/commonjs/credential/issuance/api/IssuerConfig.js +2 -2
  9. package/lib/commonjs/credential/issuance/api/IssuerConfig.js.map +1 -1
  10. package/lib/commonjs/credential/issuance/v1.3.3/01-evaluate-issuer-trust.js +2 -0
  11. package/lib/commonjs/credential/issuance/v1.3.3/01-evaluate-issuer-trust.js.map +1 -1
  12. package/lib/commonjs/credential/issuance/v1.3.3/03-complete-user-authorization.js +2 -0
  13. package/lib/commonjs/credential/issuance/v1.3.3/03-complete-user-authorization.js.map +1 -1
  14. package/lib/commonjs/credential/issuance/v1.3.3/05-obtain-credential.js +15 -8
  15. package/lib/commonjs/credential/issuance/v1.3.3/05-obtain-credential.js.map +1 -1
  16. package/lib/commonjs/credential/issuance/v1.3.3/mappers.js +0 -1
  17. package/lib/commonjs/credential/issuance/v1.3.3/mappers.js.map +1 -1
  18. package/lib/commonjs/credential/presentation/api/{06-send-authorization-response.js → 04-verify-certificate-chain.js} +1 -1
  19. package/lib/commonjs/credential/presentation/api/04-verify-certificate-chain.js.map +1 -0
  20. package/lib/commonjs/credential/presentation/api/{04-verify-request-object.js → 05-verify-request-object.js} +1 -1
  21. package/lib/commonjs/credential/presentation/api/05-verify-request-object.js.map +1 -0
  22. package/lib/commonjs/credential/presentation/api/{05-evaluate-dcql-query.js → 06-evaluate-dcql-query.js} +1 -1
  23. package/lib/commonjs/credential/presentation/api/06-evaluate-dcql-query.js.map +1 -0
  24. package/lib/commonjs/credential/presentation/api/07-send-authorization-response.js +6 -0
  25. package/lib/commonjs/credential/presentation/api/07-send-authorization-response.js.map +1 -0
  26. package/lib/commonjs/credential/presentation/api/RelyingPartyConfig.js +2 -2
  27. package/lib/commonjs/credential/presentation/api/RelyingPartyConfig.js.map +1 -1
  28. package/lib/commonjs/credential/presentation/api/index.js.map +1 -1
  29. package/lib/commonjs/credential/presentation/v1.0.0/04-verify-certificate-chain.js +12 -0
  30. package/lib/commonjs/credential/presentation/v1.0.0/04-verify-certificate-chain.js.map +1 -0
  31. package/lib/commonjs/credential/presentation/v1.0.0/{04-verify-request-object.js → 05-verify-request-object.js} +1 -1
  32. package/lib/commonjs/credential/presentation/v1.0.0/{04-verify-request-object.js.map → 05-verify-request-object.js.map} +1 -1
  33. package/lib/commonjs/credential/presentation/v1.0.0/{05-evaluate-dcql-query.js → 06-evaluate-dcql-query.js} +1 -1
  34. package/lib/commonjs/credential/presentation/v1.0.0/{05-evaluate-dcql-query.js.map → 06-evaluate-dcql-query.js.map} +1 -1
  35. package/lib/commonjs/credential/presentation/v1.0.0/{06-send-authorization-response.js → 07-send-authorization-response.js} +1 -1
  36. package/lib/commonjs/credential/presentation/v1.0.0/{06-send-authorization-response.js.map → 07-send-authorization-response.js.map} +1 -1
  37. package/lib/commonjs/credential/presentation/v1.0.0/index.js +5 -3
  38. package/lib/commonjs/credential/presentation/v1.0.0/index.js.map +1 -1
  39. package/lib/commonjs/credential/presentation/v1.3.3/04-verify-certificate-chain.js +33 -0
  40. package/lib/commonjs/credential/presentation/v1.3.3/04-verify-certificate-chain.js.map +1 -0
  41. package/lib/commonjs/credential/presentation/v1.3.3/{04-verify-request-object.js → 05-verify-request-object.js} +5 -3
  42. package/lib/commonjs/credential/presentation/v1.3.3/05-verify-request-object.js.map +1 -0
  43. package/lib/commonjs/credential/presentation/v1.3.3/{05-evaluate-dcql-query.js → 06-evaluate-dcql-query.js} +1 -1
  44. package/lib/commonjs/credential/presentation/v1.3.3/{05-evaluate-dcql-query.js.map → 06-evaluate-dcql-query.js.map} +1 -1
  45. package/lib/commonjs/credential/presentation/v1.3.3/{06-send-authorization-response.js → 07-send-authorization-response.js} +1 -1
  46. package/lib/commonjs/credential/presentation/v1.3.3/{06-send-authorization-response.js.map → 07-send-authorization-response.js.map} +1 -1
  47. package/lib/commonjs/credential/presentation/v1.3.3/index.js +5 -3
  48. package/lib/commonjs/credential/presentation/v1.3.3/index.js.map +1 -1
  49. package/lib/commonjs/credentials-catalogue/api/DigitalCredentialsCatalogue.js +53 -13
  50. package/lib/commonjs/credentials-catalogue/api/DigitalCredentialsCatalogue.js.map +1 -1
  51. package/lib/commonjs/credentials-catalogue/v1.0.0/mappers.js +16 -5
  52. package/lib/commonjs/credentials-catalogue/v1.0.0/mappers.js.map +1 -1
  53. package/lib/commonjs/credentials-catalogue/v1.3.3/fetch-translations.js +32 -0
  54. package/lib/commonjs/credentials-catalogue/v1.3.3/fetch-translations.js.map +1 -0
  55. package/lib/commonjs/credentials-catalogue/v1.3.3/index.js +3 -1
  56. package/lib/commonjs/credentials-catalogue/v1.3.3/index.js.map +1 -1
  57. package/lib/commonjs/credentials-catalogue/v1.3.3/mappers.js +6 -2
  58. package/lib/commonjs/credentials-catalogue/v1.3.3/mappers.js.map +1 -1
  59. package/lib/commonjs/credentials-catalogue/v1.3.3/types.js +91 -30
  60. package/lib/commonjs/credentials-catalogue/v1.3.3/types.js.map +1 -1
  61. package/lib/commonjs/credentials-catalogue/v1.3.3/utils.js +36 -5
  62. package/lib/commonjs/credentials-catalogue/v1.3.3/utils.js.map +1 -1
  63. package/lib/commonjs/index.js +3 -1
  64. package/lib/commonjs/index.js.map +1 -1
  65. package/lib/commonjs/trust/common/types.js +3 -3
  66. package/lib/commonjs/trust/common/types.js.map +1 -1
  67. package/lib/commonjs/trust/v1.0.0/types.js +6 -8
  68. package/lib/commonjs/trust/v1.0.0/types.js.map +1 -1
  69. package/lib/commonjs/trust/v1.3.3/types.js +1 -3
  70. package/lib/commonjs/trust/v1.3.3/types.js.map +1 -1
  71. package/lib/commonjs/utils/callbacks.js +2 -0
  72. package/lib/commonjs/utils/callbacks.js.map +1 -1
  73. package/lib/commonjs/utils/crypto.js +8 -0
  74. package/lib/commonjs/utils/crypto.js.map +1 -1
  75. package/lib/commonjs/utils/dpop.js +1 -1
  76. package/lib/commonjs/utils/dpop.js.map +1 -1
  77. package/lib/commonjs/utils/jwk.js +1 -1
  78. package/lib/commonjs/utils/jwk.js.map +1 -1
  79. package/lib/commonjs/utils/zod.js +1 -1
  80. package/lib/commonjs/utils/zod.js.map +1 -1
  81. package/lib/commonjs/wallet-instance-attestation/README.md +13 -10
  82. package/lib/commonjs/wallet-instance-attestation/api/types.js +9 -4
  83. package/lib/commonjs/wallet-instance-attestation/api/types.js.map +1 -1
  84. package/lib/commonjs/wallet-instance-attestation/v1.0.0/index.js +2 -2
  85. package/lib/commonjs/wallet-instance-attestation/v1.0.0/index.js.map +1 -1
  86. package/lib/commonjs/wallet-instance-attestation/v1.0.0/issuing.js +4 -5
  87. package/lib/commonjs/wallet-instance-attestation/v1.0.0/issuing.js.map +1 -1
  88. package/lib/commonjs/wallet-instance-attestation/v1.0.0/mappers.js +4 -5
  89. package/lib/commonjs/wallet-instance-attestation/v1.0.0/mappers.js.map +1 -1
  90. package/lib/commonjs/wallet-instance-attestation/v1.3.3/index.js +5 -7
  91. package/lib/commonjs/wallet-instance-attestation/v1.3.3/index.js.map +1 -1
  92. package/lib/commonjs/wallet-instance-attestation/v1.3.3/issuing.js +73 -3
  93. package/lib/commonjs/wallet-instance-attestation/v1.3.3/issuing.js.map +1 -1
  94. package/lib/commonjs/wallet-instance-attestation/v1.3.3/mappers.js +26 -0
  95. package/lib/commonjs/wallet-instance-attestation/v1.3.3/mappers.js.map +1 -0
  96. package/lib/commonjs/wallet-instance-attestation/v1.3.3/types.js +13 -24
  97. package/lib/commonjs/wallet-instance-attestation/v1.3.3/types.js.map +1 -1
  98. package/lib/commonjs/wallet-instance-attestation/v1.3.3/utils.js +35 -0
  99. package/lib/commonjs/wallet-instance-attestation/v1.3.3/utils.js.map +1 -0
  100. package/lib/commonjs/wallet-unit-attestation/README.md +73 -0
  101. package/lib/commonjs/wallet-unit-attestation/api/index.js +6 -0
  102. package/lib/commonjs/wallet-unit-attestation/api/index.js.map +1 -0
  103. package/lib/commonjs/wallet-unit-attestation/api/types.js +45 -0
  104. package/lib/commonjs/wallet-unit-attestation/api/types.js.map +1 -0
  105. package/lib/commonjs/wallet-unit-attestation/index.js +20 -0
  106. package/lib/commonjs/wallet-unit-attestation/index.js.map +1 -0
  107. package/lib/commonjs/wallet-unit-attestation/v1.0.0/index.js +11 -0
  108. package/lib/commonjs/wallet-unit-attestation/v1.0.0/index.js.map +1 -0
  109. package/lib/commonjs/wallet-unit-attestation/v1.3.3/index.js +17 -0
  110. package/lib/commonjs/wallet-unit-attestation/v1.3.3/index.js.map +1 -0
  111. package/lib/commonjs/wallet-unit-attestation/v1.3.3/issuing.js +118 -0
  112. package/lib/commonjs/wallet-unit-attestation/v1.3.3/issuing.js.map +1 -0
  113. package/lib/commonjs/wallet-unit-attestation/v1.3.3/mappers.js +13 -0
  114. package/lib/commonjs/wallet-unit-attestation/v1.3.3/mappers.js.map +1 -0
  115. package/lib/commonjs/wallet-unit-attestation/v1.3.3/types.js +23 -0
  116. package/lib/commonjs/wallet-unit-attestation/v1.3.3/types.js.map +1 -0
  117. package/lib/commonjs/wallet-unit-attestation/v1.3.3/utils.js +20 -0
  118. package/lib/commonjs/wallet-unit-attestation/v1.3.3/utils.js.map +1 -0
  119. package/lib/module/api/index.js +3 -0
  120. package/lib/module/api/index.js.map +1 -1
  121. package/lib/module/client/generated/wallet-provider.js +33 -1
  122. package/lib/module/client/generated/wallet-provider.js.map +1 -1
  123. package/lib/module/client/index.js +4 -2
  124. package/lib/module/client/index.js.map +1 -1
  125. package/lib/module/credential/issuance/README.md +2 -0
  126. package/lib/module/credential/issuance/api/IssuerConfig.js +2 -2
  127. package/lib/module/credential/issuance/api/IssuerConfig.js.map +1 -1
  128. package/lib/module/credential/issuance/v1.3.3/01-evaluate-issuer-trust.js +2 -0
  129. package/lib/module/credential/issuance/v1.3.3/01-evaluate-issuer-trust.js.map +1 -1
  130. package/lib/module/credential/issuance/v1.3.3/03-complete-user-authorization.js +2 -0
  131. package/lib/module/credential/issuance/v1.3.3/03-complete-user-authorization.js.map +1 -1
  132. package/lib/module/credential/issuance/v1.3.3/05-obtain-credential.js +16 -9
  133. package/lib/module/credential/issuance/v1.3.3/05-obtain-credential.js.map +1 -1
  134. package/lib/module/credential/issuance/v1.3.3/mappers.js +0 -1
  135. package/lib/module/credential/issuance/v1.3.3/mappers.js.map +1 -1
  136. package/lib/module/credential/presentation/api/04-verify-certificate-chain.js +2 -0
  137. package/lib/module/credential/presentation/api/04-verify-certificate-chain.js.map +1 -0
  138. package/lib/module/credential/presentation/api/05-verify-request-object.js +2 -0
  139. package/lib/module/credential/presentation/api/05-verify-request-object.js.map +1 -0
  140. package/lib/module/credential/presentation/api/06-evaluate-dcql-query.js +2 -0
  141. package/lib/module/credential/presentation/api/06-evaluate-dcql-query.js.map +1 -0
  142. package/lib/module/credential/presentation/api/07-send-authorization-response.js +2 -0
  143. package/lib/module/credential/presentation/api/07-send-authorization-response.js.map +1 -0
  144. package/lib/module/credential/presentation/api/RelyingPartyConfig.js +1 -1
  145. package/lib/module/credential/presentation/api/RelyingPartyConfig.js.map +1 -1
  146. package/lib/module/credential/presentation/api/index.js.map +1 -1
  147. package/lib/module/credential/presentation/v1.0.0/04-verify-certificate-chain.js +5 -0
  148. package/lib/module/credential/presentation/v1.0.0/04-verify-certificate-chain.js.map +1 -0
  149. package/lib/module/credential/presentation/v1.0.0/{04-verify-request-object.js → 05-verify-request-object.js} +1 -1
  150. package/lib/module/credential/presentation/v1.0.0/{04-verify-request-object.js.map → 05-verify-request-object.js.map} +1 -1
  151. package/lib/module/credential/presentation/v1.0.0/{05-evaluate-dcql-query.js → 06-evaluate-dcql-query.js} +1 -1
  152. package/lib/module/credential/presentation/v1.0.0/{05-evaluate-dcql-query.js.map → 06-evaluate-dcql-query.js.map} +1 -1
  153. package/lib/module/credential/presentation/v1.0.0/{06-send-authorization-response.js → 07-send-authorization-response.js} +1 -1
  154. package/lib/module/credential/presentation/v1.0.0/{06-send-authorization-response.js.map → 07-send-authorization-response.js.map} +1 -1
  155. package/lib/module/credential/presentation/v1.0.0/index.js +5 -3
  156. package/lib/module/credential/presentation/v1.0.0/index.js.map +1 -1
  157. package/lib/module/credential/presentation/v1.3.3/04-verify-certificate-chain.js +26 -0
  158. package/lib/module/credential/presentation/v1.3.3/04-verify-certificate-chain.js.map +1 -0
  159. package/lib/module/credential/presentation/v1.3.3/{04-verify-request-object.js → 05-verify-request-object.js} +5 -3
  160. package/lib/module/credential/presentation/v1.3.3/05-verify-request-object.js.map +1 -0
  161. package/lib/module/credential/presentation/v1.3.3/{05-evaluate-dcql-query.js → 06-evaluate-dcql-query.js} +1 -1
  162. package/lib/module/credential/presentation/v1.3.3/{05-evaluate-dcql-query.js.map → 06-evaluate-dcql-query.js.map} +1 -1
  163. package/lib/module/credential/presentation/v1.3.3/{06-send-authorization-response.js → 07-send-authorization-response.js} +1 -1
  164. package/lib/module/credential/presentation/v1.3.3/{06-send-authorization-response.js.map → 07-send-authorization-response.js.map} +1 -1
  165. package/lib/module/credential/presentation/v1.3.3/index.js +5 -3
  166. package/lib/module/credential/presentation/v1.3.3/index.js.map +1 -1
  167. package/lib/module/credentials-catalogue/api/DigitalCredentialsCatalogue.js +52 -12
  168. package/lib/module/credentials-catalogue/api/DigitalCredentialsCatalogue.js.map +1 -1
  169. package/lib/module/credentials-catalogue/v1.0.0/mappers.js +16 -5
  170. package/lib/module/credentials-catalogue/v1.0.0/mappers.js.map +1 -1
  171. package/lib/module/credentials-catalogue/v1.3.3/fetch-translations.js +25 -0
  172. package/lib/module/credentials-catalogue/v1.3.3/fetch-translations.js.map +1 -0
  173. package/lib/module/credentials-catalogue/v1.3.3/index.js +3 -1
  174. package/lib/module/credentials-catalogue/v1.3.3/index.js.map +1 -1
  175. package/lib/module/credentials-catalogue/v1.3.3/mappers.js +6 -2
  176. package/lib/module/credentials-catalogue/v1.3.3/mappers.js.map +1 -1
  177. package/lib/module/credentials-catalogue/v1.3.3/types.js +91 -30
  178. package/lib/module/credentials-catalogue/v1.3.3/types.js.map +1 -1
  179. package/lib/module/credentials-catalogue/v1.3.3/utils.js +32 -4
  180. package/lib/module/credentials-catalogue/v1.3.3/utils.js.map +1 -1
  181. package/lib/module/index.js +2 -1
  182. package/lib/module/index.js.map +1 -1
  183. package/lib/module/trust/common/types.js +3 -3
  184. package/lib/module/trust/common/types.js.map +1 -1
  185. package/lib/module/trust/v1.0.0/types.js +5 -7
  186. package/lib/module/trust/v1.0.0/types.js.map +1 -1
  187. package/lib/module/trust/v1.3.3/types.js +1 -3
  188. package/lib/module/trust/v1.3.3/types.js.map +1 -1
  189. package/lib/module/utils/callbacks.js +3 -0
  190. package/lib/module/utils/callbacks.js.map +1 -1
  191. package/lib/module/utils/crypto.js +8 -0
  192. package/lib/module/utils/crypto.js.map +1 -1
  193. package/lib/module/utils/dpop.js +1 -1
  194. package/lib/module/utils/dpop.js.map +1 -1
  195. package/lib/module/utils/jwk.js +1 -1
  196. package/lib/module/utils/jwk.js.map +1 -1
  197. package/lib/module/utils/zod.js +1 -1
  198. package/lib/module/utils/zod.js.map +1 -1
  199. package/lib/module/wallet-instance-attestation/README.md +13 -10
  200. package/lib/module/wallet-instance-attestation/api/types.js +7 -2
  201. package/lib/module/wallet-instance-attestation/api/types.js.map +1 -1
  202. package/lib/module/wallet-instance-attestation/v1.0.0/index.js +3 -3
  203. package/lib/module/wallet-instance-attestation/v1.0.0/index.js.map +1 -1
  204. package/lib/module/wallet-instance-attestation/v1.0.0/issuing.js +4 -5
  205. package/lib/module/wallet-instance-attestation/v1.0.0/issuing.js.map +1 -1
  206. package/lib/module/wallet-instance-attestation/v1.0.0/mappers.js +3 -4
  207. package/lib/module/wallet-instance-attestation/v1.0.0/mappers.js.map +1 -1
  208. package/lib/module/wallet-instance-attestation/v1.3.3/index.js +5 -7
  209. package/lib/module/wallet-instance-attestation/v1.3.3/index.js.map +1 -1
  210. package/lib/module/wallet-instance-attestation/v1.3.3/issuing.js +73 -3
  211. package/lib/module/wallet-instance-attestation/v1.3.3/issuing.js.map +1 -1
  212. package/lib/module/wallet-instance-attestation/v1.3.3/mappers.js +19 -0
  213. package/lib/module/wallet-instance-attestation/v1.3.3/mappers.js.map +1 -0
  214. package/lib/module/wallet-instance-attestation/v1.3.3/types.js +10 -21
  215. package/lib/module/wallet-instance-attestation/v1.3.3/types.js.map +1 -1
  216. package/lib/module/wallet-instance-attestation/v1.3.3/utils.js +29 -0
  217. package/lib/module/wallet-instance-attestation/v1.3.3/utils.js.map +1 -0
  218. package/lib/module/wallet-unit-attestation/README.md +73 -0
  219. package/lib/module/wallet-unit-attestation/api/index.js +2 -0
  220. package/lib/module/wallet-unit-attestation/api/index.js.map +1 -0
  221. package/lib/module/wallet-unit-attestation/api/types.js +36 -0
  222. package/lib/module/wallet-unit-attestation/api/types.js.map +1 -0
  223. package/lib/module/wallet-unit-attestation/index.js +3 -0
  224. package/lib/module/wallet-unit-attestation/index.js.map +1 -0
  225. package/lib/module/wallet-unit-attestation/v1.0.0/index.js +4 -0
  226. package/lib/module/wallet-unit-attestation/v1.0.0/index.js.map +1 -0
  227. package/lib/module/wallet-unit-attestation/v1.3.3/index.js +10 -0
  228. package/lib/module/wallet-unit-attestation/v1.3.3/index.js.map +1 -0
  229. package/lib/module/wallet-unit-attestation/v1.3.3/issuing.js +112 -0
  230. package/lib/module/wallet-unit-attestation/v1.3.3/issuing.js.map +1 -0
  231. package/lib/module/wallet-unit-attestation/v1.3.3/mappers.js +6 -0
  232. package/lib/module/wallet-unit-attestation/v1.3.3/mappers.js.map +1 -0
  233. package/lib/module/wallet-unit-attestation/v1.3.3/types.js +14 -0
  234. package/lib/module/wallet-unit-attestation/v1.3.3/types.js.map +1 -0
  235. package/lib/module/wallet-unit-attestation/v1.3.3/utils.js +15 -0
  236. package/lib/module/wallet-unit-attestation/v1.3.3/utils.js.map +1 -0
  237. package/lib/typescript/api/index.d.ts +2 -0
  238. package/lib/typescript/api/index.d.ts.map +1 -1
  239. package/lib/typescript/client/generated/wallet-provider.d.ts +122 -358
  240. package/lib/typescript/client/generated/wallet-provider.d.ts.map +1 -1
  241. package/lib/typescript/client/index.d.ts.map +1 -1
  242. package/lib/typescript/credential/issuance/api/05-obtain-credential.d.ts +2 -0
  243. package/lib/typescript/credential/issuance/api/05-obtain-credential.d.ts.map +1 -1
  244. package/lib/typescript/credential/issuance/api/IssuerConfig.d.ts +21 -357
  245. package/lib/typescript/credential/issuance/api/IssuerConfig.d.ts.map +1 -1
  246. package/lib/typescript/credential/issuance/api/types.d.ts +5 -41
  247. package/lib/typescript/credential/issuance/api/types.d.ts.map +1 -1
  248. package/lib/typescript/credential/issuance/common/02-start-user-authorization.d.ts.map +1 -1
  249. package/lib/typescript/credential/issuance/common/authorization.d.ts.map +1 -1
  250. package/lib/typescript/credential/issuance/v1.0.0/03-complete-user-authorization.d.ts.map +1 -1
  251. package/lib/typescript/credential/issuance/v1.0.0/05-obtain-credential.d.ts.map +1 -1
  252. package/lib/typescript/credential/issuance/v1.0.0/mappers.d.ts +103 -106
  253. package/lib/typescript/credential/issuance/v1.0.0/mappers.d.ts.map +1 -1
  254. package/lib/typescript/credential/issuance/v1.0.0/types.d.ts +4 -26
  255. package/lib/typescript/credential/issuance/v1.0.0/types.d.ts.map +1 -1
  256. package/lib/typescript/credential/issuance/v1.3.3/01-evaluate-issuer-trust.d.ts.map +1 -1
  257. package/lib/typescript/credential/issuance/v1.3.3/03-complete-user-authorization.d.ts.map +1 -1
  258. package/lib/typescript/credential/issuance/v1.3.3/05-obtain-credential.d.ts.map +1 -1
  259. package/lib/typescript/credential/issuance/v1.3.3/mappers.d.ts +594 -2095
  260. package/lib/typescript/credential/issuance/v1.3.3/mappers.d.ts.map +1 -1
  261. package/lib/typescript/credential/issuance/v1.3.3/types.d.ts +1 -5
  262. package/lib/typescript/credential/issuance/v1.3.3/types.d.ts.map +1 -1
  263. package/lib/typescript/credential/presentation/api/04-verify-certificate-chain.d.ts +17 -0
  264. package/lib/typescript/credential/presentation/api/04-verify-certificate-chain.d.ts.map +1 -0
  265. package/lib/typescript/credential/presentation/api/{04-verify-request-object.d.ts → 05-verify-request-object.d.ts} +1 -1
  266. package/lib/typescript/credential/presentation/api/{04-verify-request-object.d.ts.map → 05-verify-request-object.d.ts.map} +1 -1
  267. package/lib/typescript/credential/presentation/api/{05-evaluate-dcql-query.d.ts → 06-evaluate-dcql-query.d.ts} +1 -1
  268. package/lib/typescript/credential/presentation/api/{05-evaluate-dcql-query.d.ts.map → 06-evaluate-dcql-query.d.ts.map} +1 -1
  269. package/lib/typescript/credential/presentation/api/{06-send-authorization-response.d.ts → 07-send-authorization-response.d.ts} +2 -2
  270. package/lib/typescript/credential/presentation/api/{06-send-authorization-response.d.ts.map → 07-send-authorization-response.d.ts.map} +1 -1
  271. package/lib/typescript/credential/presentation/api/RelyingPartyConfig.d.ts +9 -154
  272. package/lib/typescript/credential/presentation/api/RelyingPartyConfig.d.ts.map +1 -1
  273. package/lib/typescript/credential/presentation/api/index.d.ts +5 -4
  274. package/lib/typescript/credential/presentation/api/index.d.ts.map +1 -1
  275. package/lib/typescript/credential/presentation/api/types.d.ts +30 -106
  276. package/lib/typescript/credential/presentation/api/types.d.ts.map +1 -1
  277. package/lib/typescript/credential/presentation/common/utils/dcql.d.ts +29 -244
  278. package/lib/typescript/credential/presentation/common/utils/dcql.d.ts.map +1 -1
  279. package/lib/typescript/credential/presentation/common/utils/http.d.ts.map +1 -1
  280. package/lib/typescript/credential/presentation/common/utils/sd-jwt.d.ts.map +1 -1
  281. package/lib/typescript/credential/presentation/common/utils.d.ts.map +1 -1
  282. package/lib/typescript/credential/presentation/v1.0.0/04-verify-certificate-chain.d.ts +3 -0
  283. package/lib/typescript/credential/presentation/v1.0.0/04-verify-certificate-chain.d.ts.map +1 -0
  284. package/lib/typescript/credential/presentation/v1.0.0/{04-verify-request-object.d.ts → 05-verify-request-object.d.ts} +1 -1
  285. package/lib/typescript/credential/presentation/v1.0.0/05-verify-request-object.d.ts.map +1 -0
  286. package/lib/typescript/credential/presentation/v1.0.0/{05-evaluate-dcql-query.d.ts → 06-evaluate-dcql-query.d.ts} +1 -1
  287. package/lib/typescript/credential/presentation/v1.0.0/06-evaluate-dcql-query.d.ts.map +1 -0
  288. package/lib/typescript/credential/presentation/v1.0.0/{06-send-authorization-response.d.ts → 07-send-authorization-response.d.ts} +1 -1
  289. package/lib/typescript/credential/presentation/v1.0.0/07-send-authorization-response.d.ts.map +1 -0
  290. package/lib/typescript/credential/presentation/v1.0.0/index.d.ts.map +1 -1
  291. package/lib/typescript/credential/presentation/v1.0.0/mappers.d.ts +56 -58
  292. package/lib/typescript/credential/presentation/v1.0.0/mappers.d.ts.map +1 -1
  293. package/lib/typescript/credential/presentation/v1.0.0/types.d.ts +13 -52
  294. package/lib/typescript/credential/presentation/v1.0.0/types.d.ts.map +1 -1
  295. package/lib/typescript/credential/presentation/v1.0.0/utils.d.ts.map +1 -1
  296. package/lib/typescript/credential/presentation/v1.0.0/utils.jwks.d.ts.map +1 -1
  297. package/lib/typescript/credential/presentation/v1.3.3/04-verify-certificate-chain.d.ts +3 -0
  298. package/lib/typescript/credential/presentation/v1.3.3/04-verify-certificate-chain.d.ts.map +1 -0
  299. package/lib/typescript/credential/presentation/v1.3.3/{04-verify-request-object.d.ts → 05-verify-request-object.d.ts} +1 -1
  300. package/lib/typescript/credential/presentation/v1.3.3/05-verify-request-object.d.ts.map +1 -0
  301. package/lib/typescript/credential/presentation/v1.3.3/{05-evaluate-dcql-query.d.ts → 06-evaluate-dcql-query.d.ts} +1 -1
  302. package/lib/typescript/credential/presentation/v1.3.3/06-evaluate-dcql-query.d.ts.map +1 -0
  303. package/lib/typescript/credential/presentation/v1.3.3/{06-send-authorization-response.d.ts → 07-send-authorization-response.d.ts} +1 -1
  304. package/lib/typescript/credential/presentation/v1.3.3/{06-send-authorization-response.d.ts.map → 07-send-authorization-response.d.ts.map} +1 -1
  305. package/lib/typescript/credential/presentation/v1.3.3/index.d.ts.map +1 -1
  306. package/lib/typescript/credential/presentation/v1.3.3/mappers.d.ts +133 -525
  307. package/lib/typescript/credential/presentation/v1.3.3/mappers.d.ts.map +1 -1
  308. package/lib/typescript/credential/presentation/v1.3.3/sdkErrorMapper.d.ts.map +1 -1
  309. package/lib/typescript/credential/presentation/v1.3.3/types.d.ts +39 -3672
  310. package/lib/typescript/credential/presentation/v1.3.3/types.d.ts.map +1 -1
  311. package/lib/typescript/credential/presentation/v1.3.3/utils.mdoc.d.ts.map +1 -1
  312. package/lib/typescript/credential/status/v1.0.0/mappers.d.ts +6 -6
  313. package/lib/typescript/credential/status/v1.0.0/types.d.ts +33 -659
  314. package/lib/typescript/credential/status/v1.0.0/types.d.ts.map +1 -1
  315. package/lib/typescript/credentials-catalogue/api/DigitalCredentialsCatalogue.d.ts +135 -525
  316. package/lib/typescript/credentials-catalogue/api/DigitalCredentialsCatalogue.d.ts.map +1 -1
  317. package/lib/typescript/credentials-catalogue/api/index.d.ts +22 -2
  318. package/lib/typescript/credentials-catalogue/api/index.d.ts.map +1 -1
  319. package/lib/typescript/credentials-catalogue/v1.0.0/mappers.d.ts +60 -20
  320. package/lib/typescript/credentials-catalogue/v1.0.0/mappers.d.ts.map +1 -1
  321. package/lib/typescript/credentials-catalogue/v1.0.0/types.d.ts +41 -737
  322. package/lib/typescript/credentials-catalogue/v1.0.0/types.d.ts.map +1 -1
  323. package/lib/typescript/credentials-catalogue/v1.3.3/fetch-translations.d.ts +3 -0
  324. package/lib/typescript/credentials-catalogue/v1.3.3/fetch-translations.d.ts.map +1 -0
  325. package/lib/typescript/credentials-catalogue/v1.3.3/index.d.ts.map +1 -1
  326. package/lib/typescript/credentials-catalogue/v1.3.3/mappers.d.ts +159 -62
  327. package/lib/typescript/credentials-catalogue/v1.3.3/mappers.d.ts.map +1 -1
  328. package/lib/typescript/credentials-catalogue/v1.3.3/types.d.ts +180 -941
  329. package/lib/typescript/credentials-catalogue/v1.3.3/types.d.ts.map +1 -1
  330. package/lib/typescript/credentials-catalogue/v1.3.3/utils.d.ts +12 -1
  331. package/lib/typescript/credentials-catalogue/v1.3.3/utils.d.ts.map +1 -1
  332. package/lib/typescript/index.d.ts +4 -3
  333. package/lib/typescript/index.d.ts.map +1 -1
  334. package/lib/typescript/mdoc/index.d.ts.map +1 -1
  335. package/lib/typescript/mdoc/utils.d.ts.map +1 -1
  336. package/lib/typescript/sd-jwt/index.d.ts +15 -15
  337. package/lib/typescript/sd-jwt/index.d.ts.map +1 -1
  338. package/lib/typescript/sd-jwt/types.d.ts +33 -492
  339. package/lib/typescript/sd-jwt/types.d.ts.map +1 -1
  340. package/lib/typescript/sd-jwt/utils.d.ts.map +1 -1
  341. package/lib/typescript/trust/api/TrustAnchorConfig.d.ts +12 -201
  342. package/lib/typescript/trust/api/TrustAnchorConfig.d.ts.map +1 -1
  343. package/lib/typescript/trust/common/build-chain.d.ts.map +1 -1
  344. package/lib/typescript/trust/common/types.d.ts +32 -1198
  345. package/lib/typescript/trust/common/types.d.ts.map +1 -1
  346. package/lib/typescript/trust/common/utils.d.ts.map +1 -1
  347. package/lib/typescript/trust/v1.0.0/build-chain.d.ts +1 -53
  348. package/lib/typescript/trust/v1.0.0/build-chain.d.ts.map +1 -1
  349. package/lib/typescript/trust/v1.0.0/entities.d.ts +324 -347
  350. package/lib/typescript/trust/v1.0.0/entities.d.ts.map +1 -1
  351. package/lib/typescript/trust/v1.0.0/mappers.d.ts +31 -35
  352. package/lib/typescript/trust/v1.0.0/mappers.d.ts.map +1 -1
  353. package/lib/typescript/trust/v1.0.0/types.d.ts +678 -12454
  354. package/lib/typescript/trust/v1.0.0/types.d.ts.map +1 -1
  355. package/lib/typescript/trust/v1.0.0/verify-chain.d.ts +4 -56
  356. package/lib/typescript/trust/v1.0.0/verify-chain.d.ts.map +1 -1
  357. package/lib/typescript/trust/v1.3.3/entities.d.ts +43 -47
  358. package/lib/typescript/trust/v1.3.3/entities.d.ts.map +1 -1
  359. package/lib/typescript/trust/v1.3.3/types.d.ts +655 -14339
  360. package/lib/typescript/trust/v1.3.3/types.d.ts.map +1 -1
  361. package/lib/typescript/utils/auth.d.ts +3 -25
  362. package/lib/typescript/utils/auth.d.ts.map +1 -1
  363. package/lib/typescript/utils/callbacks.d.ts.map +1 -1
  364. package/lib/typescript/utils/config.d.ts +3 -3
  365. package/lib/typescript/utils/config.d.ts.map +1 -1
  366. package/lib/typescript/utils/credentials.d.ts.map +1 -1
  367. package/lib/typescript/utils/crypto.d.ts +18 -0
  368. package/lib/typescript/utils/crypto.d.ts.map +1 -1
  369. package/lib/typescript/utils/decoder.d.ts.map +1 -1
  370. package/lib/typescript/utils/dpop.d.ts +5 -12
  371. package/lib/typescript/utils/dpop.d.ts.map +1 -1
  372. package/lib/typescript/utils/errors.d.ts.map +1 -1
  373. package/lib/typescript/utils/jwk.d.ts +15 -175
  374. package/lib/typescript/utils/jwk.d.ts.map +1 -1
  375. package/lib/typescript/utils/mappers.d.ts.map +1 -1
  376. package/lib/typescript/utils/misc.d.ts +2 -2
  377. package/lib/typescript/utils/misc.d.ts.map +1 -1
  378. package/lib/typescript/utils/object.d.ts.map +1 -1
  379. package/lib/typescript/utils/par.d.ts +7 -45
  380. package/lib/typescript/utils/par.d.ts.map +1 -1
  381. package/lib/typescript/utils/parser.d.ts.map +1 -1
  382. package/lib/typescript/utils/pop.d.ts +1 -9
  383. package/lib/typescript/utils/pop.d.ts.map +1 -1
  384. package/lib/typescript/utils/string.d.ts.map +1 -1
  385. package/lib/typescript/utils/zod.d.ts +4 -4
  386. package/lib/typescript/utils/zod.d.ts.map +1 -1
  387. package/lib/typescript/wallet-instance-attestation/api/index.d.ts +9 -9
  388. package/lib/typescript/wallet-instance-attestation/api/index.d.ts.map +1 -1
  389. package/lib/typescript/wallet-instance-attestation/api/types.d.ts +19 -174
  390. package/lib/typescript/wallet-instance-attestation/api/types.d.ts.map +1 -1
  391. package/lib/typescript/wallet-instance-attestation/common/types.d.ts +14 -273
  392. package/lib/typescript/wallet-instance-attestation/common/types.d.ts.map +1 -1
  393. package/lib/typescript/wallet-instance-attestation/v1.0.0/issuing.d.ts.map +1 -1
  394. package/lib/typescript/wallet-instance-attestation/v1.0.0/mappers.d.ts +5 -3
  395. package/lib/typescript/wallet-instance-attestation/v1.0.0/mappers.d.ts.map +1 -1
  396. package/lib/typescript/wallet-instance-attestation/v1.0.0/types.d.ts +39 -629
  397. package/lib/typescript/wallet-instance-attestation/v1.0.0/types.d.ts.map +1 -1
  398. package/lib/typescript/wallet-instance-attestation/v1.3.3/index.d.ts.map +1 -1
  399. package/lib/typescript/wallet-instance-attestation/v1.3.3/issuing.d.ts.map +1 -1
  400. package/lib/typescript/wallet-instance-attestation/v1.3.3/mappers.d.ts +90 -0
  401. package/lib/typescript/wallet-instance-attestation/v1.3.3/mappers.d.ts.map +1 -0
  402. package/lib/typescript/wallet-instance-attestation/v1.3.3/types.d.ts +29 -891
  403. package/lib/typescript/wallet-instance-attestation/v1.3.3/types.d.ts.map +1 -1
  404. package/lib/typescript/wallet-instance-attestation/v1.3.3/utils.d.ts +15 -0
  405. package/lib/typescript/wallet-instance-attestation/v1.3.3/utils.d.ts.map +1 -0
  406. package/lib/typescript/wallet-unit-attestation/api/index.d.ts +39 -0
  407. package/lib/typescript/wallet-unit-attestation/api/index.d.ts.map +1 -0
  408. package/lib/typescript/wallet-unit-attestation/api/types.d.ts +67 -0
  409. package/lib/typescript/wallet-unit-attestation/api/types.d.ts.map +1 -0
  410. package/lib/typescript/wallet-unit-attestation/index.d.ts +4 -0
  411. package/lib/typescript/wallet-unit-attestation/index.d.ts.map +1 -0
  412. package/lib/typescript/wallet-unit-attestation/v1.0.0/index.d.ts +3 -0
  413. package/lib/typescript/wallet-unit-attestation/v1.0.0/index.d.ts.map +1 -0
  414. package/lib/typescript/wallet-unit-attestation/v1.3.3/index.d.ts +3 -0
  415. package/lib/typescript/wallet-unit-attestation/v1.3.3/index.d.ts.map +1 -0
  416. package/lib/typescript/wallet-unit-attestation/v1.3.3/issuing.d.ts +3 -0
  417. package/lib/typescript/wallet-unit-attestation/v1.3.3/issuing.d.ts.map +1 -0
  418. package/lib/typescript/wallet-unit-attestation/v1.3.3/mappers.d.ts +107 -0
  419. package/lib/typescript/wallet-unit-attestation/v1.3.3/mappers.d.ts.map +1 -0
  420. package/lib/typescript/wallet-unit-attestation/v1.3.3/types.d.ts +69 -0
  421. package/lib/typescript/wallet-unit-attestation/v1.3.3/types.d.ts.map +1 -0
  422. package/lib/typescript/wallet-unit-attestation/v1.3.3/utils.d.ts +7 -0
  423. package/lib/typescript/wallet-unit-attestation/v1.3.3/utils.d.ts.map +1 -0
  424. package/package.json +8 -8
  425. package/src/api/index.ts +4 -0
  426. package/src/client/generated/wallet-provider.ts +44 -0
  427. package/src/client/index.ts +5 -1
  428. package/src/credential/issuance/README.md +2 -0
  429. package/src/credential/issuance/api/05-obtain-credential.ts +2 -0
  430. package/src/credential/issuance/api/IssuerConfig.ts +4 -2
  431. package/src/credential/issuance/v1.3.3/01-evaluate-issuer-trust.ts +8 -3
  432. package/src/credential/issuance/v1.3.3/03-complete-user-authorization.ts +2 -0
  433. package/src/credential/issuance/v1.3.3/05-obtain-credential.ts +25 -11
  434. package/src/credential/issuance/v1.3.3/mappers.ts +10 -9
  435. package/src/credential/presentation/api/04-verify-certificate-chain.ts +20 -0
  436. package/src/credential/presentation/api/{06-send-authorization-response.ts → 07-send-authorization-response.ts} +1 -1
  437. package/src/credential/presentation/api/RelyingPartyConfig.ts +1 -1
  438. package/src/credential/presentation/api/index.ts +5 -3
  439. package/src/credential/presentation/v1.0.0/04-verify-certificate-chain.ts +10 -0
  440. package/src/credential/presentation/v1.0.0/{04-verify-request-object.ts → 05-verify-request-object.ts} +2 -2
  441. package/src/credential/presentation/v1.0.0/{05-evaluate-dcql-query.ts → 06-evaluate-dcql-query.ts} +1 -1
  442. package/src/credential/presentation/v1.0.0/index.ts +5 -3
  443. package/src/credential/presentation/v1.3.3/04-verify-certificate-chain.ts +49 -0
  444. package/src/credential/presentation/v1.3.3/{04-verify-request-object.ts → 05-verify-request-object.ts} +4 -2
  445. package/src/credential/presentation/v1.3.3/{05-evaluate-dcql-query.ts → 06-evaluate-dcql-query.ts} +1 -1
  446. package/src/credential/presentation/v1.3.3/index.ts +5 -3
  447. package/src/credentials-catalogue/api/DigitalCredentialsCatalogue.ts +58 -10
  448. package/src/credentials-catalogue/api/index.ts +36 -2
  449. package/src/credentials-catalogue/v1.0.0/mappers.ts +27 -12
  450. package/src/credentials-catalogue/v1.3.3/fetch-translations.ts +32 -0
  451. package/src/credentials-catalogue/v1.3.3/index.ts +2 -0
  452. package/src/credentials-catalogue/v1.3.3/mappers.ts +12 -4
  453. package/src/credentials-catalogue/v1.3.3/types.ts +102 -29
  454. package/src/credentials-catalogue/v1.3.3/utils.ts +42 -4
  455. package/src/index.ts +11 -2
  456. package/src/trust/common/types.ts +3 -3
  457. package/src/trust/v1.0.0/types.ts +10 -10
  458. package/src/trust/v1.3.3/types.ts +4 -7
  459. package/src/utils/callbacks.ts +7 -1
  460. package/src/utils/crypto.ts +18 -0
  461. package/src/utils/dpop.ts +1 -1
  462. package/src/utils/jwk.ts +1 -1
  463. package/src/utils/mappers.ts +2 -2
  464. package/src/utils/zod.ts +5 -1
  465. package/src/wallet-instance-attestation/README.md +13 -10
  466. package/src/wallet-instance-attestation/api/index.ts +20 -13
  467. package/src/wallet-instance-attestation/api/types.ts +16 -4
  468. package/src/wallet-instance-attestation/v1.0.0/index.ts +3 -3
  469. package/src/wallet-instance-attestation/v1.0.0/issuing.ts +7 -9
  470. package/src/wallet-instance-attestation/v1.0.0/mappers.ts +7 -5
  471. package/src/wallet-instance-attestation/v1.3.3/index.ts +5 -7
  472. package/src/wallet-instance-attestation/v1.3.3/issuing.ts +107 -3
  473. package/src/wallet-instance-attestation/v1.3.3/mappers.ts +18 -0
  474. package/src/wallet-instance-attestation/v1.3.3/types.ts +16 -30
  475. package/src/wallet-instance-attestation/v1.3.3/utils.ts +35 -0
  476. package/src/wallet-unit-attestation/README.md +73 -0
  477. package/src/wallet-unit-attestation/api/index.ts +51 -0
  478. package/src/wallet-unit-attestation/api/types.ts +49 -0
  479. package/src/wallet-unit-attestation/index.ts +3 -0
  480. package/src/wallet-unit-attestation/v1.0.0/index.ts +5 -0
  481. package/src/wallet-unit-attestation/v1.3.3/index.ts +11 -0
  482. package/src/wallet-unit-attestation/v1.3.3/issuing.ts +147 -0
  483. package/src/wallet-unit-attestation/v1.3.3/mappers.ts +10 -0
  484. package/src/wallet-unit-attestation/v1.3.3/types.ts +21 -0
  485. package/src/wallet-unit-attestation/v1.3.3/utils.ts +14 -0
  486. package/lib/commonjs/credential/presentation/api/04-verify-request-object.js.map +0 -1
  487. package/lib/commonjs/credential/presentation/api/05-evaluate-dcql-query.js.map +0 -1
  488. package/lib/commonjs/credential/presentation/api/06-send-authorization-response.js.map +0 -1
  489. package/lib/commonjs/credential/presentation/v1.3.3/04-verify-request-object.js.map +0 -1
  490. package/lib/module/credential/presentation/api/04-verify-request-object.js +0 -2
  491. package/lib/module/credential/presentation/api/04-verify-request-object.js.map +0 -1
  492. package/lib/module/credential/presentation/api/05-evaluate-dcql-query.js +0 -2
  493. package/lib/module/credential/presentation/api/05-evaluate-dcql-query.js.map +0 -1
  494. package/lib/module/credential/presentation/api/06-send-authorization-response.js +0 -2
  495. package/lib/module/credential/presentation/api/06-send-authorization-response.js.map +0 -1
  496. package/lib/module/credential/presentation/v1.3.3/04-verify-request-object.js.map +0 -1
  497. package/lib/typescript/credential/presentation/v1.0.0/04-verify-request-object.d.ts.map +0 -1
  498. package/lib/typescript/credential/presentation/v1.0.0/05-evaluate-dcql-query.d.ts.map +0 -1
  499. package/lib/typescript/credential/presentation/v1.0.0/06-send-authorization-response.d.ts.map +0 -1
  500. package/lib/typescript/credential/presentation/v1.3.3/04-verify-request-object.d.ts.map +0 -1
  501. package/lib/typescript/credential/presentation/v1.3.3/05-evaluate-dcql-query.d.ts.map +0 -1
  502. /package/src/credential/presentation/api/{04-verify-request-object.ts → 05-verify-request-object.ts} +0 -0
  503. /package/src/credential/presentation/api/{05-evaluate-dcql-query.ts → 06-evaluate-dcql-query.ts} +0 -0
  504. /package/src/credential/presentation/v1.0.0/{06-send-authorization-response.ts → 07-send-authorization-response.ts} +0 -0
  505. /package/src/credential/presentation/v1.3.3/{06-send-authorization-response.ts → 07-send-authorization-response.ts} +0 -0
@@ -69,14 +69,12 @@ async function getAttestationRequest(
69
69
  }
70
70
 
71
71
  export const getAttestation: WalletInstanceAttestationApi["getAttestation"] =
72
- async ({
73
- wiaCryptoContext,
74
- integrityContext,
75
- walletProviderBaseUrl,
76
- appFetch = fetch,
77
- }) => {
72
+ async (
73
+ requestParams,
74
+ { wiaCryptoContext, integrityContext, appFetch = fetch }
75
+ ) => {
78
76
  const api = getWalletProviderClient({
79
- walletProviderBaseUrl,
77
+ walletProviderBaseUrl: requestParams.walletProviderBaseUrl,
80
78
  appFetch,
81
79
  });
82
80
 
@@ -86,7 +84,7 @@ export const getAttestation: WalletInstanceAttestationApi["getAttestation"] =
86
84
  .then((response) => response.nonce);
87
85
  Logger.log(
88
86
  LogLevel.DEBUG,
89
- `Challenge obtained from ${walletProviderBaseUrl}: ${challenge} `
87
+ `Challenge obtained from ${requestParams.walletProviderBaseUrl}: ${challenge} `
90
88
  );
91
89
 
92
90
  // 2. Get a signed attestation request
@@ -94,7 +92,7 @@ export const getAttestation: WalletInstanceAttestationApi["getAttestation"] =
94
92
  challenge,
95
93
  wiaCryptoContext,
96
94
  integrityContext,
97
- walletProviderBaseUrl
95
+ requestParams.walletProviderBaseUrl
98
96
  );
99
97
  Logger.log(
100
98
  LogLevel.DEBUG,
@@ -1,15 +1,18 @@
1
1
  import { createMapper } from "../../utils/mappers";
2
- import { DecodedAttestationJwt, type WalletAttestation } from "../api/types";
2
+ import {
3
+ DecodedWalletInstanceAttestation,
4
+ type WalletAttestation,
5
+ } from "../api/types";
3
6
  import {
4
7
  WalletAttestationResponse,
5
8
  WalletInstanceAttestationJwt,
6
9
  } from "./types";
7
10
 
8
- export const mapToDecodedAttestationJwt = createMapper<
11
+ export const mapToDecodedWalletInstanceAttestation = createMapper<
9
12
  WalletInstanceAttestationJwt,
10
- DecodedAttestationJwt
13
+ DecodedWalletInstanceAttestation
11
14
  >((x) => x.payload, {
12
- outputSchema: DecodedAttestationJwt,
15
+ outputSchema: DecodedWalletInstanceAttestation,
13
16
  });
14
17
 
15
18
  export const mapToWalletAttestations = createMapper<
@@ -17,7 +20,6 @@ export const mapToWalletAttestations = createMapper<
17
20
  WalletAttestation[]
18
21
  >((x) =>
19
22
  x.wallet_attestations.map((wa) => ({
20
- type: "wallet_instance_attestation",
21
23
  format: wa.format,
22
24
  attestation: wa.wallet_attestation,
23
25
  }))
@@ -1,13 +1,11 @@
1
- import { UnimplementedFeatureError } from "../../utils/errors";
1
+ import { withMapper, withMapperAsync } from "../../utils/mappers";
2
2
  import type { WalletInstanceAttestationApi } from "../api";
3
3
  import { getAttestation } from "./issuing";
4
+ import { decode, verify } from "./utils";
5
+ import { mapToDecodedWalletInstanceAttestation } from "./mappers";
4
6
 
5
7
  export const WalletInstanceAttestation: WalletInstanceAttestationApi = {
6
8
  getAttestation,
7
- decode: () => {
8
- throw new UnimplementedFeatureError("decode", "1.3.3");
9
- },
10
- verify: () => {
11
- throw new UnimplementedFeatureError("verify", "1.3.3");
12
- },
9
+ decode: withMapper(mapToDecodedWalletInstanceAttestation, decode),
10
+ verify: withMapperAsync(mapToDecodedWalletInstanceAttestation, verify),
13
11
  };
@@ -1,7 +1,111 @@
1
- import { UnimplementedFeatureError } from "../../utils/errors";
1
+ import { Platform } from "react-native";
2
+ import {
3
+ thumbprint,
4
+ type CryptoContext,
5
+ SignJWT,
6
+ } from "@pagopa/io-react-native-jwt";
7
+ import type { IntegrityContext } from "../../utils/integrity";
8
+ import { LogLevel, Logger } from "../../utils/logging";
9
+ import { fixBase64EncodingOnKey, JWK } from "../../utils/jwk";
10
+ import { getWalletProviderClient } from "../../client";
11
+ import type { WalletAttestationRequestParams } from "../api/types";
2
12
  import type { WalletInstanceAttestationApi } from "../api";
13
+ import { WalletInstanceAttestationResponse } from "./types";
14
+
15
+ async function getAttestationRequest(
16
+ {
17
+ challenge,
18
+ walletSolutionId,
19
+ walletSolutionVersion,
20
+ }: WalletAttestationRequestParams & { challenge: string },
21
+ wiaCryptoContext: CryptoContext,
22
+ integrityContext: IntegrityContext
23
+ ): Promise<string> {
24
+ const jwk = await wiaCryptoContext.getPublicKey();
25
+ const parsedJwk = JWK.parse(jwk);
26
+ const keyThumbprint = await thumbprint(parsedJwk);
27
+ const publicKey = { ...parsedJwk, kid: keyThumbprint };
28
+
29
+ const clientData = {
30
+ challenge,
31
+ jwk_thumbprint: keyThumbprint,
32
+ };
33
+
34
+ const hardwareKeyTag = integrityContext.getHardwareKeyTag();
35
+ const { signature, authenticatorData } =
36
+ await integrityContext.getHardwareSignatureWithAuthData(
37
+ JSON.stringify(clientData)
38
+ );
39
+
40
+ return new SignJWT(wiaCryptoContext)
41
+ .setPayload({
42
+ iss: hardwareKeyTag,
43
+ nonce: challenge,
44
+ platform: Platform.OS,
45
+ hardware_signature: signature,
46
+ integrity_assertion: authenticatorData,
47
+ hardware_key_tag: hardwareKeyTag,
48
+ wallet_solution_id: walletSolutionId,
49
+ wallet_solution_version: walletSolutionVersion,
50
+ cnf: {
51
+ jwk: fixBase64EncodingOnKey(publicKey),
52
+ },
53
+ })
54
+ .setProtectedHeader({
55
+ kid: publicKey.kid,
56
+ typ: "wia-request+jwt",
57
+ })
58
+ .setIssuedAt()
59
+ .setExpirationTime("1h")
60
+ .sign();
61
+ }
3
62
 
4
63
  export const getAttestation: WalletInstanceAttestationApi["getAttestation"] =
5
- () => {
6
- throw new UnimplementedFeatureError("getAttestation", "1.3.3");
64
+ async (
65
+ requestParams,
66
+ { wiaCryptoContext, integrityContext, appFetch = fetch }
67
+ ) => {
68
+ const api = getWalletProviderClient({
69
+ walletProviderBaseUrl: requestParams.walletProviderBaseUrl,
70
+ appFetch,
71
+ });
72
+
73
+ const challenge = await api
74
+ .get("/nonce")
75
+ .then((response) => response.nonce);
76
+ Logger.log(
77
+ LogLevel.DEBUG,
78
+ `Challenge obtained from ${requestParams.walletProviderBaseUrl}: ${challenge} `
79
+ );
80
+
81
+ const signedAttestationRequest = await getAttestationRequest(
82
+ { challenge, ...requestParams },
83
+ wiaCryptoContext,
84
+ integrityContext
85
+ );
86
+ Logger.log(
87
+ LogLevel.DEBUG,
88
+ `Signed attestation request: ${signedAttestationRequest}`
89
+ );
90
+
91
+ const response = await api
92
+ .post("/wallet-instance-attestations", {
93
+ header: {
94
+ "Content-Type": "text/plain",
95
+ },
96
+ body: signedAttestationRequest,
97
+ })
98
+ .then(WalletInstanceAttestationResponse.parse);
99
+
100
+ Logger.log(
101
+ LogLevel.DEBUG,
102
+ `Obtained Wallet Instance Attestation in jwt format: ${response.wallet_instance_attestation}`
103
+ );
104
+
105
+ return [
106
+ {
107
+ format: "jwt",
108
+ attestation: response.wallet_instance_attestation,
109
+ },
110
+ ];
7
111
  };
@@ -0,0 +1,18 @@
1
+ import { createMapper } from "../../utils/mappers";
2
+ import { DecodedWalletInstanceAttestation } from "../api/types";
3
+ import { WalletInstanceAttestationJwt } from "./types";
4
+
5
+ export const mapToDecodedWalletInstanceAttestation = createMapper<
6
+ WalletInstanceAttestationJwt,
7
+ DecodedWalletInstanceAttestation
8
+ >(
9
+ ({ payload }) => {
10
+ const { eudi_wallet_info, ...rest } = payload;
11
+ return {
12
+ ...rest,
13
+ wallet_provider_name: eudi_wallet_info.general_info.wallet_provider_name,
14
+ wallet_solution_id: eudi_wallet_info.general_info.wallet_solution_id,
15
+ };
16
+ },
17
+ { outputSchema: DecodedWalletInstanceAttestation }
18
+ );
@@ -1,16 +1,10 @@
1
1
  import * as z from "zod";
2
- import { JWK } from "../../utils/jwk";
3
2
  import { Jwt } from "../common/types";
4
3
 
5
- const Status = z.object({
6
- status_list: z.object({
7
- idx: z.number(),
8
- uri: z.string(),
9
- }),
10
- });
11
-
12
- export type WalletAppAttestationJwt = z.infer<typeof WalletAppAttestationJwt>;
13
- export const WalletAppAttestationJwt = z.object({
4
+ export type WalletInstanceAttestationJwt = z.infer<
5
+ typeof WalletInstanceAttestationJwt
6
+ >;
7
+ export const WalletInstanceAttestationJwt = z.object({
14
8
  header: z.intersection(
15
9
  Jwt.shape.header,
16
10
  z.object({
@@ -21,28 +15,20 @@ export const WalletAppAttestationJwt = z.object({
21
15
  Jwt.shape.payload,
22
16
  z.object({
23
17
  sub: z.string(),
24
- wallet_link: z.string().optional(),
25
- wallet_name: z.string().optional(),
26
- status: Status.optional(),
18
+ eudi_wallet_info: z.object({
19
+ general_info: z.object({
20
+ wallet_provider_name: z.string(),
21
+ wallet_solution_id: z.string(),
22
+ wallet_solution_version: z.string(),
23
+ }),
24
+ }),
27
25
  })
28
26
  ),
29
27
  });
30
28
 
31
- export type WalletUnitAttestationJwt = z.infer<typeof WalletUnitAttestationJwt>;
32
- export const WalletUnitAttestationJwt = z.object({
33
- header: z.intersection(
34
- Jwt.shape.header,
35
- z.object({
36
- typ: z.literal("key-attestation+jwt"),
37
- })
38
- ),
39
- payload: z.intersection(
40
- Jwt.shape.payload,
41
- z.object({
42
- attested_keys: z.array(JWK),
43
- user_authentication: z.array(z.string()),
44
- key_storage: z.array(z.string()),
45
- status: Status,
46
- })
47
- ),
29
+ export type WalletInstanceAttestationResponse = z.infer<
30
+ typeof WalletInstanceAttestationResponse
31
+ >;
32
+ export const WalletInstanceAttestationResponse = z.object({
33
+ wallet_instance_attestation: z.string(),
48
34
  });
@@ -0,0 +1,35 @@
1
+ import { WalletInstanceAttestationJwt } from "./types";
2
+ import {
3
+ decode as decodeJwt,
4
+ verify as verifyJwt,
5
+ } from "@pagopa/io-react-native-jwt";
6
+
7
+ /**
8
+ * Decode a given JWT to get the parsed Wallet Instance Attestation object they define.
9
+ * It ensures provided data is in a valid shape.
10
+ *
11
+ * It DOES NOT verify token signature nor check disclosures are correctly referenced by the JWT.
12
+ * Use {@link verify} instead
13
+ */
14
+ export function decode(token: string): WalletInstanceAttestationJwt {
15
+ const decodedJwt = decodeJwt(token);
16
+ return WalletInstanceAttestationJwt.parse({
17
+ header: decodedJwt.protectedHeader,
18
+ payload: decodedJwt.payload,
19
+ });
20
+ }
21
+
22
+ /**
23
+ * Verify a given JWT to get the parsed Wallet Instance Attestation object they define.
24
+ * Same as {@link decode} plus token signature verification
25
+ */
26
+ export async function verify(
27
+ token: string
28
+ ): Promise<WalletInstanceAttestationJwt> {
29
+ const decoded = decode(token);
30
+ const pubKey = decoded.payload.cnf.jwk;
31
+
32
+ await verifyJwt(token, pubKey);
33
+
34
+ return decoded;
35
+ }
@@ -0,0 +1,73 @@
1
+ # Wallet Unit Attestation
2
+
3
+ This flow is used to obtain a [**Wallet Unit Attestation**](https://italia.github.io/eid-wallet-it-docs/releases/1.3.3/en/wallet-solution-requirements.html#wallet-unit-attestation-requirements). The WUA is bound to one or more cryptographic keys, that must be provided by the consumer application:
4
+ - `keyAttestationCryptoContext` one or more objects that extend the `CryptoContext` with a function to generate a WSCD-stored key with an optional key attestation (Android only); these are the keys that will be attested in the WUA.
5
+ - `integrityContext` object that is used to verify the integrity of the device where the app is running. The key tag must be the same used when creating the Wallet Instance.
6
+
7
+ #### Note
8
+ Before invoking `WalletUnitAttestation`'s functions, it is necessary to check whether the feature is supported by the current IoWallet instance.
9
+ ```ts
10
+ const wallet = new IoWallet({ version: "1.3.3" });
11
+
12
+ if (wallet.WalletUnitAttestation.isSupported) {
13
+ // Get the WUA
14
+ }
15
+ ```
16
+
17
+ ### Example usage
18
+
19
+ ```ts
20
+ import {
21
+ IoWallet,
22
+ createCryptoContextFor,
23
+ KeyAttestationCryptoContext
24
+ } from "@pagopa/io-react-native-wallet";
25
+
26
+ // Retrieve the integrity key tag from the store and create its context
27
+ const integrityKeyTag = "example"; // Let's assume this is the same key used when creating the Wallet Instance
28
+ const integrityContext = getIntegrityContext(integrityKeyTag);
29
+
30
+ // Get env URLs
31
+ const { WALLET_PROVIDER_BASE_URL } = env; // Let's assume env is an object containing the environment variables
32
+
33
+ // The list of crypto contexts for each key to attest.
34
+ const keysToAttest: KeyAttestationCryptoContext[] = [
35
+ {
36
+ ...createCryptoContextFor("example-keytag"),
37
+ generateKeyWithAttestation(challenge: string) {
38
+ // Generate a key stored in a trustworthy WSCD.
39
+ // On Android this function must return a key attestation.
40
+ return {
41
+ success: true,
42
+ attestation: "android-key-attestation-string",
43
+ };
44
+ }
45
+ }
46
+ ];
47
+
48
+ /**
49
+ * Obtain a new Wallet Unit Attestation.
50
+ * WARNING: The integrity context must be the same used when creating the Wallet Instance with the same keytag.
51
+ */
52
+ const wallet = new IoWallet({ version: "1.3.3" });
53
+ const issuedAttestation = await wallet.WalletUnitAttestation.getAttestation(
54
+ {
55
+ walletProviderBaseUrl: WALLET_PROVIDER_BASE_URL,
56
+ walletSolutionId: "exampleId",
57
+ walletSolutionVersion: "1.2.3",
58
+ },
59
+ {
60
+ keysToAttest,
61
+ integrityContext,
62
+ appFetch,
63
+ }
64
+ );
65
+ ```
66
+ ## Mapped results
67
+
68
+ The following errors are mapped to a `WalletProviderResponseError` with specific codes.
69
+
70
+ |HTTP Status|Error Code|Description|
71
+ |-----------|----------|-----------|
72
+ |`*`|`ERR_IO_WALLET_PROVIDER_GENERIC_ERROR`|This is a generic error code to map unexpected errors that occurred when interacting with the Wallet Provider.|
73
+
@@ -0,0 +1,51 @@
1
+ import type { IntegrityContext } from "../../utils/integrity";
2
+ import type { KeyAttestationCryptoContext } from "../../utils/crypto";
3
+ import type {
4
+ DecodedWalletUnitAttestation,
5
+ WalletAttestation,
6
+ WalletAttestationRequestParams,
7
+ } from "./types";
8
+
9
+ interface UnsupportedApi {
10
+ isSupported: false;
11
+ }
12
+
13
+ export type WalletUnitAttestationApi =
14
+ | WalletUnitAttestationSupportedApi
15
+ | UnsupportedApi;
16
+
17
+ export interface WalletUnitAttestationSupportedApi {
18
+ isSupported: true;
19
+
20
+ /**
21
+ * Request a Wallet Unit Attestation (WUA) to the Wallet provider with one or more keys to attest.
22
+ * Each key must be provided as a {@link KeyAttestationCryptoContext}.
23
+ *
24
+ * @param requestParams Wallet Provider data for the Wallet Attestation request
25
+ * @param ctx.keysToAttest The list of KeyAttestationCryptoContext's of the keys to attest
26
+ * @param ctx.integrityContext The hardware key pair associated with the Wallet Instance
27
+ * @param ctx.appFetch (optional) Http client
28
+ * @returns The generated Wallet Unit Attestation with the attested keys
29
+ */
30
+ getAttestation(
31
+ requestParams: WalletAttestationRequestParams,
32
+ ctx: {
33
+ keysToAttest: KeyAttestationCryptoContext[];
34
+ integrityContext: IntegrityContext;
35
+ appFetch?: GlobalFetch["fetch"];
36
+ }
37
+ ): Promise<WalletAttestation>;
38
+
39
+ /**
40
+ * Decode a given JWT to get the parsed Wallet Unit Attestation object they define.
41
+ * It ensures provided data is in a valid shape.
42
+ *
43
+ * It DOES NOT verify token signature.
44
+ *
45
+ * @param token The encoded token that represents a valid jwt for Wallet Unit Attestation
46
+ * @returns The validated Wallet Unit Attestation object
47
+ * @throws A decoding error if the token doesn't resolve in a valid JWT
48
+ * @throws A validation error if the provided data doesn't result in a valid Wallet Unit Attestation
49
+ */
50
+ decode(token: string): DecodedWalletUnitAttestation;
51
+ }
@@ -0,0 +1,49 @@
1
+ import * as z from "zod";
2
+ import { UnixTime } from "../../utils/zod";
3
+ import { JWK } from "../../utils/jwk";
4
+
5
+ const Status = z.object({
6
+ status_list: z.object({
7
+ idx: z.number(),
8
+ uri: z.string(),
9
+ }),
10
+ });
11
+
12
+ /**
13
+ * Common Wallet Unit Attestation shape. This object is
14
+ * an abstraction over the version-specific JWTs.
15
+ */
16
+ export type DecodedWalletUnitAttestation = z.infer<
17
+ typeof DecodedWalletUnitAttestation
18
+ >;
19
+ export const DecodedWalletUnitAttestation = z.object({
20
+ attested_keys: z.array(JWK),
21
+ user_authentication: z.array(z.string()),
22
+ key_storage: z.array(z.string()),
23
+ status: Status,
24
+ eudi_wallet_info: z.object({
25
+ general_info: z.object({
26
+ wallet_provider_name: z.string(),
27
+ wallet_solution_id: z.string(),
28
+ wallet_solution_version: z.string(),
29
+ }),
30
+ key_storage_info: z.object({
31
+ keys_exportable: z.boolean(),
32
+ storage_type: z.string(),
33
+ }),
34
+ }),
35
+ iss: z.string(),
36
+ iat: UnixTime,
37
+ exp: UnixTime,
38
+ });
39
+
40
+ export type WalletAttestation = {
41
+ format: string;
42
+ attestation: string;
43
+ };
44
+
45
+ export type WalletAttestationRequestParams = {
46
+ walletProviderBaseUrl: string;
47
+ walletSolutionId: string;
48
+ walletSolutionVersion: string;
49
+ };
@@ -0,0 +1,3 @@
1
+ export type * from "./api";
2
+ export { WalletUnitAttestation as V1_0_0 } from "./v1.0.0";
3
+ export { WalletUnitAttestation as V1_3_3 } from "./v1.3.3";
@@ -0,0 +1,5 @@
1
+ import type { WalletUnitAttestationApi } from "../api";
2
+
3
+ export const WalletUnitAttestation: WalletUnitAttestationApi = {
4
+ isSupported: false,
5
+ };
@@ -0,0 +1,11 @@
1
+ import { withMapper } from "../../utils/mappers";
2
+ import type { WalletUnitAttestationApi } from "../api";
3
+ import { decode } from "./utils";
4
+ import { mapToDecodedWalletUnitAttestation } from "./mappers";
5
+ import { getAttestation } from "./issuing";
6
+
7
+ export const WalletUnitAttestation: WalletUnitAttestationApi = {
8
+ isSupported: true,
9
+ getAttestation,
10
+ decode: withMapper(mapToDecodedWalletUnitAttestation, decode),
11
+ };
@@ -0,0 +1,147 @@
1
+ import { Platform } from "react-native";
2
+ import { SignJWT, thumbprint } from "@pagopa/io-react-native-jwt";
3
+ import { Logger, LogLevel } from "../../utils/logging";
4
+ import { getWalletProviderClient } from "../../client";
5
+ import { fixBase64EncodingOnKey, JWK } from "../../utils/jwk";
6
+ import { IoWalletError } from "../../utils/errors";
7
+ import type { KeyAttestationCryptoContext } from "../../utils/crypto";
8
+ import type { WalletUnitAttestationSupportedApi } from "../api";
9
+ import { WalletUnitAttestationResponse } from "./types";
10
+
11
+ /**
12
+ * Create a Key Attestation Request in JWT format for the provided key.
13
+ * @param challenge The challenge for key attestation
14
+ * @param cryptoContext The crypto context of the key to attest
15
+ * @returns The key attestation request JWT, the public key and the original crypto context
16
+ */
17
+ const createKeyAttestationRequest = async (
18
+ challenge: string,
19
+ cryptoContext: KeyAttestationCryptoContext
20
+ ) => {
21
+ const { success, attestation } =
22
+ await cryptoContext.generateKeyWithAttestation(challenge);
23
+
24
+ if (!success) {
25
+ throw new IoWalletError(
26
+ "generateKeyWithAttestation failed to generate a cryptographic key for the Wallet Unit Attestation request"
27
+ );
28
+ }
29
+
30
+ if (Platform.OS === "android" && !attestation) {
31
+ throw new IoWalletError(
32
+ "Missing key attestation: on Android the generated key must have a key attestation to request a Wallet Unit Attestation"
33
+ );
34
+ }
35
+
36
+ const publicKey = JWK.parse(await cryptoContext.getPublicKey());
37
+
38
+ const requestJwt = await new SignJWT(cryptoContext)
39
+ .setPayload({
40
+ wscd_key_attestation: {
41
+ storage_type: "LOCAL_NATIVE",
42
+ ...(attestation && { attestation }),
43
+ },
44
+ cnf: {
45
+ jwk: fixBase64EncodingOnKey(publicKey),
46
+ },
47
+ })
48
+ .setProtectedHeader({
49
+ kid: publicKey.kid,
50
+ typ: "key-attestation-request+jwt",
51
+ })
52
+ .setIssuedAt()
53
+ .setExpirationTime("1h")
54
+ .sign();
55
+
56
+ return { cryptoContext, publicKey, keyAttestationRequestJwt: requestJwt };
57
+ };
58
+
59
+ export const getAttestation: WalletUnitAttestationSupportedApi["getAttestation"] =
60
+ async (
61
+ { walletProviderBaseUrl, walletSolutionId, walletSolutionVersion },
62
+ { keysToAttest: keysToAttestContexts, integrityContext, appFetch = fetch }
63
+ ) => {
64
+ if (keysToAttestContexts.length === 0) {
65
+ throw new IoWalletError("At least one key to attest must be provided");
66
+ }
67
+
68
+ const api = getWalletProviderClient({ walletProviderBaseUrl, appFetch });
69
+
70
+ const { nonce } = await api.get("/nonce");
71
+ Logger.log(
72
+ LogLevel.DEBUG,
73
+ `Challenge obtained from ${walletProviderBaseUrl}: ${nonce}`
74
+ );
75
+
76
+ const keysToAttest = await Promise.all(
77
+ keysToAttestContexts.map((cryptoContext) =>
78
+ createKeyAttestationRequest(nonce, cryptoContext)
79
+ )
80
+ );
81
+
82
+ // Use the first key to attest to sign the WUA Request JWT
83
+ const signatureKey = keysToAttest.at(0)!;
84
+
85
+ const hardwareKeyTag = integrityContext.getHardwareKeyTag();
86
+
87
+ const clientData = {
88
+ challenge: nonce,
89
+ jwk_thumbprints: await Promise.all(
90
+ keysToAttest.map((k) => thumbprint(k.publicKey))
91
+ ),
92
+ };
93
+
94
+ const { signature, authenticatorData } =
95
+ await integrityContext.getHardwareSignatureWithAuthData(
96
+ JSON.stringify(clientData)
97
+ );
98
+
99
+ const signedAttestationRequest = await new SignJWT(
100
+ signatureKey.cryptoContext
101
+ )
102
+ .setPayload({
103
+ nonce,
104
+ hardware_key_tag: hardwareKeyTag,
105
+ iss: hardwareKeyTag,
106
+ keys_to_attest: keysToAttest.map((k) => k.keyAttestationRequestJwt),
107
+ hardware_signature: signature,
108
+ integrity_assertion: authenticatorData,
109
+ platform: Platform.OS,
110
+ wallet_solution_id: walletSolutionId,
111
+ wallet_solution_version: walletSolutionVersion,
112
+ cnf: {
113
+ jwk: fixBase64EncodingOnKey(signatureKey.publicKey),
114
+ },
115
+ })
116
+ .setProtectedHeader({
117
+ kid: signatureKey.publicKey.kid,
118
+ typ: "wua-request+jwt",
119
+ })
120
+ .setIssuedAt()
121
+ .setExpirationTime("1h")
122
+ .sign();
123
+
124
+ Logger.log(
125
+ LogLevel.DEBUG,
126
+ `Signed attestation request: ${signedAttestationRequest}`
127
+ );
128
+
129
+ const response = await api
130
+ .post("/wallet-unit-attestations", {
131
+ header: {
132
+ "Content-Type": "text/plain",
133
+ },
134
+ body: signedAttestationRequest,
135
+ })
136
+ .then(WalletUnitAttestationResponse.parse);
137
+
138
+ Logger.log(
139
+ LogLevel.DEBUG,
140
+ `Obtained Wallet Unit Attestation: ${response.wallet_unit_attestation}`
141
+ );
142
+
143
+ return {
144
+ format: "jwt",
145
+ attestation: response.wallet_unit_attestation,
146
+ };
147
+ };
@@ -0,0 +1,10 @@
1
+ import { createMapper } from "../../utils/mappers";
2
+ import { DecodedWalletUnitAttestation } from "../api/types";
3
+ import { WalletUnitAttestationJwt } from "./types";
4
+
5
+ export const mapToDecodedWalletUnitAttestation = createMapper<
6
+ WalletUnitAttestationJwt,
7
+ DecodedWalletUnitAttestation
8
+ >((x) => x.payload, {
9
+ outputSchema: DecodedWalletUnitAttestation,
10
+ });