@oxyhq/services 5.16.33 → 5.16.34

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 (190) hide show
  1. package/README.md +26 -8
  2. package/lib/commonjs/core/OxyServices.base.js.map +1 -1
  3. package/lib/commonjs/core/mixins/OxyServices.user.js.map +1 -1
  4. package/lib/commonjs/core/mixins/OxyServices.utility.js.map +1 -1
  5. package/lib/commonjs/core/services/AuthService.js +156 -0
  6. package/lib/commonjs/core/services/AuthService.js.map +1 -0
  7. package/lib/commonjs/core/services/SessionService.js +1 -2
  8. package/lib/commonjs/core/services/SessionService.js.map +1 -1
  9. package/lib/commonjs/core/services/SessionTransportService.js +64 -0
  10. package/lib/commonjs/core/services/SessionTransportService.js.map +1 -0
  11. package/lib/commonjs/core/services/TokenService.js +9 -17
  12. package/lib/commonjs/core/services/TokenService.js.map +1 -1
  13. package/lib/commonjs/core/services/UserService.js +123 -0
  14. package/lib/commonjs/core/services/UserService.js.map +1 -0
  15. package/lib/commonjs/core/services/index.js +34 -0
  16. package/lib/commonjs/core/services/index.js.map +1 -0
  17. package/lib/commonjs/crypto/index.js.map +1 -1
  18. package/lib/commonjs/crypto/keyManager.js +5 -2
  19. package/lib/commonjs/crypto/keyManager.js.map +1 -1
  20. package/lib/commonjs/crypto/signatureService.js +36 -121
  21. package/lib/commonjs/crypto/signatureService.js.map +1 -1
  22. package/lib/commonjs/index.js.map +1 -1
  23. package/lib/commonjs/models/interfaces.js +11 -11
  24. package/lib/commonjs/models/interfaces.js.map +1 -1
  25. package/lib/commonjs/ui/context/OxyContext.js +4 -40
  26. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  27. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +23 -61
  28. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  29. package/lib/commonjs/ui/context/hooks/useLanguageManagement.js.map +1 -1
  30. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +4 -12
  31. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
  32. package/lib/commonjs/ui/hooks/useLanguageManagement.js.map +1 -1
  33. package/lib/commonjs/ui/hooks/useSessionManagement.js +0 -8
  34. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  35. package/lib/commonjs/ui/index.js +2 -0
  36. package/lib/commonjs/ui/index.js.map +1 -1
  37. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  38. package/lib/commonjs/ui/screens/OxyAuthScreen.js +9 -13
  39. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  40. package/lib/commonjs/ui/utils/sessionHelpers.js +11 -26
  41. package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -1
  42. package/lib/commonjs/utils/sessionUtils.js +1 -8
  43. package/lib/commonjs/utils/sessionUtils.js.map +1 -1
  44. package/lib/module/core/OxyServices.base.js.map +1 -1
  45. package/lib/module/core/mixins/OxyServices.user.js.map +1 -1
  46. package/lib/module/core/mixins/OxyServices.utility.js.map +1 -1
  47. package/lib/module/core/services/AuthService.js +151 -0
  48. package/lib/module/core/services/AuthService.js.map +1 -0
  49. package/lib/module/core/services/SessionService.js +1 -2
  50. package/lib/module/core/services/SessionService.js.map +1 -1
  51. package/lib/module/core/services/SessionTransportService.js +59 -0
  52. package/lib/module/core/services/SessionTransportService.js.map +1 -0
  53. package/lib/module/core/services/TokenService.js +9 -17
  54. package/lib/module/core/services/TokenService.js.map +1 -1
  55. package/lib/module/core/services/UserService.js +118 -0
  56. package/lib/module/core/services/UserService.js.map +1 -0
  57. package/lib/module/core/services/index.js +16 -0
  58. package/lib/module/core/services/index.js.map +1 -0
  59. package/lib/module/crypto/index.js +9 -0
  60. package/lib/module/crypto/index.js.map +1 -1
  61. package/lib/module/crypto/keyManager.js +5 -2
  62. package/lib/module/crypto/keyManager.js.map +1 -1
  63. package/lib/module/crypto/signatureService.js +36 -122
  64. package/lib/module/crypto/signatureService.js.map +1 -1
  65. package/lib/module/index.js +1 -0
  66. package/lib/module/index.js.map +1 -1
  67. package/lib/module/models/interfaces.js +11 -11
  68. package/lib/module/models/interfaces.js.map +1 -1
  69. package/lib/module/ui/context/OxyContext.js +4 -40
  70. package/lib/module/ui/context/OxyContext.js.map +1 -1
  71. package/lib/module/ui/context/hooks/useAuthOperations.js +23 -61
  72. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  73. package/lib/module/ui/context/hooks/useLanguageManagement.js.map +1 -1
  74. package/lib/module/ui/hooks/queries/useServicesQueries.js +5 -13
  75. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
  76. package/lib/module/ui/hooks/useLanguageManagement.js.map +1 -1
  77. package/lib/module/ui/hooks/useSessionManagement.js +0 -8
  78. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  79. package/lib/module/ui/index.js +1 -0
  80. package/lib/module/ui/index.js.map +1 -1
  81. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  82. package/lib/module/ui/screens/OxyAuthScreen.js +7 -9
  83. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  84. package/lib/module/ui/utils/sessionHelpers.js +11 -26
  85. package/lib/module/ui/utils/sessionHelpers.js.map +1 -1
  86. package/lib/module/utils/sessionUtils.js +1 -8
  87. package/lib/module/utils/sessionUtils.js.map +1 -1
  88. package/lib/typescript/core/OxyServices.base.d.ts.map +1 -1
  89. package/lib/typescript/core/mixins/OxyServices.analytics.d.ts.map +1 -1
  90. package/lib/typescript/core/mixins/OxyServices.assets.d.ts.map +1 -1
  91. package/lib/typescript/core/mixins/OxyServices.auth.d.ts +1 -1
  92. package/lib/typescript/core/mixins/OxyServices.auth.d.ts.map +1 -1
  93. package/lib/typescript/core/mixins/OxyServices.developer.d.ts.map +1 -1
  94. package/lib/typescript/core/mixins/OxyServices.devices.d.ts.map +1 -1
  95. package/lib/typescript/core/mixins/OxyServices.karma.d.ts.map +1 -1
  96. package/lib/typescript/core/mixins/OxyServices.language.d.ts.map +1 -1
  97. package/lib/typescript/core/mixins/OxyServices.location.d.ts.map +1 -1
  98. package/lib/typescript/core/mixins/OxyServices.payment.d.ts.map +1 -1
  99. package/lib/typescript/core/mixins/OxyServices.privacy.d.ts.map +1 -1
  100. package/lib/typescript/core/mixins/OxyServices.security.d.ts.map +1 -1
  101. package/lib/typescript/core/mixins/OxyServices.user.d.ts +2 -1
  102. package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -1
  103. package/lib/typescript/core/mixins/OxyServices.utility.d.ts.map +1 -1
  104. package/lib/typescript/core/mixins/index.d.ts +13 -13
  105. package/lib/typescript/core/mixins/index.d.ts.map +1 -1
  106. package/lib/typescript/core/services/AuthService.d.ts +50 -0
  107. package/lib/typescript/core/services/AuthService.d.ts.map +1 -0
  108. package/lib/typescript/core/services/SessionService.d.ts +3 -5
  109. package/lib/typescript/core/services/SessionService.d.ts.map +1 -1
  110. package/lib/typescript/core/services/SessionTransportService.d.ts +31 -0
  111. package/lib/typescript/core/services/SessionTransportService.d.ts.map +1 -0
  112. package/lib/typescript/core/services/TokenService.d.ts +3 -8
  113. package/lib/typescript/core/services/TokenService.d.ts.map +1 -1
  114. package/lib/typescript/core/services/UserService.d.ts +39 -0
  115. package/lib/typescript/core/services/UserService.d.ts.map +1 -0
  116. package/lib/typescript/core/services/index.d.ts +13 -0
  117. package/lib/typescript/core/services/index.d.ts.map +1 -0
  118. package/lib/typescript/crypto/index.d.ts +9 -0
  119. package/lib/typescript/crypto/index.d.ts.map +1 -1
  120. package/lib/typescript/crypto/keyManager.d.ts.map +1 -1
  121. package/lib/typescript/crypto/signatureService.d.ts +10 -13
  122. package/lib/typescript/crypto/signatureService.d.ts.map +1 -1
  123. package/lib/typescript/index.d.ts +1 -1
  124. package/lib/typescript/index.d.ts.map +1 -1
  125. package/lib/typescript/models/interfaces.d.ts +15 -69
  126. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  127. package/lib/typescript/models/session.d.ts +2 -4
  128. package/lib/typescript/models/session.d.ts.map +1 -1
  129. package/lib/typescript/ui/context/OxyContext.d.ts +2 -1
  130. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  131. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +2 -1
  132. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  133. package/lib/typescript/ui/context/hooks/useLanguageManagement.d.ts +2 -1
  134. package/lib/typescript/ui/context/hooks/useLanguageManagement.d.ts.map +1 -1
  135. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts +1 -1
  136. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  137. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts +1 -1
  138. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  139. package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  140. package/lib/typescript/ui/hooks/useLanguageManagement.d.ts +2 -1
  141. package/lib/typescript/ui/hooks/useLanguageManagement.d.ts.map +1 -1
  142. package/lib/typescript/ui/hooks/useSessionManagement.d.ts +2 -1
  143. package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +1 -1
  144. package/lib/typescript/ui/index.d.ts +1 -1
  145. package/lib/typescript/ui/index.d.ts.map +1 -1
  146. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  147. package/lib/typescript/ui/stores/authStore.d.ts +1 -1
  148. package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
  149. package/lib/typescript/ui/utils/avatarUtils.d.ts +1 -1
  150. package/lib/typescript/ui/utils/avatarUtils.d.ts.map +1 -1
  151. package/lib/typescript/ui/utils/sessionHelpers.d.ts +2 -6
  152. package/lib/typescript/ui/utils/sessionHelpers.d.ts.map +1 -1
  153. package/lib/typescript/utils/sessionUtils.d.ts.map +1 -1
  154. package/package.json +2 -1
  155. package/src/core/OxyServices.base.ts +2 -1
  156. package/src/core/mixins/OxyServices.auth.ts +1 -1
  157. package/src/core/mixins/OxyServices.user.ts +2 -1
  158. package/src/core/mixins/OxyServices.utility.ts +2 -1
  159. package/src/core/services/AuthService.ts +153 -0
  160. package/src/core/services/SessionService.ts +3 -5
  161. package/src/core/services/SessionTransportService.ts +69 -0
  162. package/src/core/services/TokenService.ts +10 -18
  163. package/src/core/services/UserService.ts +125 -0
  164. package/src/core/services/index.ts +14 -0
  165. package/src/crypto/index.ts +9 -0
  166. package/src/crypto/keyManager.ts +3 -2
  167. package/src/crypto/signatureService.ts +44 -142
  168. package/src/index.ts +1 -2
  169. package/src/models/interfaces.ts +21 -74
  170. package/src/models/session.ts +3 -5
  171. package/src/ui/context/OxyContext.tsx +22 -57
  172. package/src/ui/context/hooks/useAuthOperations.ts +33 -65
  173. package/src/ui/context/hooks/useLanguageManagement.ts +2 -1
  174. package/src/ui/hooks/auth/index.ts +0 -2
  175. package/src/ui/hooks/mutations/useAccountMutations.ts +1 -1
  176. package/src/ui/hooks/mutations/useServicesMutations.ts +1 -1
  177. package/src/ui/hooks/queries/useAccountQueries.ts +1 -1
  178. package/src/ui/hooks/queries/useServicesQueries.ts +3 -8
  179. package/src/ui/hooks/useLanguageManagement.ts +2 -1
  180. package/src/ui/hooks/useSessionManagement.ts +3 -9
  181. package/src/ui/index.ts +2 -1
  182. package/src/ui/screens/AccountSettingsScreen.tsx +6 -6
  183. package/src/ui/screens/AccountSwitcherScreen.tsx +1 -1
  184. package/src/ui/screens/OxyAuthScreen.tsx +5 -9
  185. package/src/ui/screens/ProfileScreen.tsx +1 -1
  186. package/src/ui/stores/authStore.ts +1 -1
  187. package/src/ui/types/navigation.ts +1 -1
  188. package/src/ui/utils/avatarUtils.ts +1 -1
  189. package/src/ui/utils/sessionHelpers.ts +15 -32
  190. package/src/utils/sessionUtils.ts +1 -8
