@bsv/sdk 1.0.4 → 1.0.6

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 (86) hide show
  1. package/dist/cjs/package.json +1 -1
  2. package/dist/cjs/src/primitives/BigNumber.js +1 -1
  3. package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
  4. package/dist/cjs/src/primitives/Hash.js +98 -56
  5. package/dist/cjs/src/primitives/Hash.js.map +1 -1
  6. package/dist/cjs/src/primitives/PrivateKey.js +23 -0
  7. package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
  8. package/dist/cjs/src/primitives/PublicKey.js +19 -1
  9. package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
  10. package/dist/cjs/src/primitives/SymmetricKey.js +14 -1
  11. package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
  12. package/dist/cjs/src/primitives/index.js +3 -1
  13. package/dist/cjs/src/primitives/index.js.map +1 -1
  14. package/dist/cjs/src/primitives/utils.js +3 -3
  15. package/dist/cjs/src/primitives/utils.js.map +1 -1
  16. package/dist/cjs/src/script/templates/P2PKH.js +14 -3
  17. package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
  18. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  19. package/dist/esm/src/primitives/BigNumber.js +1 -1
  20. package/dist/esm/src/primitives/BigNumber.js.map +1 -1
  21. package/dist/esm/src/primitives/Hash.js +98 -56
  22. package/dist/esm/src/primitives/Hash.js.map +1 -1
  23. package/dist/esm/src/primitives/PrivateKey.js +23 -0
  24. package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
  25. package/dist/esm/src/primitives/PublicKey.js +19 -1
  26. package/dist/esm/src/primitives/PublicKey.js.map +1 -1
  27. package/dist/esm/src/primitives/SymmetricKey.js +14 -1
  28. package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
  29. package/dist/esm/src/primitives/index.js +1 -0
  30. package/dist/esm/src/primitives/index.js.map +1 -1
  31. package/dist/esm/src/primitives/utils.js +3 -3
  32. package/dist/esm/src/primitives/utils.js.map +1 -1
  33. package/dist/esm/src/script/templates/P2PKH.js +14 -3
  34. package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
  35. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  36. package/dist/types/src/primitives/BigNumber.d.ts +1 -1
  37. package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
  38. package/dist/types/src/primitives/Hash.d.ts +73 -34
  39. package/dist/types/src/primitives/Hash.d.ts.map +1 -1
  40. package/dist/types/src/primitives/PrivateKey.d.ts +16 -1
  41. package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
  42. package/dist/types/src/primitives/PublicKey.d.ts +14 -2
  43. package/dist/types/src/primitives/PublicKey.d.ts.map +1 -1
  44. package/dist/types/src/primitives/SymmetricKey.d.ts +11 -0
  45. package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
  46. package/dist/types/src/primitives/index.d.ts +1 -0
  47. package/dist/types/src/primitives/index.d.ts.map +1 -1
  48. package/dist/types/src/primitives/utils.d.ts +2 -2
  49. package/dist/types/src/script/templates/P2PKH.d.ts +3 -3
  50. package/dist/types/src/script/templates/P2PKH.d.ts.map +1 -1
  51. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  52. package/docs/examples/EXAMPLE_BUILDING_CUSTOM_TX_BROADCASTER.md +89 -0
  53. package/docs/examples/EXAMPLE_COMPLEX_TX.md +164 -0
  54. package/docs/examples/EXAMPLE_ECIES.md +37 -0
  55. package/docs/examples/EXAMPLE_ENCRYPT_DECRYPT_MESSAGE.md +52 -0
  56. package/docs/examples/EXAMPLE_FEE_MODELING.md +199 -0
  57. package/docs/examples/EXAMPLE_HD_WALLETS.md +71 -0
  58. package/docs/examples/EXAMPLE_MESSAGE_SIGNING.md +63 -0
  59. package/docs/examples/EXAMPLE_PULSE_HEADERS.md +140 -0
  60. package/docs/examples/EXAMPLE_SCRIPT_TEMPLATES.md +170 -0
  61. package/docs/examples/EXAMPLE_SIMPLE_TX.md +64 -0
  62. package/docs/examples/EXAMPLE_TYPE_42.md +108 -0
  63. package/docs/examples/EXAMPLE_VERIFYING_BEEF.md +55 -0
  64. package/docs/examples/EXAMPLE_VERIFYING_SPENDS.md +69 -0
  65. package/docs/examples/GETTING_STARTED_NODE_CJS.md +73 -0
  66. package/docs/examples/GETTING_STARTED_REACT.md +121 -0
  67. package/docs/examples/README.md +19 -0
  68. package/docs/low-level/README.md +6 -0
  69. package/docs/low-level/TX_SIG.md +129 -0
  70. package/docs/low-level/TYPE_42.md +0 -0
  71. package/docs/primitives.md +679 -566
  72. package/docs/script.md +4 -4
  73. package/package.json +1 -1
  74. package/src/primitives/BigNumber.ts +2 -1
  75. package/src/primitives/Hash.ts +118 -64
  76. package/src/primitives/PrivateKey.ts +28 -1
  77. package/src/primitives/PublicKey.ts +24 -2
  78. package/src/primitives/SymmetricKey.ts +17 -3
  79. package/src/primitives/__tests/HMAC.test.ts +2 -2
  80. package/src/primitives/__tests/Hash.test.ts +2 -2
  81. package/src/primitives/index.ts +1 -0
  82. package/src/primitives/utils.ts +3 -3
  83. package/src/script/__tests/Script.test.ts +34 -0
  84. package/src/script/__tests/Spend.test.ts +7 -7
  85. package/src/script/templates/P2PKH.ts +13 -4
  86. package/src/transaction/__tests/Transaction.test.ts +1 -1
