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

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,106 +1,39 @@
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
- };
38
2
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.mnemonicToSeed = void 0;
40
- var coinlib_core_1 = require("@airgap/coinlib-core");
3
+ exports.mnemonicToSeed = mnemonicToSeed;
4
+ const coinlib_core_1 = require("@airgap/coinlib-core");
41
5
  // @ts-ignore
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
- });
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;
75
18
  }
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
- });
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);
90
23
  }
91
24
  function mnemonicToBip39Seed(secretType, mnemonic, password) {
92
- var seed = (0, bip39_2_5_0_1.mnemonicToSeed)(mnemonic, password);
25
+ const seed = (0, bip39_2_5_0_1.mnemonicToSeed)(mnemonic, password);
93
26
  switch (secretType) {
94
27
  case 'secret':
95
28
  return seed;
96
29
  case 'miniSecretXor':
97
- var first32 = seed.slice(0, 32);
98
- var second32_1 = seed.slice(32);
30
+ const first32 = seed.slice(0, 32);
31
+ const second32 = seed.slice(32);
99
32
  // tslint:disable-next-line: no-bitwise
100
- return Buffer.from(first32.map(function (byte, index) { return byte ^ second32_1[index]; }));
33
+ return Buffer.from(first32.map((byte, index) => byte ^ second32[index]));
101
34
  default:
102
35
  (0, coinlib_core_1.assertNever)(secretType);
103
- throw new Error("Secret type ".concat(secretType, " is not supported"));
36
+ throw new Error(`Secret type ${secretType} is not supported`);
104
37
  }
105
38
  }
106
39
  //# sourceMappingURL=secret.js.map
package/secret.js.map CHANGED
@@ -1 +1 @@
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
+ {"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,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { Sr25519CryptoConfiguration } from '@airgap/module-kit';
3
2
  import { DerivationNode } from '../types/derivation';
4
3
  export declare function deriveSr25519(compatibility: Sr25519CryptoConfiguration['compatibility'], seed: Buffer, derivationPath?: string): Promise<DerivationNode>;
package/sr25519/derive.js CHANGED
@@ -1,129 +1,57 @@
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
- };
38
2
  Object.defineProperty(exports, "__esModule", { value: true });
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
- });
49
- }
50
3
  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
- });
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);
9
+ }
10
+ async function deriveSr25519Standard(seed, derivationPath) {
11
+ throw new Error('Not implemented');
57
12
  }
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
- });
13
+ async function deriveSr25519Substrate(seed, derivationPath) {
14
+ const masterNode = await substrateMasterKeyFromSeed(seed);
15
+ return derivationPath !== undefined ? deriveSubstrate(masterNode, derivationPath) : masterNode;
70
16
  }
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
- });
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
+ };
92
29
  }
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
- });
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);
122
50
  }
123
51
  function splitKeyPair(keyPair) {
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 };
52
+ const keyPairBuffer = Buffer.from(keyPair);
53
+ const secretKey = keyPairBuffer.slice(0, 64);
54
+ const publicKey = keyPairBuffer.slice(64);
55
+ return { secretKey, publicKey };
128
56
  }
129
57
  //# 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":"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"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  export interface DerivationIndex {
3
2
  value: number;
4
3
  masked: number;
@@ -19,4 +18,4 @@ export interface DerivationNode {
19
18
  secretKey: Buffer;
20
19
  publicKey: Buffer;
21
20
  }
