@bifold/core 3.0.0 → 3.0.2

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 (355) hide show
  1. package/lib/commonjs/components/animated/LoadingSpinner.js +5 -4
  2. package/lib/commonjs/components/animated/LoadingSpinner.js.map +1 -1
  3. package/lib/commonjs/components/buttons/Button.js +2 -6
  4. package/lib/commonjs/components/buttons/Button.js.map +1 -1
  5. package/lib/commonjs/components/inputs/BiometryControl.js +29 -5
  6. package/lib/commonjs/components/inputs/BiometryControl.js.map +1 -1
  7. package/lib/commonjs/components/listItems/NotificationListItem.js +5 -1
  8. package/lib/commonjs/components/listItems/NotificationListItem.js.map +1 -1
  9. package/lib/commonjs/components/modals/ConfirmPINModal.js +0 -1
  10. package/lib/commonjs/components/modals/ConfirmPINModal.js.map +1 -1
  11. package/lib/commonjs/components/record/Record.js +11 -5
  12. package/lib/commonjs/components/record/Record.js.map +1 -1
  13. package/lib/commonjs/components/views/HomeFooterView.js +3 -2
  14. package/lib/commonjs/components/views/HomeFooterView.js.map +1 -1
  15. package/lib/commonjs/components/views/KeyboardView.js +5 -3
  16. package/lib/commonjs/components/views/KeyboardView.js.map +1 -1
  17. package/lib/commonjs/components/views/ScreenWrapper.js +9 -5
  18. package/lib/commonjs/components/views/ScreenWrapper.js.map +1 -1
  19. package/lib/commonjs/constants.js +2 -0
  20. package/lib/commonjs/constants.js.map +1 -1
  21. package/lib/commonjs/container-api.js +8 -2
  22. package/lib/commonjs/container-api.js.map +1 -1
  23. package/lib/commonjs/container-impl.js +9 -3
  24. package/lib/commonjs/container-impl.js.map +1 -1
  25. package/lib/commonjs/contexts/auth.js +47 -45
  26. package/lib/commonjs/contexts/auth.js.map +1 -1
  27. package/lib/commonjs/contexts/reducers/store.js +16 -1
  28. package/lib/commonjs/contexts/reducers/store.js.map +1 -1
  29. package/lib/commonjs/contexts/store.js +3 -0
  30. package/lib/commonjs/contexts/store.js.map +1 -1
  31. package/lib/commonjs/hooks/attestation.js +83 -0
  32. package/lib/commonjs/hooks/attestation.js.map +1 -0
  33. package/lib/commonjs/hooks/notifications.js +4 -2
  34. package/lib/commonjs/hooks/notifications.js.map +1 -1
  35. package/lib/commonjs/hooks/useBifoldAgentSetup.js +5 -13
  36. package/lib/commonjs/hooks/useBifoldAgentSetup.js.map +1 -1
  37. package/lib/commonjs/index.js +9 -1
  38. package/lib/commonjs/index.js.map +1 -1
  39. package/lib/commonjs/localization/en/en.json +11 -1
  40. package/lib/commonjs/localization/fr/fr.json +11 -1
  41. package/lib/commonjs/localization/pt-br/pt-br.json +11 -1
  42. package/lib/commonjs/modules/openid/components/OpenIDCredentialCard.js.map +1 -1
  43. package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js +86 -48
  44. package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
  45. package/lib/commonjs/modules/openid/credentialRecord.js +114 -0
  46. package/lib/commonjs/modules/openid/credentialRecord.js.map +1 -0
  47. package/lib/commonjs/modules/openid/display.js +0 -3
  48. package/lib/commonjs/modules/openid/display.js.map +1 -1
  49. package/lib/commonjs/modules/openid/displayProof.js +118 -1
  50. package/lib/commonjs/modules/openid/displayProof.js.map +1 -1
  51. package/lib/commonjs/modules/openid/features/OpenIDProofPresentation/OpenIDProofRequestDisplay.js +56 -0
  52. package/lib/commonjs/modules/openid/features/OpenIDProofPresentation/OpenIDProofRequestDisplay.js.map +1 -0
  53. package/lib/commonjs/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestBody.js +104 -0
  54. package/lib/commonjs/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestBody.js.map +1 -0
  55. package/lib/commonjs/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestFooter.js +87 -0
  56. package/lib/commonjs/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestFooter.js.map +1 -0
  57. package/lib/commonjs/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestHeader.js +50 -0
  58. package/lib/commonjs/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestHeader.js.map +1 -0
  59. package/lib/commonjs/modules/openid/hooks/openid.js +6 -8
  60. package/lib/commonjs/modules/openid/hooks/openid.js.map +1 -1
  61. package/lib/commonjs/modules/openid/hooks/useAcceptReplacement.js +16 -19
  62. package/lib/commonjs/modules/openid/hooks/useAcceptReplacement.js.map +1 -1
  63. package/lib/commonjs/modules/openid/hooks/useDeclineReplacement.js +1 -10
  64. package/lib/commonjs/modules/openid/hooks/useDeclineReplacement.js.map +1 -1
  65. package/lib/commonjs/modules/openid/hooks/useExpiredNotifications.js +1 -1
  66. package/lib/commonjs/modules/openid/hooks/useExpiredNotifications.js.map +1 -1
  67. package/lib/commonjs/modules/openid/hooks/useUpgradeExpiredCredential.js +8 -42
  68. package/lib/commonjs/modules/openid/hooks/useUpgradeExpiredCredential.js.map +1 -1
  69. package/lib/commonjs/modules/openid/metadata.js +2 -0
  70. package/lib/commonjs/modules/openid/metadata.js.map +1 -1
  71. package/lib/commonjs/modules/openid/offerResolve.js +34 -58
  72. package/lib/commonjs/modules/openid/offerResolve.js.map +1 -1
  73. package/lib/commonjs/modules/openid/refresh/operations.js +37 -0
  74. package/lib/commonjs/modules/openid/refresh/operations.js.map +1 -0
  75. package/lib/commonjs/modules/openid/refresh/reIssuance.js +7 -10
  76. package/lib/commonjs/modules/openid/refresh/reIssuance.js.map +1 -1
  77. package/lib/commonjs/modules/openid/refresh/refreshOrchestrator.js +60 -63
  78. package/lib/commonjs/modules/openid/refresh/refreshOrchestrator.js.map +1 -1
  79. package/lib/commonjs/modules/openid/refresh/refreshToken.js +12 -12
  80. package/lib/commonjs/modules/openid/refresh/refreshToken.js.map +1 -1
  81. package/lib/commonjs/modules/openid/refresh/registry.js +1 -1
  82. package/lib/commonjs/modules/openid/refresh/registry.js.map +1 -1
  83. package/lib/commonjs/modules/openid/refresh/types.js +11 -1
  84. package/lib/commonjs/modules/openid/refresh/types.js.map +1 -1
  85. package/lib/commonjs/modules/openid/refresh/verifyCredentialStatus.js +6 -6
  86. package/lib/commonjs/modules/openid/refresh/verifyCredentialStatus.js.map +1 -1
  87. package/lib/commonjs/modules/openid/resolverProof.js +114 -124
  88. package/lib/commonjs/modules/openid/resolverProof.js.map +1 -1
  89. package/lib/commonjs/modules/openid/screens/OpenIDConnection.js +14 -25
  90. package/lib/commonjs/modules/openid/screens/OpenIDConnection.js.map +1 -1
  91. package/lib/commonjs/modules/openid/screens/OpenIDCredentialDetails.js +5 -2
  92. package/lib/commonjs/modules/openid/screens/OpenIDCredentialDetails.js.map +1 -1
  93. package/lib/commonjs/modules/openid/screens/OpenIDProofChangeCredential.js +6 -11
  94. package/lib/commonjs/modules/openid/screens/OpenIDProofChangeCredential.js.map +1 -1
  95. package/lib/commonjs/modules/openid/screens/OpenIDProofPresentation.js +45 -188
  96. package/lib/commonjs/modules/openid/screens/OpenIDProofPresentation.js.map +1 -1
  97. package/lib/commonjs/modules/openid/types.js.map +1 -1
  98. package/lib/commonjs/navigators/DeliveryStack.js +2 -1
  99. package/lib/commonjs/navigators/DeliveryStack.js.map +1 -1
  100. package/lib/commonjs/navigators/TabStack.js +5 -3
  101. package/lib/commonjs/navigators/TabStack.js.map +1 -1
  102. package/lib/commonjs/navigators/defaultLayoutOptions.js +2 -1
  103. package/lib/commonjs/navigators/defaultLayoutOptions.js.map +1 -1
  104. package/lib/commonjs/navigators/defaultStackOptions.js +1 -1
  105. package/lib/commonjs/navigators/defaultStackOptions.js.map +1 -1
  106. package/lib/commonjs/onboarding.js +6 -3
  107. package/lib/commonjs/onboarding.js.map +1 -1
  108. package/lib/commonjs/screens/Connection.js +9 -28
  109. package/lib/commonjs/screens/Connection.js.map +1 -1
  110. package/lib/commonjs/screens/Home.js +1 -1
  111. package/lib/commonjs/screens/Home.js.map +1 -1
  112. package/lib/commonjs/screens/ListCredentials.js +8 -2
  113. package/lib/commonjs/screens/ListCredentials.js.map +1 -1
  114. package/lib/commonjs/screens/Settings.js +1 -1
  115. package/lib/commonjs/screens/Settings.js.map +1 -1
  116. package/lib/commonjs/screens/Splash.js +21 -2
  117. package/lib/commonjs/screens/Splash.js.map +1 -1
  118. package/lib/commonjs/theme.js +2 -1
  119. package/lib/commonjs/theme.js.map +1 -1
  120. package/lib/commonjs/utils/agent.js +13 -3
  121. package/lib/commonjs/utils/agent.js.map +1 -1
  122. package/lib/commonjs/utils/helpers.js +0 -2
  123. package/lib/commonjs/utils/helpers.js.map +1 -1
  124. package/lib/commonjs/utils/network.js +16 -0
  125. package/lib/commonjs/utils/network.js.map +1 -1
  126. package/lib/commonjs/wallet/map-to-card.js +2 -2
  127. package/lib/commonjs/wallet/map-to-card.js.map +1 -1
  128. package/lib/module/components/animated/LoadingSpinner.js +4 -3
  129. package/lib/module/components/animated/LoadingSpinner.js.map +1 -1
  130. package/lib/module/components/buttons/Button.js +4 -7
  131. package/lib/module/components/buttons/Button.js.map +1 -1
  132. package/lib/module/components/inputs/BiometryControl.js +30 -6
  133. package/lib/module/components/inputs/BiometryControl.js.map +1 -1
  134. package/lib/module/components/listItems/NotificationListItem.js +5 -1
  135. package/lib/module/components/listItems/NotificationListItem.js.map +1 -1
  136. package/lib/module/components/modals/ConfirmPINModal.js +0 -1
  137. package/lib/module/components/modals/ConfirmPINModal.js.map +1 -1
  138. package/lib/module/components/record/Record.js +12 -6
  139. package/lib/module/components/record/Record.js.map +1 -1
  140. package/lib/module/components/views/HomeFooterView.js +3 -2
  141. package/lib/module/components/views/HomeFooterView.js.map +1 -1
  142. package/lib/module/components/views/KeyboardView.js +6 -4
  143. package/lib/module/components/views/KeyboardView.js.map +1 -1
  144. package/lib/module/components/views/ScreenWrapper.js +9 -5
  145. package/lib/module/components/views/ScreenWrapper.js.map +1 -1
  146. package/lib/module/constants.js +2 -0
  147. package/lib/module/constants.js.map +1 -1
  148. package/lib/module/container-api.js +7 -1
  149. package/lib/module/container-api.js.map +1 -1
  150. package/lib/module/container-impl.js +9 -3
  151. package/lib/module/container-impl.js.map +1 -1
  152. package/lib/module/contexts/auth.js +47 -44
  153. package/lib/module/contexts/auth.js.map +1 -1
  154. package/lib/module/contexts/reducers/store.js +16 -1
  155. package/lib/module/contexts/reducers/store.js.map +1 -1
  156. package/lib/module/contexts/store.js +3 -0
  157. package/lib/module/contexts/store.js.map +1 -1
  158. package/lib/module/hooks/attestation.js +75 -0
  159. package/lib/module/hooks/attestation.js.map +1 -0
  160. package/lib/module/hooks/notifications.js +4 -2
  161. package/lib/module/hooks/notifications.js.map +1 -1
  162. package/lib/module/hooks/useBifoldAgentSetup.js +5 -13
  163. package/lib/module/hooks/useBifoldAgentSetup.js.map +1 -1
  164. package/lib/module/index.js +1 -0
  165. package/lib/module/index.js.map +1 -1
  166. package/lib/module/localization/en/en.json +11 -1
  167. package/lib/module/localization/fr/fr.json +11 -1
  168. package/lib/module/localization/pt-br/pt-br.json +11 -1
  169. package/lib/module/modules/openid/components/OpenIDCredentialCard.js.map +1 -1
  170. package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js +87 -49
  171. package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
  172. package/lib/module/modules/openid/credentialRecord.js +98 -0
  173. package/lib/module/modules/openid/credentialRecord.js.map +1 -0
  174. package/lib/module/modules/openid/display.js +0 -3
  175. package/lib/module/modules/openid/display.js.map +1 -1
  176. package/lib/module/modules/openid/displayProof.js +116 -1
  177. package/lib/module/modules/openid/displayProof.js.map +1 -1
  178. package/lib/module/modules/openid/features/OpenIDProofPresentation/OpenIDProofRequestDisplay.js +49 -0
  179. package/lib/module/modules/openid/features/OpenIDProofPresentation/OpenIDProofRequestDisplay.js.map +1 -0
  180. package/lib/module/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestBody.js +97 -0
  181. package/lib/module/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestBody.js.map +1 -0
  182. package/lib/module/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestFooter.js +80 -0
  183. package/lib/module/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestFooter.js.map +1 -0
  184. package/lib/module/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestHeader.js +44 -0
  185. package/lib/module/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestHeader.js.map +1 -0
  186. package/lib/module/modules/openid/hooks/openid.js +6 -8
  187. package/lib/module/modules/openid/hooks/openid.js.map +1 -1
  188. package/lib/module/modules/openid/hooks/useAcceptReplacement.js +16 -19
  189. package/lib/module/modules/openid/hooks/useAcceptReplacement.js.map +1 -1
  190. package/lib/module/modules/openid/hooks/useDeclineReplacement.js +2 -11
  191. package/lib/module/modules/openid/hooks/useDeclineReplacement.js.map +1 -1
  192. package/lib/module/modules/openid/hooks/useExpiredNotifications.js +1 -1
  193. package/lib/module/modules/openid/hooks/useExpiredNotifications.js.map +1 -1
  194. package/lib/module/modules/openid/hooks/useUpgradeExpiredCredential.js +8 -42
  195. package/lib/module/modules/openid/hooks/useUpgradeExpiredCredential.js.map +1 -1
  196. package/lib/module/modules/openid/metadata.js +3 -1
  197. package/lib/module/modules/openid/metadata.js.map +1 -1
  198. package/lib/module/modules/openid/offerResolve.js +34 -58
  199. package/lib/module/modules/openid/offerResolve.js.map +1 -1
  200. package/lib/module/modules/openid/refresh/operations.js +31 -0
  201. package/lib/module/modules/openid/refresh/operations.js.map +1 -0
  202. package/lib/module/modules/openid/refresh/reIssuance.js +7 -10
  203. package/lib/module/modules/openid/refresh/reIssuance.js.map +1 -1
  204. package/lib/module/modules/openid/refresh/refreshOrchestrator.js +62 -64
  205. package/lib/module/modules/openid/refresh/refreshOrchestrator.js.map +1 -1
  206. package/lib/module/modules/openid/refresh/refreshToken.js +12 -12
  207. package/lib/module/modules/openid/refresh/refreshToken.js.map +1 -1
  208. package/lib/module/modules/openid/refresh/registry.js +1 -1
  209. package/lib/module/modules/openid/refresh/registry.js.map +1 -1
  210. package/lib/module/modules/openid/refresh/types.js +11 -0
  211. package/lib/module/modules/openid/refresh/types.js.map +1 -1
  212. package/lib/module/modules/openid/refresh/verifyCredentialStatus.js +6 -6
  213. package/lib/module/modules/openid/refresh/verifyCredentialStatus.js.map +1 -1
  214. package/lib/module/modules/openid/resolverProof.js +115 -121
  215. package/lib/module/modules/openid/resolverProof.js.map +1 -1
  216. package/lib/module/modules/openid/screens/OpenIDConnection.js +14 -25
  217. package/lib/module/modules/openid/screens/OpenIDConnection.js.map +1 -1
  218. package/lib/module/modules/openid/screens/OpenIDCredentialDetails.js +5 -2
  219. package/lib/module/modules/openid/screens/OpenIDCredentialDetails.js.map +1 -1
  220. package/lib/module/modules/openid/screens/OpenIDProofChangeCredential.js +6 -11
  221. package/lib/module/modules/openid/screens/OpenIDProofChangeCredential.js.map +1 -1
  222. package/lib/module/modules/openid/screens/OpenIDProofPresentation.js +47 -191
  223. package/lib/module/modules/openid/screens/OpenIDProofPresentation.js.map +1 -1
  224. package/lib/module/modules/openid/types.js.map +1 -1
  225. package/lib/module/navigators/DeliveryStack.js +2 -1
  226. package/lib/module/navigators/DeliveryStack.js.map +1 -1
  227. package/lib/module/navigators/TabStack.js +5 -3
  228. package/lib/module/navigators/TabStack.js.map +1 -1
  229. package/lib/module/navigators/defaultLayoutOptions.js +2 -1
  230. package/lib/module/navigators/defaultLayoutOptions.js.map +1 -1
  231. package/lib/module/navigators/defaultStackOptions.js +1 -1
  232. package/lib/module/navigators/defaultStackOptions.js.map +1 -1
  233. package/lib/module/onboarding.js +6 -3
  234. package/lib/module/onboarding.js.map +1 -1
  235. package/lib/module/screens/Connection.js +9 -28
  236. package/lib/module/screens/Connection.js.map +1 -1
  237. package/lib/module/screens/Home.js +1 -1
  238. package/lib/module/screens/Home.js.map +1 -1
  239. package/lib/module/screens/ListCredentials.js +9 -3
  240. package/lib/module/screens/ListCredentials.js.map +1 -1
  241. package/lib/module/screens/Settings.js +1 -1
  242. package/lib/module/screens/Settings.js.map +1 -1
  243. package/lib/module/screens/Splash.js +21 -2
  244. package/lib/module/screens/Splash.js.map +1 -1
  245. package/lib/module/theme.js +2 -1
  246. package/lib/module/theme.js.map +1 -1
  247. package/lib/module/utils/agent.js +13 -4
  248. package/lib/module/utils/agent.js.map +1 -1
  249. package/lib/module/utils/helpers.js +0 -2
  250. package/lib/module/utils/helpers.js.map +1 -1
  251. package/lib/module/utils/network.js +15 -0
  252. package/lib/module/utils/network.js.map +1 -1
  253. package/lib/module/wallet/map-to-card.js +3 -3
  254. package/lib/module/wallet/map-to-card.js.map +1 -1
  255. package/lib/typescript/src/components/animated/LoadingSpinner.d.ts +2 -1
  256. package/lib/typescript/src/components/animated/LoadingSpinner.d.ts.map +1 -1
  257. package/lib/typescript/src/components/buttons/Button.d.ts +3 -2
  258. package/lib/typescript/src/components/buttons/Button.d.ts.map +1 -1
  259. package/lib/typescript/src/components/inputs/BiometryControl.d.ts.map +1 -1
  260. package/lib/typescript/src/components/listItems/NotificationListItem.d.ts.map +1 -1
  261. package/lib/typescript/src/components/modals/ConfirmPINModal.d.ts.map +1 -1
  262. package/lib/typescript/src/components/record/Record.d.ts +1 -0
  263. package/lib/typescript/src/components/record/Record.d.ts.map +1 -1
  264. package/lib/typescript/src/components/views/HomeFooterView.d.ts.map +1 -1
  265. package/lib/typescript/src/components/views/KeyboardView.d.ts +3 -2
  266. package/lib/typescript/src/components/views/KeyboardView.d.ts.map +1 -1
  267. package/lib/typescript/src/components/views/ScreenWrapper.d.ts +5 -1
  268. package/lib/typescript/src/components/views/ScreenWrapper.d.ts.map +1 -1
  269. package/lib/typescript/src/constants.d.ts +3 -1
  270. package/lib/typescript/src/constants.d.ts.map +1 -1
  271. package/lib/typescript/src/container-api.d.ts +12 -0
  272. package/lib/typescript/src/container-api.d.ts.map +1 -1
  273. package/lib/typescript/src/container-impl.d.ts +3 -0
  274. package/lib/typescript/src/container-impl.d.ts.map +1 -1
  275. package/lib/typescript/src/contexts/auth.d.ts +0 -1
  276. package/lib/typescript/src/contexts/auth.d.ts.map +1 -1
  277. package/lib/typescript/src/contexts/reducers/store.d.ts +5 -1
  278. package/lib/typescript/src/contexts/reducers/store.d.ts.map +1 -1
  279. package/lib/typescript/src/contexts/store.d.ts.map +1 -1
  280. package/lib/typescript/src/hooks/attestation.d.ts +4 -0
  281. package/lib/typescript/src/hooks/attestation.d.ts.map +1 -0
  282. package/lib/typescript/src/hooks/notifications.d.ts.map +1 -1
  283. package/lib/typescript/src/hooks/useBifoldAgentSetup.d.ts.map +1 -1
  284. package/lib/typescript/src/index.d.ts +1 -0
  285. package/lib/typescript/src/index.d.ts.map +1 -1
  286. package/lib/typescript/src/modules/openid/components/OpenIDCredentialCard.d.ts +2 -2
  287. package/lib/typescript/src/modules/openid/components/OpenIDCredentialCard.d.ts.map +1 -1
  288. package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts +7 -6
  289. package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts.map +1 -1
  290. package/lib/typescript/src/modules/openid/credentialRecord.d.ts +19 -0
  291. package/lib/typescript/src/modules/openid/credentialRecord.d.ts.map +1 -0
  292. package/lib/typescript/src/modules/openid/display.d.ts +2 -3
  293. package/lib/typescript/src/modules/openid/display.d.ts.map +1 -1
  294. package/lib/typescript/src/modules/openid/displayProof.d.ts +4 -29
  295. package/lib/typescript/src/modules/openid/displayProof.d.ts.map +1 -1
  296. package/lib/typescript/src/modules/openid/features/OpenIDProofPresentation/OpenIDProofRequestDisplay.d.ts +23 -0
  297. package/lib/typescript/src/modules/openid/features/OpenIDProofPresentation/OpenIDProofRequestDisplay.d.ts.map +1 -0
  298. package/lib/typescript/src/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestBody.d.ts +13 -0
  299. package/lib/typescript/src/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestBody.d.ts.map +1 -0
  300. package/lib/typescript/src/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestFooter.d.ts +14 -0
  301. package/lib/typescript/src/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestFooter.d.ts.map +1 -0
  302. package/lib/typescript/src/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestHeader.d.ts +9 -0
  303. package/lib/typescript/src/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestHeader.d.ts.map +1 -0
  304. package/lib/typescript/src/modules/openid/hooks/openid.d.ts +2 -2
  305. package/lib/typescript/src/modules/openid/hooks/openid.d.ts.map +1 -1
  306. package/lib/typescript/src/modules/openid/hooks/useAcceptReplacement.d.ts +2 -4
  307. package/lib/typescript/src/modules/openid/hooks/useAcceptReplacement.d.ts.map +1 -1
  308. package/lib/typescript/src/modules/openid/hooks/useDeclineReplacement.d.ts.map +1 -1
  309. package/lib/typescript/src/modules/openid/hooks/useUpgradeExpiredCredential.d.ts.map +1 -1
  310. package/lib/typescript/src/modules/openid/metadata.d.ts +9 -8
  311. package/lib/typescript/src/modules/openid/metadata.d.ts.map +1 -1
  312. package/lib/typescript/src/modules/openid/offerResolve.d.ts +9 -15
  313. package/lib/typescript/src/modules/openid/offerResolve.d.ts.map +1 -1
  314. package/lib/typescript/src/modules/openid/refresh/operations.d.ts +13 -0
  315. package/lib/typescript/src/modules/openid/refresh/operations.d.ts.map +1 -0
  316. package/lib/typescript/src/modules/openid/refresh/reIssuance.d.ts +4 -7
  317. package/lib/typescript/src/modules/openid/refresh/reIssuance.d.ts.map +1 -1
  318. package/lib/typescript/src/modules/openid/refresh/refreshOrchestrator.d.ts +3 -5
  319. package/lib/typescript/src/modules/openid/refresh/refreshOrchestrator.d.ts.map +1 -1
  320. package/lib/typescript/src/modules/openid/refresh/refreshToken.d.ts +3 -2
  321. package/lib/typescript/src/modules/openid/refresh/refreshToken.d.ts.map +1 -1
  322. package/lib/typescript/src/modules/openid/refresh/types.d.ts +15 -4
  323. package/lib/typescript/src/modules/openid/refresh/types.d.ts.map +1 -1
  324. package/lib/typescript/src/modules/openid/refresh/verifyCredentialStatus.d.ts +2 -2
  325. package/lib/typescript/src/modules/openid/refresh/verifyCredentialStatus.d.ts.map +1 -1
  326. package/lib/typescript/src/modules/openid/resolverProof.d.ts +32 -30
  327. package/lib/typescript/src/modules/openid/resolverProof.d.ts.map +1 -1
  328. package/lib/typescript/src/modules/openid/screens/OpenIDConnection.d.ts.map +1 -1
  329. package/lib/typescript/src/modules/openid/screens/OpenIDCredentialDetails.d.ts.map +1 -1
  330. package/lib/typescript/src/modules/openid/screens/OpenIDProofChangeCredential.d.ts.map +1 -1
  331. package/lib/typescript/src/modules/openid/screens/OpenIDProofPresentation.d.ts.map +1 -1
  332. package/lib/typescript/src/modules/openid/types.d.ts +34 -4
  333. package/lib/typescript/src/modules/openid/types.d.ts.map +1 -1
  334. package/lib/typescript/src/navigators/defaultLayoutOptions.d.ts.map +1 -1
  335. package/lib/typescript/src/onboarding.d.ts +1 -1
  336. package/lib/typescript/src/onboarding.d.ts.map +1 -1
  337. package/lib/typescript/src/screens/Connection.d.ts.map +1 -1
  338. package/lib/typescript/src/screens/Home.d.ts.map +1 -1
  339. package/lib/typescript/src/screens/ListCredentials.d.ts.map +1 -1
  340. package/lib/typescript/src/screens/Splash.d.ts.map +1 -1
  341. package/lib/typescript/src/theme.d.ts +1 -0
  342. package/lib/typescript/src/theme.d.ts.map +1 -1
  343. package/lib/typescript/src/types/config.d.ts +1 -0
  344. package/lib/typescript/src/types/config.d.ts.map +1 -1
  345. package/lib/typescript/src/types/credentials.d.ts +2 -2
  346. package/lib/typescript/src/types/credentials.d.ts.map +1 -1
  347. package/lib/typescript/src/types/state.d.ts +4 -0
  348. package/lib/typescript/src/types/state.d.ts.map +1 -1
  349. package/lib/typescript/src/utils/agent.d.ts +7 -3
  350. package/lib/typescript/src/utils/agent.d.ts.map +1 -1
  351. package/lib/typescript/src/utils/helpers.d.ts.map +1 -1
  352. package/lib/typescript/src/utils/network.d.ts +1 -0
  353. package/lib/typescript/src/utils/network.d.ts.map +1 -1
  354. package/lib/typescript/src/wallet/map-to-card.d.ts.map +1 -1
  355. package/package.json +30 -29