@@ -52,7 +52,10 @@ class BaseHash {
52
52
  _update(msg, start) {
53
53
  throw new Error('Not implemented');
54
54
  }
55
- _digest(enc) {
55
+ _digest() {
56
+ throw new Error('Not implemented');
57
+ }
58
+ _digestHex() {
56
59
  throw new Error('Not implemented');
57
60
  }
58
61
  /**
@@ -98,17 +101,32 @@ class BaseHash {
98
101
  * Finalizes the hash computation and returns the hash value/result.
99
102
  *
100
103
  * @method digest
101
- * @param enc - The encoding of the final hash. If 'hex' then a hex string will be provided, otherwise an array of numbers.
102
104
  *
103
105
  * @returns Returns the final hash value.
104
106
  *
105
107
  * @example
106
- * const hash = sha256.digest('hex');
108
+ * const hash = sha256.digest();
107
109
  */
108
- digest(enc) {
110
+ digest() {
109
111
  this.update(this._pad());
110
112
  assert(this.pending === null);
111
- return this._digest(enc);
113
+ return this._digest();
114
+ }
115
+ ;
116
+ /**
117
+ * Finalizes the hash computation and returns the hash value/result as a hex string.
118
+ *
119
+ * @method digest
120
+ *
121
+ * @returns Returns the final hash value as a hex string.
122
+ *
123
+ * @example
124
+ * const hash = sha256.digestHex();
125
+ */
126
+ digestHex() {
127
+ this.update(this._pad());
128
+ assert(this.pending === null);
129
+ return this._digestHex();
112
130
  }
113
131
  ;
114
132
  /**
@@ -170,6 +188,12 @@ function isSurrogatePair(msg, i) {
170
188
  }
171
189
  return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;
172
190
  }
191
+ /**
192
+ *
193
+ * @param msg
194
+ * @param enc Optional. Encoding to use if msg is string. Default is 'utf8'.
195
+ * @returns array of byte values from msg. If msg is an array, a copy is returned.
196
+ */
173
197
  function toArray(msg, enc) {
174
198
  if (Array.isArray(msg)) {
175
199
  return msg.slice();
@@ -558,13 +582,11 @@ class RIPEMD160 extends BaseHash {
558
582
  this.h[4] = SUM32_3(this.h[0], B, Ch);
559
583
  this.h[0] = T;
560
584
  }
561
- _digest(enc) {
562
- if (enc === 'hex') {
563
- return toHex32(this.h, 'little');
564
- }
565
- else {
566
- return split32(this.h, 'little');
567
- }
585
+ _digest() {
586
+ return split32(this.h, 'little');
587
+ }
588
+ _digestHex() {
589
+ return toHex32(this.h, 'little');
568
590
  }
569
591
  }
570
592
  exports.RIPEMD160 = RIPEMD160;
@@ -654,13 +676,11 @@ class SHA256 extends BaseHash {
654
676
  this.h[7] = sum32(this.h[7], h);
655
677
  }
656
678
  ;
657
- _digest(enc) {
658
- if (enc === 'hex') {
659
- return toHex32(this.h, 'big');
660
- }
661
- else {
662
- return split32(this.h, 'big');
663
- }
679
+ _digest() {
680
+ return split32(this.h, 'big');
681
+ }
682
+ _digestHex() {
683
+ return toHex32(this.h, 'big');
664
684
  }
665
685
  }
666
686
  exports.SHA256 = SHA256;
@@ -725,13 +745,11 @@ class SHA1 extends BaseHash {
725
745
  this.h[3] = sum32(this.h[3], d);
726
746
  this.h[4] = sum32(this.h[4], e);
727
747
  }
728
- _digest(enc) {
729
- if (enc === 'hex') {
730
- return toHex32(this.h, 'big');
731
- }
732
- else {
733
- return split32(this.h, 'big');
734
- }
748
+ _digest() {
749
+ return split32(this.h, 'big');
750
+ }
751
+ _digestHex() {
752
+ return toHex32(this.h, 'big');
735
753
  }
736
754
  }
737
755
  exports.SHA1 = SHA1;
@@ -895,11 +913,11 @@ class SHA512 extends BaseHash {
895
913
  sum64(this.h, 12, gh, gl);
896
914
  sum64(this.h, 14, hh, hl);
897
915
  }
898
- _digest(enc) {
899
- if (enc === 'hex')
900
- return toHex32(this.h, 'big');
901
- else
902
- return split32(this.h, 'big');
916
+ _digest() {
917
+ return split32(this.h, 'big');
918
+ }
919
+ _digestHex() {
920
+ return toHex32(this.h, 'big');
903
921
  }
904
922
  }
905
923
  exports.SHA512 = SHA512;
@@ -1068,15 +1086,27 @@ class SHA256HMAC {
1068
1086
  * Finalizes the HMAC computation and returns the resultant hash.
1069
1087
  *
1070
1088
  * @method digest
1071
- * @param enc - If 'hex', then the output is encoded as hexadecimal. If undefined or not 'hex', then no encoding is performed.
1072
1089
  * @returns Returns the digest of the hashed data. Can be a number array or a string.
1073
1090
  *
1074
1091
  * @example
1075
- * let hashedMessage = myHMAC.digest('hex');
1092
+ * let hashedMessage = myHMAC.digest();
1076
1093
  */
1077
- digest(enc) {
1094
+ digest() {
1078
1095
  this.outer.update(this.inner.digest());
1079
- return this.outer.digest(enc);
1096
+ return this.outer.digest();
1097
+ }
1098
+ /**
1099
+ * Finalizes the HMAC computation and returns the resultant hash as a hex string.
1100
+ *
1101
+ * @method digest
1102
+ * @returns Returns the digest of the hashed data as a hex string
1103
+ *
1104
+ * @example
1105
+ * let hashedMessage = myHMAC.digestHex();
1106
+ */
1107
+ digestHex() {
1108
+ this.outer.update(this.inner.digest());
1109
+ return this.outer.digestHex();
1080
1110
  }
1081
1111
  }
1082
1112
  exports.SHA256HMAC = SHA256HMAC;
@@ -1149,15 +1179,27 @@ class SHA512HMAC {
1149
1179
  * Finalizes the HMAC computation and returns the resultant hash.
1150
1180
  *
1151
1181
  * @method digest
1152
- * @param enc - If 'hex', then the output is encoded as hexadecimal. If undefined or not 'hex', then no encoding is performed.
1153
- * @returns Returns the digest of the hashed data. Can be a number array or a string.
1182
+ * @returns Returns the digest of the hashed data as a number array.
1183
+ *
1184
+ * @example
1185
+ * let hashedMessage = myHMAC.digest();
1186
+ */
1187
+ digest() {
1188
+ this.outer.update(this.inner.digest());
1189
+ return this.outer.digest();
1190
+ }
1191
+ /**
1192
+ * Finalizes the HMAC computation and returns the resultant hash as a hex string.
1193
+ *
1194
+ * @method digest
1195
+ * @returns Returns the digest of the hashed data as a hex string
1154
1196
  *
1155
1197
  * @example
1156
- * let hashedMessage = myHMAC.digest('hex');
1198
+ * let hashedMessage = myHMAC.digestHex();
1157
1199
  */
1158
- digest(enc) {
1200
+ digestHex() {
1159
1201
  this.outer.update(this.inner.digest());
1160
- return this.outer.digest(enc);
1202
+ return this.outer.digestHex();
1161
1203
  }
1162
1204
  }
1163
1205
  exports.SHA512HMAC = SHA512HMAC;
@@ -1165,7 +1207,7 @@ exports.SHA512HMAC = SHA512HMAC;
1165
1207
  * Computes RIPEMD160 hash of a given message.
1166
1208
  * @function ripemd160
1167
1209
  * @param msg - The message to compute the hash for.
1168
- * @param enc - The encoding of the message. If 'hex', the message is decoded from hexadecimal first.
1210
+ * @param enc - The encoding of msg if string. Default is 'utf8'.
1169
1211
  *
1170
1212
  * @returns the computed RIPEMD160 hash of the message.
1171
1213
  *
@@ -1173,14 +1215,14 @@ exports.SHA512HMAC = SHA512HMAC;
1173
1215
  * const digest = ripemd160('Hello, world!');
1174
1216
  */
1175
1217
  const ripemd160 = (msg, enc) => {
1176
- return new RIPEMD160().update(msg, enc).digest(enc);
1218
+ return new RIPEMD160().update(msg, enc).digest();
1177
1219
  };
1178
1220
  exports.ripemd160 = ripemd160;
1179
1221
  /**
1180
1222
  * Computes SHA1 hash of a given message.
1181
1223
  * @function sha1
1182
1224
  * @param msg - The message to compute the hash for.
1183
- * @param enc - The encoding of the message. If 'hex', the message is decoded from hexadecimal first.
1225
+ * @param enc - The encoding of msg if string. Default is 'utf8'.
1184
1226
  *
1185
1227
  * @returns the computed SHA1 hash of the message.
1186
1228
  *
@@ -1188,14 +1230,14 @@ exports.ripemd160 = ripemd160;
1188
1230
  * const digest = sha1('Hello, world!');
1189
1231
  */
1190
1232
  const sha1 = (msg, enc) => {
1191
- return new SHA1().update(msg, enc).digest(enc);
1233
+ return new SHA1().update(msg, enc).digest();
1192
1234
  };
1193
1235
  exports.sha1 = sha1;
1194
1236
  /**
1195
1237
  * Computes SHA256 hash of a given message.
1196
1238
  * @function sha256
1197
1239
  * @param msg - The message to compute the hash for.
1198
- * @param enc - The encoding of the message. If 'hex', the message is decoded from hexadecimal first.
1240
+ * @param enc - The encoding of msg if string. Default is 'utf8'.
1199
1241
  *
1200
1242
  * @returns the computed SHA256 hash of the message.
1201
1243
  *
@@ -1203,14 +1245,14 @@ exports.sha1 = sha1;
1203
1245
  * const digest = sha256('Hello, world!');
1204
1246
  */
1205
1247
  const sha256 = (msg, enc) => {
1206
- return new SHA256().update(msg, enc).digest(enc);
1248
+ return new SHA256().update(msg, enc).digest();
1207
1249
  };
1208
1250
  exports.sha256 = sha256;
1209
1251
  /**
1210
1252
  * Computes SHA512 hash of a given message.
1211
1253
  * @function sha512
1212
1254
  * @param msg - The message to compute the hash for.
1213
- * @param enc - The encoding of the message. If 'hex', the message is decoded from hexadecimal first.
1255
+ * @param enc - The encoding of msg if string. Default is 'utf8'.
1214
1256
  *
1215
1257
  * @returns the computed SHA512 hash of the message.
1216
1258
  *
@@ -1218,7 +1260,7 @@ exports.sha256 = sha256;
1218
1260
  * const digest = sha512('Hello, world!');
1219
1261
  */
1220
1262
  const sha512 = (msg, enc) => {
1221
- return new SHA512().update(msg, enc).digest(enc);
1263
+ return new SHA512().update(msg, enc).digest();
1222
1264
  };
1223
1265
  exports.sha512 = sha512;
1224
1266
  /**
@@ -1227,7 +1269,7 @@ exports.sha512 = sha512;
1227
1269
  * SHA256 hash of the resulting hash is computed.
1228
1270
  * @function hash256
1229
1271
  * @param msg - The message to compute the hash for.
1230
- * @param enc - Encoding of the message.If 'hex', the message is decoded from hexadecimal.
1272
+ * @param enc - The encoding of msg if string. Default is 'utf8'.
1231
1273
  *
1232
1274
  * @returns the double hashed SHA256 output.
1233
1275
  *
@@ -1236,7 +1278,7 @@ exports.sha512 = sha512;
1236
1278
  */
1237
1279
  const hash256 = (msg, enc) => {
1238
1280
  const first = new SHA256().update(msg, enc).digest();
1239
- return new SHA256().update(first).digest(enc);
1281
+ return new SHA256().update(first).digest();
1240
1282
  };
1241
1283
  exports.hash256 = hash256;
1242
1284
  /**
@@ -1244,7 +1286,7 @@ exports.hash256 = hash256;
1244
1286
  *
1245
1287
  * @function hash160
1246
1288
  * @param msg - The message to compute the hash for.
1247
- * @param enc - The encoding of the message. If 'hex', the message is decoded from hexadecimal.
1289
+ * @param enc - The encoding of msg if string. Default is 'utf8'.
1248
1290
  *
1249
1291
  * @returns the RIPEMD160 hash of the SHA256 hash of the input message.
1250
1292
  *
@@ -1253,7 +1295,7 @@ exports.hash256 = hash256;
1253
1295
  */
1254
1296
  const hash160 = (msg, enc) => {
1255
1297
  const first = new SHA256().update(msg, enc).digest();
1256
- return new RIPEMD160().update(first).digest(enc);
1298
+ return new RIPEMD160().update(first).digest();
1257
1299
  };
1258
1300
  exports.hash160 = hash160;
1259
1301
  /**
@@ -1261,7 +1303,7 @@ exports.hash160 = hash160;
1261
1303
  * @function sha256hmac
1262
1304
  * @param key - The key used to compute the HMAC
1263
1305
  * @param msg - The message to compute the hash for.
1264
- * @param enc - The encoding of the message. If 'hex', the message is decoded from hexadecimal first.
1306
+ * @param enc - The encoding of msg if string. Default is 'utf8'.
1265
1307
  *
1266
1308
  * @returns the computed HMAC of the message.
1267
1309
  *
@@ -1269,7 +1311,7 @@ exports.hash160 = hash160;
1269
1311
  * const digest = sha256hmac('deadbeef', 'ffff001d');
1270
1312
  */
1271
1313
  const sha256hmac = (key, msg, enc) => {
1272
- return new SHA256HMAC(key).update(msg, enc).digest(enc);
1314
+ return new SHA256HMAC(key).update(msg, enc).digest();
1273
1315
  };
1274
1316
  exports.sha256hmac = sha256hmac;
1275
1317
  /**
@@ -1277,7 +1319,7 @@ exports.sha256hmac = sha256hmac;
1277
1319
  * @function sha512hmac
1278
1320
  * @param key - The key used to compute the HMAC
1279
1321
  * @param msg - The message to compute the hash for.
1280
- * @param enc - The encoding of the message. If 'hex', the message is decoded from hexadecimal first.
1322
+ * @param enc - The encoding of msg if string. Default is 'utf8'.
1281
1323
  *
1282
1324
  * @returns the computed HMAC of the message.
1283
1325
  *
@@ -1285,7 +1327,7 @@ exports.sha256hmac = sha256hmac;
1285
1327
  * const digest = sha512hmac('deadbeef', 'ffff001d');
1286
1328
  */
1287
1329
  const sha512hmac = (key, msg, enc) => {
1288
- return new SHA512HMAC(key).update(msg, enc).digest(enc);
1330
+ return new SHA512HMAC(key).update(msg, enc).digest();
1289
1331
  };
1290
1332
  exports.sha512hmac = sha512hmac;
1291
1333
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Hash.js","sourceRoot":"","sources":["../../../../src/primitives/Hash.ts"],"names":[],"mappings":"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,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACtD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;IACtD,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IACtD,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IACtD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;CACvD,CAAA;AAED,MAAM,EAAE,GAAG;IACT,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACtD,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EA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"}
1
+ {"version":3,"file":"Hash.js","sourceRoot":"","sources":["../../../../src/primitives/Hash.ts"],"names":[],"mappings":"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AAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACpD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;IACpD,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;CACrD,CAAA;AAED,MAAM,EAAE,GAAG;IACT,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;IACpD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpD,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IACpD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE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"}
@@ -66,6 +66,29 @@ class PrivateKey extends BigNumber_js_1.default {
66
66
  }
67
67
  return new PrivateKey(decoded.data.slice(0, 32));
68
68
  }
69
+ /**
70
+ * @constructor
71
+ *
72
+ * @param number - The number (various types accepted) to construct a BigNumber from. Default is 0.
73
+ *
74
+ * @param base - The base of number provided. By default is 10. Ignored if number is BigNumber.
75
+ *
76
+ * @param endian - The endianness provided. By default is 'big endian'. Ignored if number is BigNumber.
77
+ *
78
+ * @example
79
+ * import PrivateKey from './PrivateKey';
80
+ * import BigNumber from './BigNumber';
81
+ * const privKey = new PrivateKey(new BigNumber('123456', 10, 'be'));
82
+ */
83
+ constructor(number = 0, base = 10, endian = 'be') {
84
+ if (number instanceof BigNumber_js_1.default) {
85
+ super();
86
+ number.copy(this);
87
+ }
88
+ else {
89
+ super(number, base, endian);
90
+ }
91
+ }
69
92
  /**
70
93
  * Signs a message using the private key.
71
94
  *
@@ -1 +1 @@
1
- {"version":3,"file":"PrivateKey.js","sourceRoot":"","sources":["../../../../src/primitives/PrivateKey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PrivateKey.js","sourceRoot":"","sources":["../../../../src/primitives/PrivateKey.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,24 @@ class PublicKey extends Point_js_1.default {
52
52
  const p = Point_js_1.default.fromString(str);
53
53
  return new PublicKey(p.x, p.y);
54
54
  }
55
+ /**
56
+ * @constructor
57
+ * @param x - A point or the x-coordinate of the point. May be a number, a BigNumber, a string (which will be interpreted as hex), a number array, or null. If null, an "Infinity" point is constructed.
58
+ * @param y - If x is not a point, the y-coordinate of the point, similar to x.
59
+ * @param isRed - A boolean indicating if the point is a member of the field of integers modulo the k256 prime. Default is true.
60
+ *
61
+ * @example
62
+ * new PublicKey(point1);
63
+ * new PublicKey('abc123', 'def456');
64
+ */
65
+ constructor(x, y = null, isRed = true) {
66
+ if (x instanceof Point_js_1.default) {
67
+ super(x.getX(), x.getY());
68
+ }
69
+ else {
70
+ super(x, y, isRed);
71
+ }
72
+ }
55
73
  /**
56
74
  * Derive a shared secret from a public key and a private key for use in symmetric encryption.
57
75
  * This method multiplies the public key (an instance of Point) with a private key.
@@ -77,7 +95,7 @@ class PublicKey extends Point_js_1.default {
77
95
  *
78
96
  * @param msg - The message to verify. It can be a string or an array of numbers.
79
97
  * @param sig - The Signature of the message that needs verification.
80
- * @param enc - The encoding of the message. It defaults to 'hex'.
98
+ * @param enc - The encoding of the message. It defaults to 'utf8'.
81
99
  *
82
100
  * @returns Returns true if the signature is verified successfully, otherwise false.
83
101
  *
@@ -1 +1 @@
1
- {"version":3,"file":"PublicKey.js","sourceRoot":"","sources":["../../../../src/primitives/PublicKey.ts"],"names":[],"mappings":";;;;;AAAA,0DAA8B;AAE9B,0DAA8B;AAC9B,yCAAmC;AACnC,kEAAsC;AACtC,uCAA8C;AAE9C,yCAA0D;AAC1D,uCAAmC;AAEnC;;;;;;GAMG;AACH,MAAqB,SAAU,SAAQ,kBAAK;IAC1C;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,cAAc,CAAE,GAAe;QACpC,MAAM,CAAC,GAAG,IAAI,kBAAK,EAAE,CAAA;QACrB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtB,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,UAAU,CAAE,GAAW;QAC5B,MAAM,CAAC,GAAG,kBAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAC/B,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAE,IAAgB;QAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;SACnE;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAE,GAAsB,EAAE,GAAc,EAAE,GAAW;QACzD,MAAM,OAAO,GAAG,IAAI,sBAAS,CAAC,IAAA,gBAAM,EAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;QACnD,OAAO,IAAA,iBAAM,EAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAW,CAAA;IAC3C,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAE,GAAW;QACjB,MAAM,GAAG,GAAG,IAAA,iBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAa,CAAA;QAClD,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,OAAO,IAAA,gBAAK,EAAC,GAAG,CAAC,CAAA;SAClB;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,SAAS,CAAE,SAAoB,CAAC,IAAI,CAAC;QACnC,OAAO,IAAA,wBAAa,EAAC,IAAI,CAAC,MAAM,EAAc,EAAE,MAAM,CAAC,CAAA;IACzD,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAE,UAAsB,EAAE,aAAqB;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;QACxD,MAAM,gBAAgB,GAAG,IAAA,kBAAO,EAAC,aAAa,EAAE,MAAM,CAAC,CAAA;QACvD,MAAM,IAAI,GAAG,IAAA,oBAAU,EAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAA;QACpE,MAAM,KAAK,GAAG,IAAI,kBAAK,EAAE,CAAA;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,sBAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAClC,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IAClD,CAAC;CACF;AAxID,4BAwIC"}
1
+ {"version":3,"file":"PublicKey.js","sourceRoot":"","sources":["../../../../src/primitives/PublicKey.ts"],"names":[],"mappings":"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"}