22
- export declare type DerivationKeyType = Extract<keyof DerivationNode, 'secretKey' | 'publicKey'>;
21
+ export type DerivationKeyType = Extract<keyof DerivationNode, 'secretKey' | 'publicKey'>;
package/types/key.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  export interface KeyPair {
3
2
  secretKey: Buffer;
4
3
  publicKey: Buffer;
package/utils/bip32.js CHANGED
@@ -15,65 +15,70 @@ 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 (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
- };
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
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.bip32DecodeNode = exports.bip32EncodeNode = void 0;
36
+ exports.bip32EncodeNode = bip32EncodeNode;
37
+ exports.bip32DecodeNode = bip32DecodeNode;
27
38
  // @ts-ignore
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 = {}; }
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 = {}) {
35
44
  return {
36
45
  type: 'bip32',
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')
46
+ secretKey: encodeKey(node, version.secretKey ?? XPRV_VERSION, 'secretKey'),
47
+ publicKey: encodeKey(node, version.publicKey ?? XPUB_VERSION, 'publicKey')
39
48
  };
40
49
  }
41
- exports.bip32EncodeNode = bip32EncodeNode;
42
50
  function encodeKey(node, version, keyType) {
43
- var versionBuffer = Buffer.from(version, 'hex');
44
- var depth = Buffer.alloc(1);
51
+ const versionBuffer = Buffer.from(version, 'hex');
52
+ const depth = Buffer.alloc(1);
45
53
  depth.writeUInt8(node.depth);
46
- var parentFingerprint = Buffer.alloc(4);
54
+ const parentFingerprint = Buffer.alloc(4);
47
55
  parentFingerprint.writeUInt32BE(node.parentFingerprint);
48
- var index = Buffer.alloc(4);
56
+ const index = Buffer.alloc(4);
49
57
  index.writeUInt32BE(node.index);
50
- var chainCode = node.chainCode;
51
- var key = keyType === 'secretKey' ? Buffer.concat([Buffer.alloc(1, 0), node[keyType]]) : node[keyType];
58
+ const chainCode = node.chainCode;
59
+ const key = keyType === 'secretKey' ? Buffer.concat([Buffer.alloc(1, 0), node[keyType]]) : node[keyType];
52
60
  return bs58check.encode(Buffer.concat([versionBuffer, depth, parentFingerprint, index, chainCode, key]));
53
61
  }
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');
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');
59
65
  return (0, factory_1.newDerivationNodeFromKeys)(xprvDecoded, xpubDecoded);
60
66
  }
61
- exports.bip32DecodeNode = bip32DecodeNode;
62
67
  function decodeKey(key, version, keyType) {
63
- var buffer = bs58check.decode(key);
64
- var versionBuffer = buffer.slice(0, 4);
68
+ const buffer = bs58check.decode(key);
69
+ const versionBuffer = buffer.slice(0, 4);
65
70
  if (versionBuffer.toString('hex') !== version) {
66
71
  throw new Error('Invalid Bip32 version');
67
72
  }
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);
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);
72
77
  return {
73
- depth: depth,
74
- parentFingerprint: parentFingerprint,
75
- index: index,
76
- chainCode: chainCode,
78
+ depth,
79
+ parentFingerprint,
80
+ index,
81
+ chainCode,
77
82
  key: keyType === 'secretKey' ? buffer.slice(46) : buffer.slice(45)
78
83
  };
79
84
  }
