@bifold/core 2.4.6 → 2.5.0

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 (401) hide show
  1. package/lib/commonjs/contexts/reducers/store.js +3 -2
  2. package/lib/commonjs/contexts/reducers/store.js.map +1 -1
  3. package/lib/commonjs/index.js +119 -104
  4. package/lib/commonjs/index.js.map +1 -1
  5. package/lib/commonjs/screens/AttemptLockout.js +27 -35
  6. package/lib/commonjs/screens/AttemptLockout.js.map +1 -1
  7. package/lib/commonjs/screens/MobileVerifierLoading.js +4 -3
  8. package/lib/commonjs/screens/MobileVerifierLoading.js.map +1 -1
  9. package/lib/commonjs/screens/PINCreate.js +3 -10
  10. package/lib/commonjs/screens/PINCreate.js.map +1 -1
  11. package/lib/commonjs/screens/WhatAreContacts.js +3 -2
  12. package/lib/commonjs/screens/WhatAreContacts.js.map +1 -1
  13. package/lib/module/contexts/reducers/store.js +3 -2
  14. package/lib/module/contexts/reducers/store.js.map +1 -1
  15. package/lib/module/index.js +42 -45
  16. package/lib/module/index.js.map +1 -1
  17. package/lib/module/screens/AttemptLockout.js +28 -36
  18. package/lib/module/screens/AttemptLockout.js.map +1 -1
  19. package/lib/module/screens/MobileVerifierLoading.js +4 -3
  20. package/lib/module/screens/MobileVerifierLoading.js.map +1 -1
  21. package/lib/module/screens/PINCreate.js +3 -10
  22. package/lib/module/screens/PINCreate.js.map +1 -1
  23. package/lib/module/screens/WhatAreContacts.js +3 -2
  24. package/lib/module/screens/WhatAreContacts.js.map +1 -1
  25. package/lib/typescript/src/contexts/reducers/store.d.ts.map +1 -1
  26. package/lib/typescript/src/index.d.ts +57 -61
  27. package/lib/typescript/src/index.d.ts.map +1 -1
  28. package/lib/typescript/src/screens/AttemptLockout.d.ts.map +1 -1
  29. package/lib/typescript/src/screens/MobileVerifierLoading.d.ts.map +1 -1
  30. package/lib/typescript/src/screens/PINCreate.d.ts.map +1 -1
  31. package/lib/typescript/src/screens/WhatAreContacts.d.ts.map +1 -1
  32. package/package.json +3 -4
  33. package/src/App.tsx +0 -79
  34. package/src/animated-components.ts +0 -30
  35. package/src/assets/fonts/MaterialIcons.ttf +0 -0
  36. package/src/assets/icons/code.svg +0 -4
  37. package/src/assets/icons/large-arrow.svg +0 -5
  38. package/src/assets/icons/pencil.svg +0 -15
  39. package/src/assets/icons/trash.svg +0 -31
  40. package/src/assets/img/Artwork_1024x1024.png +0 -0
  41. package/src/assets/img/HistoryCardAcceptedIcon.svg +0 -4
  42. package/src/assets/img/HistoryCardExpiredIcon.svg +0 -4
  43. package/src/assets/img/HistoryCardRevokedIcon.svg +0 -4
  44. package/src/assets/img/HistoryInformationSentIcon.svg +0 -4
  45. package/src/assets/img/HistoryPinUpdatedIcon.svg +0 -4
  46. package/src/assets/img/IconChevronRight.svg +0 -5
  47. package/src/assets/img/activity-indicator-circle.svg +0 -90
  48. package/src/assets/img/app-lockout.svg +0 -1
  49. package/src/assets/img/biometrics.svg +0 -74
  50. package/src/assets/img/chat-loading.svg +0 -1
  51. package/src/assets/img/check-in-circle.svg +0 -18
  52. package/src/assets/img/connection-pending.svg +0 -112
  53. package/src/assets/img/contact-book.svg +0 -21
  54. package/src/assets/img/credential-card.svg +0 -18
  55. package/src/assets/img/credential-declined.svg +0 -28
  56. package/src/assets/img/credential-in-hand.svg +0 -48
  57. package/src/assets/img/credential-list.svg +0 -60
  58. package/src/assets/img/credential-pending.svg +0 -96
  59. package/src/assets/img/credential-success.svg +0 -48
  60. package/src/assets/img/delete-notification.svg +0 -1
  61. package/src/assets/img/empty-wallet.svg +0 -23
  62. package/src/assets/img/error-filled.svg +0 -12
  63. package/src/assets/img/exclamation-mark.svg +0 -17
  64. package/src/assets/img/home-center-img.svg +0 -71
  65. package/src/assets/img/icon-credential-offer-dark.svg +0 -7
  66. package/src/assets/img/icon-credential-offer-light.svg +0 -7
  67. package/src/assets/img/icon-info-recieved-dark.svg +0 -8
  68. package/src/assets/img/icon-info-recieved-light.svg +0 -8
  69. package/src/assets/img/icon-info-sent-dark.svg +0 -8
  70. package/src/assets/img/icon-info-sent-light.svg +0 -8
  71. package/src/assets/img/icon-proof-request-dark.svg +0 -11
  72. package/src/assets/img/icon-proof-request-light.svg +0 -11
  73. package/src/assets/img/information-received.svg +0 -1
  74. package/src/assets/img/logo-large.png +0 -0
  75. package/src/assets/img/logo-large@2x.png +0 -0
  76. package/src/assets/img/logo-large@3x.png +0 -0
  77. package/src/assets/img/logo.svg +0 -15
  78. package/src/assets/img/message-text-icon-outline.svg +0 -1
  79. package/src/assets/img/message-text-icon.svg +0 -1
  80. package/src/assets/img/no_information_shared.svg +0 -36
  81. package/src/assets/img/preface.svg +0 -15
  82. package/src/assets/img/proof-declined.svg +0 -66
  83. package/src/assets/img/proof-pending.svg +0 -61
  84. package/src/assets/img/proof-success.svg +0 -72
  85. package/src/assets/img/push-notifications.svg +0 -1
  86. package/src/assets/img/qrcode-scan-icon.svg +0 -1
  87. package/src/assets/img/scan-share.svg +0 -102
  88. package/src/assets/img/secure-check.svg +0 -4
  89. package/src/assets/img/secure-image.svg +0 -64
  90. package/src/assets/img/update-available.svg +0 -26
  91. package/src/assets/img/verifier-request-declined.svg +0 -34
  92. package/src/assets/img/wallet-back.svg +0 -20
  93. package/src/assets/img/wallet-front.svg +0 -32
  94. package/src/assets/img/wallet-icon-outline.svg +0 -1
  95. package/src/assets/img/wallet-icon.svg +0 -1
  96. package/src/assets/img/wallet.svg +0 -43
  97. package/src/assets/oca-bundles.json +0 -174
  98. package/src/components/animated/ButtonLoading.tsx +0 -32
  99. package/src/components/animated/ConnectionLoading.tsx +0 -53
  100. package/src/components/animated/CredentialAdded.tsx +0 -72
  101. package/src/components/animated/CredentialPending.tsx +0 -63
  102. package/src/components/animated/LoadingIndicator.tsx +0 -49
  103. package/src/components/animated/PresentationLoading.tsx +0 -52
  104. package/src/components/animated/RecordLoading.tsx +0 -75
  105. package/src/components/animated/SendingProof.tsx +0 -53
  106. package/src/components/animated/SentProof.tsx +0 -72
  107. package/src/components/buttons/Button-api.tsx +0 -46
  108. package/src/components/buttons/Button.tsx +0 -125
  109. package/src/components/buttons/HeaderHome.tsx +0 -25
  110. package/src/components/buttons/IconButton.tsx +0 -93
  111. package/src/components/buttons/InfoIcon.tsx +0 -35
  112. package/src/components/buttons/SettingsMenu.tsx +0 -26
  113. package/src/components/buttons/ToggleButton.tsx +0 -93
  114. package/src/components/buttons/index.ts +0 -4
  115. package/src/components/chat/ActionSlider.tsx +0 -104
  116. package/src/components/chat/ChatActions.tsx +0 -33
  117. package/src/components/chat/ChatBubble.tsx +0 -20
  118. package/src/components/chat/ChatEvent.tsx +0 -31
  119. package/src/components/chat/ChatMessage.tsx +0 -142
  120. package/src/components/chat/MessageInput.tsx +0 -46
  121. package/src/components/chat/index.ts +0 -4
  122. package/src/components/forms/WalletNameForm.tsx +0 -148
  123. package/src/components/index.ts +0 -4
  124. package/src/components/inputs/BiometryControl.tsx +0 -190
  125. package/src/components/inputs/BulletPoint.tsx +0 -32
  126. package/src/components/inputs/CheckBoxRow.tsx +0 -67
  127. package/src/components/inputs/InlineErrorText.tsx +0 -60
  128. package/src/components/inputs/LimitedTextInput.tsx +0 -71
  129. package/src/components/inputs/PINInput.tsx +0 -175
  130. package/src/components/inputs/SingleSelectBlock.tsx +0 -53
  131. package/src/components/listItems/ContactCredentialListItem.tsx +0 -79
  132. package/src/components/listItems/ContactListItem.tsx +0 -121
  133. package/src/components/listItems/NotificationListItem.tsx +0 -514
  134. package/src/components/misc/AvatarView.tsx +0 -33
  135. package/src/components/misc/CardWatermark.tsx +0 -52
  136. package/src/components/misc/ConnectionAlert.tsx +0 -123
  137. package/src/components/misc/ConnectionImage.tsx +0 -45
  138. package/src/components/misc/ContentGradient.tsx +0 -40
  139. package/src/components/misc/CredentialCard.tsx +0 -161
  140. package/src/components/misc/CredentialCard10.tsx +0 -329
  141. package/src/components/misc/CredentialCard11.tsx +0 -701
  142. package/src/components/misc/CredentialCard11ActionFooter.tsx +0 -55
  143. package/src/components/misc/CredentialCard11Issuer.tsx +0 -74
  144. package/src/components/misc/CredentialCard11Logo.tsx +0 -61
  145. package/src/components/misc/EmptyList.tsx +0 -27
  146. package/src/components/misc/EmptyListContacts.tsx +0 -55
  147. package/src/components/misc/ErrorBoundary.tsx +0 -200
  148. package/src/components/misc/FauxHeader.tsx +0 -75
  149. package/src/components/misc/InfoBox.tsx +0 -283
  150. package/src/components/misc/NoNewUpdates.tsx +0 -38
  151. package/src/components/misc/PINHeader.tsx +0 -25
  152. package/src/components/misc/PINValidationHelper.tsx +0 -48
  153. package/src/components/misc/Pagination.tsx +0 -114
  154. package/src/components/misc/QRRenderer.tsx +0 -53
  155. package/src/components/misc/QRScanner.tsx +0 -395
  156. package/src/components/misc/QRScannerTorch.tsx +0 -74
  157. package/src/components/misc/ScanCamera.tsx +0 -86
  158. package/src/components/misc/ScanTab.tsx +0 -45
  159. package/src/components/misc/SharedProofData.tsx +0 -98
  160. package/src/components/misc/UnorderedList.tsx +0 -28
  161. package/src/components/misc/VerifierCredentialCard.tsx +0 -378
  162. package/src/components/misc/index.ts +0 -2
  163. package/src/components/modals/AlertModal.tsx +0 -42
  164. package/src/components/modals/AppGuideModal.tsx +0 -142
  165. package/src/components/modals/CameraDisclosureModal.tsx +0 -126
  166. package/src/components/modals/CommonRemoveModal.tsx +0 -337
  167. package/src/components/modals/DeveloperModal.tsx +0 -32
  168. package/src/components/modals/DismissiblePopupModal.tsx +0 -169
  169. package/src/components/modals/ErrorModal.tsx +0 -107
  170. package/src/components/modals/ImageModal.tsx +0 -80
  171. package/src/components/modals/NetInfoModal.tsx +0 -35
  172. package/src/components/modals/PopupModal.tsx +0 -56
  173. package/src/components/modals/ProofCancelModal.tsx +0 -79
  174. package/src/components/modals/SafeAreaModal.tsx +0 -17
  175. package/src/components/record/Record.tsx +0 -100
  176. package/src/components/record/RecordBinaryField.tsx +0 -55
  177. package/src/components/record/RecordDateIntField.tsx +0 -63
  178. package/src/components/record/RecordField.tsx +0 -154
  179. package/src/components/record/RecordFooter.tsx +0 -17
  180. package/src/components/record/RecordHeader.tsx +0 -17
  181. package/src/components/record/RecordRemove.tsx +0 -66
  182. package/src/components/texts/HeaderTitle.tsx +0 -25
  183. package/src/components/texts/HighlightTextBox.tsx +0 -41
  184. package/src/components/texts/InfoTextBox.tsx +0 -129
  185. package/src/components/texts/Link.tsx +0 -41
  186. package/src/components/texts/Text.tsx +0 -21
  187. package/src/components/texts/ThemedText.tsx +0 -24
  188. package/src/components/toast/BaseToast.tsx +0 -128
  189. package/src/components/toast/ToastConfig.tsx +0 -21
  190. package/src/components/tour/AttachTourStep.tsx +0 -73
  191. package/src/components/tour/CredentialOfferTourSteps.tsx +0 -41
  192. package/src/components/tour/CredentialsTourSteps.tsx +0 -41
  193. package/src/components/tour/HomeTourSteps.tsx +0 -104
  194. package/src/components/tour/ProofRequestTourSteps.tsx +0 -41
  195. package/src/components/tour/SpotCutout.tsx +0 -65
  196. package/src/components/tour/TourBox.tsx +0 -255
  197. package/src/components/tour/TourOverlay.tsx +0 -134
  198. package/src/components/views/Banner.tsx +0 -181
  199. package/src/components/views/CredentialCardLogo.tsx +0 -77
  200. package/src/components/views/CredentialDetailPrimaryHeader.tsx +0 -107
  201. package/src/components/views/CredentialDetailSecondaryHeader.tsx +0 -60
  202. package/src/components/views/HeaderWithBanner.tsx +0 -17
  203. package/src/components/views/HomeFooterView.tsx +0 -110
  204. package/src/components/views/HomeHeaderView.tsx +0 -12
  205. package/src/components/views/KeyboardView.tsx +0 -41
  206. package/src/components/views/LoadingPlaceholder.tsx +0 -168
  207. package/src/components/views/LoadingView.tsx +0 -29
  208. package/src/components/views/ProgressBar.tsx +0 -53
  209. package/src/components/views/PushNotificationsContent.tsx +0 -51
  210. package/src/components/views/PushNotificationsDisabledContent.tsx +0 -47
  211. package/src/configs/ledgers/indy/index.ts +0 -8
  212. package/src/configs/ledgers/indy/ledgers.json +0 -51
  213. package/src/constants.ts +0 -107
  214. package/src/container-api.ts +0 -247
  215. package/src/container-impl.ts +0 -243
  216. package/src/contexts/activity.tsx +0 -145
  217. package/src/contexts/animated-components.ts +0 -9
  218. package/src/contexts/auth.tsx +0 -240
  219. package/src/contexts/index.ts +0 -3
  220. package/src/contexts/navigation.tsx +0 -19
  221. package/src/contexts/network.tsx +0 -125
  222. package/src/contexts/reducers/index.ts +0 -3
  223. package/src/contexts/reducers/store.ts +0 -754
  224. package/src/contexts/store.tsx +0 -103
  225. package/src/contexts/theme.tsx +0 -51
  226. package/src/contexts/tour/tour-context.tsx +0 -160
  227. package/src/contexts/tour/tour-provider.tsx +0 -160
  228. package/src/hooks/bundle-resolver.ts +0 -95
  229. package/src/hooks/chat-messages.tsx +0 -263
  230. package/src/hooks/connections.ts +0 -37
  231. package/src/hooks/credential-card-styles.ts +0 -144
  232. package/src/hooks/credentials.ts +0 -11
  233. package/src/hooks/deep-links.ts +0 -49
  234. package/src/hooks/developer-mode.ts +0 -25
  235. package/src/hooks/lockout.ts +0 -77
  236. package/src/hooks/notifications.ts +0 -108
  237. package/src/hooks/oob.ts +0 -17
  238. package/src/hooks/proof-request-templates.ts +0 -40
  239. package/src/hooks/proofs.ts +0 -32
  240. package/src/hooks/screen-capture.ts +0 -52
  241. package/src/hooks/useBifoldAgentSetup.ts +0 -169
  242. package/src/hooks/useOnboardingState.ts +0 -53
  243. package/src/hooks/usePINValidation.ts +0 -98
  244. package/src/index.ts +0 -239
  245. package/src/layout/ScreenLayout.tsx +0 -53
  246. package/src/localization/en/en.json +0 -951
  247. package/src/localization/en/index.ts +0 -3
  248. package/src/localization/fr/fr.json +0 -933
  249. package/src/localization/fr/index.ts +0 -3
  250. package/src/localization/index.ts +0 -66
  251. package/src/localization/pt-br/index.ts +0 -3
  252. package/src/localization/pt-br/pt-br.json +0 -911
  253. package/src/modules/history/context/historyManager.tsx +0 -247
  254. package/src/modules/history/index.ts +0 -2
  255. package/src/modules/history/navigation/HistoryStack.tsx +0 -29
  256. package/src/modules/history/services/queue.service.tsx +0 -31
  257. package/src/modules/history/types/index.ts +0 -92
  258. package/src/modules/history/ui/HistoryPage.tsx +0 -133
  259. package/src/modules/history/ui/HistorySettings.tsx +0 -183
  260. package/src/modules/history/ui/assets/img/HistoryCardAcceptedIcon.svg +0 -4
  261. package/src/modules/history/ui/assets/img/HistoryCardExpiredIcon.svg +0 -4
  262. package/src/modules/history/ui/assets/img/HistoryCardRevokedIcon.svg +0 -4
  263. package/src/modules/history/ui/assets/img/HistoryInformationSentIcon.svg +0 -4
  264. package/src/modules/history/ui/assets/img/HistoryPinUpdatedIcon.svg +0 -4
  265. package/src/modules/history/ui/assets/img/IconChevronRight.svg +0 -3
  266. package/src/modules/history/ui/components/BulletPoint.tsx +0 -49
  267. package/src/modules/history/ui/components/HistoryListItem.tsx +0 -251
  268. package/src/modules/history/ui/components/HistoryMenu.tsx +0 -25
  269. package/src/modules/history/ui/components/SingleSelectBlock.tsx +0 -72
  270. package/src/modules/openid/components/CredentialRowCard.tsx +0 -64
  271. package/src/modules/openid/components/OpenIDCredentialCard.tsx +0 -276
  272. package/src/modules/openid/context/OpenIDCredentialRecordProvider.tsx +0 -296
  273. package/src/modules/openid/display.tsx +0 -467
  274. package/src/modules/openid/displayProof.tsx +0 -86
  275. package/src/modules/openid/hooks/openid.tsx +0 -111
  276. package/src/modules/openid/metadata.tsx +0 -59
  277. package/src/modules/openid/offerResolve.tsx +0 -281
  278. package/src/modules/openid/resolverProof.tsx +0 -286
  279. package/src/modules/openid/screens/OpenIDCredentialDetails.tsx +0 -214
  280. package/src/modules/openid/screens/OpenIDCredentialOffer.tsx +0 -192
  281. package/src/modules/openid/screens/OpenIDProofChangeCredential.tsx +0 -133
  282. package/src/modules/openid/screens/OpenIDProofPresentation.tsx +0 -423
  283. package/src/modules/openid/types.tsx +0 -111
  284. package/src/modules/openid/utils/utils.tsx +0 -119
  285. package/src/navigators/ConnectStack.tsx +0 -68
  286. package/src/navigators/ContactStack.tsx +0 -91
  287. package/src/navigators/CredentialStack.tsx +0 -48
  288. package/src/navigators/DeliveryStack.tsx +0 -76
  289. package/src/navigators/HomeStack.tsx +0 -37
  290. package/src/navigators/MainStack.tsx +0 -146
  291. package/src/navigators/NotificationStack.tsx +0 -56
  292. package/src/navigators/OnboardingScreens.ts +0 -142
  293. package/src/navigators/OnboardingStack.tsx +0 -205
  294. package/src/navigators/ProofRequestStack.tsx +0 -113
  295. package/src/navigators/RootStack.tsx +0 -71
  296. package/src/navigators/SettingStack.tsx +0 -174
  297. package/src/navigators/TabStack.tsx +0 -304
  298. package/src/navigators/defaultLayoutOptions.tsx +0 -17
  299. package/src/navigators/defaultStackOptions.tsx +0 -102
  300. package/src/navigators/index.ts +0 -27
  301. package/src/onboarding.ts +0 -90
  302. package/src/screens/AttemptLockout.tsx +0 -153
  303. package/src/screens/AutoLock.tsx +0 -140
  304. package/src/screens/Biometry.tsx +0 -54
  305. package/src/screens/Chat.tsx +0 -141
  306. package/src/screens/ConfigureMediator.tsx +0 -160
  307. package/src/screens/Connection.tsx +0 -394
  308. package/src/screens/ContactDetails.tsx +0 -350
  309. package/src/screens/CredentialDetails.tsx +0 -473
  310. package/src/screens/CredentialOffer.tsx +0 -334
  311. package/src/screens/CredentialOfferAccept.tsx +0 -189
  312. package/src/screens/DataRetention.tsx +0 -91
  313. package/src/screens/Developer.tsx +0 -289
  314. package/src/screens/Home.tsx +0 -173
  315. package/src/screens/JSONDetails.tsx +0 -104
  316. package/src/screens/Language.tsx +0 -97
  317. package/src/screens/ListContacts.tsx +0 -112
  318. package/src/screens/ListCredentials.tsx +0 -135
  319. package/src/screens/ListProofRequests.tsx +0 -148
  320. package/src/screens/MobileVerifierLoading.tsx +0 -106
  321. package/src/screens/NameWallet.tsx +0 -9
  322. package/src/screens/Onboarding.tsx +0 -162
  323. package/src/screens/OnboardingPages.tsx +0 -160
  324. package/src/screens/PINChange.tsx +0 -249
  325. package/src/screens/PINCreate.tsx +0 -185
  326. package/src/screens/PINEnter.tsx +0 -432
  327. package/src/screens/PINExplainer.tsx +0 -85
  328. package/src/screens/PINVerify.tsx +0 -195
  329. package/src/screens/PasteUrl.tsx +0 -140
  330. package/src/screens/Preface.tsx +0 -78
  331. package/src/screens/ProofChangeCredential.tsx +0 -179
  332. package/src/screens/ProofDetails.tsx +0 -348
  333. package/src/screens/ProofRequest.tsx +0 -999
  334. package/src/screens/ProofRequestAccept.tsx +0 -133
  335. package/src/screens/ProofRequestDetails.tsx +0 -270
  336. package/src/screens/ProofRequestUsageHistory.tsx +0 -152
  337. package/src/screens/ProofRequesting.tsx +0 -245
  338. package/src/screens/PushNotifications.tsx +0 -59
  339. package/src/screens/RenameContact.tsx +0 -155
  340. package/src/screens/RenameWallet.tsx +0 -26
  341. package/src/screens/Scan.tsx +0 -145
  342. package/src/screens/ScanHelp.tsx +0 -48
  343. package/src/screens/Settings.tsx +0 -415
  344. package/src/screens/Splash.tsx +0 -80
  345. package/src/screens/Terms.tsx +0 -127
  346. package/src/screens/ToggleBiometry.tsx +0 -153
  347. package/src/screens/TogglePushNotifications.tsx +0 -118
  348. package/src/screens/Tours.tsx +0 -93
  349. package/src/screens/UpdateAvailable.tsx +0 -119
  350. package/src/screens/WhatAreContacts.tsx +0 -71
  351. package/src/services/bifoldLogger.ts +0 -3
  352. package/src/services/keychain.ts +0 -184
  353. package/src/services/logger.ts +0 -89
  354. package/src/services/storage.ts +0 -136
  355. package/src/theme-builder.ts +0 -157
  356. package/src/theme.interface.ts +0 -580
  357. package/src/theme.ts +0 -1346
  358. package/src/types/attempt-lockout-config.ts +0 -8
  359. package/src/types/attestation.ts +0 -17
  360. package/src/types/chat.ts +0 -4
  361. package/src/types/config.ts +0 -64
  362. package/src/types/contact-details.ts +0 -5
  363. package/src/types/credential-list-footer.ts +0 -3
  364. package/src/types/credential-status.ts +0 -3
  365. package/src/types/credentials.ts +0 -7
  366. package/src/types/decline.ts +0 -5
  367. package/src/types/error.ts +0 -40
  368. package/src/types/fn.ts +0 -2
  369. package/src/types/genesis.ts +0 -35
  370. package/src/types/index.ts +0 -2
  371. package/src/types/metadata.ts +0 -16
  372. package/src/types/navigators.ts +0 -239
  373. package/src/types/notification.ts +0 -24
  374. package/src/types/permissions.ts +0 -2
  375. package/src/types/proof-items.ts +0 -32
  376. package/src/types/react-i18next.d.ts +0 -10
  377. package/src/types/remove.ts +0 -8
  378. package/src/types/security.ts +0 -32
  379. package/src/types/settings.ts +0 -28
  380. package/src/types/state.ts +0 -97
  381. package/src/types/tour.ts +0 -20
  382. package/src/types/version-check.ts +0 -18
  383. package/src/utils/PINValidation.ts +0 -98
  384. package/src/utils/agent.ts +0 -128
  385. package/src/utils/anonCredsProofRequestMapper.ts +0 -205
  386. package/src/utils/contacts.ts +0 -59
  387. package/src/utils/cred-def.ts +0 -33
  388. package/src/utils/credential.ts +0 -37
  389. package/src/utils/crypto.ts +0 -12
  390. package/src/utils/fileCache.ts +0 -152
  391. package/src/utils/helpers.ts +0 -1292
  392. package/src/utils/ledger.ts +0 -212
  393. package/src/utils/luminance.ts +0 -40
  394. package/src/utils/mediatorhelpers.ts +0 -71
  395. package/src/utils/migration.ts +0 -40
  396. package/src/utils/network.tsx +0 -55
  397. package/src/utils/oca.ts +0 -173
  398. package/src/utils/parsers.tsx +0 -111
  399. package/src/utils/proofBundle.ts +0 -220
  400. package/src/utils/schema.ts +0 -28
  401. package/src/utils/testable.ts +0 -17
