@bsv/sdk 1.9.10 → 1.9.12

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.
@@ -7,7 +7,6 @@
7
7
  * - Modern browsers via globalThis.crypto, self.crypto, or window.crypto
8
8
  * - Web Workers and Service Workers via self.crypto
9
9
  * - Deno and Bun via globalThis.crypto
10
- * - React Native (requires react-native-get-random-values polyfill)
11
10
  *
12
11
  * @throws {Error} If no secure random number generator is available
13
12
  */
@@ -63,31 +62,6 @@ class Rand {
63
62
  };
64
63
  return;
65
64
  }
66
- // React Native support - try to load polyfill
67
- if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
68
- try {
69
- // Try to require the polyfill - this will populate globalThis.crypto
70
- // eslint-disable-next-line @typescript-eslint/no-var-requires
71
- require('react-native-get-random-values');
72
- if (typeof globalThis.crypto?.getRandomValues === 'function') {
73
- this._rand = (n) => {
74
- /* eslint-disable-next-line */
75
- return this.getRandomValues(globalThis, n);
76
- };
77
- return;
78
- }
79
- }
80
- catch (e) {
81
- // Polyfill not available - provide helpful error
82
- this._rand = () => {
83
- throw new Error('React Native detected but crypto is not available. ' +
84
- 'Please install and import "react-native-get-random-values" at the top of your entry file:\n' +
85
- 'npm install react-native-get-random-values\n' +
86
- 'Then add: import "react-native-get-random-values" to your index.js/App.js');
87
- };
88
- return;
89
- }
90
- }
91
65
  // No crypto available
92
66
  this._rand = noRand;
