@oxyhq/services 5.15.3 → 5.15.4

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.
@@ -51,6 +51,14 @@ async function initExpoRandom() {
51
51
  return ExpoRandom;
52
52
  }
53
53
 
54
+ /**
55
+ * Convert Uint8Array to hexadecimal string
56
+ * Works in both Node.js and React Native
57
+ */
58
+ function uint8ArrayToHex(bytes) {
59
+ return Array.from(bytes).map(b => b.toString(16).padStart(2, '0')).join('');
60
+ }
61
+
54
62
  /**
55
63
  * Generate cryptographically secure random bytes
56
64
  */
@@ -93,7 +101,7 @@ class KeyManager {
93
101
  */
94
102
  static async generateKeyPair() {
95
103
  const randomBytes = await getSecureRandomBytes(32);
96
- const privateKeyHex = Buffer.from(randomBytes).toString('hex');
104
+ const privateKeyHex = uint8ArrayToHex(randomBytes);
97
105
  const keyPair = ec.keyFromPrivate(privateKeyHex);
98
106
  return {
99
107
  privateKey: keyPair.getPrivate('hex'),
@@ -1 +1 @@
1
- {"version":3,"names":["_elliptic","require","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SecureStore","ExpoRandom","ec","EC","STORAGE_KEYS","PRIVATE_KEY","PUBLIC_KEY","initSecureStore","Promise","resolve","then","isReactNative","navigator","product","isNodeJS","process","versions","node","initExpoRandom","getSecureRandomBytes","length","Random","getRandomBytes","getCrypto","Function","crypto","Uint8Array","randomBytes","error","KeyManager","generateKeyPairSync","keyPair","genKeyPair","privateKey","getPrivate","publicKey","getPublic","generateKeyPair","privateKeyHex","Buffer","from","toString","keyFromPrivate","createIdentity","store","setItemAsync","keychainAccessible","WHEN_UNLOCKED_THIS_DEVICE_ONLY","importKeyPair","getPrivateKey","getItemAsync","getPublicKey","hasIdentity","deleteIdentity","deleteItemAsync","getKeyPairObject","derivePublicKey","isValidPublicKey","keyFromPublic","isValidPrivateKey","shortenPublicKey","slice","exports","_default"],"sourceRoot":"../../../src","sources":["crypto/keyManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_elliptic","require","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SecureStore","ExpoRandom","ec","EC","STORAGE_KEYS","PRIVATE_KEY","PUBLIC_KEY","initSecureStore","Promise","resolve","then","isReactNative","navigator","product","isNodeJS","process","versions","node","initExpoRandom","uint8ArrayToHex","bytes","Array","from","map","b","toString","padStart","join","getSecureRandomBytes","length","Random","getRandomBytes","getCrypto","Function","crypto","Uint8Array","randomBytes","error","KeyManager","generateKeyPairSync","keyPair","genKeyPair","privateKey","getPrivate","publicKey","getPublic","generateKeyPair","privateKeyHex","keyFromPrivate","createIdentity","store","setItemAsync","keychainAccessible","WHEN_UNLOCKED_THIS_DEVICE_ONLY","importKeyPair","getPrivateKey","getItemAsync","getPublicKey","hasIdentity","deleteIdentity","deleteItemAsync","getKeyPairObject","derivePublicKey","isValidPublicKey","keyFromPublic","isValidPrivateKey","shortenPublicKey","slice","exports","_default"],"sourceRoot":"../../../src","sources":["crypto/keyManager.ts"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,19 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
14
14
  * for backing up and restoring user identities.
15
15
  */
16
16
 
17
+ /**
18
+ * Convert Buffer or Uint8Array to hexadecimal string
19
+ * Works in both Node.js and React Native
20
+ */
21
+ function toHex(data) {
22
+ if (typeof data.toString === 'function' && data.toString.length === 1) {
23
+ // It's a Buffer with toString('hex') method (Node.js)
24
+ return data.toString('hex');
25
+ }
26
+ // It's a Uint8Array or array-like (React Native/browser)
27
+ const bytes = data instanceof Uint8Array ? data : new Uint8Array(data);
28
+ return Array.from(bytes).map(b => b.toString(16).padStart(2, '0')).join('');
29
+ }
17
30
  class RecoveryPhraseService {
18
31
  /**
19
32
  * Generate a new identity with a recovery phrase
@@ -28,7 +41,8 @@ class RecoveryPhraseService {
28
41
  const seed = await bip39.mnemonicToSeed(mnemonic);
29
42
 
30
43
  // Use first 32 bytes of seed as private key
31
- const privateKeyHex = seed.subarray(0, 32).toString('hex');
44
+ const seedSlice = seed.subarray ? seed.subarray(0, 32) : seed.slice(0, 32);
45
+ const privateKeyHex = toHex(seedSlice);
32
46
 
33
47
  // Import the derived key pair
34
48
  const publicKey = await _keyManager.KeyManager.importKeyPair(privateKeyHex);
@@ -46,7 +60,8 @@ class RecoveryPhraseService {
46
60
  // Generate 256-bit entropy for 24-word mnemonic
47
61
  const mnemonic = bip39.generateMnemonic(256);
48
62
  const seed = await bip39.mnemonicToSeed(mnemonic);
49
- const privateKeyHex = seed.subarray(0, 32).toString('hex');
63
+ const seedSlice = seed.subarray ? seed.subarray(0, 32) : seed.slice(0, 32);
64
+ const privateKeyHex = toHex(seedSlice);
50
65
  const publicKey = await _keyManager.KeyManager.importKeyPair(privateKeyHex);
51
66
  return {
52
67
  phrase: mnemonic,
@@ -1 +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","RecoveryPhraseService","generateIdentityWithRecovery","mnemonic","generateMnemonic","seed","mnemonicToSeed","privateKeyHex","subarray","toString","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","slice","derivePublicKeyFromPhrase","derivePublicKey","phraseToWords","wordsToPhrase","map","w","join","exports","_default"],"sourceRoot":"../../../src","sources":["crypto/recoveryPhrase.ts"],"mappings":"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","ignoreList":[]}
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","toString","length","bytes","Uint8Array","Array","from","map","b","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":[]}
@@ -48,6 +48,14 @@ async function initExpoRandom() {
48
48
  return ExpoRandom;
49
49
  }
50
50
 
51
+ /**
52
+ * Convert Uint8Array to hexadecimal string
53
+ * Works in both Node.js and React Native
54
+ */
55
+ function uint8ArrayToHex(bytes) {
56
+ return Array.from(bytes).map(b => b.toString(16).padStart(2, '0')).join('');
57
+ }
58
+
51
59
  /**
52
60
  * Generate cryptographically secure random bytes
53
61
  */
@@ -90,7 +98,7 @@ export class KeyManager {
90
98
  */
91
99
  static async generateKeyPair() {
92
100
  const randomBytes = await getSecureRandomBytes(32);
93
- const privateKeyHex = Buffer.from(randomBytes).toString('hex');
101
+ const privateKeyHex = uint8ArrayToHex(randomBytes);
94
102
  const keyPair = ec.keyFromPrivate(privateKeyHex);
95
103
  return {
96
104
  privateKey: keyPair.getPrivate('hex'),
@@ -1 +1 @@
1
- {"version":3,"names":["ec","EC","SecureStore","ExpoRandom","STORAGE_KEYS","PRIVATE_KEY","PUBLIC_KEY","initSecureStore","isReactNative","navigator","product","isNodeJS","process","versions","node","initExpoRandom","getSecureRandomBytes","length","Random","getRandomBytes","getCrypto","Function","crypto","Uint8Array","randomBytes","error","KeyManager","generateKeyPairSync","keyPair","genKeyPair","privateKey","getPrivate","publicKey","getPublic","generateKeyPair","privateKeyHex","Buffer","from","toString","keyFromPrivate","createIdentity","store","setItemAsync","keychainAccessible","WHEN_UNLOCKED_THIS_DEVICE_ONLY","importKeyPair","getPrivateKey","getItemAsync","getPublicKey","hasIdentity","deleteIdentity","deleteItemAsync","getKeyPairObject","derivePublicKey","isValidPublicKey","keyFromPublic","isValidPrivateKey","shortenPublicKey","slice"],"sourceRoot":"../../../src","sources":["crypto/keyManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ec","EC","SecureStore","ExpoRandom","STORAGE_KEYS","PRIVATE_KEY","PUBLIC_KEY","initSecureStore","isReactNative","navigator","product","isNodeJS","process","versions","node","initExpoRandom","uint8ArrayToHex","bytes","Array","from","map","b","toString","padStart","join","getSecureRandomBytes","length","Random","getRandomBytes","getCrypto","Function","crypto","Uint8Array","randomBytes","error","KeyManager","generateKeyPairSync","keyPair","genKeyPair","privateKey","getPrivate","publicKey","getPublic","generateKeyPair","privateKeyHex","keyFromPrivate","createIdentity","store","setItemAsync","keychainAccessible","WHEN_UNLOCKED_THIS_DEVICE_ONLY","importKeyPair","getPrivateKey","getItemAsync","getPublicKey","hasIdentity","deleteIdentity","deleteItemAsync","getKeyPairObject","derivePublicKey","isValidPublicKey","keyFromPublic","isValidPrivateKey","shortenPublicKey","slice"],"sourceRoot":"../../../src","sources":["crypto/keyManager.ts"],"mappings":"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","ignoreList":[]}
@@ -9,6 +9,20 @@
9
9
 
10
10
  import * as bip39 from 'bip39';
11
11
  import { KeyManager } from './keyManager';
12
+
13
+ /**
14
+ * Convert Buffer or Uint8Array to hexadecimal string
15
+ * Works in both Node.js and React Native
16
+ */
17
+ function toHex(data) {
18
+ if (typeof data.toString === 'function' && data.toString.length === 1) {
19
+ // It's a Buffer with toString('hex') method (Node.js)
20
+ return data.toString('hex');
21
+ }
22
+ // It's a Uint8Array or array-like (React Native/browser)
23
+ const bytes = data instanceof Uint8Array ? data : new Uint8Array(data);
24
+ return Array.from(bytes).map(b => b.toString(16).padStart(2, '0')).join('');
25
+ }
12
26
  export class RecoveryPhraseService {
13
27
  /**
14
28
  * Generate a new identity with a recovery phrase
@@ -23,7 +37,8 @@ export class RecoveryPhraseService {
23
37
  const seed = await bip39.mnemonicToSeed(mnemonic);
24
38
 
25
39
  // Use first 32 bytes of seed as private key
26
- const privateKeyHex = seed.subarray(0, 32).toString('hex');
40
+ const seedSlice = seed.subarray ? seed.subarray(0, 32) : seed.slice(0, 32);
41
+ const privateKeyHex = toHex(seedSlice);
27
42
 
28
43
  // Import the derived key pair
29
44
  const publicKey = await KeyManager.importKeyPair(privateKeyHex);
@@ -41,7 +56,8 @@ export class RecoveryPhraseService {
41
56
  // Generate 256-bit entropy for 24-word mnemonic
42
57
  const mnemonic = bip39.generateMnemonic(256);
43
58
  const seed = await bip39.mnemonicToSeed(mnemonic);
44
- const privateKeyHex = seed.subarray(0, 32).toString('hex');
59
+ const seedSlice = seed.subarray ? seed.subarray(0, 32) : seed.slice(0, 32);
60
+ const privateKeyHex = toHex(seedSlice);
45
61
  const publicKey = await KeyManager.importKeyPair(privateKeyHex);
46
62
  return {
47
63
  phrase: mnemonic,
@@ -1 +1 @@
1
- {"version":3,"names":["bip39","KeyManager","RecoveryPhraseService","generateIdentityWithRecovery","mnemonic","generateMnemonic","seed","mnemonicToSeed","privateKeyHex","subarray","toString","publicKey","importKeyPair","phrase","words","split","generateIdentityWithRecovery24","restoreFromPhrase","normalizedPhrase","trim","toLowerCase","validateMnemonic","Error","validatePhrase","getWordList","wordlists","english","isValidWord","word","includes","getSuggestions","partial","limit","lowerPartial","filter","startsWith","slice","derivePublicKeyFromPhrase","derivePublicKey","phraseToWords","wordsToPhrase","map","w","join"],"sourceRoot":"../../../src","sources":["crypto/recoveryPhrase.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["bip39","KeyManager","toHex","data","toString","length","bytes","Uint8Array","Array","from","map","b","padStart","join","RecoveryPhraseService","generateIdentityWithRecovery","mnemonic","generateMnemonic","seed","mnemonicToSeed","seedSlice","subarray","slice","privateKeyHex","publicKey","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"],"sourceRoot":"../../../src","sources":["crypto/recoveryPhrase.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"keyManager.d.ts","sourceRoot":"","sources":["../../../src/crypto/keyManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAsE1C,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,UAAU;IACrB;;;OAGG;IACH,MAAM,CAAC,mBAAmB,IAAI,OAAO;IAQrC;;OAEG;WACU,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAWhD;;;OAGG;WACU,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAe9C;;OAEG;WACU,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB/D;;;OAGG;WACU,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKpD;;OAEG;WACU,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKnD;;OAEG;WACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAK5C;;;OAGG;WACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5C;;;OAGG;WACU,gBAAgB,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAM1D;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAKlD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IASnD;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAWrD;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAInD;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"keyManager.d.ts","sourceRoot":"","sources":["../../../src/crypto/keyManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAgF1C,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,UAAU;IACrB;;;OAGG;IACH,MAAM,CAAC,mBAAmB,IAAI,OAAO;IAQrC;;OAEG;WACU,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAWhD;;;OAGG;WACU,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAe9C;;OAEG;WACU,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB/D;;;OAGG;WACU,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKpD;;OAEG;WACU,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKnD;;OAEG;WACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAK5C;;;OAGG;WACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5C;;;OAGG;WACU,gBAAgB,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAM1D;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAKlD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IASnD;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAWrD;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAInD;AAED,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"recoveryPhrase.d.ts","sourceRoot":"","sources":["../../../src/crypto/recoveryPhrase.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,qBAAqB;IAChC;;;OAGG;WACU,4BAA4B,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAqB1E;;OAEG;WACU,8BAA8B,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAe5E;;OAEG;WACU,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkB/D;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAK9C;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;IAI9B;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIzC;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,EAAE;IAOnE;;;OAGG;WACU,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAavE;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAI9C;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;CAG9C;AAED,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"recoveryPhrase.d.ts","sourceRoot":"","sources":["../../../src/crypto/recoveryPhrase.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqBH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,qBAAqB;IAChC;;;OAGG;WACU,4BAA4B,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAsB1E;;OAEG;WACU,8BAA8B,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAgB5E;;OAEG;WACU,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkB/D;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAK9C;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;IAI9B;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIzC;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,EAAE;IAOnE;;;OAGG;WACU,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAavE;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAI9C;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;CAG9C;AAED,eAAe,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/services",
3
- "version": "5.15.3",
3
+ "version": "5.15.4",
4
4
  "description": "Reusable OxyHQ module to handle authentication, user management, karma system, device-based session management and more 🚀",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -51,6 +51,16 @@ async function initExpoRandom(): Promise<typeof import('expo-random')> {
51
51
  return ExpoRandom;
52
52
  }
53
53
 
54
+ /**
55
+ * Convert Uint8Array to hexadecimal string
56
+ * Works in both Node.js and React Native
57
+ */
58
+ function uint8ArrayToHex(bytes: Uint8Array): string {
59
+ return Array.from(bytes)
60
+ .map(b => b.toString(16).padStart(2, '0'))
61
+ .join('');
62
+ }
63
+
54
64
  /**
55
65
  * Generate cryptographically secure random bytes
56
66
  */
@@ -99,7 +109,7 @@ export class KeyManager {
99
109
  */
100
110
  static async generateKeyPair(): Promise<KeyPair> {
101
111
  const randomBytes = await getSecureRandomBytes(32);
102
- const privateKeyHex = Buffer.from(randomBytes).toString('hex');
112
+ const privateKeyHex = uint8ArrayToHex(randomBytes);
103
113
  const keyPair = ec.keyFromPrivate(privateKeyHex);
104
114
 
105
115
  return {
@@ -8,6 +8,22 @@
8
8
  import * as bip39 from 'bip39';
9
9
  import { KeyManager } from './keyManager';
10
10
 
11
+ /**
12
+ * Convert Buffer or Uint8Array to hexadecimal string
13
+ * Works in both Node.js and React Native
14
+ */
15
+ function toHex(data: Uint8Array | Buffer | ArrayLike<number>): string {
16
+ if (typeof (data as Buffer).toString === 'function' && (data as Buffer).toString.length === 1) {
17
+ // It's a Buffer with toString('hex') method (Node.js)
18
+ return (data as Buffer).toString('hex');
19
+ }
20
+ // It's a Uint8Array or array-like (React Native/browser)
21
+ const bytes = data instanceof Uint8Array ? data : new Uint8Array(data as ArrayLike<number>);
22
+ return Array.from(bytes)
23
+ .map(b => b.toString(16).padStart(2, '0'))
24
+ .join('');
25
+ }
26
+
11
27
  export interface RecoveryPhraseResult {
12
28
  phrase: string;
13
29
  words: string[];
@@ -28,7 +44,8 @@ export class RecoveryPhraseService {
28
44
  const seed = await bip39.mnemonicToSeed(mnemonic);
29
45
 
30
46
  // Use first 32 bytes of seed as private key
31
- const privateKeyHex = seed.subarray(0, 32).toString('hex');
47
+ const seedSlice = seed.subarray ? seed.subarray(0, 32) : seed.slice(0, 32);
48
+ const privateKeyHex = toHex(seedSlice);
32
49
 
33
50
  // Import the derived key pair
34
51
  const publicKey = await KeyManager.importKeyPair(privateKeyHex);
@@ -48,7 +65,8 @@ export class RecoveryPhraseService {
48
65
  const mnemonic = bip39.generateMnemonic(256);
49
66
 
50
67
  const seed = await bip39.mnemonicToSeed(mnemonic);
51
- const privateKeyHex = seed.subarray(0, 32).toString('hex');
68
+ const seedSlice = seed.subarray ? seed.subarray(0, 32) : seed.slice(0, 32);
69
+ const privateKeyHex = toHex(seedSlice);
52
70
  const publicKey = await KeyManager.importKeyPair(privateKeyHex);
53
71
 
54
72
  return {