@@ -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":"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"}
package/utils/bytes.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { DerivationNode } from '../types/derivation';
3
2
  export interface BytesNode {
4
3
  type: 'bytes';
package/utils/bytes.js CHANGED
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bytesDecodeNode = exports.bytesEncodeNode = void 0;
4
- var factory_1 = require("./factory");
3
+ exports.bytesEncodeNode = bytesEncodeNode;
4
+ exports.bytesDecodeNode = bytesDecodeNode;
5
+ const factory_1 = require("./factory");
5
6
  function bytesEncodeNode(node) {
6
7
  return {
7
8
  type: 'bytes',
@@ -9,36 +10,34 @@ function bytesEncodeNode(node) {
9
10
  publicKey: encodeKey(node, 'publicKey')
10
11
  };
11
12
  }
12
- exports.bytesEncodeNode = bytesEncodeNode;
13
13
  function encodeKey(node, keyType) {
14
- var depth = Buffer.alloc(1);
14
+ const depth = Buffer.alloc(1);
15
15
  depth.writeUInt8(node.depth);
16
- var parentFingerprint = Buffer.alloc(4);
16
+ const parentFingerprint = Buffer.alloc(4);
17
17
  parentFingerprint.writeUInt32BE(node.parentFingerprint);
18
- var index = Buffer.alloc(4);
18
+ const index = Buffer.alloc(4);
19
19
  index.writeUInt32BE(node.index);
20
- var chainCode = node.chainCode;
21
- var key = node[keyType];
20
+ const chainCode = node.chainCode;
21
+ const key = node[keyType];
22
22
  return Buffer.concat([depth, parentFingerprint, index, chainCode, key]);
23
23
  }
24
24
  function bytesDecodeNode(node) {
25
- var xprvDecoded = decodeKey(node.secretKey);
26
- var xpubDecoded = decodeKey(node.publicKey);
25
+ const xprvDecoded = decodeKey(node.secretKey);
26
+ const xpubDecoded = decodeKey(node.publicKey);
27
27
  return (0, factory_1.newDerivationNodeFromKeys)(xprvDecoded, xpubDecoded);
28
28
  }
29
- exports.bytesDecodeNode = bytesDecodeNode;
30
29
  function decodeKey(buffer) {
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);
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);
36
35
  return {
37
- depth: depth,
38
- parentFingerprint: parentFingerprint,
39
- index: index,
40
- chainCode: chainCode,
41
- key: key
36
+ depth,
37
+ parentFingerprint,
38
+ index,
39
+ chainCode,
40
+ key
42
41
  };
43
42
  }
44
43
  //# sourceMappingURL=bytes.js.map
@@ -1 +1 @@
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
+ {"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,33 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.incIndex = exports.splitDerivationPath = exports.createDerivationIndexFromString = exports.createDerivationIndexFromNumber = void 0;
4
- var MASK_HARD_DERIVATION = 0x80000000;
5
- var MASK_SOFT_DERIVATION = 0x00000000;
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;
6
9
  function createDerivationIndexFromNumber(value, isHardened) {
7
- var mask = isHardened ? MASK_HARD_DERIVATION : MASK_SOFT_DERIVATION;
10
+ const mask = isHardened ? MASK_HARD_DERIVATION : MASK_SOFT_DERIVATION;
8
11
  return {
9
- value: value,
12
+ value,
10
13
  // tslint:disable-next-line: no-bitwise
11
14
  masked: parseInt((BigInt(mask) | BigInt(value)).toString(), 10),
12
- isHardened: isHardened
15
+ isHardened
13
16
  };
14
17
  }
15
- exports.createDerivationIndexFromNumber = createDerivationIndexFromNumber;
16
18
  function createDerivationIndexFromString(value) {
17
- var isHardened = ['h', "'"].includes(value.slice(-1));
18
- var index = parseInt(isHardened ? value.slice(0, -1) : value, 10);
19
+ const isHardened = ['h', `'`].includes(value.slice(-1));
20
+ const index = parseInt(isHardened ? value.slice(0, -1) : value, 10);
19
21
  return createDerivationIndexFromNumber(index, isHardened);
20
22
  }
21
- exports.createDerivationIndexFromString = createDerivationIndexFromString;
22
23
  function splitDerivationPath(path) {
23
24
  if (path.length === 0 || !path.startsWith('m/') || path === 'm/') {
24
25
  return [];
25
26
  }
26
27
  return path.slice(2).split('/').map(createDerivationIndexFromString);
27
28
  }
28
- exports.splitDerivationPath = splitDerivationPath;
29
29
  function incIndex(current) {
30
30
  return createDerivationIndexFromNumber(current.value + 1, current.isHardened);
31
31
  }
32
- exports.incIndex = incIndex;
33
32
  //# sourceMappingURL=derivation.js.map
@@ -1 +1 @@
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"}
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"}