@@ -1,108 +0,0 @@
1
- import {
2
- BasicMessageRecord,
3
- CredentialExchangeRecord as CredentialRecord,
4
- CredentialState,
5
- MdocRecord,
6
- ProofExchangeRecord,
7
- ProofState,
8
- SdJwtVcRecord,
9
- W3cCredentialRecord,
10
- } from '@credo-ts/core'
11
- import { useBasicMessages, useCredentialByState, useProofByState } from '@credo-ts/react-hooks'
12
- import { ProofCustomMetadata, ProofMetadata } from '@bifold/verifier'
13
- import { useEffect, useState } from 'react'
14
-
15
- import {
16
- BasicMessageMetadata,
17
- CredentialMetadata,
18
- basicMessageCustomMetadata,
19
- credentialCustomMetadata,
20
- } from '../types/metadata'
21
- import { useOpenID } from '../modules/openid/hooks/openid'
22
- import { CustomNotification } from '../types/notification'
23
- import { OpenId4VPRequestRecord } from '../modules/openid/types'
24
-
25
- export type NotificationsInputProps = {
26
- openIDUri?: string
27
- openIDPresentationUri?: string
28
- }
29
-
30
- export type NotificationReturnType = Array<
31
- | BasicMessageRecord
32
- | CredentialRecord
33
- | ProofExchangeRecord
34
- | CustomNotification
35
- | SdJwtVcRecord
36
- | W3cCredentialRecord
37
- | MdocRecord
38
- | OpenId4VPRequestRecord
39
- >
40
-
41
- export const useNotifications = ({
42
- openIDUri,
43
- openIDPresentationUri,
44
- }: NotificationsInputProps): NotificationReturnType => {
45
- const [notifications, setNotifications] = useState<NotificationReturnType>([])
46
- const { records: basicMessages } = useBasicMessages()
47
- const offers = useCredentialByState(CredentialState.OfferReceived)
48
- const proofsRequested = useProofByState(ProofState.RequestReceived)
49
- const credsReceived = useCredentialByState(CredentialState.CredentialReceived)
50
- const credsDone = useCredentialByState(CredentialState.Done)
51
- const proofsDone = useProofByState([ProofState.Done, ProofState.PresentationReceived])
52
- const openIDCredRecieved = useOpenID({ openIDUri: openIDUri, openIDPresentationUri: openIDPresentationUri })
53
-
54
- useEffect(() => {
55
- // get all unseen messages
56
- const unseenMessages: BasicMessageRecord[] = basicMessages.filter((msg) => {
57
- const meta = msg.metadata.get(BasicMessageMetadata.customMetadata) as basicMessageCustomMetadata
58
- return !meta?.seen
59
- })
60
-
61
- // add one unseen message per contact to notifications
62
- const contactsWithUnseenMessages: string[] = []
63
- const messagesToShow: BasicMessageRecord[] = []
64
-
65
- unseenMessages.forEach((msg) => {
66
- if (!contactsWithUnseenMessages.includes(msg.connectionId)) {
67
- contactsWithUnseenMessages.push(msg.connectionId)
68
- messagesToShow.push(msg)
69
- }
70
- })
71
-
72
- const validProofsDone = proofsDone.filter((proof: ProofExchangeRecord) => {
73
- if (proof.isVerified === undefined) {
74
- return false
75
- }
76
-
77
- const metadata = proof.metadata.get(ProofMetadata.customMetadata) as ProofCustomMetadata
78
-
79
- return !metadata?.details_seen
80
- })
81
-
82
- const revoked = credsDone.filter((cred: CredentialRecord) => {
83
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
84
- const metadata = cred!.metadata.get(CredentialMetadata.customMetadata) as credentialCustomMetadata
85
- if (cred?.revocationNotification && metadata?.revoked_seen == undefined) {
86
- return cred
87
- }
88
- })
89
-
90
- const openIDCreds: Array<SdJwtVcRecord | W3cCredentialRecord | MdocRecord | OpenId4VPRequestRecord> = []
91
- if (openIDCredRecieved) {
92
- openIDCreds.push(openIDCredRecieved)
93
- }
94
-
95
- const notif = [
96
- ...messagesToShow,
97
- ...offers,
98
- ...proofsRequested,
99
- ...validProofsDone,
100
- ...revoked,
101
- ...openIDCreds,
102
- ].sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime())
103
-
104
- setNotifications(notif)
105
- }, [basicMessages, credsReceived, proofsDone, proofsRequested, offers, credsDone, openIDCredRecieved])
106
-
107
- return notifications
108
- }
package/src/hooks/oob.ts DELETED
@@ -1,17 +0,0 @@
1
- import { OutOfBandRecord } from '@credo-ts/core'
2
- import { useAgent } from '@credo-ts/react-hooks'
3
- import { useState } from 'react'
4
-
5
- export const useOutOfBandByReceivedInvitationId = (receivedInvitationId: string): OutOfBandRecord | undefined => {
6
- const { agent } = useAgent()
7
-
8
- const [oob, setOob] = useState<OutOfBandRecord | undefined>(undefined)
9
- if (!oob) {
10
- agent?.oob.findByReceivedInvitationId(receivedInvitationId).then((res) => {
11
- if (res) {
12
- setOob(res)
13
- }
14
- })
15
- }
16
- return oob
17
- }
@@ -1,40 +0,0 @@
1
- import { ProofRequestTemplate } from '@bifold/verifier'
2
- import { useEffect, useState } from 'react'
3
-
4
- import { TOKENS, useServices } from '../container-api'
5
- import { useStore } from '../contexts/store'
6
- import { applyTemplateMarkers, useRemoteProofBundleResolver } from '../utils/proofBundle'
7
-
8
- export const useTemplates = (): Array<ProofRequestTemplate> => {
9
- const [store] = useStore()
10
- const [proofRequestTemplates, setProofRequestTemplates] = useState<ProofRequestTemplate[]>([])
11
- const [{ proofTemplateBaseUrl }, logger] = useServices([TOKENS.CONFIG, TOKENS.UTIL_LOGGER])
12
- const resolver = useRemoteProofBundleResolver(proofTemplateBaseUrl, logger)
13
-
14
- useEffect(() => {
15
- resolver.resolve(store.preferences.acceptDevCredentials).then((templates) => {
16
- if (templates) {
17
- setProofRequestTemplates(applyTemplateMarkers(templates))
18
- }
19
- })
20
- }, [resolver, store.preferences.acceptDevCredentials])
21
-
22
- return proofRequestTemplates
23
- }
24
-
25
- export const useTemplate = (templateId: string): ProofRequestTemplate | undefined => {
26
- const [store] = useStore()
27
- const [proofRequestTemplate, setProofRequestTemplate] = useState<ProofRequestTemplate | undefined>(undefined)
28
- const [{ proofTemplateBaseUrl }] = useServices([TOKENS.CONFIG])
29
- const resolver = useRemoteProofBundleResolver(proofTemplateBaseUrl)
30
-
31
- useEffect(() => {
32
- resolver.resolveById(templateId, store.preferences.acceptDevCredentials).then((template) => {
33
- if (template) {
34
- setProofRequestTemplate(applyTemplateMarkers(template))
35
- }
36
- })
37
- }, [resolver, templateId, store.preferences.acceptDevCredentials])
38
-
39
- return proofRequestTemplate
40
- }
@@ -1,32 +0,0 @@
1
- import { ProofExchangeRecord } from '@credo-ts/core'
2
- import { useAgent, useCredentials, useProofById, useProofs } from '@credo-ts/react-hooks'
3
- import { useMemo } from 'react'
4
- import { useTranslation } from 'react-i18next'
5
-
6
- import { TOKENS, useServices } from '../container-api'
7
- import { retrieveCredentialsForProof } from '../utils/helpers'
8
-
9
- export const useProofsByConnectionId = (connectionId: string): ProofExchangeRecord[] => {
10
- const { records: proofs } = useProofs()
11
-
12
- return useMemo(
13
- () => proofs.filter((proof: ProofExchangeRecord) => proof.connectionId === connectionId),
14
- [proofs, connectionId]
15
- )
16
- }
17
-
18
- export const useAllCredentialsForProof = (proofId: string) => {
19
- const { t } = useTranslation()
20
- const { agent } = useAgent()
21
- const fullCredentials = useCredentials().records
22
- const proof = useProofById(proofId)
23
- const [groupByReferent] = useServices([TOKENS.GROUP_BY_REFERENT])
24
-
25
- return useMemo(() => {
26
- if (!proof || !agent) {
27
- return
28
- }
29
-
30
- return retrieveCredentialsForProof(agent, proof, fullCredentials, t, groupByReferent)
31
- }, [proof, agent, fullCredentials, t, groupByReferent])
32
- }
@@ -1,52 +0,0 @@
1
- import { useEffect } from 'react'
2
- import { Platform } from 'react-native'
3
- import ScreenGuardModule from 'react-native-screenguard'
4
-
5
- export const screenGuardOptions = {
6
- timeAfterResume: 500, // milliseconds
7
- backgroundColor: '#000000', // black
8
- }
9
-
10
- /**
11
- * Prevents screenshots when component is mounted. When unmounted, allows them again
12
- *
13
- * @param {boolean} [active=true] - If `false`, hook does nothing
14
- * @remarks
15
- * - If `active` param is `true`, it prevents screenshots when the
16
- * component is mounted
17
- * - On unmount, or when `active` is changed to false, it restores
18
- * the ability to take screenshots
19
- * - Should be used at the screen level only
20
- *
21
- * @example
22
- * ```tsx
23
- * import usePreventScreenCapture from './hooks/screen-capture';
24
- *
25
- * const MyScreen = () => {
26
- * usePreventScreenCapture();
27
- * return <View><Text>Secure Content</Text></View>;
28
- * };
29
- * ```
30
- *
31
- * @returns {void}
32
- */
33
- const usePreventScreenCapture = (active: boolean = true) => {
34
- useEffect(() => {
35
- if (!active) return
36
-
37
- if (Platform.OS === 'android') {
38
- // on Android, plain `register` will trigger AppState to
39
- // change momentarily, which can have side effects.
40
- // `registerWithoutEffect` prevents that
41
- ScreenGuardModule.registerWithoutEffect()
42
- } else {
43
- ScreenGuardModule.register(screenGuardOptions)
44
- }
45
-
46
- return () => {
47
- ScreenGuardModule.unregister()
48
- }
49
- }, [active])
50
- }
51
-
52
- export default usePreventScreenCapture
@@ -1,169 +0,0 @@
1
- import { Agent, HttpOutboundTransport, WsOutboundTransport } from '@credo-ts/core'
2
- import { IndyVdrPoolService } from '@credo-ts/indy-vdr/build/pool'
3
- import { agentDependencies } from '@credo-ts/react-native'
4
- import { GetCredentialDefinitionRequest, GetSchemaRequest } from '@hyperledger/indy-vdr-shared'
5
- import { useCallback, useRef, useState } from 'react'
6
- import { CachesDirectoryPath } from 'react-native-fs'
7
-
8
- import { TOKENS, useServices } from '../container-api'
9
- import { DispatchAction } from '../contexts/reducers/store'
10
- import { useStore } from '../contexts/store'
11
- import { WalletSecret } from '../types/security'
12
- import { createLinkSecretIfRequired, getAgentModules } from '../utils/agent'
13
- import { migrateToAskar } from '../utils/migration'
14
-
15
- export type AgentSetupReturnType = {
16
- agent: Agent | null
17
- initializeAgent: (walletSecret: WalletSecret) => Promise<void>
18
- shutdownAndClearAgentIfExists: () => Promise<void>
19
- }
20
-
21
- const useBifoldAgentSetup = (): AgentSetupReturnType => {
22
- const [agent, setAgent] = useState<Agent | null>(null)
23
- const agentInstanceRef = useRef<Agent | null>(null)
24
- const [store, dispatch] = useStore()
25
- const [cacheSchemas, cacheCredDefs, logger, indyLedgers] = useServices([
26
- TOKENS.CACHE_SCHEMAS,
27
- TOKENS.CACHE_CRED_DEFS,
28
- TOKENS.UTIL_LOGGER,
29
- TOKENS.UTIL_LEDGERS,
30
- ])
31
-
32
- const restartExistingAgent = useCallback(
33
- async (agent: Agent, walletSecret: WalletSecret): Promise<Agent | undefined> => {
34
- try {
35
- await agent.wallet.open({
36
- id: walletSecret.id,
37
- key: walletSecret.key,
38
- })
39
- await agent.initialize()
40
- } catch (error) {
41
- logger.warn(`Agent restart failed with error ${error}`)
42
- // if the existing agents wallet cannot be opened or initialize() fails it was
43
- // again not a clean shutdown and the agent should be replaced, not restarted
44
- return
45
- }
46
-
47
- return agent
48
- },
49
- [logger]
50
- )
51
-
52
- const createNewAgent = useCallback(
53
- async (walletSecret: WalletSecret, mediatorUrl: string): Promise<Agent> => {
54
- const newAgent = new Agent({
55
- config: {
56
- label: store.preferences.walletName || 'Aries Bifold',
57
- walletConfig: {
58
- id: walletSecret.id,
59
- key: walletSecret.key,
60
- },
61
- logger,
62
- autoUpdateStorageOnStartup: true,
63
- },
64
- dependencies: agentDependencies,
65
- modules: getAgentModules({
66
- indyNetworks: indyLedgers,
67
- mediatorInvitationUrl: mediatorUrl,
68
- txnCache: {
69
- capacity: 1000,
70
- expiryOffsetMs: 1000 * 60 * 60 * 24 * 7,
71
- path: CachesDirectoryPath + '/txn-cache',
72
- },
73
- }),
74
- })
75
- const wsTransport = new WsOutboundTransport()
76
- const httpTransport = new HttpOutboundTransport()
77
-
78
- newAgent.registerOutboundTransport(wsTransport)
79
- newAgent.registerOutboundTransport(httpTransport)
80
-
81
- return newAgent
82
- },
83
- [store.preferences.walletName, logger, indyLedgers]
84
- )
85
-
86
- const migrateIfRequired = useCallback(
87
- async (newAgent: Agent, walletSecret: WalletSecret) => {
88
- // If we haven't migrated to Aries Askar yet, we need to do this before we initialize the agent.
89
- if (!store.migration.didMigrateToAskar) {
90
- await migrateToAskar(walletSecret.id, walletSecret.key, newAgent)
91
- // Store that we migrated to askar.
92
- dispatch({
93
- type: DispatchAction.DID_MIGRATE_TO_ASKAR,
94
- })
95
- }
96
- },
97
- [store.migration.didMigrateToAskar, dispatch]
98
- )
99
-
100
- const warmUpCache = useCallback(
101
- async (newAgent: Agent) => {
102
- const poolService = newAgent.dependencyManager.resolve(IndyVdrPoolService)
103
- cacheCredDefs.forEach(async ({ did, id }) => {
104
- const pool = await poolService.getPoolForDid(newAgent.context, did)
105
- const credDefRequest = new GetCredentialDefinitionRequest({ credentialDefinitionId: id })
106
- await pool.pool.submitRequest(credDefRequest)
107
- })
108
-
109
- cacheSchemas.forEach(async ({ did, id }) => {
110
- const pool = await poolService.getPoolForDid(newAgent.context, did)
111
- const schemaRequest = new GetSchemaRequest({ schemaId: id })
112
- await pool.pool.submitRequest(schemaRequest)
113
- })
114
- },
115
- [cacheCredDefs, cacheSchemas]
116
- )
117
-
118
- const initializeAgent = useCallback(
119
- async (walletSecret: WalletSecret): Promise<void> => {
120
- const mediatorUrl = store.preferences.selectedMediator
121
- logger.info('Checking for existing agent...')
122
- if (agentInstanceRef.current) {
123
- const restartedAgent = await restartExistingAgent(agentInstanceRef.current, walletSecret)
124
- if (restartedAgent) {
125
- logger.info('Successfully restarted existing agent...')
126
- agentInstanceRef.current = restartedAgent
127
- setAgent(restartedAgent)
128
- return
129
- }
130
- }
131
-
132
- logger.info('Creating new agent...')
133
- const newAgent = await createNewAgent(walletSecret, mediatorUrl)
134
-
135
- logger.info('Migrating if required...')
136
- await migrateIfRequired(newAgent, walletSecret)
137
-
138
- logger.info('Initializing agent...')
139
- await newAgent.initialize()
140
-
141
- logger.info('Creating link secret if required...')
142
- await createLinkSecretIfRequired(newAgent)
143
-
144
- logger.info('Warming up cache...')
145
- await warmUpCache(newAgent)
146
-
147
- logger.info('Agent initialized successfully')
148
- agentInstanceRef.current = newAgent
149
- setAgent(newAgent)
150
- },
151
- [logger, restartExistingAgent, createNewAgent, migrateIfRequired, warmUpCache, store.preferences.selectedMediator]
152
- )
153
-
154
- const shutdownAndClearAgentIfExists = useCallback(async () => {
155
- if (agent) {
156
- try {
157
- await agent.shutdown()
158
- } catch (error) {
159
- logger.error(`Error shutting down agent with shutdownAndClearAgentIfExists: ${error}`)
160
- } finally {
161
- setAgent(null)
162
- }
163
- }
164
- }, [agent, logger])
165
-
166
- return { agent, initializeAgent, shutdownAndClearAgentIfExists }
167
- }
168
-
169
- export default useBifoldAgentSetup
@@ -1,53 +0,0 @@
1
- import { Agent } from '@credo-ts/core'
2
- import { useState, useEffect, useMemo } from 'react'
3
- import { useNavigationState } from '@react-navigation/native'
4
- import { State } from '../types/state'
5
- import { OnboardingTask } from '../types/navigators'
6
- import { Config } from '../types/config'
7
-
8
- /**
9
- * Hook to manage onboarding workflow state
10
- * Tracks the onboarding tasks, their completion status.
11
- */
12
- export const useOnboardingState = (
13
- store: State,
14
- config: Config,
15
- termsVersion: number,
16
- agent: Agent | null,
17
- generateOnboardingWorkflowSteps: (
18
- store: State,
19
- config: Config,
20
- termsVersion: number,
21
- agent: Agent | null
22
- ) => OnboardingTask[]
23
- ): {
24
- onboardingState: OnboardingTask[]
25
- setOnboardingState: React.Dispatch<React.SetStateAction<OnboardingTask[]>>
26
- activeScreen: string | undefined
27
- currentRoute: any
28
- isComplete: boolean
29
- } => {
30
- const [onboardingState, setOnboardingState] = useState<OnboardingTask[]>([])
31
- const currentRoute = useNavigationState((state) => state?.routes[state?.index])
32
-
33
- const activeScreen = useMemo(() => {
34
- return onboardingState.find((task) => !task.completed)?.name
35
- }, [onboardingState])
36
-
37
- useEffect(() => {
38
- if (!store.stateLoaded) {
39
- return
40
- }
41
-
42
- const onboardingTasks = generateOnboardingWorkflowSteps(store, config, termsVersion, agent)
43
- setOnboardingState(onboardingTasks)
44
- }, [store, config, termsVersion, agent, generateOnboardingWorkflowSteps])
45
-
46
- return {
47
- onboardingState,
48
- setOnboardingState,
49
- activeScreen,
50
- currentRoute,
51
- isComplete: !activeScreen,
52
- }
53
- }
@@ -1,98 +0,0 @@
1
- import { useCallback, useEffect, useState } from 'react'
2
- import { useTranslation } from 'react-i18next'
3
-
4
- import { InlineErrorType, InlineMessageProps } from '../components/inputs/InlineErrorText'
5
- import { TOKENS, useServices } from '../container-api'
6
- import { createPINValidations, PINValidationsType } from '../utils/PINValidation'
7
-
8
- interface ModalState {
9
- visible: boolean
10
- title: string
11
- message: string
12
- onModalDismiss?: () => void
13
- }
14
-
15
- const initialModalState: ModalState = {
16
- visible: false,
17
- title: '',
18
- message: '',
19
- }
20
-
21
- export const usePINValidation = (PIN: string, PINTwo: string) => {
22
- const { t } = useTranslation()
23
- const [{ PINSecurity }, inlineMessages] = useServices([TOKENS.CONFIG, TOKENS.INLINE_ERRORS])
24
- const [inlineMessageField1, setInlineMessageField1] = useState<InlineMessageProps>()
25
- const [inlineMessageField2, setInlineMessageField2] = useState<InlineMessageProps>()
26
- const [modalState, setModalState] = useState<ModalState>(initialModalState)
27
-
28
- const clearModal = useCallback(() => {
29
- setModalState(initialModalState)
30
- }, [])
31
-
32
- const [PINValidations, setPINValidations] = useState<PINValidationsType[]>(
33
- createPINValidations(PIN, PINSecurity.rules)
34
- )
35
-
36
- useEffect(() => {
37
- setInlineMessageField1(undefined)
38
- setInlineMessageField2(undefined)
39
- setPINValidations(createPINValidations(PIN, PINSecurity.rules))
40
- }, [PIN, PINTwo, PINSecurity.rules])
41
-
42
- const attentionMessage = useCallback(
43
- (title: string, message: string, pinOne: boolean) => {
44
- if (inlineMessages.enabled) {
45
- const config = {
46
- message: message,
47
- inlineType: InlineErrorType.error,
48
- config: inlineMessages,
49
- }
50
- if (pinOne) {
51
- setInlineMessageField1(config)
52
- } else {
53
- setInlineMessageField2(config)
54
- }
55
- } else {
56
- setModalState({
57
- visible: true,
58
- title: title,
59
- message: message,
60
- onModalDismiss: clearModal,
61
- })
62
- }
63
- },
64
- [inlineMessages, clearModal]
65
- )
66
-
67
- const validatePINEntry = useCallback(
68
- (PINOne: string, PINTwo: string): boolean => {
69
- for (const validation of PINValidations) {
70
- if (validation.isInvalid) {
71
- attentionMessage(
72
- t('PINCreate.InvalidPIN'),
73
- t(`PINCreate.Message.${validation.errorName}`, validation?.errorTextAddition),
74
- true
75
- )
76
- return false
77
- }
78
- }
79
- if (PINOne !== PINTwo) {
80
- attentionMessage(t('PINCreate.InvalidPIN'), t('PINCreate.PINsDoNotMatch'), false)
81
- return false
82
- }
83
- return true
84
- },
85
- [PINValidations, t, attentionMessage]
86
- )
87
-
88
- return {
89
- PINValidations,
90
- validatePINEntry,
91
- inlineMessageField1,
92
- inlineMessageField2,
93
- modalState,
94
- setModalState,
95
- clearModal,
96
- PINSecurity,
97
- }
98
- }