@oxyhq/services 5.15.0 → 5.15.1

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.
@@ -16,6 +16,20 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
16
16
  let ExpoCrypto = null;
17
17
  const ec = new _elliptic.ec('secp256k1');
18
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
+
19
33
  /**
20
34
  * Initialize expo-crypto module
21
35
  */
@@ -30,14 +44,16 @@ async function initExpoCrypto() {
30
44
  * Compute SHA-256 hash of a string
31
45
  */
32
46
  async function sha256(message) {
33
- try {
47
+ // In React Native, always use expo-crypto
48
+ if (isReactNative() || !isNodeJS()) {
34
49
  const Crypto = await initExpoCrypto();
35
50
  return Crypto.digestStringAsync(Crypto.CryptoDigestAlgorithm.SHA256, message);
36
- } catch {
37
- // Fallback for Node.js environment
38
- const crypto = await Promise.resolve().then(() => _interopRequireWildcard(require('crypto')));
39
- return crypto.createHash('sha256').update(message).digest('hex');
40
51
  }
52
+
53
+ // In Node.js, use Node's crypto module
54
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
55
+ const crypto = require('crypto');
56
+ return crypto.createHash('sha256').update(message).digest('hex');
41
57
  }
42
58
  class SignatureService {
43
59
  /**
@@ -88,9 +104,14 @@ class SignatureService {
88
104
  /**
89
105
  * Synchronous verification (for Node.js backend)
90
106
  * Uses crypto module directly for hashing
107
+ * Note: This method should only be used in Node.js environments
91
108
  */
92
109
  static verifySync(message, signature, publicKey) {
93
110
  try {
111
+ if (!isNodeJS()) {
112
+ // In React Native, use async verify instead
113
+ throw new Error('verifySync should only be used in Node.js. Use verify() in React Native.');
114
+ }
94
115
  // eslint-disable-next-line @typescript-eslint/no-var-requires
95
116
  const crypto = require('crypto');
96
117
  const key = ec.keyFromPublic(publicKey, 'hex');
@@ -1 +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","initExpoCrypto","Promise","resolve","then","sha256","message","Crypto","digestStringAsync","CryptoDigestAlgorithm","SHA256","crypto","createHash","update","digest","SignatureService","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","username","email","signRequestData","data","sortedKeys","keys","sort","canonicalParts","map","JSON","stringify","canonicalString","join","exports","_default"],"sourceRoot":"../../../src","sources":["crypto/signatureService.ts"],"mappings":"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","ignoreList":[]}
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","crypto","createHash","update","digest","SignatureService","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","username","email","signRequestData","data","sortedKeys","keys","sort","canonicalParts","map","JSON","stringify","canonicalString","join","exports","_default"],"sourceRoot":"../../../src","sources":["crypto/signatureService.ts"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,20 @@ import { KeyManager } from './keyManager';
14
14
  let ExpoCrypto = null;
15
15
  const ec = new EC('secp256k1');
16
16
 
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
+
17
31
  /**
18
32
  * Initialize expo-crypto module
19
33
  */
@@ -28,14 +42,16 @@ async function initExpoCrypto() {
28
42
  * Compute SHA-256 hash of a string
29
43
  */
30
44
  async function sha256(message) {
31
- try {
45
+ // In React Native, always use expo-crypto
46
+ if (isReactNative() || !isNodeJS()) {
32
47
  const Crypto = await initExpoCrypto();
33
48
  return Crypto.digestStringAsync(Crypto.CryptoDigestAlgorithm.SHA256, message);
34
- } catch {
35
- // Fallback for Node.js environment
36
- const crypto = await import('crypto');
37
- return crypto.createHash('sha256').update(message).digest('hex');
38
49
  }
50
+
51
+ // In Node.js, use Node's crypto module
52
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
53
+ const crypto = require('crypto');
54
+ return crypto.createHash('sha256').update(message).digest('hex');
39
55
  }
40
56
  export class SignatureService {
41
57
  /**
@@ -86,9 +102,14 @@ export class SignatureService {
86
102
  /**
87
103
  * Synchronous verification (for Node.js backend)
88
104
  * Uses crypto module directly for hashing
105
+ * Note: This method should only be used in Node.js environments
89
106
  */
90
107
  static verifySync(message, signature, publicKey) {
91
108
  try {
109
+ if (!isNodeJS()) {
110
+ // In React Native, use async verify instead
111
+ throw new Error('verifySync should only be used in Node.js. Use verify() in React Native.');
112
+ }
92
113
  // eslint-disable-next-line @typescript-eslint/no-var-requires
93
114
  const crypto = require('crypto');
94
115
  const key = ec.keyFromPublic(publicKey, 'hex');
@@ -1 +1 @@
1
- {"version":3,"names":["ec","EC","KeyManager","ExpoCrypto","initExpoCrypto","sha256","message","Crypto","digestStringAsync","CryptoDigestAlgorithm","SHA256","crypto","createHash","update","digest","SignatureService","hashMessage","sign","keyPair","getKeyPairObject","Error","messageHash","signature","toDER","signWithKey","privateKey","keyFromPrivate","verify","publicKey","key","keyFromPublic","verifySync","require","createSignedMessage","getPublicKey","timestamp","Date","now","messageWithTimestamp","verifySignedMessage","signedMessage","maxAgeMs","signChallenge","challenge","verifyChallengeResponse","originalChallenge","response","createRegistrationSignature","username","email","signRequestData","data","sortedKeys","Object","keys","sort","canonicalParts","map","JSON","stringify","canonicalString","join"],"sourceRoot":"../../../src","sources":["crypto/signatureService.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,EAAE,IAAIC,EAAE,QAAQ,UAAU;AACnC,SAASC,UAAU,QAAQ,cAAc;;AAEzC;AACA,IAAIC,UAA+C,GAAG,IAAI;AAE1D,MAAMH,EAAE,GAAG,IAAIC,EAAE,CAAC,WAAW,CAAC;;AAE9B;AACA;AACA;AACA,eAAeG,cAAcA,CAAA,EAA0C;EACrE,IAAI,CAACD,UAAU,EAAE;IACfA,UAAU,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;EAC1C;EACA,OAAOA,UAAU;AACnB;;AAEA;AACA;AACA;AACA,eAAeE,MAAMA,CAACC,OAAe,EAAmB;EACtD,IAAI;IACF,MAAMC,MAAM,GAAG,MAAMH,cAAc,CAAC,CAAC;IACrC,OAAOG,MAAM,CAACC,iBAAiB,CAC7BD,MAAM,CAACE,qBAAqB,CAACC,MAAM,EACnCJ,OACF,CAAC;EACH,CAAC,CAAC,MAAM;IACN;IACA,MAAMK,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;IACrC,OAAOA,MAAM,CAACC,UAAU,CAAC,QAAQ,CAAC,CAACC,MAAM,CAACP,OAAO,CAAC,CAACQ,MAAM,CAAC,KAAK,CAAC;EAClE;AACF;AAeA,OAAO,MAAMC,gBAAgB,CAAC;EAC5B;AACF;AACA;EACE,aAAaC,WAAWA,CAACV,OAAe,EAAmB;IACzD,OAAOD,MAAM,CAACC,OAAO,CAAC;EACxB;;EAEA;AACF;AACA;AACA;EACE,aAAaW,IAAIA,CAACX,OAAe,EAAmB;IAClD,MAAMY,OAAO,GAAG,MAAMhB,UAAU,CAACiB,gBAAgB,CAAC,CAAC;IACnD,IAAI,CAACD,OAAO,EAAE;MACZ,MAAM,IAAIE,KAAK,CAAC,+DAA+D,CAAC;IAClF;IAEA,MAAMC,WAAW,GAAG,MAAMhB,MAAM,CAACC,OAAO,CAAC;IACzC,MAAMgB,SAAS,GAAGJ,OAAO,CAACD,IAAI,CAACI,WAAW,CAAC;IAC3C,OAAOC,SAAS,CAACC,KAAK,CAAC,KAAK,CAAC;EAC/B;;EAEA;AACF;AACA;AACA;EACE,aAAaC,WAAWA,CAAClB,OAAe,EAAEmB,UAAkB,EAAmB;IAC7E,MAAMP,OAAO,GAAGlB,EAAE,CAAC0B,cAAc,CAACD,UAAU,CAAC;IAC7C,MAAMJ,WAAW,GAAG,MAAMhB,MAAM,CAACC,OAAO,CAAC;IACzC,MAAMgB,SAAS,GAAGJ,OAAO,CAACD,IAAI,CAACI,WAAW,CAAC;IAC3C,OAAOC,SAAS,CAACC,KAAK,CAAC,KAAK,CAAC;EAC/B;;EAEA;AACF;AACA;EACE,aAAaI,MAAMA,CAACrB,OAAe,EAAEgB,SAAiB,EAAEM,SAAiB,EAAoB;IAC3F,IAAI;MACF,MAAMC,GAAG,GAAG7B,EAAE,CAAC8B,aAAa,CAACF,SAAS,EAAE,KAAK,CAAC;MAC9C,MAAMP,WAAW,GAAG,MAAMhB,MAAM,CAACC,OAAO,CAAC;MACzC,OAAOuB,GAAG,CAACF,MAAM,CAACN,WAAW,EAAEC,SAAS,CAAC;IAC3C,CAAC,CAAC,MAAM;MACN,OAAO,KAAK;IACd;EACF;;EAEA;AACF;AACA;AACA;EACE,OAAOS,UAAUA,CAACzB,OAAe,EAAEgB,SAAiB,EAAEM,SAAiB,EAAW;IAChF,IAAI;MACF;MACA,MAAMjB,MAAM,GAAGqB,OAAO,CAAC,QAAQ,CAAC;MAChC,MAAMH,GAAG,GAAG7B,EAAE,CAAC8B,aAAa,CAACF,SAAS,EAAE,KAAK,CAAC;MAC9C,MAAMP,WAAW,GAAGV,MAAM,CAACC,UAAU,CAAC,QAAQ,CAAC,CAACC,MAAM,CAACP,OAAO,CAAC,CAACQ,MAAM,CAAC,KAAK,CAAC;MAC7E,OAAOe,GAAG,CAACF,MAAM,CAACN,WAAW,EAAEC,SAAS,CAAC;IAC3C,CAAC,CAAC,MAAM;MACN,OAAO,KAAK;IACd;EACF;;EAEA;AACF;AACA;EACE,aAAaW,mBAAmBA,CAAC3B,OAAe,EAA0B;IACxE,MAAMsB,SAAS,GAAG,MAAM1B,UAAU,CAACgC,YAAY,CAAC,CAAC;IACjD,IAAI,CAACN,SAAS,EAAE;MACd,MAAM,IAAIR,KAAK,CAAC,+DAA+D,CAAC;IAClF;IAEA,MAAMe,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;IAC5B,MAAMC,oBAAoB,GAAG,GAAGhC,OAAO,IAAI6B,SAAS,EAAE;IACtD,MAAMb,SAAS,GAAG,MAAMP,gBAAgB,CAACE,IAAI,CAACqB,oBAAoB,CAAC;IAEnE,OAAO;MACLhC,OAAO;MACPgB,SAAS;MACTM,SAAS;MACTO;IACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;EACE,aAAaI,mBAAmBA,CAC9BC,aAA4B,EAC5BC,QAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;EAAA,EACf;IAClB,MAAM;MAAEnC,OAAO;MAAEgB,SAAS;MAAEM,SAAS;MAAEO;IAAU,CAAC,GAAGK,aAAa;;IAElE;IACA,MAAMH,GAAG,GAAGD,IAAI,CAACC,GAAG,CAAC,CAAC;IACtB,IAAIA,GAAG,GAAGF,SAAS,GAAGM,QAAQ,EAAE;MAC9B,OAAO,KAAK;IACd;;IAEA;IACA,MAAMH,oBAAoB,GAAG,GAAGhC,OAAO,IAAI6B,SAAS,EAAE;IACtD,OAAOpB,gBAAgB,CAACY,MAAM,CAACW,oBAAoB,EAAEhB,SAAS,EAAEM,SAAS,CAAC;EAC5E;;EAEA;AACF;AACA;AACA;EACE,aAAac,aAAaA,CAACC,SAAiB,EAA0B;IACpE,MAAMf,SAAS,GAAG,MAAM1B,UAAU,CAACgC,YAAY,CAAC,CAAC;IACjD,IAAI,CAACN,SAAS,EAAE;MACd,MAAM,IAAIR,KAAK,CAAC,+DAA+D,CAAC;IAClF;IAEA,MAAMe,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;IAC5B,MAAM/B,OAAO,GAAG,QAAQsB,SAAS,IAAIe,SAAS,IAAIR,SAAS,EAAE;IAC7D,MAAMb,SAAS,GAAG,MAAMP,gBAAgB,CAACE,IAAI,CAACX,OAAO,CAAC;IAEtD,OAAO;MACLqC,SAAS,EAAErB,SAAS;MACpBM,SAAS;MACTO;IACF,CAAC;EACH;;EAEA;AACF;AACA;EACE,aAAaS,uBAAuBA,CAClCC,iBAAyB,EACzBC,QAAuB,EACvBL,QAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EACd;IAClB,MAAM;MAAEE,SAAS,EAAErB,SAAS;MAAEM,SAAS;MAAEO;IAAU,CAAC,GAAGW,QAAQ;;IAE/D;IACA,MAAMT,GAAG,GAAGD,IAAI,CAACC,GAAG,CAAC,CAAC;IACtB,IAAIA,GAAG,GAAGF,SAAS,GAAGM,QAAQ,EAAE;MAC9B,OAAO,KAAK;IACd;IAEA,MAAMnC,OAAO,GAAG,QAAQsB,SAAS,IAAIiB,iBAAiB,IAAIV,SAAS,EAAE;IACrE,OAAOpB,gBAAgB,CAACY,MAAM,CAACrB,OAAO,EAAEgB,SAAS,EAAEM,SAAS,CAAC;EAC/D;;EAEA;AACF;AACA;AACA;EACE,aAAamB,2BAA2BA,CACtCC,QAAgB,EAChBC,KAAc,EACwD;IACtE,MAAMrB,SAAS,GAAG,MAAM1B,UAAU,CAACgC,YAAY,CAAC,CAAC;IACjD,IAAI,CAACN,SAAS,EAAE;MACd,MAAM,IAAIR,KAAK,CAAC,+DAA+D,CAAC;IAClF;IAEA,MAAMe,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;IAC5B,MAAM/B,OAAO,GAAG,YAAYsB,SAAS,IAAIoB,QAAQ,IAAIC,KAAK,IAAI,EAAE,IAAId,SAAS,EAAE;IAC/E,MAAMb,SAAS,GAAG,MAAMP,gBAAgB,CAACE,IAAI,CAACX,OAAO,CAAC;IAEtD,OAAO;MACLgB,SAAS;MACTM,SAAS;MACTO;IACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;EACE,aAAae,eAAeA,CAACC,IAA6B,EAIvD;IACD,MAAMvB,SAAS,GAAG,MAAM1B,UAAU,CAACgC,YAAY,CAAC,CAAC;IACjD,IAAI,CAACN,SAAS,EAAE;MACd,MAAM,IAAIR,KAAK,CAAC,+DAA+D,CAAC;IAClF;IAEA,MAAMe,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;;IAE5B;IACA,MAAMe,UAAU,GAAGC,MAAM,CAACC,IAAI,CAACH,IAAI,CAAC,CAACI,IAAI,CAAC,CAAC;IAC3C,MAAMC,cAAc,GAAGJ,UAAU,CAACK,GAAG,CAAC5B,GAAG,IAAI,GAAGA,GAAG,IAAI6B,IAAI,CAACC,SAAS,CAACR,IAAI,CAACtB,GAAG,CAAC,CAAC,EAAE,CAAC;IACnF,MAAM+B,eAAe,GAAGJ,cAAc,CAACK,IAAI,CAAC,GAAG,CAAC;IAEhD,MAAMvD,OAAO,GAAG,WAAWsB,SAAS,IAAIO,SAAS,IAAIyB,eAAe,EAAE;IACtE,MAAMtC,SAAS,GAAG,MAAMP,gBAAgB,CAACE,IAAI,CAACX,OAAO,CAAC;IAEtD,OAAO;MACLgB,SAAS;MACTM,SAAS;MACTO;IACF,CAAC;EACH;AACF;AAEA,eAAepB,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["ec","EC","KeyManager","ExpoCrypto","isReactNative","navigator","product","isNodeJS","process","versions","node","initExpoCrypto","sha256","message","Crypto","digestStringAsync","CryptoDigestAlgorithm","SHA256","crypto","require","createHash","update","digest","SignatureService","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","username","email","signRequestData","data","sortedKeys","Object","keys","sort","canonicalParts","map","JSON","stringify","canonicalString","join"],"sourceRoot":"../../../src","sources":["crypto/signatureService.ts"],"mappings":"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","ignoreList":[]}
@@ -37,6 +37,7 @@ export declare class SignatureService {
37
37
  /**
38
38
  * Synchronous verification (for Node.js backend)
39
39
  * Uses crypto module directly for hashing
40
+ * Note: This method should only be used in Node.js environments
40
41
  */
41
42
  static verifySync(message: string, signature: string, publicKey: string): boolean;
42
43
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"signatureService.d.ts","sourceRoot":"","sources":["../../../src/crypto/signatureService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqCH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,gBAAgB;IAC3B;;OAEG;WACU,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D;;;OAGG;WACU,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWnD;;;OAGG;WACU,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO9E;;OAEG;WACU,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU5F;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAYjF;;OAEG;WACU,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAkBzE;;;OAGG;WACU,mBAAmB,CAC9B,aAAa,EAAE,aAAa,EAC5B,QAAQ,GAAE,MAAsB,GAC/B,OAAO,CAAC,OAAO,CAAC;IAcnB;;;OAGG;WACU,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAiBrE;;OAEG;WACU,uBAAuB,CAClC,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,aAAa,EACvB,QAAQ,GAAE,MAAsB,GAC/B,OAAO,CAAC,OAAO,CAAC;IAanB;;;OAGG;WACU,2BAA2B,CACtC,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAiBvE;;;OAGG;WACU,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;QACnE,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CAsBH;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"signatureService.d.ts","sourceRoot":"","sources":["../../../src/crypto/signatureService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqDH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,gBAAgB;IAC3B;;OAEG;WACU,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D;;;OAGG;WACU,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWnD;;;OAGG;WACU,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO9E;;OAEG;WACU,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU5F;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAgBjF;;OAEG;WACU,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAkBzE;;;OAGG;WACU,mBAAmB,CAC9B,aAAa,EAAE,aAAa,EAC5B,QAAQ,GAAE,MAAsB,GAC/B,OAAO,CAAC,OAAO,CAAC;IAcnB;;;OAGG;WACU,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAiBrE;;OAEG;WACU,uBAAuB,CAClC,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,aAAa,EACvB,QAAQ,GAAE,MAAsB,GAC/B,OAAO,CAAC,OAAO,CAAC;IAanB;;;OAGG;WACU,2BAA2B,CACtC,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAiBvE;;;OAGG;WACU,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;QACnE,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CAsBH;AAED,eAAe,gBAAgB,CAAC"}
@@ -26,3 +26,4 @@ declare module 'bip39' {
26
26
  export function mnemonicToSeedHex(mnemonic: string, passphrase?: string): Promise<string>;
27
27
  export function mnemonicToSeedHexSync(mnemonic: string, passphrase?: string): string;
28
28
  }
29
+
@@ -16,3 +16,4 @@ declare module 'color' {
16
16
  function color(color: string | Color | undefined, model?: string): Color;
17
17
  export default color;
18
18
  }
19
+
@@ -58,3 +58,4 @@ declare module 'elliptic' {
58
58
 
59
59
  export const ec: ECConstructor;
60
60
  }
61
+
@@ -26,3 +26,4 @@ declare module 'expo-crypto' {
26
26
  export function getRandomUUID(): string;
27
27
  export function getRandomUUIDAsync(): Promise<string>;
28
28
  }
29
+
@@ -6,3 +6,4 @@ declare module 'expo-random' {
6
6
  export function getRandomBytes(byteCount: number): Uint8Array;
7
7
  export function getRandomBytesAsync(byteCount: number): Promise<Uint8Array>;
8
8
  }
9
+
@@ -18,3 +18,4 @@ declare module 'expo-secure-store' {
18
18
  export async function deleteItemAsync(key: string, options?: SecureStoreOptions): Promise<void>;
19
19
  export async function isAvailableAsync(): Promise<boolean>;
20
20
  }
21
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/services",
3
- "version": "5.15.0",
3
+ "version": "5.15.1",
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",
@@ -18,3 +18,4 @@ export {
18
18
 
19
19
  // Re-export for convenience
20
20
  export { KeyManager as default } from './keyManager';
21
+
@@ -211,3 +211,4 @@ export class KeyManager {
211
211
  }
212
212
 
213
213
  export default KeyManager;
214
+
@@ -144,3 +144,4 @@ export class RecoveryPhraseService {
144
144
  }
145
145
 
146
146
  export default RecoveryPhraseService;
147
+
@@ -13,6 +13,20 @@ let ExpoCrypto: typeof import('expo-crypto') | null = null;
13
13
 
14
14
  const ec = new EC('secp256k1');
15
15
 
16
+ /**
17
+ * Check if we're in a React Native environment
18
+ */
19
+ function isReactNative(): boolean {
20
+ return typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
21
+ }
22
+
23
+ /**
24
+ * Check if we're in a Node.js environment
25
+ */
26
+ function isNodeJS(): boolean {
27
+ return typeof process !== 'undefined' && process.versions != null && process.versions.node != null;
28
+ }
29
+
16
30
  /**
17
31
  * Initialize expo-crypto module
18
32
  */
@@ -27,17 +41,19 @@ async function initExpoCrypto(): Promise<typeof import('expo-crypto')> {
27
41
  * Compute SHA-256 hash of a string
28
42
  */
29
43
  async function sha256(message: string): Promise<string> {
30
- try {
44
+ // In React Native, always use expo-crypto
45
+ if (isReactNative() || !isNodeJS()) {
31
46
  const Crypto = await initExpoCrypto();
32
47
  return Crypto.digestStringAsync(
33
48
  Crypto.CryptoDigestAlgorithm.SHA256,
34
49
  message
35
50
  );
36
- } catch {
37
- // Fallback for Node.js environment
38
- const crypto = await import('crypto');
39
- return crypto.createHash('sha256').update(message).digest('hex');
40
51
  }
52
+
53
+ // In Node.js, use Node's crypto module
54
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
55
+ const crypto = require('crypto');
56
+ return crypto.createHash('sha256').update(message).digest('hex');
41
57
  }
42
58
 
43
59
  export interface SignedMessage {
@@ -103,9 +119,14 @@ export class SignatureService {
103
119
  /**
104
120
  * Synchronous verification (for Node.js backend)
105
121
  * Uses crypto module directly for hashing
122
+ * Note: This method should only be used in Node.js environments
106
123
  */
107
124
  static verifySync(message: string, signature: string, publicKey: string): boolean {
108
125
  try {
126
+ if (!isNodeJS()) {
127
+ // In React Native, use async verify instead
128
+ throw new Error('verifySync should only be used in Node.js. Use verify() in React Native.');
129
+ }
109
130
  // eslint-disable-next-line @typescript-eslint/no-var-requires
110
131
  const crypto = require('crypto');
111
132
  const key = ec.keyFromPublic(publicKey, 'hex');
@@ -256,3 +277,4 @@ export class SignatureService {
256
277
  }
257
278
 
258
279
  export default SignatureService;
280
+
@@ -26,3 +26,4 @@ declare module 'bip39' {
26
26
  export function mnemonicToSeedHex(mnemonic: string, passphrase?: string): Promise<string>;
27
27
  export function mnemonicToSeedHexSync(mnemonic: string, passphrase?: string): string;
28
28
  }
29
+
@@ -16,3 +16,4 @@ declare module 'color' {
16
16
  function color(color: string | Color | undefined, model?: string): Color;
17
17
  export default color;
18
18
  }
19
+
@@ -58,3 +58,4 @@ declare module 'elliptic' {
58
58
 
59
59
  export const ec: ECConstructor;
60
60
  }
61
+
@@ -26,3 +26,4 @@ declare module 'expo-crypto' {
26
26
  export function getRandomUUID(): string;
27
27
  export function getRandomUUIDAsync(): Promise<string>;
28
28
  }
29
+
@@ -6,3 +6,4 @@ declare module 'expo-random' {
6
6
  export function getRandomBytes(byteCount: number): Uint8Array;
7
7
  export function getRandomBytesAsync(byteCount: number): Promise<Uint8Array>;
8
8
  }
9
+
@@ -18,3 +18,4 @@ declare module 'expo-secure-store' {
18
18
  export async function deleteItemAsync(key: string, options?: SecureStoreOptions): Promise<void>;
19
19
  export async function isAvailableAsync(): Promise<boolean>;
20
20
  }
21
+
@@ -400,3 +400,4 @@ const styles = StyleSheet.create({
400
400
  });
401
401
 
402
402
  export default OxyAuthScreen;
403
+