@@ -10,14 +10,14 @@
10
10
  * - Single storage location (no duplication)
11
11
  * - Automatic token refresh when expiring soon
12
12
  * - Type-safe token payload handling
13
- * - publicKey is the canonical user identity
13
+ * - userId is always MongoDB ObjectId, never publicKey
14
14
  */
15
15
 
16
16
  import { jwtDecode } from 'jwt-decode';
17
17
 
18
18
  /**
19
19
  * AccessTokenPayload - Matches the token payload structure from API
20
- * publicKey is the canonical user identity (ECDSA secp256k1 public key)
20
+ * userId is always MongoDB ObjectId (24 hex characters), never publicKey
21
21
  */
22
22
 
23
23
  /**
@@ -100,28 +100,20 @@ class TokenService {
100
100
  }
101
101
 
102
102
  /**
103
- * Get publicKey from current access token
104
- * Returns the user's public key (canonical user identity)
103
+ * Get userId from current access token
104
+ * Returns MongoDB ObjectId (never publicKey)
105
105
  */
106
- getPublicKeyFromToken() {
106
+ getUserIdFromToken() {
107
107
  const token = this.tokenStore.accessToken;
108
108
  if (!token) return null;
109
109
  try {
110
110
  const decoded = jwtDecode(token);
111
- return decoded.publicKey || null;
111
+ return decoded.userId || null;
112
112
  } catch {
113
113
  return null;
114
114
  }
115
115
  }
116
116
 
117
- /**
118
- * @deprecated Use getPublicKeyFromToken() instead. This method is kept for backward compatibility.
119
- * Get userId from current access token (returns publicKey, not MongoDB ObjectId)
120
- */
121
- getUserIdFromToken() {
122
- return this.getPublicKeyFromToken();
123
- }
124
-
125
117
  /**
126
118
  * Refresh access token if expiring soon
127
119
  * Returns promise that resolves when token is refreshed (or already valid)
@@ -180,10 +172,10 @@ class TokenService {
180
172
  throw new Error('No access token in refresh response');
181
173
  }
182
174
 
183
- // Validate new token has publicKey (canonical user identity)
175
+ // Validate new token has correct userId format (ObjectId)
184
176
  const newDecoded = jwtDecode(newToken);
185
- if (!newDecoded.publicKey) {
186
- throw new Error('Token missing publicKey after refresh');
177
+ if (newDecoded.userId && !/^[0-9a-fA-F]{24}$/.test(newDecoded.userId)) {
178
+ throw new Error(`Invalid userId format in refreshed token: ${newDecoded.userId.substring(0, 20)}...`);
187
179
  }
188
180
  this.setTokens(newToken);
189
181
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"names":["jwtDecode","TokenService","tokenStore","accessToken","refreshToken","refreshPromise","baseURL","constructor","getInstance","instance","initialize","getAccessToken","getRefreshToken","setTokens","clearTokens","hasAccessToken","isTokenExpiringSoon","token","decoded","exp","currentTime","Math","floor","Date","now","getPublicKeyFromToken","publicKey","getUserIdFromToken","refreshTokenIfNeeded","_performRefresh","Error","sessionId","refreshUrl","response","fetch","method","headers","signal","AbortSignal","timeout","ok","status","newToken","json","newDecoded","error","getAuthHeader","catch","tokenService"],"sourceRoot":"../../../../src","sources":["core/services/TokenService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jwtDecode","TokenService","tokenStore","accessToken","refreshToken","refreshPromise","baseURL","constructor","getInstance","instance","initialize","getAccessToken","getRefreshToken","setTokens","clearTokens","hasAccessToken","isTokenExpiringSoon","token","decoded","exp","currentTime","Math","floor","Date","now","getUserIdFromToken","userId","refreshTokenIfNeeded","_performRefresh","Error","sessionId","refreshUrl","response","fetch","method","headers","signal","AbortSignal","timeout","ok","status","newToken","json","newDecoded","test","substring","error","getAuthHeader","catch","tokenService"],"sourceRoot":"../../../../src","sources":["core/services/TokenService.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * User Service
5
+ *
6
+ * Handles user profile operations (no key handling):
7
+ * - Profile fetch/update
8
+ * - Profile search
9
+ * - User recommendations
10
+ */
11
+
12
+ import { HttpService } from '../HttpService';
13
+ export class UserService {
14
+ constructor(config) {
15
+ this.httpService = new HttpService(config);
16
+ }
17
+
18
+ /**
19
+ * Get user profile by ID
20
+ */
21
+ async getUserById(userId) {
22
+ try {
23
+ return await this.httpService.request({
24
+ method: 'GET',
25
+ url: `/api/profiles/${userId}`,
26
+ cache: true,
27
+ cacheTTL: 5 * 60 * 1000
28
+ });
29
+ } catch (error) {
30
+ throw error;
31
+ }
32
+ }
33
+
34
+ /**
35
+ * Get profile by username
36
+ */
37
+ async getProfileByUsername(username) {
38
+ try {
39
+ return await this.httpService.request({
40
+ method: 'GET',
41
+ url: `/api/profiles/username/${username}`,
42
+ cache: true,
43
+ cacheTTL: 5 * 60 * 1000
44
+ });
45
+ } catch (error) {
46
+ throw error;
47
+ }
48
+ }
49
+
50
+ /**
51
+ * Search user profiles
52
+ */
53
+ async searchProfiles(query, pagination) {
54
+ try {
55
+ const params = new URLSearchParams();
56
+ params.set('query', query);
57
+ if (pagination?.limit) params.set('limit', pagination.limit.toString());
58
+ if (pagination?.offset) params.set('offset', pagination.offset.toString());
59
+ const response = await this.httpService.request({
60
+ method: 'GET',
61
+ url: `/api/profiles/search?${params.toString()}`,
62
+ cache: true,
63
+ cacheTTL: 2 * 60 * 1000
64
+ });
65
+
66
+ // Handle response format
67
+ if (Array.isArray(response)) {
68
+ const limit = pagination?.limit ?? response.length;
69
+ const paginationInfo = {
70
+ total: response.length,
71
+ limit,
72
+ offset: pagination?.offset ?? 0,
73
+ hasMore: limit > 0 && response.length === limit
74
+ };
75
+ return {
76
+ data: response,
77
+ pagination: paginationInfo
78
+ };
79
+ }
80
+ return response;
81
+ } catch (error) {
82
+ throw error;
83
+ }
84
+ }
85
+
86
+ /**
87
+ * Get profile recommendations
88
+ */
89
+ async getProfileRecommendations() {
90
+ try {
91
+ return await this.httpService.request({
92
+ method: 'GET',
93
+ url: '/api/profiles/recommendations',
94
+ cache: true,
95
+ cacheTTL: 5 * 60 * 1000
96
+ });
97
+ } catch (error) {
98
+ throw error;
99
+ }
100
+ }
101
+
102
+ /**
103
+ * Update user profile
104
+ */
105
+ async updateProfile(updates) {
106
+ try {
107
+ return await this.httpService.request({
108
+ method: 'PATCH',
109
+ url: '/api/profiles/me',
110
+ data: updates,
111
+ cache: false
112
+ });
113
+ } catch (error) {
114
+ throw error;
115
+ }
116
+ }
117
+ }
118
+ //# sourceMappingURL=UserService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["HttpService","UserService","constructor","config","httpService","getUserById","userId","request","method","url","cache","cacheTTL","error","getProfileByUsername","username","searchProfiles","query","pagination","params","URLSearchParams","set","limit","toString","offset","response","Array","isArray","length","paginationInfo","total","hasMore","data","getProfileRecommendations","updateProfile","updates"],"sourceRoot":"../../../../src","sources":["core/services/UserService.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Focused Services
5
+ *
6
+ * Single-responsibility services replacing the mixin pattern:
7
+ * - AuthService: Authentication, challenges, registration
8
+ * - SessionService: Session management (already exists)
9
+ * - UserService: User profile operations
10
+ */
11
+
12
+ export { AuthService } from './AuthService';
13
+ export { sessionService } from './SessionService';
14
+ export { UserService } from './UserService';
15
+ export { tokenService } from './TokenService';
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AuthService","sessionService","UserService","tokenService"],"sourceRoot":"../../../../src","sources":["core/services/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,WAAW,QAAQ,eAAe;AAC3C,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,YAAY,QAAQ,gBAAgB","ignoreList":[]}
@@ -5,6 +5,15 @@
5
5
  *
6
6
  * Provides cryptographic identity management for the Oxy ecosystem.
7
7
  * Handles key generation, secure storage, and digital signatures.
8
+ *
9
+ * ⚠️ IMPORTANT: KeyManager is primarily intended for use in the Oxy Accounts app.
10
+ * While it's exported here for convenience, third-party applications should NOT
11
+ * generate or store user identities. The Accounts app is the identity wallet.
12
+ *
13
+ * For third-party apps:
14
+ * - Use SignatureService for signing operations (but keys come from Accounts app)
15
+ * - Do NOT call KeyManager.createIdentity() or KeyManager.importKeyPair()
16
+ * - The Oxy Accounts app handles all identity generation and key storage
8
17
  */
9
18
 
10
19
  // Import polyfills first - this ensures Buffer is available for crypto libraries
@@ -1 +1 @@
1
- {"version":3,"names":["KeyManager","SignatureService","default"],"sourceRoot":"../../../src","sources":["crypto/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,YAAY;AAEnB,SAASA,UAAU,QAAsB,cAAc;AACvD,SACEC,gBAAgB,QAGX,oBAAoB;AAG3B;AACA,SAASD,UAAU,IAAIE,OAAO,QAAQ,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["KeyManager","SignatureService","default"],"sourceRoot":"../../../src","sources":["crypto/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,YAAY;AAEnB,SAASA,UAAU,QAAsB,cAAc;AACvD,SACEC,gBAAgB,QAGX,oBAAoB;AAG3B;AACA,SAASD,UAAU,IAAIE,OAAO,QAAQ,cAAc","ignoreList":[]}
@@ -503,8 +503,11 @@ export class KeyManager {
503
503
  * Format: first 8 chars...last 8 chars
504
504
  */
505
505
  static shortenPublicKey(publicKey) {
506
- if (publicKey.length <= 20) return publicKey;
507
- return `${publicKey.slice(0, 8)}...${publicKey.slice(-8)}`;
506
+ // Use shared utility
507
+ const {
508
+ shortenPublicKey
509
+ } = require('@oxyhq/shared');
510
+ return shortenPublicKey(publicKey);
508
511
  }
509
512
  }
510
513
  export default KeyManager;
@@ -1 +1 @@
1
- {"version":3,"names":["ec","EC","Platform","SecureStore","ExpoCrypto","STORAGE_KEYS","PRIVATE_KEY","PUBLIC_KEY","BACKUP_PRIVATE_KEY","BACKUP_PUBLIC_KEY","BACKUP_TIMESTAMP","initSecureStore","error","errorMessage","Error","message","String","isReactNative","navigator","product","isNodeJS","process","versions","node","isWebPlatform","OS","window","initExpoCrypto","uint8ArrayToHex","bytes","Array","from","map","b","toString","padStart","join","getSecureRandomBytes","length","Crypto","getRandomBytes","getCrypto","Function","crypto","Uint8Array","randomBytes","KeyManager","cachedPublicKey","cachedHasIdentity","invalidateCache","generateKeyPairSync","keyPair","genKeyPair","privateKey","getPrivate","publicKey","getPublic","generateKeyPair","privateKeyHex","keyFromPrivate","createIdentity","store","setItemAsync","keychainAccessible","WHEN_UNLOCKED_THIS_DEVICE_ONLY","importKeyPair","getPrivateKey","getItemAsync","__DEV__","console","warn","getPublicKey","hasIdentity","deleteIdentity","skipBackup","force","userConfirmed","backupSuccess","backupIdentity","backupError","deleteItemAsync","Date","now","verifyIdentityIntegrity","isValidPrivateKey","isValidPublicKey","derivedPublicKey","derivePublicKey","getKeyPairObject","restoreIdentityFromBackup","backupPrivateKey","backupPublicKey","restored","keyFromPublic","shortenPublicKey","slice"],"sourceRoot":"../../../src","sources":["crypto/keyManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ec","EC","Platform","SecureStore","ExpoCrypto","STORAGE_KEYS","PRIVATE_KEY","PUBLIC_KEY","BACKUP_PRIVATE_KEY","BACKUP_PUBLIC_KEY","BACKUP_TIMESTAMP","initSecureStore","error","errorMessage","Error","message","String","isReactNative","navigator","product","isNodeJS","process","versions","node","isWebPlatform","OS","window","initExpoCrypto","uint8ArrayToHex","bytes","Array","from","map","b","toString","padStart","join","getSecureRandomBytes","length","Crypto","getRandomBytes","getCrypto","Function","crypto","Uint8Array","randomBytes","KeyManager","cachedPublicKey","cachedHasIdentity","invalidateCache","generateKeyPairSync","keyPair","genKeyPair","privateKey","getPrivate","publicKey","getPublic","generateKeyPair","privateKeyHex","keyFromPrivate","createIdentity","store","setItemAsync","keychainAccessible","WHEN_UNLOCKED_THIS_DEVICE_ONLY","importKeyPair","getPrivateKey","getItemAsync","__DEV__","console","warn","getPublicKey","hasIdentity","deleteIdentity","skipBackup","force","userConfirmed","backupSuccess","backupIdentity","backupError","deleteItemAsync","Date","now","verifyIdentityIntegrity","isValidPrivateKey","isValidPublicKey","derivedPublicKey","derivePublicKey","getKeyPairObject","restoreIdentityFromBackup","backupPrivateKey","backupPublicKey","restored","keyFromPublic","shortenPublicKey","require"],"sourceRoot":"../../../src","sources":["crypto/keyManager.ts"],"mappings":"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","ignoreList":[]}
@@ -5,95 +5,36 @@
5
5
  *
6
6
  * Handles signing and verification of messages using ECDSA secp256k1.
7
7
  * Used for authenticating requests and proving identity ownership.
8
+ *
9
+ * Note: This service handles SIGNING (requires private key access via KeyManager).
10
+ * For VERIFICATION, use @oxyhq/shared SignatureService instead.
8
11
  */
9
12
 
10
13
  import { ec as EC } from 'elliptic';
11
14
  import { KeyManager } from './keyManager';
12
-
13
- // Lazy import for expo-crypto
14
- let ExpoCrypto = null;
15
+ import { buildAuthMessage, buildRegistrationMessage, buildRequestMessage, getCryptoAdapter } from '@oxyhq/shared';
15
16
  const ec = new EC('secp256k1');
16
17
 
17
- /**
18
- * Check if we're in a React Native environment
19
- */
20
- function isReactNative() {
21
- return typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
22
- }
23
-
24
- /**
25
- * Check if we're in a Node.js environment
26
- */
27
- function isNodeJS() {
28
- return typeof process !== 'undefined' && process.versions != null && process.versions.node != null;
29
- }
30
-
31
- /**
32
- * Initialize expo-crypto module
33
- */
34
- async function initExpoCrypto() {
35
- if (!ExpoCrypto) {
36
- ExpoCrypto = await import('expo-crypto');
37
- }
38
- return ExpoCrypto;
39
- }
40
-
41
- /**
42
- * Compute SHA-256 hash of a string
43
- */
44
- async function sha256(message) {
45
- // In React Native, always use expo-crypto
46
- if (isReactNative() || !isNodeJS()) {
47
- const Crypto = await initExpoCrypto();
48
- return Crypto.digestStringAsync(Crypto.CryptoDigestAlgorithm.SHA256, message);
49
- }
18
+ // Re-export shared types
50
19
 
51
- // In Node.js, use Node's crypto module
52
- // Use Function constructor to prevent Metro bundler from statically analyzing this require
53
- // This ensures the require is only evaluated in Node.js runtime, not during Metro bundling
54
- try {
55
- // eslint-disable-next-line @typescript-eslint/no-implied-eval
56
- const getCrypto = new Function('return require("crypto")');
57
- const crypto = getCrypto();
58
- return crypto.createHash('sha256').update(message).digest('hex');
59
- } catch (error) {
60
- // Fallback to expo-crypto if Node crypto fails
61
- const Crypto = await initExpoCrypto();
62
- return Crypto.digestStringAsync(Crypto.CryptoDigestAlgorithm.SHA256, message);
63
- }
64
- }
65
20
  export class SignatureService {
66
21
  /**
67
22
  * Generate a random challenge string (for offline use)
68
- * Uses expo-crypto in React Native, crypto.randomBytes in Node.js
23
+ * Uses shared crypto adapter
69
24
  */
70
25
  static async generateChallenge() {
71
- if (isReactNative() || !isNodeJS()) {
72
- // Use expo-crypto for React Native (expo-random is deprecated)
73
- const Crypto = await initExpoCrypto();
74
- const randomBytes = await Crypto.getRandomBytesAsync(32);
75
- return Array.from(randomBytes).map(b => b.toString(16).padStart(2, '0')).join('');
76
- }
77
-
78
- // Node.js fallback
79
- try {
80
- // eslint-disable-next-line @typescript-eslint/no-implied-eval
81
- const getCrypto = new Function('return require("crypto")');
82
- const crypto = getCrypto();
83
- return crypto.randomBytes(32).toString('hex');
84
- } catch (error) {
85
- // Fallback to expo-crypto if Node crypto fails
86
- const Crypto = await initExpoCrypto();
87
- const randomBytes = await Crypto.getRandomBytesAsync(32);
88
- return Array.from(randomBytes).map(b => b.toString(16).padStart(2, '0')).join('');
89
- }
26
+ const adapter = await getCryptoAdapter();
27
+ const randomBytes = await adapter.randomBytes(32);
28
+ return Array.from(randomBytes).map(b => b.toString(16).padStart(2, '0')).join('');
90
29
  }
91
30
 
92
31
  /**
93
32
  * Hash a message using SHA-256
33
+ * Uses shared crypto adapter
94
34
  */
95
35
  static async hashMessage(message) {
96
- return sha256(message);
36
+ const adapter = await getCryptoAdapter();
37
+ return adapter.sha256(message);
97
38
  }
98
39
 
99
40
  /**
@@ -105,7 +46,8 @@ export class SignatureService {
105
46
  if (!keyPair) {
106
47
  throw new Error('No identity found. Please create or import an identity first.');
107
48
  }
108
- const messageHash = await sha256(message);
49
+ const adapter = await getCryptoAdapter();
50
+ const messageHash = await adapter.sha256(message);
109
51
  const signature = keyPair.sign(messageHash);
110
52
  return signature.toDER('hex');
111
53
  }
@@ -116,45 +58,21 @@ export class SignatureService {
116
58
  */
117
59
  static async signWithKey(message, privateKey) {
118
60
  const keyPair = ec.keyFromPrivate(privateKey);
119
- const messageHash = await sha256(message);
61
+ const adapter = await getCryptoAdapter();
62
+ const messageHash = await adapter.sha256(message);
120
63
  const signature = keyPair.sign(messageHash);
121
64
  return signature.toDER('hex');
122
65
  }
123
66
 
124
67
  /**
125
68
  * Verify a signature against a message and public key
69
+ * Uses shared SignatureService for verification
126
70
  */
127
71
  static async verify(message, signature, publicKey) {
128
- try {
129
- const key = ec.keyFromPublic(publicKey, 'hex');
130
- const messageHash = await sha256(message);
131
- return key.verify(messageHash, signature);
132
- } catch {
133
- return false;
134
- }
135
- }
136
-
137
- /**
138
- * Synchronous verification (for Node.js backend)
139
- * Uses crypto module directly for hashing
140
- * Note: This method should only be used in Node.js environments
141
- */
142
- static verifySync(message, signature, publicKey) {
143
- try {
144
- if (!isNodeJS()) {
145
- // In React Native, use async verify instead
146
- throw new Error('verifySync should only be used in Node.js. Use verify() in React Native.');
147
- }
148
- // Use Function constructor to prevent Metro bundler from statically analyzing this require
149
- // eslint-disable-next-line @typescript-eslint/no-implied-eval
150
- const getCrypto = new Function('return require("crypto")');
151
- const crypto = getCrypto();
152
- const key = ec.keyFromPublic(publicKey, 'hex');
153
- const messageHash = crypto.createHash('sha256').update(message).digest('hex');
154
- return key.verify(messageHash, signature);
155
- } catch {
156
- return false;
157
- }
72
+ const {
73
+ SignatureService: SharedSignatureService
74
+ } = await import('@oxyhq/shared');
75
+ return SharedSignatureService.verify(message, signature, publicKey);
158
76
  }
159
77
 
160
78
  /**
@@ -179,9 +97,14 @@ export class SignatureService {
179
97
  /**
180
98
  * Verify a signed message object
181
99
  * Checks both signature validity and timestamp freshness
100
+ * Uses shared SignatureService for verification
182
101
  */
183
102
  static async verifySignedMessage(signedMessage, maxAgeMs = 5 * 60 * 1000 // 5 minutes default
184
103
  ) {
104
+ const {
105
+ SignatureService: SharedSignatureService,
106
+ isTimestampFresh
107
+ } = await import('@oxyhq/shared');
185
108
  const {
186
109
  message,
187
110
  signature,
@@ -190,14 +113,13 @@ export class SignatureService {
190
113
  } = signedMessage;
191
114
 
192
115
  // Check timestamp freshness
193
- const now = Date.now();
194
- if (now - timestamp > maxAgeMs) {
116
+ if (!isTimestampFresh(timestamp, maxAgeMs)) {
195
117
  return false;
196
118
  }
197
119
 
198
120
  // Verify signature
199
121
  const messageWithTimestamp = `${message}:${timestamp}`;
200
- return SignatureService.verify(messageWithTimestamp, signature, publicKey);
122
+ return SharedSignatureService.verify(messageWithTimestamp, signature, publicKey);
201
123
  }
202
124
 
203
125
  /**
@@ -210,7 +132,7 @@ export class SignatureService {
210
132
  throw new Error('No identity found. Please create or import an identity first.');
211
133
  }
212
134
  const timestamp = Date.now();
213
- const message = `auth:${publicKey}:${challenge}:${timestamp}`;
135
+ const message = buildAuthMessage(publicKey, challenge, timestamp);
214
136
  const signature = await SignatureService.sign(message);
215
137
  return {
216
138
  challenge: signature,
@@ -221,21 +143,18 @@ export class SignatureService {
221
143
 
222
144
  /**
223
145
  * Verify a challenge response
146
+ * Uses shared SignatureService for verification
224
147
  */
225
148
  static async verifyChallengeResponse(originalChallenge, response, maxAgeMs = 5 * 60 * 1000) {
149
+ const {
150
+ SignatureService: SharedSignatureService
151
+ } = await import('@oxyhq/shared');
226
152
  const {
227
153
  challenge: signature,
228
154
  publicKey,
229
155
  timestamp
230
156
  } = response;
231
-
232
- // Check timestamp freshness
233
- const now = Date.now();
234
- if (now - timestamp > maxAgeMs) {
235
- return false;
236
- }
237
- const message = `auth:${publicKey}:${originalChallenge}:${timestamp}`;
238
- return SignatureService.verify(message, signature, publicKey);
157
+ return SharedSignatureService.verifyChallengeResponse(publicKey, originalChallenge, signature, timestamp, maxAgeMs);
239
158
  }
240
159
 
241
160
  /**
@@ -249,7 +168,7 @@ export class SignatureService {
249
168
  throw new Error('No identity found. Please create or import an identity first.');
250
169
  }
251
170
  const timestamp = Date.now();
252
- const message = `oxy:register:${publicKey}:${timestamp}`;
171
+ const message = buildRegistrationMessage(publicKey, timestamp);
253
172
  const signature = await SignatureService.sign(message);
254
173
  return {
255
174
  signature,
@@ -268,12 +187,7 @@ export class SignatureService {
268
187
  throw new Error('No identity found. Please create or import an identity first.');
269
188
  }
270
189
  const timestamp = Date.now();
271
-
272
- // Create canonical string representation
273
- const sortedKeys = Object.keys(data).sort();
274
- const canonicalParts = sortedKeys.map(key => `${key}:${JSON.stringify(data[key])}`);
275
- const canonicalString = canonicalParts.join('|');
276
- const message = `request:${publicKey}:${timestamp}:${canonicalString}`;
190
+ const message = buildRequestMessage(publicKey, timestamp, data);
277
191
  const signature = await SignatureService.sign(message);
278
192
  return {
279
193
  signature,
@@ -1 +1 @@
1
- {"version":3,"names":["ec","EC","KeyManager","ExpoCrypto","isReactNative","navigator","product","isNodeJS","process","versions","node","initExpoCrypto","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","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","Object","keys","sort","canonicalParts","JSON","stringify","canonicalString"],"sourceRoot":"../../../src","sources":["crypto/signatureService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ec","EC","KeyManager","buildAuthMessage","buildRegistrationMessage","buildRequestMessage","getCryptoAdapter","SignatureService","generateChallenge","adapter","randomBytes","Array","from","map","b","toString","padStart","join","hashMessage","message","sha256","sign","keyPair","getKeyPairObject","Error","messageHash","signature","toDER","signWithKey","privateKey","keyFromPrivate","verify","publicKey","SharedSignatureService","createSignedMessage","getPublicKey","timestamp","Date","now","messageWithTimestamp","verifySignedMessage","signedMessage","maxAgeMs","isTimestampFresh","signChallenge","challenge","verifyChallengeResponse","originalChallenge","response","createRegistrationSignature","signRequestData","data"],"sourceRoot":"../../../src","sources":["crypto/signatureService.ts"],"mappings":"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","ignoreList":[]}