@@ -0,0 +1,44 @@
1
+ import { StyleSheet, Text, View } from 'react-native';
2
+ import { useTranslation } from 'react-i18next';
3
+ import { useTheme } from '../../../../../contexts/theme';
4
+ import { testIdWithKey } from '../../../../../utils/testable';
5
+ const OpenIDProofRequestHeader = ({
6
+ selectedCredentialsSubmission,
7
+ verifierName = '',
8
+ reason = ''
9
+ }) => {
10
+ const {
11
+ ListItems,
12
+ TextTheme,
13
+ Spacing
14
+ } = useTheme();
15
+ const {
16
+ t
17
+ } = useTranslation();
18
+ const styles = StyleSheet.create({
19
+ headerTextContainer: {
20
+ paddingVertical: Spacing.md,
21
+ paddingHorizontal: Spacing.sm
22
+ },
23
+ headerText: {
24
+ ...ListItems.recordAttributeText,
25
+ flexShrink: 1,
26
+ paddingBottom: Spacing.sm
27
+ }
28
+ });
29
+ if (!selectedCredentialsSubmission) return;
30
+ return /*#__PURE__*/React.createElement(View, {
31
+ style: styles.headerTextContainer
32
+ }, /*#__PURE__*/React.createElement(Text, {
33
+ style: styles.headerText,
34
+ testID: testIdWithKey('HeaderText')
35
+ }, /*#__PURE__*/React.createElement(Text, {
36
+ style: TextTheme.normal
37
+ }, t('ProofRequest.ReceiveProofTitle')), /*#__PURE__*/React.createElement(Text, {
38
+ style: TextTheme.title
39
+ }, " $", verifierName)), /*#__PURE__*/React.createElement(Text, {
40
+ style: TextTheme.normal
41
+ }, reason));
42
+ };
43
+ export default OpenIDProofRequestHeader;
44
+ //# sourceMappingURL=OpenIDProofRequestHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","Text","View","useTranslation","useTheme","testIdWithKey","OpenIDProofRequestHeader","selectedCredentialsSubmission","verifierName","reason","ListItems","TextTheme","Spacing","t","styles","create","headerTextContainer","paddingVertical","md","paddingHorizontal","sm","headerText","recordAttributeText","flexShrink","paddingBottom","React","createElement","style","testID","normal","title"],"sourceRoot":"../../../../../../../src","sources":["modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestHeader.tsx"],"mappings":"AAAA,SAASA,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACrD,SAASC,cAAc,QAAQ,eAAe;AAE9C,SAASC,QAAQ,QAAQ,+BAA+B;AACxD,SAASC,aAAa,QAAQ,+BAA+B;AAS7D,MAAMC,wBAAiE,GAAGA,CAAC;EACzEC,6BAA6B;EAC7BC,YAAY,GAAG,EAAE;EACjBC,MAAM,GAAG;AACX,CAAC,KAAK;EAEJ,MAAM;IAAEC,SAAS;IAAEC,SAAS;IAAEC;EAAQ,CAAC,GAAGR,QAAQ,CAAC,CAAC;EACpD,MAAM;IAAES;EAAE,CAAC,GAAGV,cAAc,CAAC,CAAC;EAE5B,MAAMW,MAAM,GAAGd,UAAU,CAACe,MAAM,CAAC;IAC7BC,mBAAmB,EAAE;MACjBC,eAAe,EAAEL,OAAO,CAACM,EAAE;MAC3BC,iBAAiB,EAAEP,OAAO,CAACQ;IAC/B,CAAC;IACDC,UAAU,EAAE;MACR,GAAGX,SAAS,CAACY,mBAAmB;MAChCC,UAAU,EAAE,CAAC;MACbC,aAAa,EAAEZ,OAAO,CAACQ;IAC3B;EACJ,CAAC,CAAC;EAEF,IAAI,CAACb,6BAA6B,EAAE;EAEpC,oBACIkB,KAAA,CAAAC,aAAA,CAACxB,IAAI;IAACyB,KAAK,EAAEb,MAAM,CAACE;EAAoB,gBACtCS,KAAA,CAAAC,aAAA,CAACzB,IAAI;IAAC0B,KAAK,EAAEb,MAAM,CAACO,UAAW;IAACO,MAAM,EAAEvB,aAAa,CAAC,YAAY;EAAE,gBAChEoB,KAAA,CAAAC,aAAA,CAACzB,IAAI;IAAC0B,KAAK,EAAEhB,SAAS,CAACkB;EAAO,GAAEhB,CAAC,CAAC,gCAAgC,CAAQ,CAAC,eAC7EY,KAAA,CAAAC,aAAA,CAACzB,IAAI;IAAC0B,KAAK,EAAEhB,SAAS,CAACmB;EAAM,GAAC,IAAE,EAACtB,YAAmB,CAChD,CAAC,eACPiB,KAAA,CAAAC,aAAA,CAACzB,IAAI;IAAC0B,KAAK,EAAEhB,SAAS,CAACkB;EAAO,GAAEpB,MAAa,CACzC,CAAC;AAEf,CAAC;AAED,eAAeH,wBAAwB","ignoreList":[]}
@@ -41,9 +41,6 @@ export const useOpenID = ({
41
41
  if (!configID) {
42
42
  throw new Error('No credential configuration ID found in the credential offer metadata');
43
43
  }
44
- if (!authServer) {
45
- throw new Error('No authorization server found in the credential offer metadata');
46
- }
47
44
  if (!credentialIssuer) {
48
45
  throw new Error('No credential issuer found in the credential offer metadata');
49
46
  }
@@ -58,9 +55,8 @@ export const useOpenID = ({
58
55
  resolvedCredentialOffer,
59
56
  tokenResponse: tokenResponse
60
57
  });
61
- if (refreshToken && authServer) {
58
+ if (refreshToken) {
62
59
  setRefreshCredentialMetadata(credential, {
63
- authServer: tokenEndpoint,
64
60
  tokenEndpoint: tokenEndpoint,
65
61
  refreshToken: refreshToken,
66
62
  issuerMetadataCache: {
@@ -80,7 +76,8 @@ export const useOpenID = ({
80
76
  }
81
77
  return credential;
82
78
  } catch (err) {
83
- const error = new BifoldError(t('Error.Title1024'), t('Error.Message1024'), (err === null || err === void 0 ? void 0 : err.message) ?? err, 1043);
79
+ const errorMessage = err instanceof Error ? err.message : String(err);
80
+ const error = new BifoldError(t('Error.Title1024'), errorMessage, errorMessage, 1043);
84
81
  DeviceEventEmitter.emit(EventTypes.OPENID_CONNECTION_ERROR, error);
85
82
  }
86
83
  }, [agent, t]);
@@ -91,11 +88,12 @@ export const useOpenID = ({
91
88
  try {
92
89
  const record = await getCredentialsForProofRequest({
93
90
  agent: agent,
94
- uri: uri
91
+ request: uri
95
92
  });
96
93
  return record;
97
94
  } catch (err) {
98
- const error = new BifoldError(t('Error.Title1043'), t('Error.Message1043'), (err === null || err === void 0 ? void 0 : err.message) ?? err, 1043);
95
+ const errorMessage = err instanceof Error ? err.message : String(err);
96
+ const error = new BifoldError(t('Error.Title1043'), errorMessage, errorMessage, 1043);
99
97
  DeviceEventEmitter.emit(EventTypes.OPENID_CONNECTION_ERROR, error);
100
98
  }
101
99
  }, [agent, t]);
@@ -1 +1 @@
1
- {"version":3,"names":["useAgent","useCallback","useEffect","useState","useTranslation","DeviceEventEmitter","EventTypes","BifoldError","acquirePreAuthorizedAccessToken","receiveCredentialFromOpenId4VciOffer","resolveOpenId4VciOffer","getCredentialsForProofRequest","getCredentialConfigurationIds","setRefreshCredentialMetadata","RefreshStatus","temporaryMetaVanillaObject","useOpenID","openIDUri","openIDPresentationUri","openIdRecord","setOpenIdRecord","agent","t","resolveOpenIDCredential","uri","_getCredentialConfigu","resolvedCredentialOffer","authServers","metadata","credentialIssuer","authorization_servers","authServer","authorizationServers","issuer","issuerMetadata","configID","tokenEndpoint","token_endpoint","credentialEndpoint","credential_endpoint","Error","tokenResponse","refreshToken","credential","issuerMetadataCache","credential_issuer","credential_configurations_supported","credentialConfigurationId","lastCheckedAt","Date","now","lastCheckResult","Valid","attemptCount","err","error","message","emit","OPENID_CONNECTION_ERROR","resolveOpenIDPresentationRequest","record","then","value"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/openid.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useAgent","useCallback","useEffect","useState","useTranslation","DeviceEventEmitter","EventTypes","BifoldError","acquirePreAuthorizedAccessToken","receiveCredentialFromOpenId4VciOffer","resolveOpenId4VciOffer","getCredentialsForProofRequest","getCredentialConfigurationIds","setRefreshCredentialMetadata","RefreshStatus","temporaryMetaVanillaObject","useOpenID","openIDUri","openIDPresentationUri","openIdRecord","setOpenIdRecord","agent","t","resolveOpenIDCredential","uri","_getCredentialConfigu","resolvedCredentialOffer","authServers","metadata","credentialIssuer","authorization_servers","authServer","authorizationServers","issuer","issuerMetadata","configID","tokenEndpoint","token_endpoint","credentialEndpoint","credential_endpoint","Error","tokenResponse","refreshToken","credential","issuerMetadataCache","credential_issuer","credential_configurations_supported","credentialConfigurationId","lastCheckedAt","Date","now","lastCheckResult","Valid","attemptCount","err","errorMessage","message","String","error","emit","OPENID_CONNECTION_ERROR","resolveOpenIDPresentationRequest","record","request","then","value"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/openid.tsx"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AACxD,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,kBAAkB,QAAQ,cAAc;AACjD,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,WAAW,QAAQ,sBAAsB;AAClD,SACEC,+BAA+B,EAC/BC,oCAAoC,EACpCC,sBAAsB,QACjB,iBAAiB;AACxB,SAASC,6BAA6B,QAAQ,kBAAkB;AAEhE,SAASC,6BAA6B,QAAQ,gBAAgB;AAC9D,SAASC,4BAA4B,QAAQ,aAAa;AAC1D,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,0BAA0B,QAAQ,aAAa;AAQxD,OAAO,MAAMC,SAAS,GAAGA,CAAC;EACxBC,SAAS;EACTC;AACkB,CAAC,KAAkE;EACrF,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGjB,QAAQ,CAAkD,CAAC;EAEnG,MAAM;IAAEkB;EAAM,CAAC,GAAGrB,QAAQ,CAAC,CAAC;EAC5B,MAAM;IAAEsB;EAAE,CAAC,GAAGlB,cAAc,CAAC,CAAC;EAE9B,MAAMmB,uBAAuB,GAAGtB,WAAW,CACzC,MAAOuB,GAAW,IAAK;IACrB,IAAI,CAACH,KAAK,EAAE;MACV;IACF;IACA,IAAI;MAAA,IAAAI,qBAAA;MACF,MAAMC,uBAAuB,GAAG,MAAMhB,sBAAsB,CAAC;QAC3DW,KAAK,EAAEA,KAAK;QACZG,GAAG,EAAEA;MACP,CAAC,CAAC;MAEF,MAAMG,WAAW,GAAGD,uBAAuB,CAACE,QAAQ,CAACC,gBAAgB,CAACC,qBAAqB;MAC3F,MAAMC,UAAU,GAAGL,uBAAuB,CAACE,QAAQ,CAACI,oBAAoB,CAAC,CAAC,CAAC;MAC3E,MAAMH,gBAAgB,GAAGE,UAAU,CAACE,MAAM;MAC1C,MAAMC,cAAc,GAAGR,uBAAuB,CAACE,QAAQ,CAACC,gBAAgB;MACxE,MAAMM,QAAQ,IAAAV,qBAAA,GAAGb,6BAA6B,CAACc,uBAAuB,CAAC,cAAAD,qBAAA,uBAAtDA,qBAAA,CAAyD,CAAC,CAAC;MAC5E,MAAMW,aAAa,GAAGL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,cAAc;MAChD,MAAMC,kBAAkB,GAAGJ,cAAc,CAACK,mBAAmB;MAE7D,IAAI,CAACJ,QAAQ,EAAE;QACb,MAAM,IAAIK,KAAK,CAAC,uEAAuE,CAAC;MAC1F;MACA,IAAI,CAACX,gBAAgB,EAAE;QACrB,MAAM,IAAIW,KAAK,CAAC,6DAA6D,CAAC;MAChF;MAEA,MAAMC,aAAa,GAAG,MAAMjC,+BAA+B,CAAC;QAAEa,KAAK;QAAEK;MAAwB,CAAC,CAAC;MAC/F,MAAMgB,YAAY,GAAGD,aAAa,CAACC,YAAY;MAE/C3B,0BAA0B,CAAC0B,aAAa,GAAGA,aAAa;MAExD,MAAME,UAAU,GAAG,MAAMlC,oCAAoC,CAAC;QAC5DY,KAAK;QACLK,uBAAuB;QACvBe,aAAa,EAAEA;MACjB,CAAC,CAAC;MAEF,IAAIC,YAAY,EAAE;QAChB7B,4BAA4B,CAAC8B,UAAU,EAAE;UACvCP,aAAa,EAAEA,aAAa;UAC5BM,YAAY,EAAEA,YAAY;UAC1BE,mBAAmB,EAAE;YACnBC,iBAAiB,EAAEhB,gBAAgB;YACnCU,mBAAmB,EAAED,kBAAkB;YACvCD,cAAc,EAAED,aAAa;YAC7BN,qBAAqB,EAAEH,WAAW;YAClCmB,mCAAmC,EAAEZ,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEY;UACvD,CAAC;UACDjB,gBAAgB,EAAEA,gBAAgB;UAClCkB,yBAAyB,EAAEZ,QAAQ;UACnCa,aAAa,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;UACzBC,eAAe,EAAErC,aAAa,CAACsC,KAAK;UACpCC,YAAY,EAAE,CAAC;UACf3B,uBAAuB,EAAEA;QAC3B,CAAC,CAAC;MACJ;MAEA,OAAOiB,UAAU;IACnB,CAAC,CAAC,OAAOW,GAAY,EAAE;MACrB,MAAMC,YAAY,GAAGD,GAAG,YAAYd,KAAK,GAAGc,GAAG,CAACE,OAAO,GAAGC,MAAM,CAACH,GAAG,CAAC;MACrE,MAAMI,KAAK,GAAG,IAAInD,WAAW,CAC3Be,CAAC,CAAC,iBAAiB,CAAC,EACpBiC,YAAY,EACZA,YAAY,EACZ,IACF,CAAC;MACDlD,kBAAkB,CAACsD,IAAI,CAACrD,UAAU,CAACsD,uBAAuB,EAAEF,KAAK,CAAC;IACpE;EACF,CAAC,EACD,CAACrC,KAAK,EAAEC,CAAC,CACX,CAAC;EAED,MAAMuC,gCAAgC,GAAG5D,WAAW,CAClD,MAAOuB,GAAW,IAAK;IACrB,IAAI,CAACH,KAAK,EAAE;MACV;IACF;IACA,IAAI;MACF,MAAMyC,MAAM,GAAG,MAAMnD,6BAA6B,CAAC;QACjDU,KAAK,EAAEA,KAAK;QACZ0C,OAAO,EAAEvC;MACX,CAAC,CAAC;MACF,OAAOsC,MAAM;IACf,CAAC,CAAC,OAAOR,GAAY,EAAE;MACrB,MAAMC,YAAY,GAAGD,GAAG,YAAYd,KAAK,GAAGc,GAAG,CAACE,OAAO,GAAGC,MAAM,CAACH,GAAG,CAAC;MACrE,MAAMI,KAAK,GAAG,IAAInD,WAAW,CAC3Be,CAAC,CAAC,iBAAiB,CAAC,EACpBiC,YAAY,EACZA,YAAY,EACZ,IACF,CAAC;MACDlD,kBAAkB,CAACsD,IAAI,CAACrD,UAAU,CAACsD,uBAAuB,EAAEF,KAAK,CAAC;IACpE;EACF,CAAC,EACD,CAACrC,KAAK,EAAEC,CAAC,CACX,CAAC;EAEDpB,SAAS,CAAC,MAAM;IACd,IAAI,CAACgB,qBAAqB,EAAE;MAC1B;IACF;IACA2C,gCAAgC,CAAC3C,qBAAqB,CAAC,CAAC8C,IAAI,CAAEC,KAAK,IAAK;MACtE,IAAIA,KAAK,EAAE;QACT7C,eAAe,CAAC6C,KAAK,CAAC;MACxB;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAAC/C,qBAAqB,EAAE2C,gCAAgC,CAAC,CAAC;EAE7D3D,SAAS,CAAC,MAAM;IACd,IAAI,CAACe,SAAS,EAAE;MACd;IACF;IACAM,uBAAuB,CAACN,SAAS,CAAC,CAAC+C,IAAI,CAAEC,KAAK,IAAK;MACjD,IAAIA,KAAK,EAAE;QACT7C,eAAe,CAAC6C,KAAK,CAAC;MACxB;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAAChD,SAAS,EAAEM,uBAAuB,CAAC,CAAC;EAExC,OAAOJ,YAAY;AACrB,CAAC","ignoreList":[]}
@@ -1,22 +1,20 @@
1
- // modules/openid/hooks/useAcceptReplacement.ts
2
-
3
1
  import { useCallback } from 'react';
4
2
  import { TOKENS, useServices } from '../../../container-api';
3
+ import { useAppAgent } from '../../../utils/agent';
5
4
  import { useOpenIDCredentials } from '../context/OpenIDCredentialRecordProvider';
6
5
  import { credentialRegistry, selectOldIdByReplacementId } from '../refresh/registry';
7
- import { OpenIDCredentialType } from '../types';
8
- const sleep = ms => new Promise(res => setTimeout(res, ms));
6
+ import { deleteOpenIDCredential, findOpenIDCredentialById, storeOpenIDCredential } from '../credentialRecord';
9
7
  /**
10
8
  * A hook that provides functions to accept newly issued credentials, handling replacements if applicable.
11
9
  */
12
10
 
13
11
  export function useAcceptReplacement() {
14
12
  const {
15
- storeCredential,
16
- removeCredential,
17
- getW3CCredentialById,
18
- getSdJwtCredentialById
13
+ getCredentialById
19
14
  } = useOpenIDCredentials();
15
+ const {
16
+ agent
17
+ } = useAppAgent();
20
18
  const [logger] = useServices([TOKENS.UTIL_LOGGER]);
21
19
 
22
20
  /**
@@ -26,10 +24,13 @@ export function useAcceptReplacement() {
26
24
  * 3) update the registry (acceptReplacement)
27
25
  */
28
26
  const acceptNewCredential = useCallback(async newCred => {
27
+ if (!agent) {
28
+ throw new Error('Agent not ready');
29
+ }
29
30
  logger.info(`🟢 [useAcceptReplacement] accepting new credential → ${newCred.id}`);
30
31
 
31
32
  // 1) persist new
32
- await storeCredential(newCred);
33
+ await storeOpenIDCredential(agent, newCred);
33
34
 
34
35
  // 2) check if it replaces an old credential
35
36
  const oldId = selectOldIdByReplacementId(newCred.id);
@@ -38,36 +39,32 @@ export function useAcceptReplacement() {
38
39
  return;
39
40
  }
40
41
 
41
- // 3) fetch old via provider (always)
42
- const oldRecord = await getSdJwtCredentialById(oldId);
42
+ // 3) fetch old record across OpenID credential stores
43
+ const oldRecord = await findOpenIDCredentialById(agent, oldId);
43
44
  if (!oldRecord) {
44
45
  logger.warn(`⚠️ [useAcceptReplacement] old record ${oldId} not found — skipping delete`);
45
46
  // still accept swap in registry to avoid stuck state
46
47
  credentialRegistry.getState().acceptReplacement(oldId);
47
48
  return;
48
49
  }
49
- await sleep(200);
50
50
 
51
51
  // 4) delete old
52
- await removeCredential(oldRecord, OpenIDCredentialType.SdJwtVc);
52
+ await deleteOpenIDCredential(agent, oldRecord);
53
53
 
54
54
  // 5) finalize the swap in registry
55
55
  credentialRegistry.getState().acceptReplacement(oldId);
56
56
  logger.info(`✅ [useAcceptReplacement] replacement complete: old=${oldId} → new=${newCred.id}`);
57
- }, [storeCredential, removeCredential, getSdJwtCredentialById, logger]);
57
+ }, [agent, logger]);
58
58
 
59
59
  /**
60
60
  * Convenience: accept by new credential id (fetch via provider first).
61
61
  * Useful if your screen only carries the new id.
62
62
  */
63
63
  const acceptById = useCallback(async newId => {
64
- // try W3C first, then Sd-JWT
65
- const newW3c = await getW3CCredentialById(newId);
66
- const newSd = newW3c ? undefined : await getSdJwtCredentialById(newId);
67
- const rec = newW3c ?? newSd;
64
+ const rec = await getCredentialById(newId);
68
65
  if (!rec) throw new Error(`New credential not found for id=${newId}`);
69
66
  await acceptNewCredential(rec);
70
- }, [getW3CCredentialById, getSdJwtCredentialById, acceptNewCredential]);
67
+ }, [getCredentialById, acceptNewCredential]);
71
68
  return {
72
69
  acceptNewCredential,
73
70
  acceptById
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","TOKENS","useServices","useOpenIDCredentials","credentialRegistry","selectOldIdByReplacementId","OpenIDCredentialType","sleep","ms","Promise","res","setTimeout","useAcceptReplacement","storeCredential","removeCredential","getW3CCredentialById","getSdJwtCredentialById","logger","UTIL_LOGGER","acceptNewCredential","newCred","info","id","oldId","oldRecord","warn","getState","acceptReplacement","SdJwtVc","acceptById","newId","newW3c","newSd","undefined","rec","Error"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/useAcceptReplacement.ts"],"mappings":"AAAA;;AAEA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,MAAM,EAAEC,WAAW,QAAQ,wBAAwB;AAC5D,SAASC,oBAAoB,QAAQ,2CAA2C;AAChF,SAASC,kBAAkB,EAAEC,0BAA0B,QAAQ,qBAAqB;AACpF,SAASC,oBAAoB,QAAQ,UAAU;AAI/C,MAAMC,KAAK,GAAIC,EAAU,IAAK,IAAIC,OAAO,CAAQC,GAAG,IAAKC,UAAU,CAACD,GAAG,EAAEF,EAAE,CAAC,CAAC;AAC7E;AACA;AACA;;AAEA,OAAO,SAASI,oBAAoBA,CAAA,EAAG;EACrC,MAAM;IAAEC,eAAe;IAAEC,gBAAgB;IAAEC,oBAAoB;IAAEC;EAAuB,CAAC,GAAGb,oBAAoB,CAAC,CAAC;EAClH,MAAM,CAACc,MAAM,CAAC,GAAGf,WAAW,CAAC,CAACD,MAAM,CAACiB,WAAW,CAAC,CAAC;;EAElD;AACF;AACA;AACA;AACA;AACA;EACE,MAAMC,mBAAmB,GAAGnB,WAAW,CACrC,MAAOoB,OAAgB,IAAK;IAC1BH,MAAM,CAACI,IAAI,CAAC,wDAAwDD,OAAO,CAACE,EAAE,EAAE,CAAC;;IAEjF;IACA,MAAMT,eAAe,CAACO,OAAO,CAAC;;IAE9B;IACA,MAAMG,KAAK,GAAGlB,0BAA0B,CAACe,OAAO,CAACE,EAAE,CAAC;IACpD,IAAI,CAACC,KAAK,EAAE;MACVN,MAAM,CAACI,IAAI,CAAC,wDAAwDD,OAAO,CAACE,EAAE,SAAS,CAAC;MACxF;IACF;;IAEA;IACA,MAAME,SAAS,GAAG,MAAMR,sBAAsB,CAACO,KAAK,CAAC;IAErD,IAAI,CAACC,SAAS,EAAE;MACdP,MAAM,CAACQ,IAAI,CAAC,wCAAwCF,KAAK,8BAA8B,CAAC;MACxF;MACAnB,kBAAkB,CAACsB,QAAQ,CAAC,CAAC,CAACC,iBAAiB,CAACJ,KAAK,CAAC;MACtD;IACF;IAEA,MAAMhB,KAAK,CAAC,GAAG,CAAC;;IAEhB;IACA,MAAMO,gBAAgB,CAACU,SAAS,EAAElB,oBAAoB,CAACsB,OAAO,CAAC;;IAE/D;IACAxB,kBAAkB,CAACsB,QAAQ,CAAC,CAAC,CAACC,iBAAiB,CAACJ,KAAK,CAAC;IAEtDN,MAAM,CAACI,IAAI,CAAC,sDAAsDE,KAAK,UAAUH,OAAO,CAACE,EAAE,EAAE,CAAC;EAChG,CAAC,EACD,CAACT,eAAe,EAAEC,gBAAgB,EAAEE,sBAAsB,EAAEC,MAAM,CACpE,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMY,UAAU,GAAG7B,WAAW,CAC5B,MAAO8B,KAAa,IAAK;IACvB;IACA,MAAMC,MAAM,GAAG,MAAMhB,oBAAoB,CAACe,KAAK,CAAC;IAChD,MAAME,KAAK,GAAGD,MAAM,GAAGE,SAAS,GAAG,MAAMjB,sBAAsB,CAACc,KAAK,CAAC;IACtE,MAAMI,GAAG,GAAIH,MAAM,IAAIC,KAA6B;IACpD,IAAI,CAACE,GAAG,EAAE,MAAM,IAAIC,KAAK,CAAC,mCAAmCL,KAAK,EAAE,CAAC;IACrE,MAAMX,mBAAmB,CAACe,GAAG,CAAC;EAChC,CAAC,EACD,CAACnB,oBAAoB,EAAEC,sBAAsB,EAAEG,mBAAmB,CACpE,CAAC;EAED,OAAO;IAAEA,mBAAmB;IAAEU;EAAW,CAAC;AAC5C","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","TOKENS","useServices","useAppAgent","useOpenIDCredentials","credentialRegistry","selectOldIdByReplacementId","deleteOpenIDCredential","findOpenIDCredentialById","storeOpenIDCredential","useAcceptReplacement","getCredentialById","agent","logger","UTIL_LOGGER","acceptNewCredential","newCred","Error","info","id","oldId","oldRecord","warn","getState","acceptReplacement","acceptById","newId","rec"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/useAcceptReplacement.ts"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,MAAM,EAAEC,WAAW,QAAQ,wBAAwB;AAC5D,SAASC,WAAW,QAAQ,sBAAsB;AAClD,SAASC,oBAAoB,QAAQ,2CAA2C;AAChF,SAASC,kBAAkB,EAAEC,0BAA0B,QAAQ,qBAAqB;AACpF,SACEC,sBAAsB,EACtBC,wBAAwB,EAExBC,qBAAqB,QAChB,qBAAqB;AAC5B;AACA;AACA;;AAEA,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACrC,MAAM;IAAEC;EAAkB,CAAC,GAAGP,oBAAoB,CAAC,CAAC;EACpD,MAAM;IAAEQ;EAAM,CAAC,GAAGT,WAAW,CAAC,CAAC;EAC/B,MAAM,CAACU,MAAM,CAAC,GAAGX,WAAW,CAAC,CAACD,MAAM,CAACa,WAAW,CAAC,CAAC;;EAElD;AACF;AACA;AACA;AACA;AACA;EACE,MAAMC,mBAAmB,GAAGf,WAAW,CACrC,MAAOgB,OAA+B,IAAK;IACzC,IAAI,CAACJ,KAAK,EAAE;MACV,MAAM,IAAIK,KAAK,CAAC,iBAAiB,CAAC;IACpC;IAEAJ,MAAM,CAACK,IAAI,CAAC,wDAAwDF,OAAO,CAACG,EAAE,EAAE,CAAC;;IAEjF;IACA,MAAMV,qBAAqB,CAACG,KAAK,EAAEI,OAAO,CAAC;;IAE3C;IACA,MAAMI,KAAK,GAAGd,0BAA0B,CAACU,OAAO,CAACG,EAAE,CAAC;IACpD,IAAI,CAACC,KAAK,EAAE;MACVP,MAAM,CAACK,IAAI,CAAC,wDAAwDF,OAAO,CAACG,EAAE,SAAS,CAAC;MACxF;IACF;;IAEA;IACA,MAAME,SAAS,GAAG,MAAMb,wBAAwB,CAACI,KAAK,EAAEQ,KAAK,CAAC;IAE9D,IAAI,CAACC,SAAS,EAAE;MACdR,MAAM,CAACS,IAAI,CAAC,wCAAwCF,KAAK,8BAA8B,CAAC;MACxF;MACAf,kBAAkB,CAACkB,QAAQ,CAAC,CAAC,CAACC,iBAAiB,CAACJ,KAAK,CAAC;MACtD;IACF;;IAEA;IACA,MAAMb,sBAAsB,CAACK,KAAK,EAAES,SAAS,CAAC;;IAE9C;IACAhB,kBAAkB,CAACkB,QAAQ,CAAC,CAAC,CAACC,iBAAiB,CAACJ,KAAK,CAAC;IAEtDP,MAAM,CAACK,IAAI,CAAC,sDAAsDE,KAAK,UAAUJ,OAAO,CAACG,EAAE,EAAE,CAAC;EAChG,CAAC,EACD,CAACP,KAAK,EAAEC,MAAM,CAChB,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMY,UAAU,GAAGzB,WAAW,CAC5B,MAAO0B,KAAa,IAAK;IACvB,MAAMC,GAAG,GAAG,MAAMhB,iBAAiB,CAACe,KAAK,CAAC;IAC1C,IAAI,CAACC,GAAG,EAAE,MAAM,IAAIV,KAAK,CAAC,mCAAmCS,KAAK,EAAE,CAAC;IACrE,MAAMX,mBAAmB,CAACY,GAAG,CAAC;EAChC,CAAC,EACD,CAAChB,iBAAiB,EAAEI,mBAAmB,CACzC,CAAC;EAED,OAAO;IAAEA,mBAAmB;IAAEU;EAAW,CAAC;AAC5C","ignoreList":[]}
@@ -1,15 +1,6 @@
1
1
  // modules/openid/hooks/useDeclineReplacement.ts
2
2
  import { useCallback } from 'react';
3
- import { credentialRegistry } from '../refresh/registry';
4
- function findOldIdByNewId(newId) {
5
- const s = credentialRegistry.getState();
6
- // replacements: { [oldId]: { id: newId, ... } }
7
- for (const [oldId, lite] of Object.entries(s.replacements)) {
8
- if ((lite === null || lite === void 0 ? void 0 : lite.id) === newId) return oldId;
9
- }
10
- return undefined;
11
- }
12
-
3
+ import { credentialRegistry, selectOldIdByReplacementId } from '../refresh/registry';
13
4
  /**
14
5
  * Decline a replacement offer: clears the registry entry so the notification disappears.
15
6
  * No repo operations (no save/delete) are performed.
@@ -49,7 +40,7 @@ export function useDeclineReplacement(opts = {}) {
49
40
  * Decline by NEW credential id (use this from the Offer screen where you only know newId)
50
41
  */
51
42
  const declineByNewId = useCallback(async newId => {
52
- const oldId = findOldIdByNewId(newId);
43
+ const oldId = selectOldIdByReplacementId(newId);
53
44
  if (!oldId) {
54
45
  logger === null || logger === void 0 || logger.warn(`🧹 [Decline] No matching oldId found for newId=${newId}`);
55
46
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","credentialRegistry","findOldIdByNewId","newId","s","getState","oldId","lite","Object","entries","replacements","id","undefined","useDeclineReplacement","opts","logger","declineByOldId","setState","prev","_dropRepl","restRepl","_dropRef","restRefreshing","refreshing","expired","checked","filter","info","declineByNewId","warn","declineFromNotification","notif","_notif$metadata","_notif$metadata2","metadata","replacementId"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/useDeclineReplacement.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","credentialRegistry","selectOldIdByReplacementId","useDeclineReplacement","opts","logger","declineByOldId","oldId","setState","prev","_dropRepl","restRepl","replacements","_dropRef","restRefreshing","refreshing","expired","checked","filter","id","info","declineByNewId","newId","warn","declineFromNotification","notif","_notif$metadata","_notif$metadata2","metadata","replacementId"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/useDeclineReplacement.ts"],"mappings":"AAAA;AACA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,kBAAkB,EAAEC,0BAA0B,QAAQ,qBAAqB;AAQpF;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAACC,IAAa,GAAG,CAAC,CAAC,EAAE;EACxD,MAAM;IAAEC;EAAO,CAAC,GAAGD,IAAI;;EAEvB;AACF;AACA;EACE,MAAME,cAAc,GAAGN,WAAW,CAChC,MAAOO,KAAa,IAAK;IACvBN,kBAAkB,CAACO,QAAQ,CAAEC,IAAI,IAAK;MACpC;MACA,MAAM;QAAE,CAACF,KAAK,GAAGG,SAAS;QAAE,GAAGC;MAAS,CAAC,GAAGF,IAAI,CAACG,YAAY;MAC7D;MACA,MAAM;QAAE,CAACL,KAAK,GAAGM,QAAQ;QAAE,GAAGC;MAAe,CAAC,GAAGL,IAAI,CAACM,UAAU;MAChE,OAAO;QACL,GAAGN,IAAI;QACPO,OAAO,EAAEP,IAAI,CAACO,OAAO;QACrBC,OAAO,EAAER,IAAI,CAACQ,OAAO,CAACC,MAAM,CAAEC,EAAE,IAAKA,EAAE,KAAKZ,KAAK,CAAC;QAClDK,YAAY,EAAED,QAAQ;QACtBI,UAAU,EAAED;MACd,CAAC;IACH,CAAC,CAAC;IACFT,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEe,IAAI,CAAC,2DAA2Db,KAAK,EAAE,CAAC;EAClF,CAAC,EACD,CAACF,MAAM,CACT,CAAC;;EAED;AACF;AACA;EACE,MAAMgB,cAAc,GAAGrB,WAAW,CAChC,MAAOsB,KAAa,IAAK;IACvB,MAAMf,KAAK,GAAGL,0BAA0B,CAACoB,KAAK,CAAC;IAC/C,IAAI,CAACf,KAAK,EAAE;MACVF,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEkB,IAAI,CAAC,kDAAkDD,KAAK,EAAE,CAAC;MACvE;IACF;IACA,MAAMhB,cAAc,CAACC,KAAK,CAAC;EAC7B,CAAC,EACD,CAACD,cAAc,EAAED,MAAM,CACzB,CAAC;;EAED;AACF;AACA;EACE,MAAMmB,uBAAuB,GAAGxB,WAAW,CACzC,MAAOyB,KAAyB,IAAK;IAAA,IAAAC,eAAA,EAAAC,gBAAA;IACnC,MAAMpB,KAAK,GAAGkB,KAAK,aAALA,KAAK,gBAAAC,eAAA,GAALD,KAAK,CAAEG,QAAQ,cAAAF,eAAA,uBAAfA,eAAA,CAAiBnB,KAA2B;IAC1D,IAAIA,KAAK,EAAE;MACT,MAAMD,cAAc,CAACC,KAAK,CAAC;MAC3B;IACF;IACA,MAAMe,KAAK,GAAGG,KAAK,aAALA,KAAK,gBAAAE,gBAAA,GAALF,KAAK,CAAEG,QAAQ,cAAAD,gBAAA,uBAAfA,gBAAA,CAAiBE,aAAmC;IAClE,IAAIP,KAAK,EAAE;MACT,MAAMD,cAAc,CAACC,KAAK,CAAC;MAC3B;IACF;IACAjB,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEkB,IAAI,CAAC,2DAA2D,CAAC;EAC3E,CAAC,EACD,CAACjB,cAAc,EAAEe,cAAc,EAAEhB,MAAM,CACzC,CAAC;EAED,OAAO;IAAEC,cAAc;IAAEe,cAAc;IAAEG;EAAwB,CAAC;AACpE","ignoreList":[]}
@@ -12,7 +12,7 @@ export const useExpiredNotifications = () => {
12
12
  } = useDeclineReplacement({
13
13
  logger
14
14
  });
15
- const build = useCallback(s => s.expired.filter(oldId => s.checked.includes(oldId)).map(oldId => {
15
+ const build = useCallback(s => s.expired.filter(oldId => s.checked.includes(oldId) && !s.replacements[oldId]).map(oldId => {
16
16
  const lite = s.byId[oldId];
17
17
  const n = {
18
18
  type: OpenIDCustomNotificationType.CredentialExpired,
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useState","credentialRegistry","OpenIDCustomNotificationType","TOKENS","useServices","useDeclineReplacement","useExpiredNotifications","items","setItems","logger","UTIL_LOGGER","declineByOldId","build","s","expired","filter","oldId","checked","includes","map","lite","byId","n","type","CredentialExpired","title","pageTitle","buttonTitle","description","createdAt","Date","onPressAction","onCloseAction","component","metadata","format","getState","unsub","subscribe"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/useExpiredNotifications.ts"],"mappings":"AAAA;AACA,SAASA,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AACxD,SAASC,kBAAkB,QAAuB,qBAAqB;AAEvE,SAASC,4BAA4B,QAAQ,kBAAkB;AAC/D,SAASC,MAAM,EAAEC,WAAW,QAAQ,wBAAwB;AAC5D,SAASC,qBAAqB,QAAQ,yBAAyB;AAE/D,OAAO,MAAMC,uBAAuB,GAAGA,CAAA,KAA4B;EACjE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGR,QAAQ,CAAuB,EAAE,CAAC;EAC5D,MAAM,CAACS,MAAM,CAAC,GAAGL,WAAW,CAAC,CAACD,MAAM,CAACO,WAAW,CAAC,CAAC;EAClD,MAAM;IAAEC;EAAe,CAAC,GAAGN,qBAAqB,CAAC;IAAEI;EAAO,CAAC,CAAC;EAE5D,MAAMG,KAAK,GAAGd,WAAW,CACtBe,CAAgB,IACfA,CAAC,CAACC,OAAO,CACNC,MAAM,CAAEC,KAAK,IAAKH,CAAC,CAACI,OAAO,CAACC,QAAQ,CAACF,KAAK,CAAC,CAAC,CAC5CG,GAAG,CAAEH,KAAK,IAAK;IACd,MAAMI,IAAI,GAAGP,CAAC,CAACQ,IAAI,CAACL,KAAK,CAAC;IAC1B,MAAMM,CAAqB,GAAG;MAC5BC,IAAI,EAAErB,4BAA4B,CAACsB,iBAAiB;MACpDC,KAAK,EAAE,oBAAoB;MAC3BC,SAAS,EAAE,oBAAoB;MAC/BC,WAAW,EAAE,QAAQ;MACrBC,WAAW,EAAE,mFAAmF;MAChGC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC;MACrBC,aAAa,EAAEA,CAAA,KAAM,CAAC,CAAC;MACvBC,aAAa,EAAEA,CAAA,KAAMrB,cAAc,CAACK,KAAK,CAAC;MAC1CiB,SAAS,EAAEA,CAAA,KAAM,IAAI;MACrBC,QAAQ,EAAE;QACRlB,KAAK;QACLmB,MAAM,EAAEf,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEe;MAChB;IACF,CAAC;IACD,OAAOb,CAAC;EACV,CAAC,CAAC,EACN,CAACX,cAAc,CACjB,CAAC;EAEDZ,SAAS,CAAC,MAAM;IACdS,QAAQ,CAACI,KAAK,CAACX,kBAAkB,CAACmC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAMC,KAAK,GAAGpC,kBAAkB,CAACqC,SAAS,CAAEzB,CAAC,IAAKL,QAAQ,CAACI,KAAK,CAACC,CAAC,CAAC,CAAC,CAAC;IACrE,OAAOwB,KAAK;EACd,CAAC,EAAE,CAACzB,KAAK,CAAC,CAAC;EAEX,OAAOL,KAAK;AACd,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useState","credentialRegistry","OpenIDCustomNotificationType","TOKENS","useServices","useDeclineReplacement","useExpiredNotifications","items","setItems","logger","UTIL_LOGGER","declineByOldId","build","s","expired","filter","oldId","checked","includes","replacements","map","lite","byId","n","type","CredentialExpired","title","pageTitle","buttonTitle","description","createdAt","Date","onPressAction","onCloseAction","component","metadata","format","getState","unsub","subscribe"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/useExpiredNotifications.ts"],"mappings":"AAAA;AACA,SAASA,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AACxD,SAASC,kBAAkB,QAAuB,qBAAqB;AAEvE,SAASC,4BAA4B,QAAQ,kBAAkB;AAC/D,SAASC,MAAM,EAAEC,WAAW,QAAQ,wBAAwB;AAC5D,SAASC,qBAAqB,QAAQ,yBAAyB;AAE/D,OAAO,MAAMC,uBAAuB,GAAGA,CAAA,KAA4B;EACjE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGR,QAAQ,CAAuB,EAAE,CAAC;EAC5D,MAAM,CAACS,MAAM,CAAC,GAAGL,WAAW,CAAC,CAACD,MAAM,CAACO,WAAW,CAAC,CAAC;EAClD,MAAM;IAAEC;EAAe,CAAC,GAAGN,qBAAqB,CAAC;IAAEI;EAAO,CAAC,CAAC;EAE5D,MAAMG,KAAK,GAAGd,WAAW,CACtBe,CAAgB,IACfA,CAAC,CAACC,OAAO,CACNC,MAAM,CAAEC,KAAK,IAAKH,CAAC,CAACI,OAAO,CAACC,QAAQ,CAACF,KAAK,CAAC,IAAI,CAACH,CAAC,CAACM,YAAY,CAACH,KAAK,CAAC,CAAC,CACtEI,GAAG,CAAEJ,KAAK,IAAK;IACd,MAAMK,IAAI,GAAGR,CAAC,CAACS,IAAI,CAACN,KAAK,CAAC;IAC1B,MAAMO,CAAqB,GAAG;MAC5BC,IAAI,EAAEtB,4BAA4B,CAACuB,iBAAiB;MACpDC,KAAK,EAAE,oBAAoB;MAC3BC,SAAS,EAAE,oBAAoB;MAC/BC,WAAW,EAAE,QAAQ;MACrBC,WAAW,EAAE,mFAAmF;MAChGC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC;MACrBC,aAAa,EAAEA,CAAA,KAAM,CAAC,CAAC;MACvBC,aAAa,EAAEA,CAAA,KAAMtB,cAAc,CAACK,KAAK,CAAC;MAC1CkB,SAAS,EAAEA,CAAA,KAAM,IAAI;MACrBC,QAAQ,EAAE;QACRnB,KAAK;QACLoB,MAAM,EAAEf,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEe;MAChB;IACF,CAAC;IACD,OAAOb,CAAC;EACV,CAAC,CAAC,EACN,CAACZ,cAAc,CACjB,CAAC;EAEDZ,SAAS,CAAC,MAAM;IACdS,QAAQ,CAACI,KAAK,CAACX,kBAAkB,CAACoC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAMC,KAAK,GAAGrC,kBAAkB,CAACsC,SAAS,CAAE1B,CAAC,IAAKL,QAAQ,CAACI,KAAK,CAACC,CAAC,CAAC,CAAC,CAAC;IACrE,OAAOyB,KAAK;EACd,CAAC,EAAE,CAAC1B,KAAK,CAAC,CAAC;EAEX,OAAOL,KAAK;AACd,CAAC","ignoreList":[]}
@@ -3,82 +3,48 @@ import { useCallback } from 'react';
3
3
  import { useNavigation } from '@react-navigation/native';
4
4
  import { useAgent } from '@bifold/react-hooks';
5
5
  import { Screens, Stacks } from '../../../types/navigators';
6
- import { refreshAccessToken } from '../refresh/refreshToken';
7
- import { reissueCredentialWithAccessToken } from '../refresh/reIssuance';
8
6
  import { useOpenIDCredentials } from '../context/OpenIDCredentialRecordProvider';
9
- import { credentialRegistry } from '../refresh/registry';
10
7
  import { TOKENS, useServices } from '../../../container-api';
8
+ import { refreshAndQueueReplacement } from '../refresh/operations';
11
9
  export const useUpgradeExpiredCredential = () => {
12
10
  const navigation = useNavigation();
13
11
  const {
14
12
  agent
15
13
  } = useAgent();
16
14
  const {
17
- getSdJwtCredentialById
15
+ getCredentialById
18
16
  } = useOpenIDCredentials();
19
17
  const [logger] = useServices([TOKENS.UTIL_LOGGER]);
20
18
  const upgrade = useCallback(async oldId => {
21
- var _newRecord$createdAt;
22
19
  if (!agent) {
23
20
  logger === null || logger === void 0 || logger.warn('⚠️ [Upgrade] Agent not ready, cannot upgrade credential');
24
21
  return;
25
22
  }
26
23
  logger === null || logger === void 0 || logger.info(`🔁 [Upgrade] Starting upgrade flow for oldId=${oldId}`);
27
-
28
- // 1. Load the “old” record
29
- const byId = credentialRegistry.getState().byId[oldId];
30
- if (!byId) {
31
- logger === null || logger === void 0 || logger.warn(`⚠️ [Upgrade] No lite record for oldId=${oldId}`);
32
- return;
33
- }
34
-
35
- // We try all three repos – you can refine this using byId.format if you want
36
- const rec = await getSdJwtCredentialById(oldId);
24
+ const rec = await getCredentialById(oldId);
37
25
  if (!rec) {
38
26
  logger === null || logger === void 0 || logger.warn(`⚠️ [Upgrade] No full record found for oldId=${oldId}`);
39
27
  return;
40
28
  }
41
-
42
- // 2. Use refresh token to get new access token
43
- const token = await refreshAccessToken({
44
- logger,
45
- cred: rec,
46
- agentContext: agent.context
47
- });
48
- if (!token) {
49
- logger === null || logger === void 0 || logger.warn(`⚠️ [Upgrade] No refresh token available for oldId=${oldId}`);
50
- return;
51
- }
52
-
53
- // 3. Re-issue credential using access token
54
- const newRecord = await reissueCredentialWithAccessToken({
29
+ const newRecord = await refreshAndQueueReplacement({
55
30
  agent,
56
31
  logger,
57
- record: rec,
58
- tokenResponse: token
32
+ record: rec
59
33
  });
60
34
  if (!newRecord) {
61
- logger === null || logger === void 0 || logger.warn(`⚠️ [Upgrade] Re-issue returned no record for oldId=${oldId}`);
35
+ logger === null || logger === void 0 || logger.warn(`⚠️ [Upgrade] Could not issue replacement for oldId=${oldId}`);
62
36
  return;
63
37
  }
64
38
  logger === null || logger === void 0 || logger.info(`💾 [Upgrade] New credential issued ${newRecord.id} from oldId=${oldId}`);
65
39
 
66
- // 4. Update registry mapping old -> new (so offer screen can resolve)
67
- credentialRegistry.getState().markExpiredWithReplacement(oldId, {
68
- id: newRecord.id,
69
- format: byId.format,
70
- createdAt: (_newRecord$createdAt = newRecord.createdAt) === null || _newRecord$createdAt === void 0 ? void 0 : _newRecord$createdAt.toISOString(),
71
- issuer: byId.issuer
72
- });
73
-
74
- // 5. Navigate to the OpenID offer screen, passing the new record directly
40
+ // Navigate to the OpenID offer screen, passing the new record directly
75
41
  navigation.navigate(Stacks.ConnectionStack, {
76
42
  screen: Screens.OpenIDCredentialOffer,
77
43
  params: {
78
44
  credential: newRecord
79
45
  }
80
46
  });
81
- }, [agent, logger, navigation, getSdJwtCredentialById]);
47
+ }, [agent, logger, navigation, getCredentialById]);
82
48
  return {
83
49
  upgrade
84
50
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useNavigation","useAgent","Screens","Stacks","refreshAccessToken","reissueCredentialWithAccessToken","useOpenIDCredentials","credentialRegistry","TOKENS","useServices","useUpgradeExpiredCredential","navigation","agent","getSdJwtCredentialById","logger","UTIL_LOGGER","upgrade","oldId","_newRecord$createdAt","warn","info","byId","getState","rec","token","cred","agentContext","context","newRecord","record","tokenResponse","id","markExpiredWithReplacement","format","createdAt","toISOString","issuer","navigate","ConnectionStack","screen","OpenIDCredentialOffer","params","credential"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/useUpgradeExpiredCredential.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useNavigation","useAgent","Screens","Stacks","useOpenIDCredentials","TOKENS","useServices","refreshAndQueueReplacement","useUpgradeExpiredCredential","navigation","agent","getCredentialById","logger","UTIL_LOGGER","upgrade","oldId","warn","info","rec","newRecord","record","id","navigate","ConnectionStack","screen","OpenIDCredentialOffer","params","credential"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/useUpgradeExpiredCredential.ts"],"mappings":"AAAA;AACA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAAyBC,aAAa,QAAQ,0BAA0B;AACxE,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAA0BC,OAAO,EAAEC,MAAM,QAAQ,2BAA2B;AAC5E,SAASC,oBAAoB,QAAQ,2CAA2C;AAChF,SAASC,MAAM,EAAEC,WAAW,QAAQ,wBAAwB;AAC5D,SAASC,0BAA0B,QAAQ,uBAAuB;AAElE,OAAO,MAAMC,2BAA2B,GAAGA,CAAA,KAAM;EAC/C,MAAMC,UAAU,GAAGT,aAAa,CAAkC,CAAC;EACnE,MAAM;IAAEU;EAAM,CAAC,GAAGT,QAAQ,CAAC,CAAC;EAC5B,MAAM;IAAEU;EAAkB,CAAC,GAAGP,oBAAoB,CAAC,CAAC;EACpD,MAAM,CAACQ,MAAM,CAAC,GAAGN,WAAW,CAAC,CAACD,MAAM,CAACQ,WAAW,CAAC,CAAC;EAElD,MAAMC,OAAO,GAAGf,WAAW,CACzB,MAAOgB,KAAa,IAAK;IACvB,IAAI,CAACL,KAAK,EAAE;MACVE,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEI,IAAI,CAAC,yDAAyD,CAAC;MACvE;IACF;IAEAJ,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEK,IAAI,CAAC,gDAAgDF,KAAK,EAAE,CAAC;IAErE,MAAMG,GAAG,GAAG,MAAMP,iBAAiB,CAACI,KAAK,CAAC;IAE1C,IAAI,CAACG,GAAG,EAAE;MACRN,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEI,IAAI,CAAC,+CAA+CD,KAAK,EAAE,CAAC;MACpE;IACF;IAEA,MAAMI,SAAS,GAAG,MAAMZ,0BAA0B,CAAC;MACjDG,KAAK;MACLE,MAAM;MACNQ,MAAM,EAAEF;IACV,CAAC,CAAC;IAEF,IAAI,CAACC,SAAS,EAAE;MACdP,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEI,IAAI,CAAC,sDAAsDD,KAAK,EAAE,CAAC;MAC3E;IACF;IAEAH,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEK,IAAI,CAAC,sCAAsCE,SAAS,CAACE,EAAE,eAAeN,KAAK,EAAE,CAAC;;IAEtF;IACAN,UAAU,CAACa,QAAQ,CAACnB,MAAM,CAACoB,eAAe,EAAE;MAC1CC,MAAM,EAAEtB,OAAO,CAACuB,qBAAqB;MACrCC,MAAM,EAAE;QACNC,UAAU,EAAER;MACd;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAACT,KAAK,EAAEE,MAAM,EAAEH,UAAU,EAAEE,iBAAiB,CAC/C,CAAC;EAED,OAAO;IAAEG;EAAQ,CAAC;AACpB,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { W3cCredentialRecord, SdJwtVcRecord, MdocRecord, W3cCredentialRepository, SdJwtVcRepository, MdocRepository } from '@credo-ts/core';
1
+ import { W3cCredentialRecord, SdJwtVcRecord, MdocRecord, W3cV2CredentialRecord, W3cCredentialRepository, W3cV2CredentialRepository, SdJwtVcRepository, MdocRepository } from '@credo-ts/core';
2
2
  export const openId4VcCredentialMetadataKey = '_bifold/openId4VcCredentialMetadata';
3
3
  export const refreshCredentialMetadataKey = '_bifold/refreshCredentialMetadata';
4
4
  export function extractOpenId4VcCredentialMetadata(credentialMetadata, serverMetadata) {
@@ -52,6 +52,8 @@ export function deleteRefreshCredentialMetadata(credentialRecord) {
52
52
  export async function persistCredentialRecord(agentContext, record) {
53
53
  if (record instanceof W3cCredentialRecord) {
54
54
  await agentContext.dependencyManager.resolve(W3cCredentialRepository).update(agentContext, record);
55
+ } else if (record instanceof W3cV2CredentialRecord) {
56
+ await agentContext.dependencyManager.resolve(W3cV2CredentialRepository).update(agentContext, record);
55
57
  } else if (record instanceof SdJwtVcRecord) {
56
58
  await agentContext.dependencyManager.resolve(SdJwtVcRepository).update(agentContext, record);
57
59
  } else if (record instanceof MdocRecord) {
@@ -1 +1 @@
1
- {"version":3,"names":["W3cCredentialRecord","SdJwtVcRecord","MdocRecord","W3cCredentialRepository","SdJwtVcRepository","MdocRepository","openId4VcCredentialMetadataKey","refreshCredentialMetadataKey","extractOpenId4VcCredentialMetadata","credentialMetadata","serverMetadata","credential","display","order","credential_subject","issuer","id","getOpenId4VcCredentialMetadata","credentialRecord","metadata","get","setOpenId4VcCredentialMetadata","set","getRefreshCredentialMetadata","setRefreshCredentialMetadata","deleteRefreshCredentialMetadata","delete","persistCredentialRecord","agentContext","record","dependencyManager","resolve","update","Error","markOpenIDCredentialStatus","status","refreshMetadata","lastCheckResult","temporaryMetaVanillaObject","notificationMetadata","undefined","tokenResponse"],"sourceRoot":"../../../../src","sources":["modules/openid/metadata.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["W3cCredentialRecord","SdJwtVcRecord","MdocRecord","W3cV2CredentialRecord","W3cCredentialRepository","W3cV2CredentialRepository","SdJwtVcRepository","MdocRepository","openId4VcCredentialMetadataKey","refreshCredentialMetadataKey","extractOpenId4VcCredentialMetadata","credentialMetadata","serverMetadata","credential","display","order","credential_subject","issuer","id","getOpenId4VcCredentialMetadata","credentialRecord","metadata","get","setOpenId4VcCredentialMetadata","set","getRefreshCredentialMetadata","setRefreshCredentialMetadata","deleteRefreshCredentialMetadata","delete","persistCredentialRecord","agentContext","record","dependencyManager","resolve","update","Error","markOpenIDCredentialStatus","status","refreshMetadata","lastCheckResult","temporaryMetaVanillaObject","notificationMetadata","undefined","tokenResponse"],"sourceRoot":"../../../../src","sources":["modules/openid/metadata.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,21 @@
1
1
  import { OpenId4VciCredentialFormatProfile } from '@credo-ts/openid4vc';
2
2
  import { DidJwk, DidKey, Kms } from '@credo-ts/core';
3
3
  import { extractOpenId4VcCredentialMetadata, setOpenId4VcCredentialMetadata } from './metadata';
4
+ const getCredentialConfigurationIdsToRequest = ({
5
+ resolvedCredentialOffer,
6
+ credentialConfigurationIdsToRequest
7
+ }) => {
8
+ const credentialConfigurationIds = credentialConfigurationIdsToRequest ?? [Object.keys(resolvedCredentialOffer.offeredCredentialConfigurations)[0]];
9
+ if (credentialConfigurationIds.length === 0 || !credentialConfigurationIds[0]) {
10
+ throw new Error('No credential configuration ID found in the credential offer.');
11
+ }
12
+ for (const credentialConfigurationId of credentialConfigurationIds) {
13
+ if (!resolvedCredentialOffer.offeredCredentialConfigurations[credentialConfigurationId]) {
14
+ throw new Error(`Parameter 'credentialConfigurationIdsToRequest' with values ${credentialConfigurationIdsToRequest} is not a credential_configuration_id in the credential offer.`);
15
+ }
16
+ }
17
+ return credentialConfigurationIds;
18
+ };
4
19
  export const resolveOpenId4VciOffer = async ({
5
20
  agent,
6
21
  data,
@@ -22,7 +37,7 @@ export const resolveOpenId4VciOffer = async ({
22
37
  });
23
38
  const resolvedCredentialOffer = await agent.openid4vc.holder.resolveCredentialOffer(offerUri);
24
39
  if (authorization) {
25
- throw new Error('Authorization flow is not supported yet as of Credo 0.5.13');
40
+ throw new Error('Authorization code flow is not implemented in this OpenID credential offer flow.');
26
41
  }
27
42
  return resolvedCredentialOffer;
28
43
  };
@@ -31,7 +46,7 @@ export async function acquirePreAuthorizedAccessToken({
31
46
  resolvedCredentialOffer,
32
47
  txCode
33
48
  }) {
34
- return await agent.modules.openid4vc.holder.requestToken({
49
+ return await agent.openid4vc.holder.requestToken({
35
50
  resolvedCredentialOffer,
36
51
  txCode
37
52
  });
@@ -45,13 +60,7 @@ export const customCredentialBindingResolver = async ({
45
60
  proofTypes
46
61
  }) => {
47
62
  var _proofTypes$jwt;
48
- // First, we try to pick a did method
49
- // Prefer did:jwk, otherwise use did:key, otherwise use undefined
50
63
  let didMethod = supportsAllDidMethods || supportedDidMethods !== null && supportedDidMethods !== void 0 && supportedDidMethods.includes('did:jwk') ? 'jwk' : supportedDidMethods !== null && supportedDidMethods !== void 0 && supportedDidMethods.includes('did:key') ? 'key' : undefined;
51
-
52
- // If supportedDidMethods is undefined, and supportsJwk is false, we will default to did:key
53
- // this is important as part of MATTR launchpad support which MUST use did:key but doesn't
54
- // define which did methods they support
55
64
  if (!supportedDidMethods && !supportsJwk) {
56
65
  didMethod = 'key';
57
66
  }
@@ -69,21 +78,20 @@ export const customCredentialBindingResolver = async ({
69
78
  if (didResult.didState.state !== 'finished') {
70
79
  throw new Error('DID creation failed.');
71
80
  }
72
- let verificationMethodId;
81
+ let didUrl;
73
82
  if (didMethod === 'jwk') {
74
- const didJwk = DidJwk.fromDid(didResult.didState.did);
75
- verificationMethodId = didJwk.verificationMethodId;
83
+ didUrl = DidJwk.fromDid(didResult.didState.did).verificationMethodId;
76
84
  } else {
77
85
  const didKey = DidKey.fromDid(didResult.didState.did);
78
- verificationMethodId = `${didKey.did}#${didKey.publicJwk.fingerprint}`;
86
+ didUrl = `${didKey.did}#${didKey.publicJwk.fingerprint}`;
79
87
  }
80
88
  return {
81
- didUrls: [verificationMethodId],
82
- method: 'did'
89
+ method: 'did',
90
+ didUrls: [didUrl]
83
91
  };
84
92
  }
85
93
 
86
- // Otherwise we also support plain jwk for sd-jwt only
94
+ // Fallback: plain jwk for sd-jwt/mdoc only
87
95
  if (supportsJwk && (credentialFormat === OpenId4VciCredentialFormatProfile.SdJwtVc || credentialFormat === OpenId4VciCredentialFormatProfile.MsoMdoc)) {
88
96
  return {
89
97
  method: 'jwk',
@@ -97,31 +105,29 @@ export const receiveCredentialFromOpenId4VciOffer = async ({
97
105
  resolvedCredentialOffer,
98
106
  tokenResponse,
99
107
  credentialConfigurationIdsToRequest,
100
- clientId,
101
- pidSchemes
108
+ clientId
102
109
  }) => {
103
- const offeredCredentialsToRequest = credentialConfigurationIdsToRequest ? Object.entries(resolvedCredentialOffer.offeredCredentialConfigurations).filter(([k]) => credentialConfigurationIdsToRequest.includes(k)) : [Object.values(resolvedCredentialOffer.offeredCredentialConfigurations)[0]];
104
- if (offeredCredentialsToRequest.length === 0) {
105
- throw new Error(`Parameter 'credentialConfigurationIdsToRequest' with values ${credentialConfigurationIdsToRequest} is not a credential_configuration_id in the credential offer.`);
106
- }
110
+ const credentialConfigurationIds = getCredentialConfigurationIdsToRequest({
111
+ resolvedCredentialOffer,
112
+ credentialConfigurationIdsToRequest
113
+ });
107
114
  const credentials = await agent.openid4vc.holder.requestCredentials({
108
115
  resolvedCredentialOffer,
109
116
  ...tokenResponse,
110
117
  clientId,
111
- credentialConfigurationIds: credentialConfigurationIdsToRequest,
118
+ credentialConfigurationIds,
112
119
  verifyCredentialStatus: false,
113
120
  allowedProofOfPossessionSignatureAlgorithms: [
114
121
  // NOTE: MATTR launchpad for JFF MUST use EdDSA. So it is important that the default (first allowed one)
115
122
  // is EdDSA. The list is ordered by preference, so if no suites are defined by the issuer, the first one
116
123
  // will be used
117
- "EdDSA", "ES256"],
124
+ 'EdDSA', 'ES256'],
118
125
  credentialBindingResolver: async ({
119
126
  supportedDidMethods,
120
127
  proofTypes,
121
128
  supportsAllDidMethods,
122
129
  supportsJwk,
123
- credentialFormat,
124
- credentialConfigurationId
130
+ credentialFormat
125
131
  }) => {
126
132
  return customCredentialBindingResolver({
127
133
  agent,
@@ -129,10 +135,7 @@ export const receiveCredentialFromOpenId4VciOffer = async ({
129
135
  proofTypes,
130
136
  supportsAllDidMethods,
131
137
  supportsJwk,
132
- credentialFormat,
133
- credentialConfigurationId,
134
- resolvedCredentialOffer,
135
- pidSchemes
138
+ credentialFormat
136
139
  });
137
140
  }
138
141
  });
@@ -144,36 +147,9 @@ export const receiveCredentialFromOpenId4VciOffer = async ({
144
147
  throw new Error('Error retrieving credential using pre authorized flow: firstCredential is string.');
145
148
  }
146
149
  const record = firstCredential.record;
147
-
148
- // This block likely not necessary anymore? The record seems to be defined on this object already.
149
-
150
- // if ('compact' in firstCredential.) {
151
- // // TODO: add claimFormat to SdJwtVc
152
- // record = new SdJwtVcRecord({
153
- // credentialInstances: firstCredential.credential.compact,
154
- // })
155
- // } else if (firstCredential.credential instanceof Mdoc) {
156
- // record = new MdocRecord({
157
- // mdoc: firstCredential.credential,
158
- // })
159
- // } else {
160
- // record = new W3cCredentialRecord({
161
- // credential: firstCredential.credential as W3cJwtVerifiableCredential | W3cJsonLdVerifiableCredential,
162
- // // We don't support expanded types right now, but would become problem when we support JSON-LD
163
- // tags: {},
164
- // })
165
- // }
166
-
167
- // TODO: Confirm how this should be handled, notificationMetadata for openid4vc may have been removed
168
-
169
- // const notificationMetadata = { ...firstCredential.notificationMetadata }
170
- // if (notificationMetadata) {
171
- // temporaryMetaVanillaObject.notificationMetadata = notificationMetadata
172
- // }
173
-
174
- const openId4VcMetadata = extractOpenId4VcCredentialMetadata(Object.values(resolvedCredentialOffer.offeredCredentialConfigurations)[0], {
150
+ const requestedCredentialConfiguration = resolvedCredentialOffer.offeredCredentialConfigurations[credentialConfigurationIds[0]];
151
+ const openId4VcMetadata = extractOpenId4VcCredentialMetadata(requestedCredentialConfiguration, {
175
152
  id: resolvedCredentialOffer.metadata.credentialIssuer.credential_issuer,
176
- // This might not be correct
177
153
  display: resolvedCredentialOffer.metadata.credentialIssuer.display
178
154
  });
179
155
  setOpenId4VcCredentialMetadata(record, openId4VcMetadata);