@oxyhq/services 5.17.5 → 5.17.8
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.
- package/lib/commonjs/crypto/keyManager.js +6 -161
- package/lib/commonjs/crypto/keyManager.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +20 -543
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContextBase.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +14 -331
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +8 -112
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +2 -27
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +2 -27
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSessionSocket.js +2 -88
- package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
- package/lib/module/crypto/keyManager.js +6 -161
- package/lib/module/crypto/keyManager.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +20 -543
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/OxyContextBase.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +14 -330
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/hooks/mutations/useAccountMutations.js +8 -112
- package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/module/ui/hooks/queries/useAccountQueries.js +2 -27
- package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/useServicesQueries.js +2 -27
- package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/module/ui/hooks/useSessionSocket.js +2 -88
- package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
- package/lib/typescript/crypto/keyManager.d.ts +3 -20
- package/lib/typescript/crypto/keyManager.d.ts.map +1 -1
- package/lib/typescript/crypto/types.d.ts +4 -0
- package/lib/typescript/crypto/types.d.ts.map +1 -1
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/ui/context/OxyContextBase.d.ts +0 -37
- package/lib/typescript/ui/context/OxyContextBase.d.ts.map +1 -1
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +1 -20
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useSessionSocket.d.ts +1 -14
- package/lib/typescript/ui/hooks/useSessionSocket.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/crypto/keyManager.ts +4 -170
- package/src/crypto/types.ts +4 -0
- package/src/ui/context/OxyContext.tsx +17 -588
- package/src/ui/context/OxyContextBase.tsx +2 -20
- package/src/ui/context/hooks/useAuthOperations.ts +22 -347
- package/src/ui/hooks/mutations/useAccountMutations.ts +12 -110
- package/src/ui/hooks/queries/useAccountQueries.ts +3 -27
- package/src/ui/hooks/queries/useServicesQueries.ts +3 -27
- package/src/ui/hooks/useSessionSocket.ts +2 -106
|
@@ -16,10 +16,7 @@ let ExpoCrypto = null;
|
|
|
16
16
|
const ec = new EC('secp256k1');
|
|
17
17
|
const STORAGE_KEYS = {
|
|
18
18
|
PRIVATE_KEY: 'oxy_identity_private_key',
|
|
19
|
-
PUBLIC_KEY: 'oxy_identity_public_key'
|
|
20
|
-
BACKUP_PRIVATE_KEY: 'oxy_identity_backup_private_key',
|
|
21
|
-
BACKUP_PUBLIC_KEY: 'oxy_identity_backup_public_key',
|
|
22
|
-
BACKUP_TIMESTAMP: 'oxy_identity_backup_timestamp'
|
|
19
|
+
PUBLIC_KEY: 'oxy_identity_public_key'
|
|
23
20
|
};
|
|
24
21
|
|
|
25
22
|
/**
|
|
@@ -107,19 +104,6 @@ async function getSecureRandomBytes(length) {
|
|
|
107
104
|
}
|
|
108
105
|
}
|
|
109
106
|
export class KeyManager {
|
|
110
|
-
// In-memory cache for identity state (invalidated on identity changes)
|
|
111
|
-
static cachedPublicKey = null;
|
|
112
|
-
static cachedHasIdentity = null;
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Invalidate cached identity state
|
|
116
|
-
* Called internally when identity is created/deleted/imported
|
|
117
|
-
*/
|
|
118
|
-
static invalidateCache() {
|
|
119
|
-
KeyManager.cachedPublicKey = null;
|
|
120
|
-
KeyManager.cachedHasIdentity = null;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
107
|
/**
|
|
124
108
|
* Generate a new ECDSA secp256k1 key pair
|
|
125
109
|
* Returns the keys in hexadecimal format
|
|
@@ -162,10 +146,6 @@ export class KeyManager {
|
|
|
162
146
|
keychainAccessible: store.WHEN_UNLOCKED_THIS_DEVICE_ONLY
|
|
163
147
|
});
|
|
164
148
|
await store.setItemAsync(STORAGE_KEYS.PUBLIC_KEY, publicKey);
|
|
165
|
-
|
|
166
|
-
// Update cache
|
|
167
|
-
KeyManager.cachedPublicKey = publicKey;
|
|
168
|
-
KeyManager.cachedHasIdentity = true;
|
|
169
149
|
return publicKey;
|
|
170
150
|
}
|
|
171
151
|
|
|
@@ -183,10 +163,6 @@ export class KeyManager {
|
|
|
183
163
|
keychainAccessible: store.WHEN_UNLOCKED_THIS_DEVICE_ONLY
|
|
184
164
|
});
|
|
185
165
|
await store.setItemAsync(STORAGE_KEYS.PUBLIC_KEY, publicKey);
|
|
186
|
-
|
|
187
|
-
// Update cache
|
|
188
|
-
KeyManager.cachedPublicKey = publicKey;
|
|
189
|
-
KeyManager.cachedHasIdentity = true;
|
|
190
166
|
return publicKey;
|
|
191
167
|
}
|
|
192
168
|
|
|
@@ -212,26 +188,16 @@ export class KeyManager {
|
|
|
212
188
|
}
|
|
213
189
|
|
|
214
190
|
/**
|
|
215
|
-
* Get the stored public key
|
|
191
|
+
* Get the stored public key
|
|
216
192
|
*/
|
|
217
193
|
static async getPublicKey() {
|
|
218
194
|
if (isWebPlatform()) {
|
|
219
195
|
return null; // Identity storage is only available on native platforms
|
|
220
196
|
}
|
|
221
|
-
if (KeyManager.cachedPublicKey !== null) {
|
|
222
|
-
return KeyManager.cachedPublicKey;
|
|
223
|
-
}
|
|
224
197
|
try {
|
|
225
198
|
const store = await initSecureStore();
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
// Cache result (null is a valid cache value meaning no identity)
|
|
229
|
-
KeyManager.cachedPublicKey = publicKey;
|
|
230
|
-
return publicKey;
|
|
199
|
+
return await store.getItemAsync(STORAGE_KEYS.PUBLIC_KEY);
|
|
231
200
|
} catch (error) {
|
|
232
|
-
// If secure store is not available, return null (no identity)
|
|
233
|
-
// Cache null to avoid repeated failed attempts
|
|
234
|
-
KeyManager.cachedPublicKey = null;
|
|
235
201
|
if (__DEV__) {
|
|
236
202
|
console.warn('[KeyManager] Failed to access secure store:', error);
|
|
237
203
|
}
|
|
@@ -240,26 +206,16 @@ export class KeyManager {
|
|
|
240
206
|
}
|
|
241
207
|
|
|
242
208
|
/**
|
|
243
|
-
* Check if an identity (key pair) exists on this device
|
|
209
|
+
* Check if an identity (key pair) exists on this device
|
|
244
210
|
*/
|
|
245
211
|
static async hasIdentity() {
|
|
246
212
|
if (isWebPlatform()) {
|
|
247
213
|
return false; // Identity storage is only available on native platforms
|
|
248
214
|
}
|
|
249
|
-
if (KeyManager.cachedHasIdentity !== null) {
|
|
250
|
-
return KeyManager.cachedHasIdentity;
|
|
251
|
-
}
|
|
252
215
|
try {
|
|
253
216
|
const privateKey = await KeyManager.getPrivateKey();
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
// Cache result
|
|
257
|
-
KeyManager.cachedHasIdentity = hasIdentity;
|
|
258
|
-
return hasIdentity;
|
|
217
|
+
return privateKey !== null;
|
|
259
218
|
} catch (error) {
|
|
260
|
-
// If we can't check, assume no identity (safer default)
|
|
261
|
-
// Cache false to avoid repeated failed attempts
|
|
262
|
-
KeyManager.cachedHasIdentity = false;
|
|
263
219
|
if (__DEV__) {
|
|
264
220
|
console.warn('[KeyManager] Failed to check identity:', error);
|
|
265
221
|
}
|
|
@@ -271,11 +227,10 @@ export class KeyManager {
|
|
|
271
227
|
* Delete the stored identity (both keys)
|
|
272
228
|
* Use with EXTREME caution - this is irreversible without a backup file
|
|
273
229
|
* This should ONLY be called when explicitly requested by the user
|
|
274
|
-
* @param skipBackup - If true, skip backup before deletion (default: false)
|
|
275
230
|
* @param force - If true, skip confirmation checks (default: false)
|
|
276
231
|
* @param userConfirmed - If true, user has explicitly confirmed deletion (default: false)
|
|
277
232
|
*/
|
|
278
|
-
static async deleteIdentity(
|
|
233
|
+
static async deleteIdentity(force = false, userConfirmed = false) {
|
|
279
234
|
if (isWebPlatform()) {
|
|
280
235
|
return; // Identity storage is only available on native platforms, nothing to delete
|
|
281
236
|
}
|
|
@@ -290,67 +245,8 @@ export class KeyManager {
|
|
|
290
245
|
}
|
|
291
246
|
}
|
|
292
247
|
const store = await initSecureStore();
|
|
293
|
-
|
|
294
|
-
// ALWAYS create backup before deletion unless explicitly skipped
|
|
295
|
-
if (!skipBackup) {
|
|
296
|
-
try {
|
|
297
|
-
const backupSuccess = await KeyManager.backupIdentity();
|
|
298
|
-
if (!backupSuccess && typeof __DEV__ !== 'undefined' && __DEV__) {
|
|
299
|
-
console.warn('[KeyManager] Failed to backup identity before deletion - proceeding anyway');
|
|
300
|
-
}
|
|
301
|
-
} catch (backupError) {
|
|
302
|
-
if (typeof __DEV__ !== 'undefined' && __DEV__) {
|
|
303
|
-
console.warn('[KeyManager] Failed to backup identity before deletion:', backupError);
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
248
|
await store.deleteItemAsync(STORAGE_KEYS.PRIVATE_KEY);
|
|
308
249
|
await store.deleteItemAsync(STORAGE_KEYS.PUBLIC_KEY);
|
|
309
|
-
|
|
310
|
-
// Invalidate cache
|
|
311
|
-
KeyManager.invalidateCache();
|
|
312
|
-
|
|
313
|
-
// Also clear backup if force deletion
|
|
314
|
-
if (force) {
|
|
315
|
-
try {
|
|
316
|
-
await store.deleteItemAsync(STORAGE_KEYS.BACKUP_PRIVATE_KEY);
|
|
317
|
-
await store.deleteItemAsync(STORAGE_KEYS.BACKUP_PUBLIC_KEY);
|
|
318
|
-
await store.deleteItemAsync(STORAGE_KEYS.BACKUP_TIMESTAMP);
|
|
319
|
-
} catch (error) {
|
|
320
|
-
// Ignore backup deletion errors
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
/**
|
|
326
|
-
* Backup identity to SecureStore (separate backup storage)
|
|
327
|
-
* This provides a recovery mechanism if primary storage fails
|
|
328
|
-
*/
|
|
329
|
-
static async backupIdentity() {
|
|
330
|
-
if (isWebPlatform()) {
|
|
331
|
-
return false; // Identity storage is only available on native platforms
|
|
332
|
-
}
|
|
333
|
-
try {
|
|
334
|
-
const store = await initSecureStore();
|
|
335
|
-
const privateKey = await KeyManager.getPrivateKey();
|
|
336
|
-
const publicKey = await KeyManager.getPublicKey();
|
|
337
|
-
if (!privateKey || !publicKey) {
|
|
338
|
-
return false; // Nothing to backup
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
// Store backup in SecureStore (still secure, but separate from primary storage)
|
|
342
|
-
await store.setItemAsync(STORAGE_KEYS.BACKUP_PRIVATE_KEY, privateKey, {
|
|
343
|
-
keychainAccessible: store.WHEN_UNLOCKED_THIS_DEVICE_ONLY
|
|
344
|
-
});
|
|
345
|
-
await store.setItemAsync(STORAGE_KEYS.BACKUP_PUBLIC_KEY, publicKey);
|
|
346
|
-
await store.setItemAsync(STORAGE_KEYS.BACKUP_TIMESTAMP, Date.now().toString());
|
|
347
|
-
return true;
|
|
348
|
-
} catch (error) {
|
|
349
|
-
if (typeof __DEV__ !== 'undefined' && __DEV__) {
|
|
350
|
-
console.error('[KeyManager] Failed to backup identity:', error);
|
|
351
|
-
}
|
|
352
|
-
return false;
|
|
353
|
-
}
|
|
354
250
|
}
|
|
355
251
|
|
|
356
252
|
/**
|
|
@@ -397,57 +293,6 @@ export class KeyManager {
|
|
|
397
293
|
}
|
|
398
294
|
}
|
|
399
295
|
|
|
400
|
-
/**
|
|
401
|
-
* Restore identity from backup if primary storage is corrupted
|
|
402
|
-
*/
|
|
403
|
-
static async restoreIdentityFromBackup() {
|
|
404
|
-
if (isWebPlatform()) {
|
|
405
|
-
return false; // Identity storage is only available on native platforms
|
|
406
|
-
}
|
|
407
|
-
try {
|
|
408
|
-
const store = await initSecureStore();
|
|
409
|
-
|
|
410
|
-
// Check if backup exists
|
|
411
|
-
const backupPrivateKey = await store.getItemAsync(STORAGE_KEYS.BACKUP_PRIVATE_KEY);
|
|
412
|
-
const backupPublicKey = await store.getItemAsync(STORAGE_KEYS.BACKUP_PUBLIC_KEY);
|
|
413
|
-
if (!backupPrivateKey || !backupPublicKey) {
|
|
414
|
-
return false; // No backup available
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
// Verify backup integrity
|
|
418
|
-
if (!KeyManager.isValidPrivateKey(backupPrivateKey)) {
|
|
419
|
-
return false;
|
|
420
|
-
}
|
|
421
|
-
if (!KeyManager.isValidPublicKey(backupPublicKey)) {
|
|
422
|
-
return false;
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
// Verify keys match
|
|
426
|
-
const derivedPublicKey = KeyManager.derivePublicKey(backupPrivateKey);
|
|
427
|
-
if (derivedPublicKey !== backupPublicKey) {
|
|
428
|
-
return false; // Backup keys don't match
|
|
429
|
-
}
|
|
430
|
-
await store.setItemAsync(STORAGE_KEYS.PRIVATE_KEY, backupPrivateKey, {
|
|
431
|
-
keychainAccessible: store.WHEN_UNLOCKED_THIS_DEVICE_ONLY
|
|
432
|
-
});
|
|
433
|
-
await store.setItemAsync(STORAGE_KEYS.PUBLIC_KEY, backupPublicKey);
|
|
434
|
-
const restored = await KeyManager.verifyIdentityIntegrity();
|
|
435
|
-
if (restored) {
|
|
436
|
-
// Update cache
|
|
437
|
-
KeyManager.cachedPublicKey = backupPublicKey;
|
|
438
|
-
KeyManager.cachedHasIdentity = true;
|
|
439
|
-
await store.setItemAsync(STORAGE_KEYS.BACKUP_TIMESTAMP, Date.now().toString());
|
|
440
|
-
return true;
|
|
441
|
-
}
|
|
442
|
-
return false;
|
|
443
|
-
} catch (error) {
|
|
444
|
-
if (typeof __DEV__ !== 'undefined' && __DEV__) {
|
|
445
|
-
console.error('[KeyManager] Failed to restore identity from backup:', error);
|
|
446
|
-
}
|
|
447
|
-
return false;
|
|
448
|
-
}
|
|
449
|
-
}
|
|
450
|
-
|
|
451
296
|
/**
|
|
452
297
|
* Get the elliptic curve key object from the stored private key
|
|
453
298
|
* Used internally for signing operations
|
|
@@ -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","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","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","force","userConfirmed","deleteItemAsync","verifyIdentityIntegrity","isValidPrivateKey","isValidPublicKey","derivedPublicKey","derivePublicKey","getKeyPairObject","keyFromPublic","shortenPublicKey","slice"],"sourceRoot":"../../../src","sources":["crypto/keyManager.ts"],"mappings":"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","ignoreList":[]}
|