@airgap/crypto 0.13.45-beta.3 → 0.13.45-beta.5

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/secret.js CHANGED
@@ -1,39 +1,106 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
2
38
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mnemonicToSeed = mnemonicToSeed;
4
- const coinlib_core_1 = require("@airgap/coinlib-core");
39
+ exports.mnemonicToSeed = void 0;
40
+ var coinlib_core_1 = require("@airgap/coinlib-core");
5
41
  // @ts-ignore
6
- const bip39_2_5_0_1 = require("@airgap/coinlib-core/dependencies/src/bip39-2.5.0");
7
- const wasm_crypto_1 = require("@polkadot/wasm-crypto");
8
- async function mnemonicToSeed(crypto, mnemonic, password) {
9
- const seed = crypto.algorithm !== 'sr25519'
10
- ? mnemonicToBip39Seed(crypto.secretType ?? 'secret', mnemonic, password)
11
- : crypto.compatibility === 'substrate'
12
- ? await mnemonicToSubstrateSeed(mnemonic, password)
13
- : undefined;
14
- if (seed === undefined) {
15
- throw new Error('Invalid crypto configuration');
16
- }
17
- return seed;
42
+ var bip39_2_5_0_1 = require("@airgap/coinlib-core/dependencies/src/bip39-2.5.0");
43
+ var wasm_crypto_1 = require("@polkadot/wasm-crypto");
44
+ function mnemonicToSeed(crypto, mnemonic, password) {
45
+ var _a;
46
+ return __awaiter(this, void 0, void 0, function () {
47
+ var seed, _b, _c;
48
+ return __generator(this, function (_d) {
49
+ switch (_d.label) {
50
+ case 0:
51
+ if (!(crypto.algorithm !== 'sr25519')) return [3 /*break*/, 1];
52
+ _b = mnemonicToBip39Seed((_a = crypto.secretType) !== null && _a !== void 0 ? _a : 'secret', mnemonic, password);
53
+ return [3 /*break*/, 5];
54
+ case 1:
55
+ if (!(crypto.compatibility === 'substrate')) return [3 /*break*/, 3];
56
+ return [4 /*yield*/, mnemonicToSubstrateSeed(mnemonic, password)];
57
+ case 2:
58
+ _c = _d.sent();
59
+ return [3 /*break*/, 4];
60
+ case 3:
61
+ _c = undefined;
62
+ _d.label = 4;
63
+ case 4:
64
+ _b = _c;
65
+ _d.label = 5;
66
+ case 5:
67
+ seed = _b;
68
+ if (seed === undefined) {
69
+ throw new Error('Invalid crypto configuration');
70
+ }
71
+ return [2 /*return*/, seed];
72
+ }
73
+ });
74
+ });
18
75
  }
19
- async function mnemonicToSubstrateSeed(mnemonic, password) {
20
- await (0, wasm_crypto_1.waitReady)();
21
- const secret = (0, wasm_crypto_1.bip39ToMiniSecret)(mnemonic, password || '');
22
- return Buffer.from(secret);
76
+ exports.mnemonicToSeed = mnemonicToSeed;
77
+ function mnemonicToSubstrateSeed(mnemonic, password) {
78
+ return __awaiter(this, void 0, void 0, function () {
79
+ var secret;
80
+ return __generator(this, function (_a) {
81
+ switch (_a.label) {
82
+ case 0: return [4 /*yield*/, (0, wasm_crypto_1.waitReady)()];
83
+ case 1:
84
+ _a.sent();
85
+ secret = (0, wasm_crypto_1.bip39ToMiniSecret)(mnemonic, password || '');
86
+ return [2 /*return*/, Buffer.from(secret)];
87
+ }
88
+ });
89
+ });
23
90
  }
24
91
  function mnemonicToBip39Seed(secretType, mnemonic, password) {
25
- const seed = (0, bip39_2_5_0_1.mnemonicToSeed)(mnemonic, password);
92
+ var seed = (0, bip39_2_5_0_1.mnemonicToSeed)(mnemonic, password);
26
93
  switch (secretType) {
27
94
  case 'secret':
28
95
  return seed;
29
96
  case 'miniSecretXor':
30
- const first32 = seed.slice(0, 32);
31
- const second32 = seed.slice(32);
97
+ var first32 = seed.slice(0, 32);
98
+ var second32_1 = seed.slice(32);
32
99
  // tslint:disable-next-line: no-bitwise
33
- return Buffer.from(first32.map((byte, index) => byte ^ second32[index]));
100
+ return Buffer.from(first32.map(function (byte, index) { return byte ^ second32_1[index]; }));
34
101
  default:
35
102
  (0, coinlib_core_1.assertNever)(secretType);
36
- throw new Error(`Secret type ${secretType} is not supported`);
103
+ throw new Error("Secret type ".concat(secretType, " is not supported"));
37
104
  }
38
105
  }
39
106
  //# sourceMappingURL=secret.js.map
package/secret.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"secret.js","sourceRoot":"","sources":["../src/secret.ts"],"names":[],"mappings":";;AAMA,wCAaC;AAnBD,uDAAkD;AAClD,aAAa;AACb,mFAAyG;AAEzG,uDAAoE;AAE7D,KAAK,UAAU,cAAc,CAAC,MAA2B,EAAE,QAAgB,EAAE,QAAiB;IACnG,MAAM,IAAI,GACR,MAAM,CAAC,SAAS,KAAK,SAAS;QAC5B,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,IAAI,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACxE,CAAC,CAAC,MAAM,CAAC,aAAa,KAAK,WAAW;YACtC,CAAC,CAAC,MAAM,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC;YACnD,CAAC,CAAC,SAAS,CAAA;IAEf,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,QAAgB,EAAE,QAAiB;IACxE,MAAM,IAAA,uBAAS,GAAE,CAAA;IACjB,MAAM,MAAM,GAAe,IAAA,+BAAiB,EAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;IAEtE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC5B,CAAC;AAED,SAAS,mBAAmB,CAAC,UAA4B,EAAE,QAAgB,EAAE,QAAiB;IAC5F,MAAM,IAAI,GAAW,IAAA,4BAAmB,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE5D,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAA;QACb,KAAK,eAAe;YAClB,MAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YACzC,MAAM,QAAQ,GAAW,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAEvC,uCAAuC;YACvC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC1F;YACE,IAAA,0BAAW,EAAC,UAAU,CAAC,CAAA;YACvB,MAAM,IAAI,KAAK,CAAC,eAAe,UAAU,mBAAmB,CAAC,CAAA;IACjE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"secret.js","sourceRoot":"","sources":["../src/secret.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAkD;AAClD,aAAa;AACb,iFAAyG;AAEzG,qDAAoE;AAEpE,SAAsB,cAAc,CAAC,MAA2B,EAAE,QAAgB,EAAE,QAAiB;;;;;;;yBAEjG,CAAA,MAAM,CAAC,SAAS,KAAK,SAAS,CAAA,EAA9B,wBAA8B;oBAC1B,KAAA,mBAAmB,CAAC,MAAA,MAAM,CAAC,UAAU,mCAAI,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;;;yBACtE,CAAA,MAAM,CAAC,aAAa,KAAK,WAAW,CAAA,EAApC,wBAAoC;oBACpC,qBAAM,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAA;;oBAAjD,KAAA,SAAiD,CAAA;;;oBACjD,KAAA,SAAS,CAAA;;;oBAFT,QAES;;;oBALT,IAAI,KAKK;oBAEf,IAAI,IAAI,KAAK,SAAS,EAAE;wBACtB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;qBAChD;oBAED,sBAAO,IAAI,EAAA;;;;CACZ;AAbD,wCAaC;AAED,SAAe,uBAAuB,CAAC,QAAgB,EAAE,QAAiB;;;;;wBACxE,qBAAM,IAAA,uBAAS,GAAE,EAAA;;oBAAjB,SAAiB,CAAA;oBACX,MAAM,GAAe,IAAA,+BAAiB,EAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;oBAEtE,sBAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAA;;;;CAC3B;AAED,SAAS,mBAAmB,CAAC,UAA4B,EAAE,QAAgB,EAAE,QAAiB;IAC5F,IAAM,IAAI,GAAW,IAAA,4BAAmB,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE5D,QAAQ,UAAU,EAAE;QAClB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAA;QACb,KAAK,eAAe;YAClB,IAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YACzC,IAAM,UAAQ,GAAW,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAEvC,uCAAuC;YACvC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,IAAY,EAAE,KAAa,IAAK,OAAA,IAAI,GAAG,UAAQ,CAAC,KAAK,CAAC,EAAtB,CAAsB,CAAC,CAAC,CAAA;QAC1F;YACE,IAAA,0BAAW,EAAC,UAAU,CAAC,CAAA;YACvB,MAAM,IAAI,KAAK,CAAC,sBAAe,UAAU,sBAAmB,CAAC,CAAA;KAChE;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import { Sr25519CryptoConfiguration } from '@airgap/module-kit';
2
3
  import { DerivationNode } from '../types/derivation';
3
4
  export declare function deriveSr25519(compatibility: Sr25519CryptoConfiguration['compatibility'], seed: Buffer, derivationPath?: string): Promise<DerivationNode>;
package/sr25519/derive.js CHANGED
@@ -1,57 +1,129 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
2
38
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deriveSr25519 = deriveSr25519;
4
- const wasm_crypto_1 = require("@polkadot/wasm-crypto");
5
- const derivation_1 = require("../utils/derivation");
6
- const hash_1 = require("../utils/hash");
7
- async function deriveSr25519(compatibility, seed, derivationPath) {
8
- return compatibility === 'substrate' ? deriveSr25519Substrate(seed, derivationPath) : deriveSr25519Standard(seed, derivationPath);
39
+ exports.deriveSr25519 = void 0;
40
+ var wasm_crypto_1 = require("@polkadot/wasm-crypto");
41
+ var derivation_1 = require("../utils/derivation");
42
+ var hash_1 = require("../utils/hash");
43
+ function deriveSr25519(compatibility, seed, derivationPath) {
44
+ return __awaiter(this, void 0, void 0, function () {
45
+ return __generator(this, function (_a) {
46
+ return [2 /*return*/, compatibility === 'substrate' ? deriveSr25519Substrate(seed, derivationPath) : deriveSr25519Standard(seed, derivationPath)];
47
+ });
48
+ });
9
49
  }
10
- async function deriveSr25519Standard(seed, derivationPath) {
11
- throw new Error('Not implemented');
50
+ exports.deriveSr25519 = deriveSr25519;
51
+ function deriveSr25519Standard(seed, derivationPath) {
52
+ return __awaiter(this, void 0, void 0, function () {
53
+ return __generator(this, function (_a) {
54
+ throw new Error('Not implemented');
55
+ });
56
+ });
12
57
  }
13
- async function deriveSr25519Substrate(seed, derivationPath) {
14
- const masterNode = await substrateMasterKeyFromSeed(seed);
15
- return derivationPath !== undefined ? deriveSubstrate(masterNode, derivationPath) : masterNode;
58
+ function deriveSr25519Substrate(seed, derivationPath) {
59
+ return __awaiter(this, void 0, void 0, function () {
60
+ var masterNode;
61
+ return __generator(this, function (_a) {
62
+ switch (_a.label) {
63
+ case 0: return [4 /*yield*/, substrateMasterKeyFromSeed(seed)];
64
+ case 1:
65
+ masterNode = _a.sent();
66
+ return [2 /*return*/, derivationPath !== undefined ? deriveSubstrate(masterNode, derivationPath) : masterNode];
67
+ }
68
+ });
69
+ });
16
70
  }
17
- async function substrateMasterKeyFromSeed(seed) {
18
- await (0, wasm_crypto_1.waitReady)();
19
- const keyPair = (0, wasm_crypto_1.sr25519KeypairFromSeed)(seed.slice(0, 32));
20
- const { secretKey, publicKey } = splitKeyPair(keyPair);
21
- return {
22
- depth: 0,
23
- parentFingerprint: 0x00000000,
24
- index: 0,
25
- chainCode: Buffer.alloc(32, 0),
26
- secretKey,
27
- publicKey
28
- };
71
+ function substrateMasterKeyFromSeed(seed) {
72
+ return __awaiter(this, void 0, void 0, function () {
73
+ var keyPair, _a, secretKey, publicKey;
74
+ return __generator(this, function (_b) {
75
+ switch (_b.label) {
76
+ case 0: return [4 /*yield*/, (0, wasm_crypto_1.waitReady)()];
77
+ case 1:
78
+ _b.sent();
79
+ keyPair = (0, wasm_crypto_1.sr25519KeypairFromSeed)(seed.slice(0, 32));
80
+ _a = splitKeyPair(keyPair), secretKey = _a.secretKey, publicKey = _a.publicKey;
81
+ return [2 /*return*/, {
82
+ depth: 0,
83
+ parentFingerprint: 0x00000000,
84
+ index: 0,
85
+ chainCode: Buffer.alloc(32, 0),
86
+ secretKey: secretKey,
87
+ publicKey: publicKey
88
+ }];
89
+ }
90
+ });
91
+ });
29
92
  }
30
- async function deriveSubstrate(masterNode, derivationPath) {
31
- await (0, wasm_crypto_1.waitReady)();
32
- const derivationIndices = (0, derivation_1.splitDerivationPath)(derivationPath);
33
- return derivationIndices.reduce((derivedKey, next) => {
34
- const parentFingerprint = (0, hash_1.hash160)(derivedKey.publicKey).readUInt32BE(0);
35
- const deriveKeyPair = next.isHardened ? wasm_crypto_1.sr25519DeriveKeypairHard : wasm_crypto_1.sr25519DeriveKeypairSoft;
36
- const keyPair = Buffer.concat([derivedKey.secretKey, derivedKey.publicKey]);
37
- const index = Buffer.alloc(32, 0);
38
- index.writeUInt32LE(next.value);
39
- const derivedKeyPair = deriveKeyPair(keyPair, index);
40
- const { secretKey, publicKey } = splitKeyPair(derivedKeyPair);
41
- return {
42
- depth: derivedKey.depth + 1,
43
- parentFingerprint,
44
- index: next.masked,
45
- chainCode: index,
46
- secretKey,
47
- publicKey
48
- };
49
- }, masterNode);
93
+ function deriveSubstrate(masterNode, derivationPath) {
94
+ return __awaiter(this, void 0, void 0, function () {
95
+ var derivationIndices;
96
+ return __generator(this, function (_a) {
97
+ switch (_a.label) {
98
+ case 0: return [4 /*yield*/, (0, wasm_crypto_1.waitReady)()];
99
+ case 1:
100
+ _a.sent();
101
+ derivationIndices = (0, derivation_1.splitDerivationPath)(derivationPath);
102
+ return [2 /*return*/, derivationIndices.reduce(function (derivedKey, next) {
103
+ var parentFingerprint = (0, hash_1.hash160)(derivedKey.publicKey).readUInt32BE(0);
104
+ var deriveKeyPair = next.isHardened ? wasm_crypto_1.sr25519DeriveKeypairHard : wasm_crypto_1.sr25519DeriveKeypairSoft;
105
+ var keyPair = Buffer.concat([derivedKey.secretKey, derivedKey.publicKey]);
106
+ var index = Buffer.alloc(32, 0);
107
+ index.writeUInt32LE(next.value);
108
+ var derivedKeyPair = deriveKeyPair(keyPair, index);
109
+ var _a = splitKeyPair(derivedKeyPair), secretKey = _a.secretKey, publicKey = _a.publicKey;
110
+ return {
111
+ depth: derivedKey.depth + 1,
112
+ parentFingerprint: parentFingerprint,
113
+ index: next.masked,
114
+ chainCode: index,
115
+ secretKey: secretKey,
116
+ publicKey: publicKey
117
+ };
118
+ }, masterNode)];
119
+ }
120
+ });
121
+ });
50
122
  }
51
123
  function splitKeyPair(keyPair) {
52
- const keyPairBuffer = Buffer.from(keyPair);
53
- const secretKey = keyPairBuffer.slice(0, 64);
54
- const publicKey = keyPairBuffer.slice(64);
55
- return { secretKey, publicKey };
124
+ var keyPairBuffer = Buffer.from(keyPair);
125
+ var secretKey = keyPairBuffer.slice(0, 64);
126
+ var publicKey = keyPairBuffer.slice(64);
127
+ return { secretKey: secretKey, publicKey: publicKey };
56
128
  }
57
129
  //# sourceMappingURL=derive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"derive.js","sourceRoot":"","sources":["../../src/sr25519/derive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"derive.js","sourceRoot":"","sources":["../../src/sr25519/derive.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,qDAA6H;AAG7H,kDAAyD;AACzD,sCAAuC;AAEvC,SAAsB,aAAa,CACjC,aAA0D,EAC1D,IAAY,EACZ,cAAuB;;;YAEvB,sBAAO,aAAa,KAAK,WAAW,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,EAAE,cAAc,CAAC,EAAA;;;CAClI;AAND,sCAMC;AAED,SAAe,qBAAqB,CAAC,IAAY,EAAE,cAAuB;;;YACxE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;;;CACnC;AAED,SAAe,sBAAsB,CAAC,IAAY,EAAE,cAAuB;;;;;wBACtC,qBAAM,0BAA0B,CAAC,IAAI,CAAC,EAAA;;oBAAnE,UAAU,GAAmB,SAAsC;oBAEzE,sBAAO,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAA;;;;CAC/F;AAED,SAAe,0BAA0B,CAAC,IAAY;;;;;wBACpD,qBAAM,IAAA,uBAAS,GAAE,EAAA;;oBAAjB,SAAiB,CAAA;oBAEX,OAAO,GAAe,IAAA,oCAAsB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;oBAC/D,KAA2B,YAAY,CAAC,OAAO,CAAC,EAA9C,SAAS,eAAA,EAAE,SAAS,eAAA,CAA0B;oBAEtD,sBAAO;4BACL,KAAK,EAAE,CAAC;4BACR,iBAAiB,EAAE,UAAU;4BAC7B,KAAK,EAAE,CAAC;4BACR,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;4BAC9B,SAAS,WAAA;4BACT,SAAS,WAAA;yBACV,EAAA;;;;CACF;AAED,SAAe,eAAe,CAAC,UAA0B,EAAE,cAAsB;;;;;wBAC/E,qBAAM,IAAA,uBAAS,GAAE,EAAA;;oBAAjB,SAAiB,CAAA;oBAEX,iBAAiB,GAAsB,IAAA,gCAAmB,EAAC,cAAc,CAAC,CAAA;oBAEhF,sBAAO,iBAAiB,CAAC,MAAM,CAAC,UAAC,UAA0B,EAAE,IAAqB;4BAChF,IAAM,iBAAiB,GAAW,IAAA,cAAO,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;4BAE/E,IAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,sCAAwB,CAAC,CAAC,CAAC,sCAAwB,CAAA;4BAC3F,IAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;4BAC3E,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;4BACjC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;4BAE/B,IAAM,cAAc,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;4BAE9C,IAAA,KAA2B,YAAY,CAAC,cAAc,CAAC,EAArD,SAAS,eAAA,EAAE,SAAS,eAAiC,CAAA;4BAE7D,OAAO;gCACL,KAAK,EAAE,UAAU,CAAC,KAAK,GAAG,CAAC;gCAC3B,iBAAiB,mBAAA;gCACjB,KAAK,EAAE,IAAI,CAAC,MAAM;gCAClB,SAAS,EAAE,KAAK;gCAChB,SAAS,WAAA;gCACT,SAAS,WAAA;6BACV,CAAA;wBACH,CAAC,EAAE,UAAU,CAAC,EAAA;;;;CACf;AAED,SAAS,YAAY,CAAC,OAAmB;IACvC,IAAM,aAAa,GAAW,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAElD,IAAM,SAAS,GAAW,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACpD,IAAM,SAAS,GAAW,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAEjD,OAAO,EAAE,SAAS,WAAA,EAAE,SAAS,WAAA,EAAE,CAAA;AACjC,CAAC"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  export interface DerivationIndex {
2
3
  value: number;
3
4
  masked: number;
@@ -18,4 +19,4 @@ export interface DerivationNode {
18
19
  secretKey: Buffer;
19
20
  publicKey: Buffer;
20
21
  }
21
- export type DerivationKeyType = Extract<keyof DerivationNode, 'secretKey' | 'publicKey'>;
22
+ export declare type DerivationKeyType = Extract<keyof DerivationNode, 'secretKey' | 'publicKey'>;
package/types/key.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  export interface KeyPair {
2
3
  secretKey: Buffer;
3
4
  publicKey: Buffer;
package/utils/bip32.js CHANGED
@@ -15,70 +15,65 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
35
25
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.bip32EncodeNode = bip32EncodeNode;
37
- exports.bip32DecodeNode = bip32DecodeNode;
26
+ exports.bip32DecodeNode = exports.bip32EncodeNode = void 0;
38
27
  // @ts-ignore
39
- const bs58check = __importStar(require("@airgap/coinlib-core/dependencies/src/bs58check-2.1.2/index"));
40
- const factory_1 = require("./factory");
41
- const XPRV_VERSION = '0488ade4';
42
- const XPUB_VERSION = '0488b21e';
43
- function bip32EncodeNode(node, version = {}) {
28
+ var bs58check = __importStar(require("@airgap/coinlib-core/dependencies/src/bs58check-2.1.2/index"));
29
+ var factory_1 = require("./factory");
30
+ var XPRV_VERSION = '0488ade4';
31
+ var XPUB_VERSION = '0488b21e';
32
+ function bip32EncodeNode(node, version) {
33
+ var _a, _b;
34
+ if (version === void 0) { version = {}; }
44
35
  return {
45
36
  type: 'bip32',
46
- secretKey: encodeKey(node, version.secretKey ?? XPRV_VERSION, 'secretKey'),
47
- publicKey: encodeKey(node, version.publicKey ?? XPUB_VERSION, 'publicKey')
37
+ secretKey: encodeKey(node, (_a = version.secretKey) !== null && _a !== void 0 ? _a : XPRV_VERSION, 'secretKey'),
38
+ publicKey: encodeKey(node, (_b = version.publicKey) !== null && _b !== void 0 ? _b : XPUB_VERSION, 'publicKey')
48
39
  };
49
40
  }
41
+ exports.bip32EncodeNode = bip32EncodeNode;
50
42
  function encodeKey(node, version, keyType) {
51
- const versionBuffer = Buffer.from(version, 'hex');
52
- const depth = Buffer.alloc(1);
43
+ var versionBuffer = Buffer.from(version, 'hex');
44
+ var depth = Buffer.alloc(1);
53
45
  depth.writeUInt8(node.depth);
54
- const parentFingerprint = Buffer.alloc(4);
46
+ var parentFingerprint = Buffer.alloc(4);
55
47
  parentFingerprint.writeUInt32BE(node.parentFingerprint);
56
- const index = Buffer.alloc(4);
48
+ var index = Buffer.alloc(4);
57
49
  index.writeUInt32BE(node.index);
58
- const chainCode = node.chainCode;
59
- const key = keyType === 'secretKey' ? Buffer.concat([Buffer.alloc(1, 0), node[keyType]]) : node[keyType];
50
+ var chainCode = node.chainCode;
51
+ var key = keyType === 'secretKey' ? Buffer.concat([Buffer.alloc(1, 0), node[keyType]]) : node[keyType];
60
52
  return bs58check.encode(Buffer.concat([versionBuffer, depth, parentFingerprint, index, chainCode, key]));
61
53
  }
62
- function bip32DecodeNode(node, version = {}) {
63
- const xprvDecoded = decodeKey(node.secretKey, version.secretKey ?? XPRV_VERSION, 'secretKey');
64
- const xpubDecoded = decodeKey(node.publicKey, version.publicKey ?? XPUB_VERSION, 'publicKey');
54
+ function bip32DecodeNode(node, version) {
55
+ var _a, _b;
56
+ if (version === void 0) { version = {}; }
57
+ var xprvDecoded = decodeKey(node.secretKey, (_a = version.secretKey) !== null && _a !== void 0 ? _a : XPRV_VERSION, 'secretKey');
58
+ var xpubDecoded = decodeKey(node.publicKey, (_b = version.publicKey) !== null && _b !== void 0 ? _b : XPUB_VERSION, 'publicKey');
65
59
  return (0, factory_1.newDerivationNodeFromKeys)(xprvDecoded, xpubDecoded);
66
60
  }
61
+ exports.bip32DecodeNode = bip32DecodeNode;
67
62
  function decodeKey(key, version, keyType) {
68
- const buffer = bs58check.decode(key);
69
- const versionBuffer = buffer.slice(0, 4);
63
+ var buffer = bs58check.decode(key);
64
+ var versionBuffer = buffer.slice(0, 4);
70
65
  if (versionBuffer.toString('hex') !== version) {
71
66
  throw new Error('Invalid Bip32 version');
72
67
  }
73
- const depth = buffer.readUInt8(4);
74
- const parentFingerprint = buffer.readUInt32BE(5);
75
- const index = buffer.readUInt32BE(9);
76
- const chainCode = buffer.slice(13, 45);
68
+ var depth = buffer.readUInt8(4);
69
+ var parentFingerprint = buffer.readUInt32BE(5);
70
+ var index = buffer.readUInt32BE(9);
71
+ var chainCode = buffer.slice(13, 45);
77
72
  return {
78
- depth,
79
- parentFingerprint,
80
- index,
81
- chainCode,
73
+ depth: depth,
74
+ parentFingerprint: parentFingerprint,
75
+ index: index,
76
+ chainCode: chainCode,
82
77
  key: keyType === 'secretKey' ? buffer.slice(46) : buffer.slice(45)
83
78
  };
84
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bip32.js","sourceRoot":"","sources":["../../src/utils/bip32.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bip32.js","sourceRoot":"","sources":["../../src/utils/bip32.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,aAAa;AACb,qGAAwF;AAIxF,qCAAqD;AAErD,IAAM,YAAY,GAAW,UAAU,CAAA;AACvC,IAAM,YAAY,GAAW,UAAU,CAAA;AAavC,SAAgB,eAAe,CAAC,IAAoB,EAAE,OAAqB;;IAArB,wBAAA,EAAA,YAAqB;IACzE,OAAO;QACL,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,MAAA,OAAO,CAAC,SAAS,mCAAI,YAAY,EAAE,WAAW,CAAC;QAC1E,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,MAAA,OAAO,CAAC,SAAS,mCAAI,YAAY,EAAE,WAAW,CAAC;KAC3E,CAAA;AACH,CAAC;AAND,0CAMC;AAED,SAAS,SAAS,CAAC,IAAoB,EAAE,OAAe,EAAE,OAA0B;IAClF,IAAM,aAAa,GAAW,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAEzD,IAAM,KAAK,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACrC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAE5B,IAAM,iBAAiB,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACjD,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAEvD,IAAM,KAAK,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACrC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAE/B,IAAM,SAAS,GAAW,IAAI,CAAC,SAAS,CAAA;IACxC,IAAM,GAAG,GAAW,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAEhH,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;AAC1G,CAAC;AAED,SAAgB,eAAe,CAAC,IAAe,EAAE,OAAqB;;IAArB,wBAAA,EAAA,YAAqB;IACpE,IAAM,WAAW,GAAkB,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,MAAA,OAAO,CAAC,SAAS,mCAAI,YAAY,EAAE,WAAW,CAAC,CAAA;IAC5G,IAAM,WAAW,GAAkB,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,MAAA,OAAO,CAAC,SAAS,mCAAI,YAAY,EAAE,WAAW,CAAC,CAAA;IAE5G,OAAO,IAAA,mCAAyB,EAAC,WAAW,EAAE,WAAW,CAAC,CAAA;AAC5D,CAAC;AALD,0CAKC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,OAAe,EAAE,OAA0B;IACzE,IAAM,MAAM,GAAW,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC5C,IAAM,aAAa,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAChD,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE;QAC7C,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;KACzC;IAED,IAAM,KAAK,GAAW,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IACzC,IAAM,iBAAiB,GAAW,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACxD,IAAM,KAAK,GAAW,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAC5C,IAAM,SAAS,GAAW,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAE9C,OAAO;QACL,KAAK,OAAA;QACL,iBAAiB,mBAAA;QACjB,KAAK,OAAA;QACL,SAAS,WAAA;QACT,GAAG,EAAE,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;KACnE,CAAA;AACH,CAAC"}
package/utils/bytes.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import { DerivationNode } from '../types/derivation';
2
3
  export interface BytesNode {
3
4
  type: 'bytes';
package/utils/bytes.js CHANGED
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bytesEncodeNode = bytesEncodeNode;
4
- exports.bytesDecodeNode = bytesDecodeNode;
5
- const factory_1 = require("./factory");
3
+ exports.bytesDecodeNode = exports.bytesEncodeNode = void 0;
4
+ var factory_1 = require("./factory");
6
5
  function bytesEncodeNode(node) {
7
6
  return {
8
7
  type: 'bytes',
@@ -10,34 +9,36 @@ function bytesEncodeNode(node) {
10
9
  publicKey: encodeKey(node, 'publicKey')
11
10
  };
12
11
  }
12
+ exports.bytesEncodeNode = bytesEncodeNode;
13
13
  function encodeKey(node, keyType) {
14
- const depth = Buffer.alloc(1);
14
+ var depth = Buffer.alloc(1);
15
15
  depth.writeUInt8(node.depth);
16
- const parentFingerprint = Buffer.alloc(4);
16
+ var parentFingerprint = Buffer.alloc(4);
17
17
  parentFingerprint.writeUInt32BE(node.parentFingerprint);
18
- const index = Buffer.alloc(4);
18
+ var index = Buffer.alloc(4);
19
19
  index.writeUInt32BE(node.index);
20
- const chainCode = node.chainCode;
21
- const key = node[keyType];
20
+ var chainCode = node.chainCode;
21
+ var key = node[keyType];
22
22
  return Buffer.concat([depth, parentFingerprint, index, chainCode, key]);
23
23
  }
24
24
  function bytesDecodeNode(node) {
25
- const xprvDecoded = decodeKey(node.secretKey);
26
- const xpubDecoded = decodeKey(node.publicKey);
25
+ var xprvDecoded = decodeKey(node.secretKey);
26
+ var xpubDecoded = decodeKey(node.publicKey);
27
27
  return (0, factory_1.newDerivationNodeFromKeys)(xprvDecoded, xpubDecoded);
28
28
  }
29
+ exports.bytesDecodeNode = bytesDecodeNode;
29
30
  function decodeKey(buffer) {
30
- const depth = buffer.readUInt8(0);
31
- const parentFingerprint = buffer.readUInt32BE(1);
32
- const index = buffer.readUInt32BE(5);
33
- const chainCode = buffer.slice(9, 41);
34
- const key = buffer.slice(41);
31
+ var depth = buffer.readUInt8(0);
32
+ var parentFingerprint = buffer.readUInt32BE(1);
33
+ var index = buffer.readUInt32BE(5);
34
+ var chainCode = buffer.slice(9, 41);
35
+ var key = buffer.slice(41);
35
36
  return {
36
- depth,
37
- parentFingerprint,
38
- index,
39
- chainCode,
40
- key
37
+ depth: depth,
38
+ parentFingerprint: parentFingerprint,
39
+ index: index,
40
+ chainCode: chainCode,
41
+ key: key
41
42
  };
42
43
  }
43
44
  //# sourceMappingURL=bytes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/utils/bytes.ts"],"names":[],"mappings":";;AAUA,0CAMC;AAkBD,0CAKC;AArCD,uCAAqD;AAQrD,SAAgB,eAAe,CAAC,IAAoB;IAClD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC;QACvC,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC;KACxC,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAoB,EAAE,OAA0B;IACjE,MAAM,KAAK,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACrC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAE5B,MAAM,iBAAiB,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACjD,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAEvD,MAAM,KAAK,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACrC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAE/B,MAAM,SAAS,GAAW,IAAI,CAAC,SAAS,CAAA;IACxC,MAAM,GAAG,GAAW,IAAI,CAAC,OAAO,CAAC,CAAA;IAEjC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAA;AACzE,CAAC;AAED,SAAgB,eAAe,CAAC,IAAe;IAC7C,MAAM,WAAW,GAAkB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC5D,MAAM,WAAW,GAAkB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAE5D,OAAO,IAAA,mCAAyB,EAAC,WAAW,EAAE,WAAW,CAAC,CAAA;AAC5D,CAAC;AAED,SAAS,SAAS,CAAC,MAAc;IAC/B,MAAM,KAAK,GAAW,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IACzC,MAAM,iBAAiB,GAAW,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACxD,MAAM,KAAK,GAAW,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAC5C,MAAM,SAAS,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC7C,MAAM,GAAG,GAAW,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAEpC,OAAO;QACL,KAAK;QACL,iBAAiB;QACjB,KAAK;QACL,SAAS;QACT,GAAG;KACJ,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/utils/bytes.ts"],"names":[],"mappings":";;;AAEA,qCAAqD;AAQrD,SAAgB,eAAe,CAAC,IAAoB;IAClD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC;QACvC,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC;KACxC,CAAA;AACH,CAAC;AAND,0CAMC;AAED,SAAS,SAAS,CAAC,IAAoB,EAAE,OAA0B;IACjE,IAAM,KAAK,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACrC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAE5B,IAAM,iBAAiB,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACjD,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAEvD,IAAM,KAAK,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACrC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAE/B,IAAM,SAAS,GAAW,IAAI,CAAC,SAAS,CAAA;IACxC,IAAM,GAAG,GAAW,IAAI,CAAC,OAAO,CAAC,CAAA;IAEjC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAA;AACzE,CAAC;AAED,SAAgB,eAAe,CAAC,IAAe;IAC7C,IAAM,WAAW,GAAkB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC5D,IAAM,WAAW,GAAkB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAE5D,OAAO,IAAA,mCAAyB,EAAC,WAAW,EAAE,WAAW,CAAC,CAAA;AAC5D,CAAC;AALD,0CAKC;AAED,SAAS,SAAS,CAAC,MAAc;IAC/B,IAAM,KAAK,GAAW,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IACzC,IAAM,iBAAiB,GAAW,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACxD,IAAM,KAAK,GAAW,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAC5C,IAAM,SAAS,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC7C,IAAM,GAAG,GAAW,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAEpC,OAAO;QACL,KAAK,OAAA;QACL,iBAAiB,mBAAA;QACjB,KAAK,OAAA;QACL,SAAS,WAAA;QACT,GAAG,KAAA;KACJ,CAAA;AACH,CAAC"}
@@ -1,32 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDerivationIndexFromNumber = createDerivationIndexFromNumber;
4
- exports.createDerivationIndexFromString = createDerivationIndexFromString;
5
- exports.splitDerivationPath = splitDerivationPath;
6
- exports.incIndex = incIndex;
7
- const MASK_HARD_DERIVATION = 0x80000000;
8
- const MASK_SOFT_DERIVATION = 0x00000000;
3
+ exports.incIndex = exports.splitDerivationPath = exports.createDerivationIndexFromString = exports.createDerivationIndexFromNumber = void 0;
4
+ var MASK_HARD_DERIVATION = 0x80000000;
5
+ var MASK_SOFT_DERIVATION = 0x00000000;
9
6
  function createDerivationIndexFromNumber(value, isHardened) {
10
- const mask = isHardened ? MASK_HARD_DERIVATION : MASK_SOFT_DERIVATION;
7
+ var mask = isHardened ? MASK_HARD_DERIVATION : MASK_SOFT_DERIVATION;
11
8
  return {
12
- value,
9
+ value: value,
13
10
  // tslint:disable-next-line: no-bitwise
14
11
  masked: parseInt((BigInt(mask) | BigInt(value)).toString(), 10),
15
- isHardened
12
+ isHardened: isHardened
16
13
  };
17
14
  }
15
+ exports.createDerivationIndexFromNumber = createDerivationIndexFromNumber;
18
16
  function createDerivationIndexFromString(value) {
19
- const isHardened = ['h', `'`].includes(value.slice(-1));
20
- const index = parseInt(isHardened ? value.slice(0, -1) : value, 10);
17
+ var isHardened = ['h', "'"].includes(value.slice(-1));
18
+ var index = parseInt(isHardened ? value.slice(0, -1) : value, 10);
21
19
  return createDerivationIndexFromNumber(index, isHardened);
22
20
  }
21
+ exports.createDerivationIndexFromString = createDerivationIndexFromString;
23
22
  function splitDerivationPath(path) {
24
23
  if (path.length === 0 || !path.startsWith('m/') || path === 'm/') {
25
24
  return [];
26
25
  }
27
26
  return path.slice(2).split('/').map(createDerivationIndexFromString);
28
27
  }
28
+ exports.splitDerivationPath = splitDerivationPath;
29
29
  function incIndex(current) {
30
30
  return createDerivationIndexFromNumber(current.value + 1, current.isHardened);
31
31
  }
32
+ exports.incIndex = incIndex;
32
33
  //# sourceMappingURL=derivation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"derivation.js","sourceRoot":"","sources":["../../src/utils/derivation.ts"],"names":[],"mappings":";;AAKA,0EASC;AAED,0EAKC;AAED,kDAMC;AAED,4BAEC;AA/BD,MAAM,oBAAoB,GAAW,UAAU,CAAA;AAC/C,MAAM,oBAAoB,GAAW,UAAU,CAAA;AAE/C,SAAgB,+BAA+B,CAAC,KAAa,EAAE,UAAmB;IAChF,MAAM,IAAI,GAAW,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAA;IAE7E,OAAO;QACL,KAAK;QACL,uCAAuC;QACvC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC/D,UAAU;KACX,CAAA;AACH,CAAC;AAED,SAAgB,+BAA+B,CAAC,KAAa;IAC3D,MAAM,UAAU,GAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAChE,MAAM,KAAK,GAAW,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAE3E,OAAO,+BAA+B,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;AAC3D,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACjE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;AACtE,CAAC;AAED,SAAgB,QAAQ,CAAC,OAAwB;IAC/C,OAAO,+BAA+B,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;AAC/E,CAAC"}
1
+ {"version":3,"file":"derivation.js","sourceRoot":"","sources":["../../src/utils/derivation.ts"],"names":[],"mappings":";;;AAEA,IAAM,oBAAoB,GAAW,UAAU,CAAA;AAC/C,IAAM,oBAAoB,GAAW,UAAU,CAAA;AAE/C,SAAgB,+BAA+B,CAAC,KAAa,EAAE,UAAmB;IAChF,IAAM,IAAI,GAAW,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAA;IAE7E,OAAO;QACL,KAAK,OAAA;QACL,uCAAuC;QACvC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC/D,UAAU,YAAA;KACX,CAAA;AACH,CAAC;AATD,0EASC;AAED,SAAgB,+BAA+B,CAAC,KAAa;IAC3D,IAAM,UAAU,GAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAChE,IAAM,KAAK,GAAW,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAE3E,OAAO,+BAA+B,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;AAC3D,CAAC;AALD,0EAKC;AAED,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE;QAChE,OAAO,EAAE,CAAA;KACV;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;AACtE,CAAC;AAND,kDAMC;AAED,SAAgB,QAAQ,CAAC,OAAwB;IAC/C,OAAO,+BAA+B,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;AAC/E,CAAC;AAFD,4BAEC"}