@oxyhq/services 5.17.16 → 5.17.18

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 (403) hide show
  1. package/README.md +32 -38
  2. package/lib/commonjs/core/CrossDomainAuth.js +277 -0
  3. package/lib/commonjs/core/CrossDomainAuth.js.map +1 -0
  4. package/lib/commonjs/core/HttpService.js +82 -15
  5. package/lib/commonjs/core/HttpService.js.map +1 -1
  6. package/lib/commonjs/core/OxyServices.base.js +11 -3
  7. package/lib/commonjs/core/OxyServices.base.js.map +1 -1
  8. package/lib/commonjs/core/OxyServices.js +4 -1
  9. package/lib/commonjs/core/OxyServices.js.map +1 -1
  10. package/lib/commonjs/core/index.js +30 -0
  11. package/lib/commonjs/core/index.js.map +1 -1
  12. package/lib/commonjs/core/mixins/OxyServices.assets.js +16 -3
  13. package/lib/commonjs/core/mixins/OxyServices.assets.js.map +1 -1
  14. package/lib/commonjs/core/mixins/OxyServices.auth.js +73 -32
  15. package/lib/commonjs/core/mixins/OxyServices.auth.js.map +1 -1
  16. package/lib/commonjs/core/mixins/OxyServices.fedcm.js +289 -0
  17. package/lib/commonjs/core/mixins/OxyServices.fedcm.js.map +1 -0
  18. package/lib/commonjs/core/mixins/OxyServices.popup.js +352 -0
  19. package/lib/commonjs/core/mixins/OxyServices.popup.js.map +1 -0
  20. package/lib/commonjs/core/mixins/OxyServices.redirect.js +378 -0
  21. package/lib/commonjs/core/mixins/OxyServices.redirect.js.map +1 -0
  22. package/lib/commonjs/core/mixins/OxyServices.user.js +35 -24
  23. package/lib/commonjs/core/mixins/OxyServices.user.js.map +1 -1
  24. package/lib/commonjs/core/mixins/index.js +27 -15
  25. package/lib/commonjs/core/mixins/index.js.map +1 -1
  26. package/lib/commonjs/crypto/index.js +30 -0
  27. package/lib/commonjs/crypto/index.js.map +1 -1
  28. package/lib/commonjs/crypto/keyManager.js +902 -0
  29. package/lib/commonjs/crypto/keyManager.js.map +1 -0
  30. package/lib/commonjs/crypto/polyfill.js +14 -5
  31. package/lib/commonjs/crypto/polyfill.js.map +1 -1
  32. package/lib/commonjs/crypto/recoveryPhrase.js +152 -0
  33. package/lib/commonjs/crypto/recoveryPhrase.js.map +1 -0
  34. package/lib/commonjs/crypto/signatureService.js +289 -0
  35. package/lib/commonjs/crypto/signatureService.js.map +1 -0
  36. package/lib/commonjs/i18n/locales/en-US.json +1 -1
  37. package/lib/commonjs/index.js +40 -26
  38. package/lib/commonjs/index.js.map +1 -1
  39. package/lib/commonjs/models/interfaces.js +0 -15
  40. package/lib/commonjs/models/interfaces.js.map +1 -1
  41. package/lib/commonjs/ui/components/BottomSheetRouter.js +9 -1
  42. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
  43. package/lib/commonjs/ui/components/Icon.js.map +1 -1
  44. package/lib/commonjs/ui/components/IconButton/utils.js.map +1 -1
  45. package/lib/commonjs/ui/components/OxyProvider.js +41 -11
  46. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  47. package/lib/commonjs/ui/components/TextField/Adornment/utils.js.map +1 -1
  48. package/lib/commonjs/ui/components/TextField/helpers.js.map +1 -1
  49. package/lib/commonjs/ui/components/TouchableRipple/utils.js.map +1 -1
  50. package/lib/commonjs/ui/components/Typography/AnimatedText.js.map +1 -1
  51. package/lib/commonjs/ui/context/OxyContext.js +110 -192
  52. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  53. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +150 -19
  54. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  55. package/lib/commonjs/ui/context/hooks/useSessionManagement.js +279 -0
  56. package/lib/commonjs/ui/context/hooks/useSessionManagement.js.map +1 -0
  57. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +78 -64
  58. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  59. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +38 -51
  60. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  61. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js +3 -3
  62. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  63. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +18 -12
  64. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
  65. package/lib/commonjs/ui/hooks/useProfileEditing.js +3 -5
  66. package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
  67. package/lib/commonjs/ui/hooks/useSessionManagement.js +4 -8
  68. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  69. package/lib/commonjs/ui/hooks/useSessionSocket.js +162 -315
  70. package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
  71. package/lib/commonjs/ui/hooks/useStorage.js +24 -58
  72. package/lib/commonjs/ui/hooks/useStorage.js.map +1 -1
  73. package/lib/commonjs/ui/index.js +50 -21
  74. package/lib/commonjs/ui/index.js.map +1 -1
  75. package/lib/commonjs/ui/navigation/routes.js +5 -1
  76. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  77. package/lib/commonjs/ui/screens/AccountCenterScreen.js +2 -2
  78. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  79. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  80. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +29 -24
  81. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  82. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +3 -3
  83. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  84. package/lib/commonjs/ui/screens/OxyAuthScreen.js +134 -66
  85. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  86. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +6 -13
  87. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  88. package/lib/commonjs/ui/stores/accountStore.js +2 -4
  89. package/lib/commonjs/ui/stores/accountStore.js.map +1 -1
  90. package/lib/commonjs/ui/stores/authStore.js +45 -32
  91. package/lib/commonjs/ui/stores/authStore.js.map +1 -1
  92. package/lib/commonjs/ui/styles/spacing.js +54 -2
  93. package/lib/commonjs/ui/styles/spacing.js.map +1 -1
  94. package/lib/commonjs/ui/utils/avatarUtils.js +37 -41
  95. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
  96. package/lib/commonjs/ui/utils/storageHelpers.js.map +1 -1
  97. package/lib/commonjs/utils/errorUtils.js +13 -0
  98. package/lib/commonjs/utils/errorUtils.js.map +1 -1
  99. package/lib/commonjs/utils/validationUtils.js +15 -1
  100. package/lib/commonjs/utils/validationUtils.js.map +1 -1
  101. package/lib/module/core/CrossDomainAuth.js +271 -0
  102. package/lib/module/core/CrossDomainAuth.js.map +1 -0
  103. package/lib/module/core/HttpService.js +82 -15
  104. package/lib/module/core/HttpService.js.map +1 -1
  105. package/lib/module/core/OxyServices.base.js +11 -4
  106. package/lib/module/core/OxyServices.base.js.map +1 -1
  107. package/lib/module/core/OxyServices.js +4 -1
  108. package/lib/module/core/OxyServices.js.map +1 -1
  109. package/lib/module/core/index.js +6 -1
  110. package/lib/module/core/index.js.map +1 -1
  111. package/lib/module/core/mixins/OxyServices.assets.js +16 -3
  112. package/lib/module/core/mixins/OxyServices.assets.js.map +1 -1
  113. package/lib/module/core/mixins/OxyServices.auth.js +73 -32
  114. package/lib/module/core/mixins/OxyServices.auth.js.map +1 -1
  115. package/lib/module/core/mixins/OxyServices.fedcm.js +286 -0
  116. package/lib/module/core/mixins/OxyServices.fedcm.js.map +1 -0
  117. package/lib/module/core/mixins/OxyServices.popup.js +349 -0
  118. package/lib/module/core/mixins/OxyServices.popup.js.map +1 -0
  119. package/lib/module/core/mixins/OxyServices.redirect.js +375 -0
  120. package/lib/module/core/mixins/OxyServices.redirect.js.map +1 -0
  121. package/lib/module/core/mixins/OxyServices.user.js +35 -24
  122. package/lib/module/core/mixins/OxyServices.user.js.map +1 -1
  123. package/lib/module/core/mixins/index.js +15 -3
  124. package/lib/module/core/mixins/index.js.map +1 -1
  125. package/lib/module/crypto/index.js +8 -4
  126. package/lib/module/crypto/index.js.map +1 -1
  127. package/lib/module/crypto/keyManager.js +899 -0
  128. package/lib/module/crypto/keyManager.js.map +1 -0
  129. package/lib/module/crypto/polyfill.js +6 -5
  130. package/lib/module/crypto/polyfill.js.map +1 -1
  131. package/lib/module/crypto/recoveryPhrase.js +147 -0
  132. package/lib/module/crypto/recoveryPhrase.js.map +1 -0
  133. package/lib/module/crypto/signatureService.js +286 -0
  134. package/lib/module/crypto/signatureService.js.map +1 -0
  135. package/lib/module/i18n/locales/en-US.json +1 -1
  136. package/lib/module/index.js +6 -9
  137. package/lib/module/index.js.map +1 -1
  138. package/lib/module/models/interfaces.js +0 -15
  139. package/lib/module/models/interfaces.js.map +1 -1
  140. package/lib/module/ui/components/BottomSheetRouter.js +6 -2
  141. package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
  142. package/lib/module/ui/components/Icon.js.map +1 -1
  143. package/lib/module/ui/components/IconButton/utils.js.map +1 -1
  144. package/lib/module/ui/components/OxyProvider.js +41 -11
  145. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  146. package/lib/module/ui/components/TextField/Adornment/utils.js.map +1 -1
  147. package/lib/module/ui/components/TextField/helpers.js.map +1 -1
  148. package/lib/module/ui/components/TouchableRipple/utils.js.map +1 -1
  149. package/lib/module/ui/components/Typography/AnimatedText.js.map +1 -1
  150. package/lib/module/ui/context/OxyContext.js +112 -184
  151. package/lib/module/ui/context/OxyContext.js.map +1 -1
  152. package/lib/module/ui/context/hooks/useAuthOperations.js +150 -19
  153. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  154. package/lib/module/ui/context/hooks/useSessionManagement.js +274 -0
  155. package/lib/module/ui/context/hooks/useSessionManagement.js.map +1 -0
  156. package/lib/module/ui/hooks/mutations/useAccountMutations.js +79 -64
  157. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  158. package/lib/module/ui/hooks/queries/useAccountQueries.js +31 -44
  159. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  160. package/lib/module/ui/hooks/queries/useSecurityQueries.js +1 -1
  161. package/lib/module/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  162. package/lib/module/ui/hooks/queries/useServicesQueries.js +13 -7
  163. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
  164. package/lib/module/ui/hooks/useProfileEditing.js +3 -5
  165. package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
  166. package/lib/module/ui/hooks/useSessionManagement.js +4 -8
  167. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  168. package/lib/module/ui/hooks/useSessionSocket.js +162 -315
  169. package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
  170. package/lib/module/ui/hooks/useStorage.js +25 -59
  171. package/lib/module/ui/hooks/useStorage.js.map +1 -1
  172. package/lib/module/ui/index.js +15 -10
  173. package/lib/module/ui/index.js.map +1 -1
  174. package/lib/module/ui/navigation/routes.js +5 -1
  175. package/lib/module/ui/navigation/routes.js.map +1 -1
  176. package/lib/module/ui/screens/AccountCenterScreen.js +2 -2
  177. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  178. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  179. package/lib/module/ui/screens/AccountSettingsScreen.js +29 -24
  180. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  181. package/lib/module/ui/screens/AccountSwitcherScreen.js +3 -3
  182. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  183. package/lib/module/ui/screens/OxyAuthScreen.js +135 -68
  184. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  185. package/lib/module/ui/screens/PrivacySettingsScreen.js +6 -13
  186. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  187. package/lib/module/ui/stores/accountStore.js +2 -4
  188. package/lib/module/ui/stores/accountStore.js.map +1 -1
  189. package/lib/module/ui/stores/authStore.js +45 -32
  190. package/lib/module/ui/stores/authStore.js.map +1 -1
  191. package/lib/module/ui/styles/spacing.js +6 -2
  192. package/lib/module/ui/styles/spacing.js.map +1 -1
  193. package/lib/module/ui/utils/avatarUtils.js +37 -40
  194. package/lib/module/ui/utils/avatarUtils.js.map +1 -1
  195. package/lib/module/ui/utils/storageHelpers.js.map +1 -1
  196. package/lib/module/utils/errorUtils.js +7 -0
  197. package/lib/module/utils/errorUtils.js.map +1 -1
  198. package/lib/module/utils/validationUtils.js +13 -0
  199. package/lib/module/utils/validationUtils.js.map +1 -1
  200. package/lib/typescript/core/CrossDomainAuth.d.ts +161 -0
  201. package/lib/typescript/core/CrossDomainAuth.d.ts.map +1 -0
  202. package/lib/typescript/core/HttpService.d.ts +1 -1
  203. package/lib/typescript/core/HttpService.d.ts.map +1 -1
  204. package/lib/typescript/core/OxyServices.base.d.ts +0 -6
  205. package/lib/typescript/core/OxyServices.base.d.ts.map +1 -1
  206. package/lib/typescript/core/OxyServices.d.ts +5 -36
  207. package/lib/typescript/core/OxyServices.d.ts.map +1 -1
  208. package/lib/typescript/core/index.d.ts +4 -0
  209. package/lib/typescript/core/index.d.ts.map +1 -1
  210. package/lib/typescript/core/mixins/OxyServices.analytics.d.ts.map +1 -1
  211. package/lib/typescript/core/mixins/OxyServices.assets.d.ts.map +1 -1
  212. package/lib/typescript/core/mixins/OxyServices.auth.d.ts +40 -20
  213. package/lib/typescript/core/mixins/OxyServices.auth.d.ts.map +1 -1
  214. package/lib/typescript/core/mixins/OxyServices.developer.d.ts.map +1 -1
  215. package/lib/typescript/core/mixins/OxyServices.devices.d.ts.map +1 -1
  216. package/lib/typescript/core/mixins/OxyServices.fedcm.d.ts +195 -0
  217. package/lib/typescript/core/mixins/OxyServices.fedcm.d.ts.map +1 -0
  218. package/lib/typescript/core/mixins/OxyServices.karma.d.ts.map +1 -1
  219. package/lib/typescript/core/mixins/OxyServices.language.d.ts.map +1 -1
  220. package/lib/typescript/core/mixins/OxyServices.location.d.ts.map +1 -1
  221. package/lib/typescript/core/mixins/OxyServices.payment.d.ts.map +1 -1
  222. package/lib/typescript/core/mixins/OxyServices.popup.d.ts +206 -0
  223. package/lib/typescript/core/mixins/OxyServices.popup.d.ts.map +1 -0
  224. package/lib/typescript/core/mixins/OxyServices.privacy.d.ts.map +1 -1
  225. package/lib/typescript/core/mixins/OxyServices.redirect.d.ts +246 -0
  226. package/lib/typescript/core/mixins/OxyServices.redirect.d.ts.map +1 -0
  227. package/lib/typescript/core/mixins/OxyServices.security.d.ts.map +1 -1
  228. package/lib/typescript/core/mixins/OxyServices.user.d.ts +6 -4
  229. package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -1
  230. package/lib/typescript/core/mixins/OxyServices.utility.d.ts.map +1 -1
  231. package/lib/typescript/core/mixins/index.d.ts +220 -8
  232. package/lib/typescript/core/mixins/index.d.ts.map +1 -1
  233. package/lib/typescript/crypto/index.d.ts +6 -3
  234. package/lib/typescript/crypto/index.d.ts.map +1 -1
  235. package/lib/typescript/crypto/keyManager.d.ts +190 -0
  236. package/lib/typescript/crypto/keyManager.d.ts.map +1 -0
  237. package/lib/typescript/crypto/polyfill.d.ts +4 -3
  238. package/lib/typescript/crypto/polyfill.d.ts.map +1 -1
  239. package/lib/typescript/crypto/recoveryPhrase.d.ts +59 -0
  240. package/lib/typescript/crypto/recoveryPhrase.d.ts.map +1 -0
  241. package/lib/typescript/crypto/signatureService.d.ts +87 -0
  242. package/lib/typescript/crypto/signatureService.d.ts.map +1 -0
  243. package/lib/typescript/index.d.ts +5 -6
  244. package/lib/typescript/index.d.ts.map +1 -1
  245. package/lib/typescript/models/interfaces.d.ts +2 -14
  246. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  247. package/lib/typescript/models/session.d.ts +0 -9
  248. package/lib/typescript/models/session.d.ts.map +1 -1
  249. package/lib/typescript/types/bip39.d.ts +32 -0
  250. package/lib/typescript/ui/components/BottomSheetRouter.d.ts +5 -0
  251. package/lib/typescript/ui/components/BottomSheetRouter.d.ts.map +1 -1
  252. package/lib/typescript/ui/components/IconButton/utils.d.ts +1 -1
  253. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
  254. package/lib/typescript/ui/components/TextField/Addons/Outline.d.ts +2 -2
  255. package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts +1 -1
  256. package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts.map +1 -1
  257. package/lib/typescript/ui/components/TextField/helpers.d.ts +8 -8
  258. package/lib/typescript/ui/components/TextField/types.d.ts +1 -0
  259. package/lib/typescript/ui/components/TextField/types.d.ts.map +1 -1
  260. package/lib/typescript/ui/components/types.d.ts +4 -0
  261. package/lib/typescript/ui/components/types.d.ts.map +1 -1
  262. package/lib/typescript/ui/context/OxyContext.d.ts +57 -3
  263. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  264. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +10 -3
  265. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  266. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts +41 -0
  267. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts.map +1 -0
  268. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  269. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  270. package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  271. package/lib/typescript/ui/hooks/useProfileEditing.d.ts.map +1 -1
  272. package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +1 -1
  273. package/lib/typescript/ui/hooks/useSessionSocket.d.ts +1 -2
  274. package/lib/typescript/ui/hooks/useSessionSocket.d.ts.map +1 -1
  275. package/lib/typescript/ui/hooks/useStorage.d.ts +3 -9
  276. package/lib/typescript/ui/hooks/useStorage.d.ts.map +1 -1
  277. package/lib/typescript/ui/index.d.ts +6 -2
  278. package/lib/typescript/ui/index.d.ts.map +1 -1
  279. package/lib/typescript/ui/navigation/routes.d.ts +1 -1
  280. package/lib/typescript/ui/navigation/routes.d.ts.map +1 -1
  281. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  282. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts +1 -1
  283. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  284. package/lib/typescript/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  285. package/lib/typescript/ui/stores/accountStore.d.ts.map +1 -1
  286. package/lib/typescript/ui/stores/authStore.d.ts +8 -7
  287. package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
  288. package/lib/typescript/ui/styles/spacing.d.ts +5 -0
  289. package/lib/typescript/ui/styles/spacing.d.ts.map +1 -1
  290. package/lib/typescript/ui/types/navigation.d.ts +2 -1
  291. package/lib/typescript/ui/types/navigation.d.ts.map +1 -1
  292. package/lib/typescript/ui/utils/avatarUtils.d.ts +2 -13
  293. package/lib/typescript/ui/utils/avatarUtils.d.ts.map +1 -1
  294. package/lib/typescript/ui/utils/storageHelpers.d.ts +0 -3
  295. package/lib/typescript/ui/utils/storageHelpers.d.ts.map +1 -1
  296. package/lib/typescript/utils/errorUtils.d.ts +6 -0
  297. package/lib/typescript/utils/errorUtils.d.ts.map +1 -1
  298. package/lib/typescript/utils/validationUtils.d.ts +8 -0
  299. package/lib/typescript/utils/validationUtils.d.ts.map +1 -1
  300. package/package.json +8 -7
  301. package/src/core/CrossDomainAuth.ts +307 -0
  302. package/src/core/HttpService.ts +99 -16
  303. package/src/core/OxyServices.base.ts +20 -3
  304. package/src/core/OxyServices.ts +7 -3
  305. package/src/core/index.ts +9 -1
  306. package/src/core/mixins/OxyServices.assets.ts +14 -3
  307. package/src/core/mixins/OxyServices.auth.ts +105 -36
  308. package/src/core/mixins/OxyServices.fedcm.ts +315 -0
  309. package/src/core/mixins/OxyServices.popup.ts +402 -0
  310. package/src/core/mixins/OxyServices.redirect.ts +397 -0
  311. package/src/core/mixins/OxyServices.user.ts +39 -24
  312. package/src/core/mixins/index.ts +19 -3
  313. package/src/crypto/index.ts +16 -5
  314. package/src/crypto/keyManager.ts +966 -0
  315. package/src/crypto/polyfill.ts +6 -5
  316. package/src/crypto/recoveryPhrase.ts +166 -0
  317. package/src/crypto/signatureService.ts +323 -0
  318. package/src/i18n/locales/en-US.json +1 -1
  319. package/src/index.ts +19 -15
  320. package/src/models/interfaces.ts +4 -16
  321. package/src/models/session.ts +2 -11
  322. package/src/types/bip39.d.ts +32 -0
  323. package/src/ui/components/BottomSheetRouter.tsx +6 -1
  324. package/src/ui/components/Icon.tsx +1 -1
  325. package/src/ui/components/IconButton/utils.ts +1 -1
  326. package/src/ui/components/OxyProvider.tsx +44 -12
  327. package/src/ui/components/TextField/Addons/Outline.tsx +2 -2
  328. package/src/ui/components/TextField/Adornment/utils.ts +2 -2
  329. package/src/ui/components/TextField/helpers.tsx +10 -10
  330. package/src/ui/components/TextField/types.tsx +1 -1
  331. package/src/ui/components/TouchableRipple/utils.ts +2 -2
  332. package/src/ui/components/Typography/AnimatedText.tsx +2 -2
  333. package/src/ui/components/types.tsx +6 -0
  334. package/src/ui/context/OxyContext.tsx +173 -185
  335. package/src/ui/context/hooks/useAuthOperations.ts +177 -36
  336. package/src/ui/context/hooks/useSessionManagement.ts +399 -0
  337. package/src/ui/hooks/mutations/useAccountMutations.ts +82 -65
  338. package/src/ui/hooks/queries/useAccountQueries.ts +29 -35
  339. package/src/ui/hooks/queries/useSecurityQueries.ts +1 -1
  340. package/src/ui/hooks/queries/useServicesQueries.ts +14 -6
  341. package/src/ui/hooks/useProfileEditing.ts +3 -3
  342. package/src/ui/hooks/useSessionManagement.ts +5 -10
  343. package/src/ui/hooks/useSessionSocket.ts +46 -175
  344. package/src/ui/hooks/useStorage.ts +24 -76
  345. package/src/ui/index.ts +22 -13
  346. package/src/ui/navigation/routes.ts +6 -2
  347. package/src/ui/screens/AccountCenterScreen.tsx +2 -2
  348. package/src/ui/screens/AccountOverviewScreen.tsx +1 -1
  349. package/src/ui/screens/AccountSettingsScreen.tsx +34 -37
  350. package/src/ui/screens/AccountSwitcherScreen.tsx +4 -4
  351. package/src/ui/screens/OxyAuthScreen.tsx +138 -64
  352. package/src/ui/screens/PrivacySettingsScreen.tsx +6 -12
  353. package/src/ui/stores/accountStore.ts +1 -11
  354. package/src/ui/stores/authStore.ts +43 -44
  355. package/src/ui/styles/spacing.ts +15 -2
  356. package/src/ui/types/navigation.ts +2 -2
  357. package/src/ui/utils/avatarUtils.ts +39 -46
  358. package/src/ui/utils/storageHelpers.ts +0 -4
  359. package/src/utils/__tests__/validationUtils.test.ts +16 -1
  360. package/src/utils/errorUtils.ts +8 -1
  361. package/src/utils/validationUtils.ts +12 -0
  362. package/lib/commonjs/core/services/SessionService.js +0 -163
  363. package/lib/commonjs/core/services/SessionService.js.map +0 -1
  364. package/lib/commonjs/core/services/TokenService.js +0 -220
  365. package/lib/commonjs/core/services/TokenService.js.map +0 -1
  366. package/lib/commonjs/crypto/types.js +0 -2
  367. package/lib/commonjs/crypto/types.js.map +0 -1
  368. package/lib/commonjs/ui/context/OxyContextBase.js +0 -21
  369. package/lib/commonjs/ui/context/OxyContextBase.js.map +0 -1
  370. package/lib/commonjs/ui/context/hooks/useStorage.js +0 -79
  371. package/lib/commonjs/ui/context/hooks/useStorage.js.map +0 -1
  372. package/lib/commonjs/ui/hooks/useAvatarPicker.js +0 -56
  373. package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +0 -1
  374. package/lib/module/core/services/SessionService.js +0 -159
  375. package/lib/module/core/services/SessionService.js.map +0 -1
  376. package/lib/module/core/services/TokenService.js +0 -217
  377. package/lib/module/core/services/TokenService.js.map +0 -1
  378. package/lib/module/crypto/types.js +0 -2
  379. package/lib/module/crypto/types.js.map +0 -1
  380. package/lib/module/ui/context/OxyContextBase.js +0 -16
  381. package/lib/module/ui/context/OxyContextBase.js.map +0 -1
  382. package/lib/module/ui/context/hooks/useStorage.js +0 -74
  383. package/lib/module/ui/context/hooks/useStorage.js.map +0 -1
  384. package/lib/module/ui/hooks/useAvatarPicker.js +0 -50
  385. package/lib/module/ui/hooks/useAvatarPicker.js.map +0 -1
  386. package/lib/typescript/core/services/SessionService.d.ts +0 -78
  387. package/lib/typescript/core/services/SessionService.d.ts.map +0 -1
  388. package/lib/typescript/core/services/TokenService.d.ts +0 -72
  389. package/lib/typescript/core/services/TokenService.d.ts.map +0 -1
  390. package/lib/typescript/crypto/types.d.ts +0 -22
  391. package/lib/typescript/crypto/types.d.ts.map +0 -1
  392. package/lib/typescript/ui/context/OxyContextBase.d.ts +0 -63
  393. package/lib/typescript/ui/context/OxyContextBase.d.ts.map +0 -1
  394. package/lib/typescript/ui/context/hooks/useStorage.d.ts +0 -22
  395. package/lib/typescript/ui/context/hooks/useStorage.d.ts.map +0 -1
  396. package/lib/typescript/ui/hooks/useAvatarPicker.d.ts +0 -19
  397. package/lib/typescript/ui/hooks/useAvatarPicker.d.ts.map +0 -1
  398. package/src/core/services/SessionService.ts +0 -173
  399. package/src/core/services/TokenService.ts +0 -237
  400. package/src/crypto/types.ts +0 -23
  401. package/src/ui/context/OxyContextBase.tsx +0 -78
  402. package/src/ui/context/hooks/useStorage.ts +0 -104
  403. package/src/ui/hooks/useAvatarPicker.ts +0 -61
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_elliptic","require","_reactNative","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SecureStore","ExpoCrypto","ec","EC","STORAGE_KEYS","PRIVATE_KEY","PUBLIC_KEY","BACKUP_PRIVATE_KEY","BACKUP_PUBLIC_KEY","BACKUP_TIMESTAMP","SHARED_PRIVATE_KEY","SHARED_PUBLIC_KEY","SHARED_SESSION_TOKEN","SHARED_SESSION_ID","IOS_KEYCHAIN_GROUP","ANDROID_ACCOUNT_TYPE","initSecureStore","Promise","resolve","then","error","errorMessage","Error","message","String","isReactNative","navigator","product","isNodeJS","process","versions","node","isWebPlatform","Platform","OS","window","initExpoCrypto","uint8ArrayToHex","bytes","Array","from","map","b","toString","padStart","join","getSecureRandomBytes","length","Crypto","getRandomBytes","getCrypto","Function","crypto","Uint8Array","randomBytes","KeyManager","cachedPublicKey","cachedHasIdentity","cachedSharedPublicKey","cachedHasSharedIdentity","invalidateCache","invalidateSharedCache","generateKeyPairSync","keyPair","genKeyPair","privateKey","getPrivate","publicKey","getPublic","generateKeyPair","privateKeyHex","keyFromPrivate","createSharedIdentity","store","setItemAsync","keychainAccessible","WHEN_UNLOCKED_THIS_DEVICE_ONLY","keychainAccessGroup","__DEV__","console","log","getSharedPublicKey","getItemAsync","warn","getSharedPrivateKey","hasSharedIdentity","hasShared","importSharedIdentity","storeSharedSession","sessionId","accessToken","WHEN_UNLOCKED","getSharedSession","clearSharedSession","deleteItemAsync","migrateToSharedIdentity","getPrivateKey","createIdentity","importKeyPair","getPublicKey","hasIdentity","deleteIdentity","skipBackup","force","userConfirmed","backupSuccess","backupIdentity","backupError","Date","now","verifyIdentityIntegrity","isValidPrivateKey","isValidPublicKey","derivedPublicKey","derivePublicKey","getKeyPairObject","restoreIdentityFromBackup","backupPrivateKey","backupPublicKey","restored","keyFromPublic","shortenPublicKey","slice","exports","_default"],"sourceRoot":"../../../src","sources":["crypto/keyManager.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,14 @@
1
1
  "use strict";
