@taquito/signer 16.1.2 → 16.2.0
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/dist/lib/derivation-tools/ecdsa.js +7 -4
- package/dist/lib/derivation-tools/ecdsa.js.map +1 -1
- package/dist/lib/derivation-tools/ed25519.js +3 -1
- package/dist/lib/derivation-tools/ed25519.js.map +1 -1
- package/dist/lib/derivation-tools/index.js +2 -2
- package/dist/lib/derivation-tools/index.js.map +1 -1
- package/dist/lib/derivation-tools/utils.js +2 -2
- package/dist/lib/derivation-tools/utils.js.map +1 -1
- package/dist/lib/ec-key.js +5 -2
- package/dist/lib/ec-key.js.map +1 -1
- package/dist/lib/ed-key.js +5 -3
- package/dist/lib/ed-key.js.map +1 -1
- package/dist/lib/errors.js +51 -31
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/helpers.js +2 -1
- package/dist/lib/helpers.js.map +1 -1
- package/dist/lib/taquito-signer.js +12 -19
- package/dist/lib/taquito-signer.js.map +1 -1
- package/dist/lib/version.js +2 -2
- package/dist/taquito-signer.es6.js +91 -72
- package/dist/taquito-signer.es6.js.map +1 -1
- package/dist/taquito-signer.umd.js +93 -75
- package/dist/taquito-signer.umd.js.map +1 -1
- package/dist/types/derivation-tools/ecdsa.d.ts +2 -0
- package/dist/types/derivation-tools/ed25519.d.ts +1 -0
- package/dist/types/ec-key.d.ts +1 -0
- package/dist/types/ed-key.d.ts +1 -0
- package/dist/types/errors.d.ts +35 -21
- package/dist/types/helpers.d.ts +1 -0
- package/dist/types/taquito-signer.d.ts +5 -11
- package/package.json +5 -5
|
@@ -9,6 +9,7 @@ const sha512_1 = require("@stablelib/sha512");
|
|
|
9
9
|
const bn_js_1 = require("bn.js");
|
|
10
10
|
const utils_1 = require("./utils");
|
|
11
11
|
const errors_1 = require("../errors");
|
|
12
|
+
const core_1 = require("@taquito/core");
|
|
12
13
|
const seedKey = {
|
|
13
14
|
p256: 'Nist256p1 seed',
|
|
14
15
|
secp256k1: 'Bitcoin seed',
|
|
@@ -31,6 +32,7 @@ class PrivateKey {
|
|
|
31
32
|
* @param seedSrc result of Bip39.mnemonicToSeed
|
|
32
33
|
* @param curve known supported curve p256 or secp256k1
|
|
33
34
|
* @returns instance of PrivateKey non-HD keys derived
|
|
35
|
+
* @throws {@link InvalidBitSize} | {@link InvalidCurveError} | {@link InvalidSeedLengthError}
|
|
34
36
|
*/
|
|
35
37
|
static fromSeed(seedSrc, curve) {
|
|
36
38
|
var _a, _b;
|
|
@@ -39,11 +41,11 @@ class PrivateKey {
|
|
|
39
41
|
throw new errors_1.InvalidSeedLengthError(seed.length);
|
|
40
42
|
}
|
|
41
43
|
if (!Object.prototype.hasOwnProperty.call(seedKey, curve)) {
|
|
42
|
-
throw new errors_1.InvalidCurveError(`
|
|
44
|
+
throw new errors_1.InvalidCurveError(`Unsupported curve "${curve}" expecting either "p256" or "secp256k1"`);
|
|
43
45
|
}
|
|
44
46
|
const c = new elliptic_1.ec(curve);
|
|
45
47
|
if (((_a = c.n) === null || _a === void 0 ? void 0 : _a.bitLength()) !== 256) {
|
|
46
|
-
throw new errors_1.InvalidBitSize(`
|
|
48
|
+
throw new errors_1.InvalidBitSize(`Invalid curve "${curve}" with bit size "${(_b = c.n) === null || _b === void 0 ? void 0 : _b.bitLength()}" expecting bit size "256"`);
|
|
47
49
|
}
|
|
48
50
|
const key = new TextEncoder().encode(seedKey[curve]);
|
|
49
51
|
let d = null;
|
|
@@ -80,7 +82,7 @@ class PrivateKey {
|
|
|
80
82
|
}
|
|
81
83
|
new DataView(data.buffer).setUint32(33, index);
|
|
82
84
|
let d = new bn_js_1.default(0);
|
|
83
|
-
let chain = new Uint8Array;
|
|
85
|
+
let chain = new Uint8Array();
|
|
84
86
|
let i = 0;
|
|
85
87
|
while (i === 0) {
|
|
86
88
|
const sum = new hmac_1.HMAC(sha512_1.SHA512, this.chainCode).update(data).digest();
|
|
@@ -114,10 +116,11 @@ class PrivateKey {
|
|
|
114
116
|
/**
|
|
115
117
|
*
|
|
116
118
|
* @returns Uint8Array (if contains a private key)
|
|
119
|
+
* @throws {@link InvalidKeyError}
|
|
117
120
|
*/
|
|
118
121
|
bytes() {
|
|
119
122
|
if (!this.keyPair.priv) {
|
|
120
|
-
throw new
|
|
123
|
+
throw new core_1.InvalidKeyError('missing private key');
|
|
121
124
|
}
|
|
122
125
|
// pad to 32 bytes as toArray() length argument seems to be ignored (BN bug)
|
|
123
126
|
const src = this.keyPair.priv.toArray();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecdsa.js","sourceRoot":"","sources":["../../../src/derivation-tools/ecdsa.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,uCAAqC;AACrC,mCAAmD;AACnD,0CAAuC;AACvC,8CAA2C;AAC3C,iCAAuB;AACvB,mCAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"ecdsa.js","sourceRoot":"","sources":["../../../src/derivation-tools/ecdsa.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,uCAAqC;AACrC,mCAAmD;AACnD,0CAAuC;AACvC,8CAA2C;AAC3C,iCAAuB;AACvB,mCAAmC;AACnC,sCAAsF;AACtF,wCAAgD;AAIhD,MAAM,OAAO,GAA8B;IACzC,IAAI,EAAE,gBAAgB;IACtB,SAAS,EAAE,cAAc;CAC1B,CAAC;AAOF,sDAAsD;AACtD,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,sDAAsD;AACtD,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB,MAAa,UAAU;IAErB;;;;OAIG;IACH,YAAY,IAAgB,EAAkB,SAAqB;QAArB,cAAS,GAAT,SAAS,CAAY;QACjE,IAAI,CAAC,OAAO,GAAY,IAAI,CAAC;IAC/B,CAAC;IACD;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,OAA4B,EAAE,KAAgB;;QAC5D,IAAI,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACrE,IAAI,IAAI,CAAC,MAAM,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE;YAC1D,MAAM,IAAI,+BAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC/C;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YACzD,MAAM,IAAI,0BAAiB,CACzB,sBAAsB,KAAK,0CAA0C,CACtE,CAAC;SACH;QACD,MAAM,CAAC,GAAG,IAAI,aAAE,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,OAAA,CAAC,CAAC,CAAC,0CAAE,SAAS,QAAO,GAAG,EAAE;YAC5B,MAAM,IAAI,uBAAc,CACtB,kBAAkB,KAAK,oBAAoB,MAAA,CAAC,CAAC,CAAC,0CAAE,SAAS,EAAE,4BAA4B,CACxF,CAAC;SACH;QAED,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,GAAc,IAAI,CAAC;QACxB,IAAI,KAAK,GAAe,IAAI,UAAU,EAAE,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,EAAE;YACd,MAAM,GAAG,GAAG,IAAI,WAAI,CAAC,eAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACxD,CAAC,GAAG,IAAI,eAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAChC,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAO,CAAC,IAAI,CAAC,EAAE;gBACvC,IAAI,GAAG,GAAG,CAAC;aACZ;iBAAM;gBACL,CAAC,EAAE,CAAC;aACL;SACF;QAED,MAAM,OAAO,GAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACjB,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IACD;;;;OAIG;IACH,MAAM,CAAC,KAAa;QAClB,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,YAAI,CAAC,KAAK,CAAC,EAAE;YACxB,sBAAsB;YACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;SAClD;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC;SAC1D;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAE/C,IAAI,CAAC,GAAO,IAAI,eAAE,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,KAAK,GAAe,IAAI,UAAU,EAAE,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,EAAE;YACd,MAAM,GAAG,GAAG,IAAI,WAAI,CAAC,eAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACnE,CAAC,GAAG,IAAI,eAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAChC,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAO,CAAC,GAAG,CAAC,EAAE;gBAC3D,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAO,CAAC,CAAC;gBACxE,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE;oBACf,CAAC,EAAE,CAAC;iBACL;aACF;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SACb;QACD,MAAM,OAAO,GAAY,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACjB,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IACD;;;;OAIG;IACH,UAAU,CAAC,IAAsB;QAC/B,IAAI,GAAG,GAAe,IAAI,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;YACpB,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACrB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD;;;;OAIG;IACH,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACtB,MAAM,IAAI,sBAAe,CAAC,qBAAqB,CAAC,CAAC;SAClD;QACD,4EAA4E;QAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAlHD,gCAkHC"}
|
|
@@ -8,6 +8,7 @@ const ed25519_1 = require("@stablelib/ed25519");
|
|
|
8
8
|
const index_1 = require("./index");
|
|
9
9
|
const utils_1 = require("./utils");
|
|
10
10
|
const errors_1 = require("../errors");
|
|
11
|
+
const core_1 = require("@taquito/core");
|
|
11
12
|
// MinSeedSize is the minimal allowed seed byte length
|
|
12
13
|
const minSeedSize = 16;
|
|
13
14
|
// MaxSeedSize is the maximal allowed seed byte length
|
|
@@ -27,6 +28,7 @@ class PrivateKey {
|
|
|
27
28
|
*
|
|
28
29
|
* @param seedSrc result of Bip39.mnemonicToSeed
|
|
29
30
|
* @returns instance of PrivateKey
|
|
31
|
+
* @throws {@link InvalidSeedLengthError}
|
|
30
32
|
*/
|
|
31
33
|
static fromSeed(seedSrc) {
|
|
32
34
|
const seed = typeof seedSrc === 'string' ? utils_1.parseHex(seedSrc) : seedSrc;
|
|
@@ -50,7 +52,7 @@ class PrivateKey {
|
|
|
50
52
|
*/
|
|
51
53
|
derive(index) {
|
|
52
54
|
if ((index & index_1.Hard) === 0) {
|
|
53
|
-
throw new
|
|
55
|
+
throw new core_1.InvalidDerivationPathError(index.toString(), ': Non-hardened derivation path.');
|
|
54
56
|
}
|
|
55
57
|
const data = new Uint8Array(37);
|
|
56
58
|
data.set(this.seed(), 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../../src/derivation-tools/ed25519.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,0CAAuC;AACvC,8CAA2C;AAC3C,gDAA6D;AAC7D,mCAAmD;AACnD,mCAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../../src/derivation-tools/ed25519.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,0CAAuC;AACvC,8CAA2C;AAC3C,gDAA6D;AAC7D,mCAAmD;AACnD,mCAAmC;AACnC,sCAAmD;AACnD,wCAA2D;AAE3D,sDAAsD;AACtD,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,sDAAsD;AACtD,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB,MAAM,UAAU,GAAG,cAAc,CAAC;AAElC,MAAa,UAAU;IACrB;;;;OAIG;IACH,YAAqB,IAAgB,EAAW,SAAqB;QAAhD,SAAI,GAAJ,IAAI,CAAY;QAAW,cAAS,GAAT,SAAS,CAAY;IAAG,CAAC;IAEzE;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,OAA4B;QAC1C,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACvE,IAAI,IAAI,CAAC,MAAM,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE;YAC1D,MAAM,IAAI,+BAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC/C;QACD,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,WAAI,CAAC,eAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACxD,OAAO,IAAI,UAAU,CAAC,iCAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC;IACD;;;OAGG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;IACD;;;OAGG;IACH,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,KAAK,GAAG,YAAI,CAAC,KAAK,CAAC,EAAE;YACxB,MAAM,IAAI,iCAA0B,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,iCAAiC,CAAC,CAAC;SAC3F;QACD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,WAAI,CAAC,eAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACnE,OAAO,IAAI,UAAU,CAAC,iCAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC;IACD;;;OAGG;IACH,UAAU,CAAC,IAAsB;QAC/B,IAAI,GAAG,GAAe,IAAI,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE;YACxB,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACzB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAvDD,gCAuDC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Path = exports.Hard = exports.Ed25519 = exports.ECDSA = void 0;
|
|
4
|
-
const
|
|
4
|
+
const core_1 = require("@taquito/core");
|
|
5
5
|
exports.ECDSA = require("./ecdsa");
|
|
6
6
|
exports.Ed25519 = require("./ed25519");
|
|
7
7
|
exports.Hard = 0x80000000;
|
|
@@ -25,7 +25,7 @@ class Path extends Array {
|
|
|
25
25
|
}
|
|
26
26
|
for (let p of parts) {
|
|
27
27
|
if (p.length === 0) {
|
|
28
|
-
throw new
|
|
28
|
+
throw new core_1.InvalidDerivationPathError(s, `: Invalid BIP32 path`);
|
|
29
29
|
}
|
|
30
30
|
let h = 0;
|
|
31
31
|
const last = p[p.length - 1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/derivation-tools/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/derivation-tools/index.ts"],"names":[],"mappings":";;;AAAA,wCAA2D;AAE3D,mCAAiC;AACjC,uCAAqC;AAExB,QAAA,IAAI,GAAG,UAAU,CAAC;AAa/B,MAAa,IAAK,SAAQ,KAAa;IACrC,MAAM,CAAC,IAAI,CAAC,QAA8C;QACxD,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;IACD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,CAAS;QACzB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAClB,OAAO,IAAI,IAAI,EAAE,CAAC;SACnB;QACD,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACpB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACxB;QACD,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;YACnB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClB,MAAM,IAAI,iCAA0B,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;aACjE;YACD,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE;gBAChD,CAAC,GAAG,YAAI,CAAC;gBACT,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aAC9B;YACD,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjB;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;CACF;AAjCD,oBAiCC"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseHex = void 0;
|
|
4
|
-
const
|
|
4
|
+
const core_1 = require("@taquito/core");
|
|
5
5
|
function parseHex(s) {
|
|
6
6
|
const res = [];
|
|
7
7
|
for (let i = 0; i < s.length; i += 2) {
|
|
8
8
|
const ss = s.slice(i, i + 2);
|
|
9
9
|
const x = parseInt(ss, 16);
|
|
10
10
|
if (Number.isNaN(x)) {
|
|
11
|
-
throw new
|
|
11
|
+
throw new core_1.InvalidHexStringError(ss);
|
|
12
12
|
}
|
|
13
13
|
res.push(x);
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/derivation-tools/utils.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/derivation-tools/utils.ts"],"names":[],"mappings":";;;AAAA,wCAAsD;AAEtD,SAAgB,QAAQ,CAAC,CAAS;IAChC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACpC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACnB,MAAM,IAAI,4BAAqB,CAAC,EAAE,CAAC,CAAC;SACrC;QACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACb;IACD,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAXD,4BAWC"}
|
package/dist/lib/ec-key.js
CHANGED
|
@@ -14,6 +14,7 @@ const blake2b_1 = require("@stablelib/blake2b");
|
|
|
14
14
|
const utils_1 = require("@taquito/utils");
|
|
15
15
|
const typedarray_to_buffer_1 = require("typedarray-to-buffer");
|
|
16
16
|
const elliptic_1 = require("elliptic");
|
|
17
|
+
const core_1 = require("@taquito/core");
|
|
17
18
|
const pref = {
|
|
18
19
|
p256: {
|
|
19
20
|
pk: utils_1.prefix['p2pk'],
|
|
@@ -38,13 +39,15 @@ class ECKey {
|
|
|
38
39
|
* @param key Encoded private key
|
|
39
40
|
* @param encrypted Is the private key encrypted
|
|
40
41
|
* @param decrypt Decrypt function
|
|
42
|
+
* @throws {@link InvalidKeyError}
|
|
41
43
|
*/
|
|
42
44
|
constructor(curve, key, encrypted, decrypt) {
|
|
43
45
|
this.curve = curve;
|
|
44
46
|
this.key = key;
|
|
45
|
-
const keyPrefix = key.
|
|
47
|
+
const keyPrefix = key.substring(0, encrypted ? 5 : 4);
|
|
46
48
|
if (!utils_1.isValidPrefix(keyPrefix)) {
|
|
47
|
-
throw new
|
|
49
|
+
throw new core_1.InvalidKeyError(utils_1.invalidErrorDetail(utils_1.ValidationResult.NO_PREFIX_MATCHED) +
|
|
50
|
+
` expecting one of the following prefix '${utils_1.Prefix.SPSK}', '${utils_1.Prefix.SPESK}', '${utils_1.Prefix.P2SK}' or '${utils_1.Prefix.P2ESK}'.`);
|
|
48
51
|
}
|
|
49
52
|
this._key = decrypt(utils_1.b58cdecode(this.key, utils_1.prefix[keyPrefix]));
|
|
50
53
|
const keyPair = new elliptic_1.default.ec(this.curve).keyFromPrivate(this._key);
|
package/dist/lib/ec-key.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ec-key.js","sourceRoot":"","sources":["../../src/ec-key.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"ec-key.js","sourceRoot":"","sources":["../../src/ec-key.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/ed-key.js
CHANGED
|
@@ -14,6 +14,7 @@ const blake2b_1 = require("@stablelib/blake2b");
|
|
|
14
14
|
const ed25519_1 = require("@stablelib/ed25519");
|
|
15
15
|
const utils_1 = require("@taquito/utils");
|
|
16
16
|
const typedarray_to_buffer_1 = require("typedarray-to-buffer");
|
|
17
|
+
const core_1 = require("@taquito/core");
|
|
17
18
|
/**
|
|
18
19
|
* @description Provide signing logic for ed25519 curve based key (tz1)
|
|
19
20
|
*/
|
|
@@ -23,17 +24,18 @@ class Tz1 {
|
|
|
23
24
|
* @param key Encoded private key
|
|
24
25
|
* @param encrypted Is the private key encrypted
|
|
25
26
|
* @param decrypt Decrypt function
|
|
27
|
+
* @throws {@link InvalidKeyError}
|
|
26
28
|
*/
|
|
27
29
|
constructor(key, encrypted, decrypt) {
|
|
28
30
|
this.key = key;
|
|
29
|
-
const keyPrefix = key.
|
|
31
|
+
const keyPrefix = key.substring(0, encrypted ? 5 : 4);
|
|
30
32
|
if (!utils_1.isValidPrefix(keyPrefix)) {
|
|
31
|
-
throw new
|
|
33
|
+
throw new core_1.InvalidKeyError(`${utils_1.invalidErrorDetail(utils_1.ValidationResult.NO_PREFIX_MATCHED)} expecting either '${utils_1.Prefix.EDESK}' or '${utils_1.Prefix.EDSK}'.`);
|
|
32
34
|
}
|
|
33
35
|
this._key = decrypt(utils_1.b58cdecode(this.key, utils_1.prefix[keyPrefix]));
|
|
34
36
|
this._publicKey = this._key.slice(32);
|
|
35
37
|
if (!this._key) {
|
|
36
|
-
throw new
|
|
38
|
+
throw new core_1.InvalidKeyError('unable to decode');
|
|
37
39
|
}
|
|
38
40
|
this.isInit = this.init();
|
|
39
41
|
}
|
package/dist/lib/ed-key.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ed-key.js","sourceRoot":"","sources":["../../src/ed-key.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAA0C;AAC1C,gDAAmE;AACnE,
|
|
1
|
+
{"version":3,"file":"ed-key.js","sourceRoot":"","sources":["../../src/ed-key.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/errors.js
CHANGED
|
@@ -1,59 +1,79 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
constructor(message) {
|
|
14
|
-
super(message);
|
|
15
|
-
this.message = message;
|
|
3
|
+
exports.InvalidPassphraseError = exports.ToBeImplemented = exports.InvalidSeedLengthError = exports.InvalidCurveError = exports.InvalidBitSize = exports.InvalidMnemonicError = void 0;
|
|
4
|
+
const core_1 = require("@taquito/core");
|
|
5
|
+
/**
|
|
6
|
+
* @category Error
|
|
7
|
+
* @description Error indicates an invalid Mnemonic being passed or used
|
|
8
|
+
*/
|
|
9
|
+
class InvalidMnemonicError extends core_1.ParameterValidationError {
|
|
10
|
+
constructor(mnemonic) {
|
|
11
|
+
super();
|
|
12
|
+
this.mnemonic = mnemonic;
|
|
16
13
|
this.name = 'InvalidMnemonicError';
|
|
14
|
+
this.message = `Invalid mnemonic "${mnemonic}"`;
|
|
17
15
|
}
|
|
18
16
|
}
|
|
19
17
|
exports.InvalidMnemonicError = InvalidMnemonicError;
|
|
20
|
-
|
|
18
|
+
/**
|
|
19
|
+
* @category Error
|
|
20
|
+
* @description Error indicates a curve with incorrect bit size being passed or used
|
|
21
|
+
*/
|
|
22
|
+
class InvalidBitSize extends core_1.ParameterValidationError {
|
|
21
23
|
constructor(message) {
|
|
22
|
-
super(
|
|
24
|
+
super();
|
|
23
25
|
this.message = message;
|
|
24
26
|
this.name = 'InvalidBitSize';
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
29
|
exports.InvalidBitSize = InvalidBitSize;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
/**
|
|
31
|
+
* @category Error
|
|
32
|
+
* @description Error indicates an unsupported cureve being passed or used
|
|
33
|
+
*/
|
|
34
|
+
class InvalidCurveError extends core_1.ParameterValidationError {
|
|
35
|
+
constructor(message) {
|
|
36
|
+
super();
|
|
37
|
+
this.message = message;
|
|
32
38
|
this.name = 'InvalidCurveError';
|
|
33
39
|
}
|
|
34
40
|
}
|
|
35
41
|
exports.InvalidCurveError = InvalidCurveError;
|
|
36
|
-
|
|
42
|
+
/**
|
|
43
|
+
* @category Error
|
|
44
|
+
* @description Error indicates a seed with invalid length being passed or used
|
|
45
|
+
*/
|
|
46
|
+
class InvalidSeedLengthError extends core_1.ParameterValidationError {
|
|
37
47
|
constructor(seedLength) {
|
|
38
|
-
super(
|
|
48
|
+
super();
|
|
39
49
|
this.seedLength = seedLength;
|
|
40
50
|
this.name = 'InvalidSeedLengthError';
|
|
51
|
+
this.message = `Invalid seed length "${seedLength}" expecting length between 16 to 64.`;
|
|
41
52
|
}
|
|
42
53
|
}
|
|
43
54
|
exports.InvalidSeedLengthError = InvalidSeedLengthError;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
exports.PrivateKeyError = PrivateKeyError;
|
|
52
|
-
class ToBeImplemented extends Error {
|
|
55
|
+
/**
|
|
56
|
+
* @category Error
|
|
57
|
+
* @description Error indicates a feature still under developement
|
|
58
|
+
*/
|
|
59
|
+
class ToBeImplemented extends core_1.UnsupportedActionError {
|
|
53
60
|
constructor() {
|
|
54
|
-
super(
|
|
61
|
+
super();
|
|
55
62
|
this.name = 'ToBeImplemented';
|
|
63
|
+
this.message = 'This feature is under developement';
|
|
56
64
|
}
|
|
57
65
|
}
|
|
58
66
|
exports.ToBeImplemented = ToBeImplemented;
|
|
67
|
+
/**
|
|
68
|
+
* @category Error
|
|
69
|
+
* @description Error indicates an invalid passphrase being passed or used
|
|
70
|
+
*/
|
|
71
|
+
class InvalidPassphraseError extends core_1.ParameterValidationError {
|
|
72
|
+
constructor(message) {
|
|
73
|
+
super();
|
|
74
|
+
this.message = message;
|
|
75
|
+
this.name = 'InvalidPassphraseError';
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.InvalidPassphraseError = InvalidPassphraseError;
|
|
59
79
|
//# sourceMappingURL=errors.js.map
|
package/dist/lib/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":";;;AAAA,wCAAiF;AAEjF;;;GAGG;AACH,MAAa,oBAAqB,SAAQ,+BAAwB;IAChE,YAAmB,QAAgB;QACjC,KAAK,EAAE,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAQ;QAEjC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,qBAAqB,QAAQ,GAAG,CAAC;IAClD,CAAC;CACF;AAND,oDAMC;AAED;;;GAGG;AACH,MAAa,cAAe,SAAQ,+BAAwB;IAC1D,YAAmB,OAAe;QAChC,KAAK,EAAE,CAAC;QADS,YAAO,GAAP,OAAO,CAAQ;QAEhC,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AALD,wCAKC;AAED;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,+BAAwB;IAC7D,YAAmB,OAAe;QAChC,KAAK,EAAE,CAAC;QADS,YAAO,GAAP,OAAO,CAAQ;QAEhC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AALD,8CAKC;AAED;;;GAGG;AACH,MAAa,sBAAuB,SAAQ,+BAAwB;IAClE,YAAmB,UAAkB;QACnC,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAQ;QAEnC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,wBAAwB,UAAU,sCAAsC,CAAC;IAC1F,CAAC;CACF;AAND,wDAMC;AAED;;;GAGG;AACH,MAAa,eAAgB,SAAQ,6BAAsB;IACzD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,oCAAoC,CAAC;IACtD,CAAC;CACF;AAND,0CAMC;AAED;;;GAGG;AACH,MAAa,sBAAuB,SAAQ,+BAAwB;IAClE,YAAmB,OAAe;QAChC,KAAK,EAAE,CAAC;QADS,YAAO,GAAP,OAAO,CAAQ;QAEhC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AALD,wDAKC"}
|
package/dist/lib/helpers.js
CHANGED
|
@@ -13,6 +13,7 @@ const errors_1 = require("./errors");
|
|
|
13
13
|
* @param derivationPath Tezos Requirement 44'/1729' for HD key address default 44'/1729'/0'/0'
|
|
14
14
|
* @param curve 'ed25519' | 'secp256k1' | 'p256''
|
|
15
15
|
* @returns final Derivation of HD keys tezos Secret key
|
|
16
|
+
* @throws {@link InvalidCurveError} | {@link ToBeImplemented}
|
|
16
17
|
*/
|
|
17
18
|
const generateSecretKey = (seed, derivationPath, curve) => {
|
|
18
19
|
const path = derivation_tools_1.Path.fromString(derivationPath);
|
|
@@ -36,7 +37,7 @@ const generateSecretKey = (seed, derivationPath, curve) => {
|
|
|
36
37
|
throw new errors_1.ToBeImplemented();
|
|
37
38
|
}
|
|
38
39
|
default: {
|
|
39
|
-
throw new errors_1.InvalidCurveError(curve);
|
|
40
|
+
throw new errors_1.InvalidCurveError(`Unsupported curve "${curve}" expecting one of the following "ed25519", "secp256k1", "p256" or "bip25519"`);
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
43
|
};
|
package/dist/lib/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";;;AAAA,0CAAoD;AACpD,wDAAwE;AACxE,oDAAsE;AACtE,yDAA0C;AAC1C,qCAA8D;AAI9D,oDAAoD;AACpD
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";;;AAAA,0CAAoD;AACpD,wDAAwE;AACxE,oDAAsE;AACtE,yDAA0C;AAC1C,qCAA8D;AAI9D,oDAAoD;AACpD;;;;;;;GAOG;AACI,MAAM,iBAAiB,GAAG,CAAC,IAAgB,EAAE,cAAsB,EAAE,KAAa,EAAE,EAAE;IAC3F,MAAM,IAAI,GAAG,uBAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAC7C,IAAI,IAAiC,CAAC;IAEtC,QAAQ,KAAK,EAAE;QACb,KAAK,SAAS,CAAC,CAAC;YACd,IAAI,GAAG,oBAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,EAAE,GAAG,kBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,cAAM,CAAC,KAAK,CAAC,CAAC;YAC9D,OAAO,EAAE,CAAC;SACX;QACD,KAAK,WAAW,CAAC;QACjB,KAAK,MAAM,CAAC,CAAC;YACX,MAAM,UAAU,GAAG,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,cAAM,CAAC,IAAI,CAAC,CAAC,CAAC,cAAM,CAAC,IAAI,CAAC;YACrE,IAAI,OAAO,GAAG,kBAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACjD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACxE,MAAM,EAAE,GAAG,kBAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC5C,OAAO,EAAE,CAAC;SACX;QACD,KAAK,UAAU,CAAC,CAAC;YACf,MAAM,IAAI,wBAAe,EAAE,CAAC;SAC7B;QACD,OAAO,CAAC,CAAC;YACP,MAAM,IAAI,0BAAiB,CACzB,sBAAsB,KAAK,+EAA+E,CAC3G,CAAC;SACH;KACF;AACH,CAAC,CAAC;AA5BW,QAAA,iBAAiB,qBA4B5B"}
|
|
@@ -34,34 +34,26 @@ const pbkdf2_1 = require("pbkdf2");
|
|
|
34
34
|
const Bip39 = require("bip39");
|
|
35
35
|
const helpers_1 = require("./helpers");
|
|
36
36
|
const errors_1 = require("./errors");
|
|
37
|
+
const core_1 = require("@taquito/core");
|
|
37
38
|
__exportStar(require("./import-key"), exports);
|
|
38
39
|
var version_1 = require("./version");
|
|
39
40
|
Object.defineProperty(exports, "VERSION", { enumerable: true, get: function () { return version_1.VERSION; } });
|
|
40
41
|
__exportStar(require("./derivation-tools"), exports);
|
|
41
42
|
__exportStar(require("./helpers"), exports);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
* @description Error that indicates an invalid passphrase being passed or used
|
|
45
|
-
*/
|
|
46
|
-
class InvalidPassphraseError extends Error {
|
|
47
|
-
constructor(message) {
|
|
48
|
-
super(message);
|
|
49
|
-
this.message = message;
|
|
50
|
-
this.name = 'InvalidPassphraseError';
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
exports.InvalidPassphraseError = InvalidPassphraseError;
|
|
43
|
+
var errors_2 = require("./errors");
|
|
44
|
+
Object.defineProperty(exports, "InvalidPassphraseError", { enumerable: true, get: function () { return errors_2.InvalidPassphraseError; } });
|
|
54
45
|
/**
|
|
55
46
|
* @description A local implementation of the signer. Will represent a Tezos account and be able to produce signature in its behalf
|
|
56
47
|
*
|
|
57
48
|
* @warn If running in production and dealing with tokens that have real value, it is strongly recommended to use a HSM backed signer so that private key material is not stored in memory or on disk
|
|
58
|
-
*
|
|
49
|
+
* @throws {@link InvalidMnemonicError}
|
|
59
50
|
*/
|
|
60
51
|
class InMemorySigner {
|
|
61
52
|
/**
|
|
62
53
|
*
|
|
63
54
|
* @param key Encoded private key
|
|
64
55
|
* @param passphrase Passphrase to decrypt the private key if it is encrypted
|
|
56
|
+
* @throws {@link InvalidKeyError}
|
|
65
57
|
*
|
|
66
58
|
*/
|
|
67
59
|
constructor(key, passphrase) {
|
|
@@ -69,7 +61,7 @@ class InMemorySigner {
|
|
|
69
61
|
let decrypt = (k) => k;
|
|
70
62
|
if (encrypted) {
|
|
71
63
|
if (!passphrase) {
|
|
72
|
-
throw new InvalidPassphraseError('
|
|
64
|
+
throw new errors_1.InvalidPassphraseError('No passphrase provided to decrypt encrypted key');
|
|
73
65
|
}
|
|
74
66
|
decrypt = (constructedKey) => {
|
|
75
67
|
const salt = typedarray_to_buffer_1.default(constructedKey.slice(0, 8));
|
|
@@ -78,7 +70,7 @@ class InMemorySigner {
|
|
|
78
70
|
return nacl_1.openSecretBox(new Uint8Array(encryptionKey), new Uint8Array(24), new Uint8Array(encryptedSk));
|
|
79
71
|
};
|
|
80
72
|
}
|
|
81
|
-
switch (key.
|
|
73
|
+
switch (key.substring(0, 4)) {
|
|
82
74
|
case 'edes':
|
|
83
75
|
case 'edsk':
|
|
84
76
|
this._key = new ed_key_1.Tz1(key, encrypted, decrypt);
|
|
@@ -92,12 +84,12 @@ class InMemorySigner {
|
|
|
92
84
|
this._key = new ec_key_1.Tz3(key, encrypted, decrypt);
|
|
93
85
|
break;
|
|
94
86
|
default:
|
|
95
|
-
throw new
|
|
87
|
+
throw new core_1.InvalidKeyError(`${utils_1.invalidErrorDetail(utils_1.ValidationResult.NO_PREFIX_MATCHED)} expecting one of the following '${utils_1.Prefix.EDESK}', '${utils_1.Prefix.EDSK}', '${utils_1.Prefix.SPSK}', '${utils_1.Prefix.SPESK}', '${utils_1.Prefix.P2SK}' or '${utils_1.Prefix.P2ESK}'.`);
|
|
96
88
|
}
|
|
97
89
|
}
|
|
98
90
|
static fromFundraiser(email, password, mnemonic) {
|
|
99
91
|
if (!Bip39.validateMnemonic(mnemonic)) {
|
|
100
|
-
throw new errors_1.InvalidMnemonicError(
|
|
92
|
+
throw new errors_1.InvalidMnemonicError(mnemonic);
|
|
101
93
|
}
|
|
102
94
|
const seed = Bip39.mnemonicToSeedSync(mnemonic, `${email}${password}`);
|
|
103
95
|
const key = utils_1.b58cencode(seed.slice(0, 32), utils_1.prefix.edsk2);
|
|
@@ -116,12 +108,13 @@ class InMemorySigner {
|
|
|
116
108
|
* @param derivationPath default 44'/1729'/0'/0' (44'/1729' mandatory)
|
|
117
109
|
* @param curve currently only supported for tz1, tz2, tz3 addresses. soon bip25519
|
|
118
110
|
* @returns InMemorySigner
|
|
111
|
+
* @throws {@link InvalidMnemonicError}
|
|
119
112
|
*/
|
|
120
|
-
static fromMnemonic({ mnemonic, password = '', derivationPath = "44'/1729'/0'/0'", curve = 'ed25519' }) {
|
|
113
|
+
static fromMnemonic({ mnemonic, password = '', derivationPath = "44'/1729'/0'/0'", curve = 'ed25519', }) {
|
|
121
114
|
// check if curve is defined if not default tz1
|
|
122
115
|
if (!Bip39.validateMnemonic(mnemonic)) {
|
|
123
116
|
// avoiding exposing mnemonic again in case of mistake making invalid
|
|
124
|
-
throw new errors_1.InvalidMnemonicError(
|
|
117
|
+
throw new errors_1.InvalidMnemonicError(mnemonic);
|
|
125
118
|
}
|
|
126
119
|
const seed = Bip39.mnemonicToSeedSync(mnemonic, password);
|
|
127
120
|
const sk = helpers_1.generateSecretKey(seed, derivationPath, curve);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taquito-signer.js","sourceRoot":"","sources":["../../src/taquito-signer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;;GAGG;AACH,0CAAgD;AAChD,gDAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"taquito-signer.js","sourceRoot":"","sources":["../../src/taquito-signer.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/version.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.VERSION = void 0;
|
|
4
4
|
// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
|
|
5
5
|
exports.VERSION = {
|
|
6
|
-
"commitHash": "
|
|
7
|
-
"version": "16.
|
|
6
|
+
"commitHash": "adc0f8c31492e8eb2f03b06ac36ba053e8ba6224",
|
|
7
|
+
"version": "16.2.0"
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=version.js.map
|