93
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Random.js","sourceRoot":"","sources":["../../../../src/primitives/Random.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,IAAI;IACR,KAAK,CAAyB,CAAC,2BAA2B;IAE1D,eAAe,CAAE,GAAQ,EAAE,CAAS;QAClC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7B,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;QAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED;QACE,MAAM,MAAM,GAAG,GAAU,EAAE;YACzB,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAA;QACH,CAAC,CAAA;QAED,IAAI,CAAC,KAAK,GAAG,MAAM,CAAA,CAAC,sBAAsB;QAE1C,0EAA0E;QAC1E,IAAI,OAAO,UAAU,KAAK,WAAW,IAAI,OAAQ,UAAkB,CAAC,MAAM,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YAC3G,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE;gBACjB,8BAA8B;gBAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,UAAiB,EAAE,CAAC,CAAC,CAAA;YACnD,CAAC,CAAA;YACD,OAAM;QACR,CAAC;QAED,qCAAqC;QACrC,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YACvE,IAAI,CAAC;gBACH,8DAA8D;gBAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAChC,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;oBAC7C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE;wBACjB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;oBAC1C,CAAC,CAAA;oBACD,OAAM;gBACR,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,wDAAwD;YAC1D,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YACtF,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE;gBACjB,8BAA8B;gBAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,IAAW,EAAE,CAAC,CAAC,CAAA;YAC7C,CAAC,CAAA;YACD,OAAM;QACR,CAAC;QAED,+BAA+B;QAC/B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAQ,MAAc,CAAC,MAAM,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YACnG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE;gBACjB,8BAA8B;gBAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,MAAa,EAAE,CAAC,CAAC,CAAA;YAC/C,CAAC,CAAA;YACD,OAAM;QACR,CAAC;QAED,8CAA8C;QAC9C,IAAI,OAAO,SAAS,KAAK,WAAW,IAAK,SAAiB,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;YACrF,IAAI,CAAC;gBACH,qEAAqE;gBACrE,8DAA8D;gBAC9D,OAAO,CAAC,gCAAgC,CAAC,CAAA;gBAEzC,IAAI,OAAQ,UAAkB,CAAC,MAAM,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;oBACtE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE;wBACjB,8BAA8B;wBAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,UAAiB,EAAE,CAAC,CAAC,CAAA;oBACnD,CAAC,CAAA;oBACD,OAAM;gBACR,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,iDAAiD;gBACjD,IAAI,CAAC,KAAK,GAAG,GAAU,EAAE;oBACvB,MAAM,IAAI,KAAK,CACb,qDAAqD;wBACrD,6FAA6F;wBAC7F,8CAA8C;wBAC9C,2EAA2E,CAC5E,CAAA;gBACH,CAAC,CAAA;gBACD,OAAM;YACR,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAA;IACrB,CAAC;IAED,QAAQ,CAAE,GAAW;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;CACF;AAED,IAAI,GAAG,GAAgB,IAAI,CAAA;AAE3B;;;;;;;;;;GAUG;AACH,eAAe,CAAC,GAAW,EAAY,EAAE;IACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IAClB,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC1B,CAAC,CAAA"}
1
+ {"version":3,"file":"Random.js","sourceRoot":"","sources":["../../../../src/primitives/Random.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,IAAI;IACR,KAAK,CAAyB,CAAC,2BAA2B;IAE1D,eAAe,CAAE,GAAQ,EAAE,CAAS;QAClC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7B,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;QAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED;QACE,MAAM,MAAM,GAAG,GAAU,EAAE;YACzB,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAA;QACH,CAAC,CAAA;QAED,IAAI,CAAC,KAAK,GAAG,MAAM,CAAA,CAAC,sBAAsB;QAE1C,0EAA0E;QAC1E,IAAI,OAAO,UAAU,KAAK,WAAW,IAAI,OAAQ,UAAkB,CAAC,MAAM,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YAC3G,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE;gBACjB,8BAA8B;gBAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,UAAiB,EAAE,CAAC,CAAC,CAAA;YACnD,CAAC,CAAA;YACD,OAAM;QACR,CAAC;QAED,qCAAqC;QACrC,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YACvE,IAAI,CAAC;gBACH,8DAA8D;gBAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAChC,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;oBAC7C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE;wBACjB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;oBAC1C,CAAC,CAAA;oBACD,OAAM;gBACR,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,wDAAwD;YAC1D,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YACtF,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE;gBACjB,8BAA8B;gBAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,IAAW,EAAE,CAAC,CAAC,CAAA;YAC7C,CAAC,CAAA;YACD,OAAM;QACR,CAAC;QAED,+BAA+B;QAC/B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAQ,MAAc,CAAC,MAAM,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YACnG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE;gBACjB,8BAA8B;gBAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,MAAa,EAAE,CAAC,CAAC,CAAA;YAC/C,CAAC,CAAA;YACD,OAAM;QACR,CAAC;QAED,sBAAsB;QACtB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAA;IACrB,CAAC;IAED,QAAQ,CAAE,GAAW;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;CACF;AAED,IAAI,GAAG,GAAgB,IAAI,CAAA;AAE3B;;;;;;;;;;GAUG;AACH,eAAe,CAAC,GAAW,EAAY,EAAE;IACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IAClB,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC1B,CAAC,CAAA"}
@@ -71,10 +71,18 @@ export default class SymmetricKey extends BigNumber {
71
71
  */
72
72
  decrypt(msg, enc) {
73
73
  msg = toArray(msg, enc);
74
- const iv = msg.slice(0, 32);
75
- const tagStart = msg.length - 16;
76
- const ciphertext = msg.slice(32, tagStart);
74
+ const ivLength = 32;
75
+ const tagLength = 16;
76
+ if (msg.length < ivLength + tagLength) {
77
+ throw new Error('Ciphertext too short');
78
+ }
79
+ const iv = msg.slice(0, ivLength);
80
+ const tagStart = msg.length - tagLength;
81
+ const ciphertext = msg.slice(ivLength, tagStart);
77
82
  const messageTag = msg.slice(tagStart);
83
+ if (tagStart < ivLength) {
84
+ throw new Error('Malformed ciphertext');
85
+ }
78
86
  const result = AESGCMDecrypt(ciphertext, [], iv, messageTag, this.toArray('be', 32));
79
87
  if (result === null) {
80
88
  throw new Error('Decryption failed!');
@@ -1 +1 @@
1
- {"version":3,"file":"SymmetricKey.js","sourceRoot":"","sources":["../../../../src/primitives/SymmetricKey.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAE5C;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,SAAS;IACjD;;;;;;;;;OASG;IACH,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IACrC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAE,GAAsB,EAAE,GAAW;QAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;QACrB,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACvC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAC1C,GAAG,EACH,EAAE,EACF,EAAE,EACF,QAAQ,CACT,CAAA;QACD,MAAM,WAAW,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAA;QACxE,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,CAAA;QACvC,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,KAAK,MAAM,KAAK,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC;YACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAE,GAAsB,EAAE,GAAoB;QACnD,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACvB,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,EAAE,CAAA;QAChC,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,aAAa,CAC1B,UAAU,EACV,EAAE,EACF,EAAE,EACF,UAAU,EACV,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CACvB,CAAA;QACD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACvC,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,CAAC;CACF"}
1
+ {"version":3,"file":"SymmetricKey.js","sourceRoot":"","sources":["../../../../src/primitives/SymmetricKey.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAE5C;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,SAAS;IACjD;;;;;;;;;OASG;IACH,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IACrC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAE,GAAsB,EAAE,GAAW;QAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;QACrB,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACvC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;QACnE,MAAM,WAAW,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAA;QACxE,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,CAAA;QACvC,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,KAAK,MAAM,KAAK,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC;YACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAE,GAAsB,EAAE,GAAoB;QACnD,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAEvB,MAAM,QAAQ,GAAG,EAAE,CAAA;QACnB,MAAM,SAAS,GAAG,EAAE,CAAA;QAEpB,IAAI,GAAG,CAAC,MAAM,GAAG,QAAQ,GAAG,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QAED,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;QACjC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,SAAS,CAAA;QACvC,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAChD,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAEtC,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAC1B,UAAU,EACV,EAAE,EACF,EAAE,EACF,UAAU,EACV,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CACvB,CAAA;QACD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACvC,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,CAAC;CACF"}