2
2
 
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Buffer", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _buffer.Buffer;
10
+ }
11
+ });
3
12
  var _buffer = require("buffer");
4
13
  /**
5
14
  * Crypto Polyfills for React Native
@@ -8,12 +17,12 @@ var _buffer = require("buffer");
8
17
  * before any crypto operations are performed.
9
18
  *
10
19
  * Polyfills included:
11
- * - Buffer: Required by crypto libraries
12
- * - crypto.getRandomValues: Required for secure random number generation
20
+ * - Buffer: Required by bip39 and other crypto libraries
21
+ * - crypto.getRandomValues: Required by bip39 for secure random number generation
13
22
  */
14
23
 
15
24
  // Import Buffer polyfill for React Native compatibility
16
- // Some crypto libraries depend on Buffer which isn't available in React Native
25
+ // Libraries like bip39 depend on Buffer which isn't available in React Native
17
26
 
18
27
  // Get the global object in a cross-platform way
19
28
  const getGlobalObject = () => {
@@ -31,7 +40,7 @@ if (!globalObject.Buffer) {
31
40
  }
32
41
 
33
42
  // Polyfill crypto.getRandomValues for React Native
34
- // This is required by crypto libraries for secure random number generation
43
+ // This is required by bip39 and other crypto libraries
35
44
 
36
45
  // Cache for expo-crypto module
37
46
  let expoCryptoModule = null;
@@ -73,5 +82,5 @@ if (typeof globalObject.crypto === 'undefined') {
73
82
  globalObject.crypto.getRandomValues = cryptoPolyfill.getRandomValues;
74
83
  }
75
84
 
76
- // No longer re-exporting `Buffer` from this module; import from 'buffer' where needed.
85
+ // Re-export Buffer for convenience
77
86
  //# sourceMappingURL=polyfill.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_buffer","require","getGlobalObject","globalThis","global","window","self","globalObject","Buffer","expoCryptoModule","getRandomBytesSync","byteCount","Error","cryptoModule","getRandomBytes","cryptoPolyfill","getRandomValues","array","bytes","byteLength","uint8View","Uint8Array","buffer","byteOffset","set","crypto"],"sourceRoot":"../../../src","sources":["crypto/polyfill.ts"],"mappings":";;AAaA,IAAAA,OAAA,GAAAC,OAAA;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAGA;AACA,MAAMC,eAAe,GAAGA,CAAA,KAAyB;EAC/C,IAAI,OAAOC,UAAU,KAAK,WAAW,EAAE,OAAOA,UAAU;EACxD,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE,OAAOA,MAAM;EAChD,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE,OAAOA,MAAM;EAChD,IAAI,OAAOC,IAAI,KAAK,WAAW,EAAE,OAAOA,IAAI;EAC5C,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAMC,YAAY,GAAGL,eAAe,CAAC,CAAC;;AAEtC;AACA,IAAI,CAACK,YAAY,CAACC,MAAM,EAAE;EACvBD,YAAY,CAA0CC,MAAM,GAAGA,cAAM;AACxE;;AAEA;AACA;;AAKA;AACA,IAAIC,gBAAqD,GAAG,IAAI;;AAEhE;AACA;AACA;AACA;AACA,SAASC,kBAAkBA,CAACC,SAAiB,EAAc;EACzD,IAAI,CAACF,gBAAgB,EAAE;IACrB;IACA,IAAI;MACF;MACAA,gBAAgB,GAAGR,OAAO,CAAC,aAAa,CAAC;IAC3C,CAAC,CAAC,MAAM;MACN,MAAM,IAAIW,KAAK,CAAC,6DAA6D,CAAC;IAChF;EACF;EACA;EACA,MAAMC,YAAY,GAAGJ,gBAAgB;EACrC,IAAI,CAACI,YAAY,EAAE;IACjB,MAAM,IAAID,KAAK,CAAC,mCAAmC,CAAC;EACtD;EACA,OAAOC,YAAY,CAACC,cAAc,CAACH,SAAS,CAAC;AAC/C;AAEA,MAAMI,cAA0B,GAAG;EACjCC,eAAeA,CAA4BC,KAAQ,EAAK;IACtD,MAAMC,KAAK,GAAGR,kBAAkB,CAACO,KAAK,CAACE,UAAU,CAAC;IAClD,MAAMC,SAAS,GAAG,IAAIC,UAAU,CAACJ,KAAK,CAACK,MAAM,EAAEL,KAAK,CAACM,UAAU,EAAEN,KAAK,CAACE,UAAU,CAAC;IAClFC,SAAS,CAACI,GAAG,CAACN,KAAK,CAAC;IACpB,OAAOD,KAAK;EACd;AACF,CAAC;;AAED;AACA,IAAI,OAAOV,YAAY,CAACkB,MAAM,KAAK,WAAW,EAAE;EAC7ClB,YAAY,CAAuCkB,MAAM,GAAGV,cAAc;AAC7E,CAAC,MAAM,IAAI,OAAOR,YAAY,CAACkB,MAAM,CAACT,eAAe,KAAK,UAAU,EAAE;EACnET,YAAY,CAACkB,MAAM,CAAgBT,eAAe,GAAGD,cAAc,CAACC,eAAe;AACtF;;AAEA","ignoreList":[]}
1
+ {"version":3,"names":["_buffer","require","getGlobalObject","globalThis","global","window","self","globalObject","Buffer","expoCryptoModule","getRandomBytesSync","byteCount","Error","cryptoModule","getRandomBytes","cryptoPolyfill","getRandomValues","array","bytes","byteLength","uint8View","Uint8Array","buffer","byteOffset","set","crypto"],"sourceRoot":"../../../src","sources":["crypto/polyfill.ts"],"mappings":";;;;;;;;;;;AAaA,IAAAA,OAAA,GAAAC,OAAA;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAGA;AACA,MAAMC,eAAe,GAAGA,CAAA,KAAyB;EAC/C,IAAI,OAAOC,UAAU,KAAK,WAAW,EAAE,OAAOA,UAAU;EACxD,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE,OAAOA,MAAM;EAChD,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE,OAAOA,MAAM;EAChD,IAAI,OAAOC,IAAI,KAAK,WAAW,EAAE,OAAOA,IAAI;EAC5C,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAMC,YAAY,GAAGL,eAAe,CAAC,CAAC;;AAEtC;AACA,IAAI,CAACK,YAAY,CAACC,MAAM,EAAE;EACvBD,YAAY,CAA0CC,MAAM,GAAGA,cAAM;AACxE;;AAEA;AACA;;AAKA;AACA,IAAIC,gBAAqD,GAAG,IAAI;;AAEhE;AACA;AACA;AACA;AACA,SAASC,kBAAkBA,CAACC,SAAiB,EAAc;EACzD,IAAI,CAACF,gBAAgB,EAAE;IACrB;IACA,IAAI;MACF;MACAA,gBAAgB,GAAGR,OAAO,CAAC,aAAa,CAAC;IAC3C,CAAC,CAAC,MAAM;MACN,MAAM,IAAIW,KAAK,CAAC,6DAA6D,CAAC;IAChF;EACF;EACA;EACA,MAAMC,YAAY,GAAGJ,gBAAgB;EACrC,IAAI,CAACI,YAAY,EAAE;IACjB,MAAM,IAAID,KAAK,CAAC,mCAAmC,CAAC;EACtD;EACA,OAAOC,YAAY,CAACC,cAAc,CAACH,SAAS,CAAC;AAC/C;AAEA,MAAMI,cAA0B,GAAG;EACjCC,eAAeA,CAA4BC,KAAQ,EAAK;IACtD,MAAMC,KAAK,GAAGR,kBAAkB,CAACO,KAAK,CAACE,UAAU,CAAC;IAClD,MAAMC,SAAS,GAAG,IAAIC,UAAU,CAACJ,KAAK,CAACK,MAAM,EAAEL,KAAK,CAACM,UAAU,EAAEN,KAAK,CAACE,UAAU,CAAC;IAClFC,SAAS,CAACI,GAAG,CAACN,KAAK,CAAC;IACpB,OAAOD,KAAK;EACd;AACF,CAAC;;AAED;AACA,IAAI,OAAOV,YAAY,CAACkB,MAAM,KAAK,WAAW,EAAE;EAC7ClB,YAAY,CAAuCkB,MAAM,GAAGV,cAAc;AAC7E,CAAC,MAAM,IAAI,OAAOR,YAAY,CAACkB,MAAM,CAACT,eAAe,KAAK,UAAU,EAAE;EACnET,YAAY,CAACkB,MAAM,CAAgBT,eAAe,GAAGD,cAAc,CAACC,eAAe;AACtF;;AAEA","ignoreList":[]}
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.RecoveryPhraseService = void 0;
7
+ var bip39 = _interopRequireWildcard(require("bip39"));
8
+ var _keyManager = require("./keyManager");
9
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
10
+ /**
11
+ * Recovery Phrase Service - BIP39 Mnemonic Generation
12
+ *
13
+ * Handles generation and restoration of recovery phrases (mnemonic seeds)
14
+ * for backing up and restoring user identities.
15
+ *
16
+ * Note: This module requires the polyfill to be loaded first (done via crypto/index.ts)
17
+ */
18
+
19
+ /**
20
+ * Convert Uint8Array or array-like to hexadecimal string
21
+ * Works in both Node.js and React Native without depending on Buffer
22
+ */
23
+ function toHex(data) {
24
+ // Convert to array of numbers if needed
25
+ const bytes = data instanceof Uint8Array ? data : new Uint8Array(data);
26
+ return Array.from(bytes).map(b => b.toString(16).padStart(2, '0')).join('');
27
+ }
28
+ class RecoveryPhraseService {
29
+ /**
30
+ * Generate a new identity with a recovery phrase
31
+ * Returns the mnemonic phrase (should only be shown once to the user)
32
+ */
33
+ static async generateIdentityWithRecovery() {
34
+ // Generate 128-bit entropy for 12-word mnemonic
35
+ const mnemonic = bip39.generateMnemonic(128);
36
+
37
+ // Derive private key from mnemonic
38
+ // Using the seed directly as the private key (simplified approach)
39
+ const seed = await bip39.mnemonicToSeed(mnemonic);
40
+
41
+ // Use first 32 bytes of seed as private key
42
+ const seedSlice = seed.subarray ? seed.subarray(0, 32) : seed.slice(0, 32);
43
+ const privateKeyHex = toHex(seedSlice);
44
+
45
+ // Import the derived key pair
46
+ const publicKey = await _keyManager.KeyManager.importKeyPair(privateKeyHex);
47
+ return {
48
+ phrase: mnemonic,
49
+ words: mnemonic.split(' '),
50
+ publicKey
51
+ };
52
+ }
53
+
54
+ /**
55
+ * Generate a 24-word recovery phrase for higher security
56
+ */
57
+ static async generateIdentityWithRecovery24() {
58
+ // Generate 256-bit entropy for 24-word mnemonic
59
+ const mnemonic = bip39.generateMnemonic(256);
60
+ const seed = await bip39.mnemonicToSeed(mnemonic);
61
+ const seedSlice = seed.subarray ? seed.subarray(0, 32) : seed.slice(0, 32);
62
+ const privateKeyHex = toHex(seedSlice);
63
+ const publicKey = await _keyManager.KeyManager.importKeyPair(privateKeyHex);
64
+ return {
65
+ phrase: mnemonic,
66
+ words: mnemonic.split(' '),
67
+ publicKey
68
+ };
69
+ }
70
+
71
+ /**
72
+ * Restore an identity from a recovery phrase
73
+ */
74
+ static async restoreFromPhrase(phrase) {
75
+ // Normalize and validate the phrase
76
+ const normalizedPhrase = phrase.trim().toLowerCase();
77
+ if (!bip39.validateMnemonic(normalizedPhrase)) {
78
+ throw new Error('Invalid recovery phrase. Please check the words and try again.');
79
+ }
80
+
81
+ // Derive the same private key from the mnemonic
82
+ const seed = await bip39.mnemonicToSeed(normalizedPhrase);
83
+ const seedSlice = seed.subarray ? seed.subarray(0, 32) : seed.slice(0, 32);
84
+ const privateKeyHex = toHex(seedSlice);
85
+
86
+ // Import and store the key pair
87
+ const publicKey = await _keyManager.KeyManager.importKeyPair(privateKeyHex);
88
+ return publicKey;
89
+ }
90
+
91
+ /**
92
+ * Validate a recovery phrase without importing it
93
+ */
94
+ static validatePhrase(phrase) {
95
+ const normalizedPhrase = phrase.trim().toLowerCase();
96
+ return bip39.validateMnemonic(normalizedPhrase);
97
+ }
98
+
99
+ /**
100
+ * Get the word list for autocomplete/validation
101
+ */
102
+ static getWordList() {
103
+ return bip39.wordlists.english;
104
+ }
105
+
106
+ /**
107
+ * Check if a word is valid in the BIP39 word list
108
+ */
109
+ static isValidWord(word) {
110
+ return bip39.wordlists.english.includes(word.toLowerCase());
111
+ }
112
+
113
+ /**
114
+ * Get suggestions for a partial word
115
+ */
116
+ static getSuggestions(partial, limit = 5) {
117
+ const lowerPartial = partial.toLowerCase();
118
+ return bip39.wordlists.english.filter(word => word.startsWith(lowerPartial)).slice(0, limit);
119
+ }
120
+
121
+ /**
122
+ * Derive the public key from a phrase without storing
123
+ * Useful for verification before importing
124
+ */
125
+ static async derivePublicKeyFromPhrase(phrase) {
126
+ const normalizedPhrase = phrase.trim().toLowerCase();
127
+ if (!bip39.validateMnemonic(normalizedPhrase)) {
128
+ throw new Error('Invalid recovery phrase');
129
+ }
130
+ const seed = await bip39.mnemonicToSeed(normalizedPhrase);
131
+ const seedSlice = seed.subarray ? seed.subarray(0, 32) : seed.slice(0, 32);
132
+ const privateKeyHex = toHex(seedSlice);
133
+ return _keyManager.KeyManager.derivePublicKey(privateKeyHex);
134
+ }
135
+
136
+ /**
137
+ * Convert a phrase to its word array
138
+ */
139
+ static phraseToWords(phrase) {
140
+ return phrase.trim().toLowerCase().split(/\s+/);
141
+ }
142
+
143
+ /**
144
+ * Convert a word array to a phrase string
145
+ */
146
+ static wordsToPhrase(words) {
147
+ return words.map(w => w.toLowerCase().trim()).join(' ');
148
+ }
149
+ }
150
+ exports.RecoveryPhraseService = RecoveryPhraseService;
151
+ var _default = exports.default = RecoveryPhraseService;
152
+ //# sourceMappingURL=recoveryPhrase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["bip39","_interopRequireWildcard","require","_keyManager","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","toHex","data","bytes","Uint8Array","Array","from","map","b","toString","padStart","join","RecoveryPhraseService","generateIdentityWithRecovery","mnemonic","generateMnemonic","seed","mnemonicToSeed","seedSlice","subarray","slice","privateKeyHex","publicKey","KeyManager","importKeyPair","phrase","words","split","generateIdentityWithRecovery24","restoreFromPhrase","normalizedPhrase","trim","toLowerCase","validateMnemonic","Error","validatePhrase","getWordList","wordlists","english","isValidWord","word","includes","getSuggestions","partial","limit","lowerPartial","filter","startsWith","derivePublicKeyFromPhrase","derivePublicKey","phraseToWords","wordsToPhrase","w","exports","_default"],"sourceRoot":"../../../src","sources":["crypto/recoveryPhrase.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.SignatureService = void 0;
7
+ var _elliptic = require("elliptic");
8
+ var _keyManager = require("./keyManager");
9
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); } /**
10
+ * Signature Service - ECDSA Digital Signatures
11
+ *
12
+ * Handles signing and verification of messages using ECDSA secp256k1.
13
+ * Used for authenticating requests and proving identity ownership.
14
+ */
15
+ // Lazy import for expo-crypto
16
+ let ExpoCrypto = null;
17
+ const ec = new _elliptic.ec('secp256k1');
18
+
19
+ /**
20
+ * Check if we're in a React Native environment
21
+ */
22
+ function isReactNative() {
23
+ return typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
24
+ }
25
+
26
+ /**
27
+ * Check if we're in a Node.js environment
28
+ */
29
+ function isNodeJS() {
30
+ return typeof process !== 'undefined' && process.versions != null && process.versions.node != null;
31
+ }
32
+
33
+ /**
34
+ * Initialize expo-crypto module
35
+ */
36
+ async function initExpoCrypto() {
37
+ if (!ExpoCrypto) {
38
+ ExpoCrypto = await Promise.resolve().then(() => _interopRequireWildcard(require('expo-crypto')));
39
+ }
40
+ return ExpoCrypto;
41
+ }
42
+
43
+ /**
44
+ * Compute SHA-256 hash of a string
45
+ */
46
+ async function sha256(message) {
47
+ // In React Native, always use expo-crypto
48
+ if (isReactNative() || !isNodeJS()) {
49
+ const Crypto = await initExpoCrypto();
50
+ return Crypto.digestStringAsync(Crypto.CryptoDigestAlgorithm.SHA256, message);
51
+ }
52
+
53
+ // In Node.js, use Node's crypto module
54
+ // Use Function constructor to prevent Metro bundler from statically analyzing this require
55
+ // This ensures the require is only evaluated in Node.js runtime, not during Metro bundling
56
+ try {
57
+ // eslint-disable-next-line @typescript-eslint/no-implied-eval
58
+ const getCrypto = new Function('return require("crypto")');
59
+ const crypto = getCrypto();
60
+ return crypto.createHash('sha256').update(message).digest('hex');
61
+ } catch (error) {
62
+ // Fallback to expo-crypto if Node crypto fails
63
+ const Crypto = await initExpoCrypto();
64
+ return Crypto.digestStringAsync(Crypto.CryptoDigestAlgorithm.SHA256, message);
65
+ }
66
+ }
67
+ class SignatureService {
68
+ /**
69
+ * Generate a random challenge string (for offline use)
70
+ * Uses expo-crypto in React Native, crypto.randomBytes in Node.js
71
+ */
72
+ static async generateChallenge() {
73
+ if (isReactNative() || !isNodeJS()) {
74
+ // Use expo-crypto for React Native (expo-random is deprecated)
75
+ const Crypto = await initExpoCrypto();
76
+ const randomBytes = await Crypto.getRandomBytesAsync(32);
77
+ return Array.from(randomBytes).map(b => b.toString(16).padStart(2, '0')).join('');
78
+ }
79
+
80
+ // Node.js fallback
81
+ try {
82
+ // eslint-disable-next-line @typescript-eslint/no-implied-eval
83
+ const getCrypto = new Function('return require("crypto")');
84
+ const crypto = getCrypto();
85
+ return crypto.randomBytes(32).toString('hex');
86
+ } catch (error) {
87
+ // Fallback to expo-crypto if Node crypto fails
88
+ const Crypto = await initExpoCrypto();
89
+ const randomBytes = await Crypto.getRandomBytesAsync(32);
90
+ return Array.from(randomBytes).map(b => b.toString(16).padStart(2, '0')).join('');
91
+ }
92
+ }
93
+
94
+ /**
95
+ * Hash a message using SHA-256
96
+ */
97
+ static async hashMessage(message) {
98
+ return sha256(message);
99
+ }
100
+
101
+ /**
102
+ * Sign a message using the stored private key
103
+ * Returns the signature in DER format (hex encoded)
104
+ */
105
+ static async sign(message) {
106
+ const keyPair = await _keyManager.KeyManager.getKeyPairObject();
107
+ if (!keyPair) {
108
+ throw new Error('No identity found. Please create or import an identity first.');
109
+ }
110
+ const messageHash = await sha256(message);
111
+ const signature = keyPair.sign(messageHash);
112
+ return signature.toDER('hex');
113
+ }
114
+
115
+ /**
116
+ * Sign a message with an explicit private key (without storing)
117
+ * Useful for one-time operations or testing
118
+ */
119
+ static async signWithKey(message, privateKey) {
120
+ const keyPair = ec.keyFromPrivate(privateKey);
121
+ const messageHash = await sha256(message);
122
+ const signature = keyPair.sign(messageHash);
123
+ return signature.toDER('hex');
124
+ }
125
+
126
+ /**
127
+ * Verify a signature against a message and public key
128
+ */
129
+ static async verify(message, signature, publicKey) {
130
+ try {
131
+ const key = ec.keyFromPublic(publicKey, 'hex');
132
+ const messageHash = await sha256(message);
133
+ return key.verify(messageHash, signature);
134
+ } catch {
135
+ return false;
136
+ }
137
+ }
138
+
139
+ /**
140
+ * Synchronous verification (for Node.js backend)
141
+ * Uses crypto module directly for hashing
142
+ * Note: This method should only be used in Node.js environments
143
+ */
144
+ static verifySync(message, signature, publicKey) {
145
+ try {
146
+ if (!isNodeJS()) {
147
+ // In React Native, use async verify instead
148
+ throw new Error('verifySync should only be used in Node.js. Use verify() in React Native.');
149
+ }
150
+ // Use Function constructor to prevent Metro bundler from statically analyzing this require
151
+ // eslint-disable-next-line @typescript-eslint/no-implied-eval
152
+ const getCrypto = new Function('return require("crypto")');
153
+ const crypto = getCrypto();
154
+ const key = ec.keyFromPublic(publicKey, 'hex');
155
+ const messageHash = crypto.createHash('sha256').update(message).digest('hex');
156
+ return key.verify(messageHash, signature);
157
+ } catch {
158
+ return false;
159
+ }
160
+ }
161
+
162
+ /**
163
+ * Create a signed message object with metadata
164
+ */
165
+ static async createSignedMessage(message) {
166
+ const publicKey = await _keyManager.KeyManager.getPublicKey();
167
+ if (!publicKey) {
168
+ throw new Error('No identity found. Please create or import an identity first.');
169
+ }
170
+ const timestamp = Date.now();
171
+ const messageWithTimestamp = `${message}:${timestamp}`;
172
+ const signature = await SignatureService.sign(messageWithTimestamp);
173
+ return {
174
+ message,
175
+ signature,
176
+ publicKey,
177
+ timestamp
178
+ };
179
+ }
180
+
181
+ /**
182
+ * Verify a signed message object
183
+ * Checks both signature validity and timestamp freshness
184
+ */
185
+ static async verifySignedMessage(signedMessage, maxAgeMs = 5 * 60 * 1000 // 5 minutes default
186
+ ) {
187
+ const {
188
+ message,
189
+ signature,
190
+ publicKey,
191
+ timestamp
192
+ } = signedMessage;
193
+
194
+ // Check timestamp freshness
195
+ const now = Date.now();
196
+ if (now - timestamp > maxAgeMs) {
197
+ return false;
198
+ }
199
+
200
+ // Verify signature
201
+ const messageWithTimestamp = `${message}:${timestamp}`;
202
+ return SignatureService.verify(messageWithTimestamp, signature, publicKey);
203
+ }
204
+
205
+ /**
206
+ * Create a signed authentication challenge response
207
+ * Used for challenge-response authentication
208
+ */
209
+ static async signChallenge(challenge) {
210
+ const publicKey = await _keyManager.KeyManager.getPublicKey();
211
+ if (!publicKey) {
212
+ throw new Error('No identity found. Please create or import an identity first.');
213
+ }
214
+ const timestamp = Date.now();
215
+ const message = `auth:${publicKey}:${challenge}:${timestamp}`;
216
+ const signature = await SignatureService.sign(message);
217
+ return {
218
+ challenge: signature,
219
+ publicKey,
220
+ timestamp
221
+ };
222
+ }
223
+
224
+ /**
225
+ * Verify a challenge response
226
+ */
227
+ static async verifyChallengeResponse(originalChallenge, response, maxAgeMs = 5 * 60 * 1000) {
228
+ const {
229
+ challenge: signature,
230
+ publicKey,
231
+ timestamp
232
+ } = response;
233
+
234
+ // Check timestamp freshness
235
+ const now = Date.now();
236
+ if (now - timestamp > maxAgeMs) {
237
+ return false;
238
+ }
239
+ const message = `auth:${publicKey}:${originalChallenge}:${timestamp}`;
240
+ return SignatureService.verify(message, signature, publicKey);
241
+ }
242
+
243
+ /**
244
+ * Create a registration signature
245
+ * Used when registering a new identity with the server
246
+ * Format matches server expectation: oxy:register:{publicKey}:{timestamp}
247
+ */
248
+ static async createRegistrationSignature() {
249
+ const publicKey = await _keyManager.KeyManager.getPublicKey();
250
+ if (!publicKey) {
251
+ throw new Error('No identity found. Please create or import an identity first.');
252
+ }
253
+ const timestamp = Date.now();
254
+ const message = `oxy:register:${publicKey}:${timestamp}`;
255
+ const signature = await SignatureService.sign(message);
256
+ return {
257
+ signature,
258
+ publicKey,
259
+ timestamp
260
+ };
261
+ }
262
+
263
+ /**
264
+ * Sign arbitrary data for API requests
265
+ * Creates a canonical string representation and signs it
266
+ */
267
+ static async signRequestData(data) {
268
+ const publicKey = await _keyManager.KeyManager.getPublicKey();
269
+ if (!publicKey) {
270
+ throw new Error('No identity found. Please create or import an identity first.');
271
+ }
272
+ const timestamp = Date.now();
273
+
274
+ // Create canonical string representation
275
+ const sortedKeys = Object.keys(data).sort();
276
+ const canonicalParts = sortedKeys.map(key => `${key}:${JSON.stringify(data[key])}`);
277
+ const canonicalString = canonicalParts.join('|');
278
+ const message = `request:${publicKey}:${timestamp}:${canonicalString}`;
279
+ const signature = await SignatureService.sign(message);
280
+ return {
281
+ signature,
282
+ publicKey,
283
+ timestamp
284
+ };
285
+ }
286
+ }
287
+ exports.SignatureService = SignatureService;
288
+ var _default = exports.default = SignatureService;
289
+ //# sourceMappingURL=signatureService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_elliptic","require","_keyManager","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ExpoCrypto","ec","EC","isReactNative","navigator","product","isNodeJS","process","versions","node","initExpoCrypto","Promise","resolve","then","sha256","message","Crypto","digestStringAsync","CryptoDigestAlgorithm","SHA256","getCrypto","Function","crypto","createHash","update","digest","error","SignatureService","generateChallenge","randomBytes","getRandomBytesAsync","Array","from","map","b","toString","padStart","join","hashMessage","sign","keyPair","KeyManager","getKeyPairObject","Error","messageHash","signature","toDER","signWithKey","privateKey","keyFromPrivate","verify","publicKey","key","keyFromPublic","verifySync","createSignedMessage","getPublicKey","timestamp","Date","now","messageWithTimestamp","verifySignedMessage","signedMessage","maxAgeMs","signChallenge","challenge","verifyChallengeResponse","originalChallenge","response","createRegistrationSignature","signRequestData","data","sortedKeys","keys","sort","canonicalParts","JSON","stringify","canonicalString","exports","_default"],"sourceRoot":"../../../src","sources":["crypto/signatureService.ts"],"mappings":"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","ignoreList":[]}
@@ -237,7 +237,7 @@
237
237
  "enterCode": "Enter the 6‑digit code from your authenticator app.",
238
238
  "newPassword": "Set New Password",
239
239
  "resetSuccess": "Your password has been reset! You can now sign in.",
240
- "noEmail": "We no longer send recovery emails. Please use your backup file to restore your identity. Contact support if you need assistance.",
240
+ "noEmail": "We no longer send recovery emails. Please use your recovery phrase to restore your identity. Contact support if you need assistance.",
241
241
  "password": {
242
242
  "minLength": "Password must be at least 8 characters long",
243
243
  "mismatch": "Passwords do not match",