@shapeshiftoss/hdwallet-native 1.55.4-alpha.1 → 1.55.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/adapter.js +61 -22
  2. package/dist/adapter.js.map +1 -1
  3. package/dist/arkeo.js +123 -54
  4. package/dist/arkeo.js.map +1 -1
  5. package/dist/binance.js +194 -123
  6. package/dist/binance.js.map +1 -1
  7. package/dist/bitcoin.js +284 -219
  8. package/dist/bitcoin.js.map +1 -1
  9. package/dist/cosmos.js +123 -54
  10. package/dist/cosmos.js.map +1 -1
  11. package/dist/crypto/CryptoHelper.js +172 -106
  12. package/dist/crypto/CryptoHelper.js.map +1 -1
  13. package/dist/crypto/EncryptedWallet.js +123 -64
  14. package/dist/crypto/EncryptedWallet.js.map +1 -1
  15. package/dist/crypto/classes/cipherString.js +19 -18
  16. package/dist/crypto/classes/cipherString.js.map +1 -1
  17. package/dist/crypto/classes/encryptedObject.js +7 -7
  18. package/dist/crypto/classes/encryptedObject.js.map +1 -1
  19. package/dist/crypto/classes/encryptionType.js +5 -2
  20. package/dist/crypto/classes/encryptionType.js.map +1 -1
  21. package/dist/crypto/classes/index.js +11 -4
  22. package/dist/crypto/classes/index.js.map +1 -1
  23. package/dist/crypto/classes/symmetricCryptoKey.js +11 -13
  24. package/dist/crypto/classes/symmetricCryptoKey.js.map +1 -1
  25. package/dist/crypto/engines/index.js +18 -2
  26. package/dist/crypto/engines/index.js.map +1 -1
  27. package/dist/crypto/engines/types.js +5 -2
  28. package/dist/crypto/engines/types.js.map +1 -1
  29. package/dist/crypto/engines/web-crypto.js +84 -39
  30. package/dist/crypto/engines/web-crypto.js.map +1 -1
  31. package/dist/crypto/index.js +32 -3
  32. package/dist/crypto/index.js.map +1 -1
  33. package/dist/crypto/isolation/adapters/binance.js +51 -12
  34. package/dist/crypto/isolation/adapters/binance.js.map +1 -1
  35. package/dist/crypto/isolation/adapters/bip32.js +108 -65
  36. package/dist/crypto/isolation/adapters/bip32.js.map +1 -1
  37. package/dist/crypto/isolation/adapters/bitcoin.js +84 -41
  38. package/dist/crypto/isolation/adapters/bitcoin.js.map +1 -1
  39. package/dist/crypto/isolation/adapters/cosmos.js +24 -9
  40. package/dist/crypto/isolation/adapters/cosmos.js.map +1 -1
  41. package/dist/crypto/isolation/adapters/cosmosDirect.js +77 -35
  42. package/dist/crypto/isolation/adapters/cosmosDirect.js.map +1 -1
  43. package/dist/crypto/isolation/adapters/ethereum.js +90 -49
  44. package/dist/crypto/isolation/adapters/ethereum.js.map +1 -1
  45. package/dist/crypto/isolation/adapters/fio.js +67 -24
  46. package/dist/crypto/isolation/adapters/fio.js.map +1 -1
  47. package/dist/crypto/isolation/adapters/index.js +20 -7
  48. package/dist/crypto/isolation/adapters/index.js.map +1 -1
  49. package/dist/crypto/isolation/core/bip32/index.js +50 -22
  50. package/dist/crypto/isolation/core/bip32/index.js.map +1 -1
  51. package/dist/crypto/isolation/core/bip32/interfaces.js +28 -2
  52. package/dist/crypto/isolation/core/bip32/interfaces.js.map +1 -1
  53. package/dist/crypto/isolation/core/bip32/types.js +8 -5
  54. package/dist/crypto/isolation/core/bip32/types.js.map +1 -1
  55. package/dist/crypto/isolation/core/bip39/index.js +17 -1
  56. package/dist/crypto/isolation/core/bip39/index.js.map +1 -1
  57. package/dist/crypto/isolation/core/bip39/interfaces.js +2 -1
  58. package/dist/crypto/isolation/core/digest/algorithms.js +32 -23
  59. package/dist/crypto/isolation/core/digest/algorithms.js.map +1 -1
  60. package/dist/crypto/isolation/core/digest/index.js +18 -2
  61. package/dist/crypto/isolation/core/digest/index.js.map +1 -1
  62. package/dist/crypto/isolation/core/digest/types.js +26 -23
  63. package/dist/crypto/isolation/core/digest/types.js.map +1 -1
  64. package/dist/crypto/isolation/core/index.js +32 -5
  65. package/dist/crypto/isolation/core/index.js.map +1 -1
  66. package/dist/crypto/isolation/core/secp256k1/index.js +18 -2
  67. package/dist/crypto/isolation/core/secp256k1/index.js.map +1 -1
  68. package/dist/crypto/isolation/core/secp256k1/interfaces.js +2 -1
  69. package/dist/crypto/isolation/core/secp256k1/types.js +157 -119
  70. package/dist/crypto/isolation/core/secp256k1/types.js.map +1 -1
  71. package/dist/crypto/isolation/engines/default/bip32.js +176 -102
  72. package/dist/crypto/isolation/engines/default/bip32.js.map +1 -1
  73. package/dist/crypto/isolation/engines/default/bip39.js +68 -24
  74. package/dist/crypto/isolation/engines/default/bip39.js.map +1 -1
  75. package/dist/crypto/isolation/engines/default/index.js +32 -3
  76. package/dist/crypto/isolation/engines/default/index.js.map +1 -1
  77. package/dist/crypto/isolation/engines/default/revocable.js +51 -30
  78. package/dist/crypto/isolation/engines/default/revocable.js.map +1 -1
  79. package/dist/crypto/isolation/engines/dummy/bip32.js +121 -63
  80. package/dist/crypto/isolation/engines/dummy/bip32.js.map +1 -1
  81. package/dist/crypto/isolation/engines/dummy/bip39.js +97 -55
  82. package/dist/crypto/isolation/engines/dummy/bip39.js.map +1 -1
  83. package/dist/crypto/isolation/engines/dummy/index.js +30 -3
  84. package/dist/crypto/isolation/engines/dummy/index.js.map +1 -1
  85. package/dist/crypto/isolation/engines/dummy/types.js +5 -1
  86. package/dist/crypto/isolation/engines/dummy/types.js.map +1 -1
  87. package/dist/crypto/isolation/engines/index.js +28 -2
  88. package/dist/crypto/isolation/engines/index.js.map +1 -1
  89. package/dist/crypto/isolation/index.js +29 -3
  90. package/dist/crypto/isolation/index.js.map +1 -1
  91. package/dist/crypto/isolation/types.js +49 -43
  92. package/dist/crypto/isolation/types.js.map +1 -1
  93. package/dist/crypto/utils.js +13 -7
  94. package/dist/crypto/utils.js.map +1 -1
  95. package/dist/ethereum.js +160 -92
  96. package/dist/ethereum.js.map +1 -1
  97. package/dist/fio.js +282 -204
  98. package/dist/fio.js.map +1 -1
  99. package/dist/index.js +32 -3
  100. package/dist/index.js.map +1 -1
  101. package/dist/kava.js +119 -50
  102. package/dist/kava.js.map +1 -1
  103. package/dist/native.js +304 -176
  104. package/dist/native.js.map +1 -1
  105. package/dist/networks.js +33 -16
  106. package/dist/networks.js.map +1 -1
  107. package/dist/osmosis.js +123 -54
  108. package/dist/osmosis.js.map +1 -1
  109. package/dist/secret.js +119 -50
  110. package/dist/secret.js.map +1 -1
  111. package/dist/terra.js +119 -50
  112. package/dist/terra.js.map +1 -1
  113. package/dist/thorchain.js +123 -54
  114. package/dist/thorchain.js.map +1 -1
  115. package/dist/util.js +54 -16
  116. package/dist/util.js.map +1 -1
  117. package/package.json +3 -3
@@ -1,129 +1,203 @@
1
- import * as bip32crypto from "bip32/src/crypto";
2
- import * as tinyecc from "tiny-secp256k1";
3
- import { TextEncoder } from "web-encoding";
4
- import { BIP32, Digest, SecP256K1 } from "../../core";
5
- import { assertType, ByteArray, checkType, safeBufferFrom, Uint32 } from "../../types";
6
- import { Revocable, revocable } from "./revocable";
7
- export * from "../../core/bip32";
8
- export class Node extends Revocable(class {
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
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
+ };
25
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
+ };
28
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
+ return new (P || (P = Promise))(function (resolve, reject) {
31
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
35
+ });
36
+ };
37
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
38
+ if (kind === "m") throw new TypeError("Private method is not writable");
39
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
40
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
41
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
42
+ };
43
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
44
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
45
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
46
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
47
+ };
48
+ var _Node_privateKey, _Node_publicKey, _Seed_seed;
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.Seed = exports.Node = void 0;
51
+ const bip32crypto = __importStar(require("bip32/src/crypto"));
52
+ const tinyecc = __importStar(require("tiny-secp256k1"));
53
+ const web_encoding_1 = require("web-encoding");
54
+ const core_1 = require("../../core");
55
+ const types_1 = require("../../types");
56
+ const revocable_1 = require("./revocable");
57
+ __exportStar(require("../../core/bip32"), exports);
58
+ class Node extends (0, revocable_1.Revocable)(class {
9
59
  }) {
10
- #privateKey;
11
- chainCode;
12
- #publicKey;
13
- explicitPath;
14
- // When running tests, this will keep us aware of any codepaths that don't pass in the preimage
15
- static requirePreimage = typeof expect === "function";
16
60
  constructor(privateKey, chainCode, explicitPath) {
17
61
  super();
62
+ _Node_privateKey.set(this, void 0);
63
+ _Node_publicKey.set(this, void 0);
18
64
  // We avoid handing the private key to any non-platform code -- including our type-checking machinery.
19
65
  if (privateKey.length !== 32)
20
66
  throw new Error("bad private key length");
21
- this.#privateKey = safeBufferFrom(privateKey);
22
- this.addRevoker(() => this.#privateKey.fill(0));
23
- this.chainCode = safeBufferFrom(checkType(BIP32.ChainCode, chainCode));
67
+ __classPrivateFieldSet(this, _Node_privateKey, (0, types_1.safeBufferFrom)(privateKey), "f");
68
+ this.addRevoker(() => __classPrivateFieldGet(this, _Node_privateKey, "f").fill(0));
69
+ this.chainCode = (0, types_1.safeBufferFrom)((0, types_1.checkType)(core_1.BIP32.ChainCode, chainCode));
24
70
  this.explicitPath = explicitPath;
25
71
  }
26
- static async create(privateKey, chainCode, explicitPath) {
27
- const obj = new Node(privateKey, chainCode, explicitPath);
28
- return revocable(obj, (x) => obj.addRevoker(x));
72
+ static create(privateKey, chainCode, explicitPath) {
73
+ return __awaiter(this, void 0, void 0, function* () {
74
+ const obj = new Node(privateKey, chainCode, explicitPath);
75
+ return (0, revocable_1.revocable)(obj, (x) => obj.addRevoker(x));
76
+ });
77
+ }
78
+ getPublicKey() {
79
+ return __awaiter(this, void 0, void 0, function* () {
80
+ var _a;
81
+ __classPrivateFieldSet(this, _Node_publicKey, (_a = __classPrivateFieldGet(this, _Node_publicKey, "f")) !== null && _a !== void 0 ? _a : (0, types_1.checkType)(core_1.SecP256K1.CompressedPoint, tinyecc.pointFromScalar(__classPrivateFieldGet(this, _Node_privateKey, "f"), true)), "f");
82
+ return __classPrivateFieldGet(this, _Node_publicKey, "f");
83
+ });
84
+ }
85
+ getChainCode() {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ return this.chainCode;
88
+ });
29
89
  }
30
- async getPublicKey() {
31
- this.#publicKey =
32
- this.#publicKey ?? checkType(SecP256K1.CompressedPoint, tinyecc.pointFromScalar(this.#privateKey, true));
33
- return this.#publicKey;
90
+ ecdsaSign(digestAlgorithm, msg, counter) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ const recoverableSig = yield (() => __awaiter(this, void 0, void 0, function* () {
93
+ if (digestAlgorithm === null) {
94
+ (0, types_1.assertType)((0, types_1.ByteArray)(32), msg);
95
+ return yield this.ecdsaSignRecoverable(digestAlgorithm, msg, counter);
96
+ }
97
+ else {
98
+ return yield this.ecdsaSignRecoverable(digestAlgorithm, msg, counter);
99
+ }
100
+ }))();
101
+ return core_1.SecP256K1.RecoverableSignature.sig(recoverableSig);
102
+ });
34
103
  }
35
- async getChainCode() {
36
- return this.chainCode;
104
+ ecdsaSignRecoverable(digestAlgorithm, msg, counter) {
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ counter === undefined || types_1.Uint32.assert(counter);
107
+ digestAlgorithm === null || core_1.Digest.AlgorithmName(32).assert(digestAlgorithm);
108
+ if (Node.requirePreimage && digestAlgorithm === null)
109
+ throw TypeError("preimage required");
110
+ const msgOrDigest = digestAlgorithm === null
111
+ ? (0, types_1.checkType)((0, types_1.ByteArray)(32), msg)
112
+ : core_1.Digest.Algorithms[digestAlgorithm]((0, types_1.checkType)((0, types_1.ByteArray)(), msg));
113
+ const entropy = counter === undefined ? undefined : Buffer.alloc(32);
114
+ entropy === null || entropy === void 0 ? void 0 : entropy.writeUInt32BE(counter !== null && counter !== void 0 ? counter : 0, 24);
115
+ return yield core_1.SecP256K1.RecoverableSignature.fromSignature((0, types_1.checkType)(core_1.SecP256K1.Signature, tinyecc.signWithEntropy(Buffer.from(msgOrDigest), __classPrivateFieldGet(this, _Node_privateKey, "f"), entropy)), null, msgOrDigest, yield this.getPublicKey());
116
+ });
37
117
  }
38
- async ecdsaSign(digestAlgorithm, msg, counter) {
39
- const recoverableSig = await (async () => {
40
- if (digestAlgorithm === null) {
41
- assertType(ByteArray(32), msg);
42
- return await this.ecdsaSignRecoverable(digestAlgorithm, msg, counter);
118
+ derive(index) {
119
+ return __awaiter(this, void 0, void 0, function* () {
120
+ types_1.Uint32.assert(index);
121
+ const serP = Buffer.alloc(37);
122
+ if (index < 0x80000000) {
123
+ serP.set(core_1.SecP256K1.CompressedPoint.from(yield this.getPublicKey()), 0);
43
124
  }
44
125
  else {
45
- return await this.ecdsaSignRecoverable(digestAlgorithm, msg, counter);
126
+ serP.set(__classPrivateFieldGet(this, _Node_privateKey, "f"), 1);
46
127
  }
47
- })();
48
- return SecP256K1.RecoverableSignature.sig(recoverableSig);
49
- }
50
- async ecdsaSignRecoverable(digestAlgorithm, msg, counter) {
51
- counter === undefined || Uint32.assert(counter);
52
- digestAlgorithm === null || Digest.AlgorithmName(32).assert(digestAlgorithm);
53
- if (Node.requirePreimage && digestAlgorithm === null)
54
- throw TypeError("preimage required");
55
- const msgOrDigest = digestAlgorithm === null
56
- ? checkType(ByteArray(32), msg)
57
- : Digest.Algorithms[digestAlgorithm](checkType(ByteArray(), msg));
58
- const entropy = counter === undefined ? undefined : Buffer.alloc(32);
59
- entropy?.writeUInt32BE(counter ?? 0, 24);
60
- return await SecP256K1.RecoverableSignature.fromSignature(checkType(SecP256K1.Signature, tinyecc.signWithEntropy(Buffer.from(msgOrDigest), this.#privateKey, entropy)), null, msgOrDigest, await this.getPublicKey());
61
- }
62
- async derive(index) {
63
- Uint32.assert(index);
64
- const serP = Buffer.alloc(37);
65
- if (index < 0x80000000) {
66
- serP.set(SecP256K1.CompressedPoint.from(await this.getPublicKey()), 0);
67
- }
68
- else {
69
- serP.set(this.#privateKey, 1);
70
- }
71
- serP.writeUInt32BE(index, 33);
72
- const I = bip32crypto.hmacSHA512(this.chainCode, serP);
73
- const IL = I.slice(0, 32);
74
- const IR = I.slice(32, 64);
75
- const ki = tinyecc.privateAdd(this.#privateKey, IL);
76
- if (ki === null)
77
- throw new Error("ki is null; this should be cryptographically impossible");
78
- const out = await Node.create(ki, IR);
79
- this.addRevoker(() => out.revoke?.());
80
- return out;
128
+ serP.writeUInt32BE(index, 33);
129
+ const I = bip32crypto.hmacSHA512(this.chainCode, serP);
130
+ const IL = I.slice(0, 32);
131
+ const IR = I.slice(32, 64);
132
+ const ki = tinyecc.privateAdd(__classPrivateFieldGet(this, _Node_privateKey, "f"), IL);
133
+ if (ki === null)
134
+ throw new Error("ki is null; this should be cryptographically impossible");
135
+ const out = yield Node.create(ki, IR);
136
+ this.addRevoker(() => { var _a; return (_a = out.revoke) === null || _a === void 0 ? void 0 : _a.call(out); });
137
+ return out;
138
+ });
81
139
  }
82
- async ecdh(publicKey, digestAlgorithm) {
83
- SecP256K1.CurvePoint.assert(publicKey);
84
- digestAlgorithm === undefined || Digest.AlgorithmName(32).assert(digestAlgorithm);
85
- return checkType(ByteArray(32), await this._ecdh(publicKey, digestAlgorithm));
140
+ ecdh(publicKey, digestAlgorithm) {
141
+ return __awaiter(this, void 0, void 0, function* () {
142
+ core_1.SecP256K1.CurvePoint.assert(publicKey);
143
+ digestAlgorithm === undefined || core_1.Digest.AlgorithmName(32).assert(digestAlgorithm);
144
+ return (0, types_1.checkType)((0, types_1.ByteArray)(32), yield this._ecdh(publicKey, digestAlgorithm));
145
+ });
86
146
  }
87
- async ecdhRaw(publicKey) {
88
- return checkType(SecP256K1.UncompressedPoint, await this._ecdh(publicKey, null));
147
+ ecdhRaw(publicKey) {
148
+ return __awaiter(this, void 0, void 0, function* () {
149
+ return (0, types_1.checkType)(core_1.SecP256K1.UncompressedPoint, yield this._ecdh(publicKey, null));
150
+ });
89
151
  }
90
- async _ecdh(publicKey, digestAlgorithm) {
91
- SecP256K1.CurvePoint.assert(publicKey);
92
- digestAlgorithm === undefined || digestAlgorithm === null || Digest.AlgorithmName(32).assert(digestAlgorithm);
93
- const sharedFieldElement = checkType(SecP256K1.UncompressedPoint, tinyecc.pointMultiply(Buffer.from(publicKey), this.#privateKey, false));
94
- if (digestAlgorithm === null)
95
- return sharedFieldElement;
96
- let out = SecP256K1.CurvePoint.x(sharedFieldElement);
97
- if (digestAlgorithm !== undefined)
98
- out = Digest.Algorithms[digestAlgorithm](out);
99
- return out;
152
+ _ecdh(publicKey, digestAlgorithm) {
153
+ return __awaiter(this, void 0, void 0, function* () {
154
+ core_1.SecP256K1.CurvePoint.assert(publicKey);
155
+ digestAlgorithm === undefined || digestAlgorithm === null || core_1.Digest.AlgorithmName(32).assert(digestAlgorithm);
156
+ const sharedFieldElement = (0, types_1.checkType)(core_1.SecP256K1.UncompressedPoint, tinyecc.pointMultiply(Buffer.from(publicKey), __classPrivateFieldGet(this, _Node_privateKey, "f"), false));
157
+ if (digestAlgorithm === null)
158
+ return sharedFieldElement;
159
+ let out = core_1.SecP256K1.CurvePoint.x(sharedFieldElement);
160
+ if (digestAlgorithm !== undefined)
161
+ out = core_1.Digest.Algorithms[digestAlgorithm](out);
162
+ return out;
163
+ });
100
164
  }
101
165
  }
102
- export class Seed extends Revocable(class {
166
+ exports.Node = Node;
167
+ _Node_privateKey = new WeakMap(), _Node_publicKey = new WeakMap();
168
+ // When running tests, this will keep us aware of any codepaths that don't pass in the preimage
169
+ Node.requirePreimage = typeof expect === "function";
170
+ class Seed extends (0, revocable_1.Revocable)(class {
103
171
  }) {
104
- #seed;
105
172
  constructor(seed) {
106
173
  super();
107
- this.#seed = safeBufferFrom(seed);
108
- this.addRevoker(() => this.#seed.fill(0));
174
+ _Seed_seed.set(this, void 0);
175
+ __classPrivateFieldSet(this, _Seed_seed, (0, types_1.safeBufferFrom)(seed), "f");
176
+ this.addRevoker(() => __classPrivateFieldGet(this, _Seed_seed, "f").fill(0));
109
177
  }
110
- static async create(seed) {
111
- const obj = new Seed(seed);
112
- return revocable(obj, (x) => obj.addRevoker(x));
178
+ static create(seed) {
179
+ return __awaiter(this, void 0, void 0, function* () {
180
+ const obj = new Seed(seed);
181
+ return (0, revocable_1.revocable)(obj, (x) => obj.addRevoker(x));
182
+ });
113
183
  }
114
- async toMasterKey(hmacKey) {
115
- if (hmacKey !== undefined && typeof hmacKey !== "string" && !(hmacKey instanceof Uint8Array))
116
- throw new Error("bad hmacKey type");
117
- // AFAIK all BIP32 implementations use the "Bitcoin seed" string for this derivation, even if they aren't otherwise Bitcoin-related
118
- hmacKey = hmacKey ?? "Bitcoin seed";
119
- if (typeof hmacKey === "string")
120
- hmacKey = new TextEncoder().encode(hmacKey.normalize("NFKD"));
121
- const I = safeBufferFrom(bip32crypto.hmacSHA512(safeBufferFrom(hmacKey), this.#seed));
122
- const IL = I.slice(0, 32);
123
- const IR = I.slice(32, 64);
124
- const out = await Node.create(IL, IR);
125
- this.addRevoker(() => out.revoke?.());
126
- return out;
184
+ toMasterKey(hmacKey) {
185
+ return __awaiter(this, void 0, void 0, function* () {
186
+ if (hmacKey !== undefined && typeof hmacKey !== "string" && !(hmacKey instanceof Uint8Array))
187
+ throw new Error("bad hmacKey type");
188
+ // AFAIK all BIP32 implementations use the "Bitcoin seed" string for this derivation, even if they aren't otherwise Bitcoin-related
189
+ hmacKey = hmacKey !== null && hmacKey !== void 0 ? hmacKey : "Bitcoin seed";
190
+ if (typeof hmacKey === "string")
191
+ hmacKey = new web_encoding_1.TextEncoder().encode(hmacKey.normalize("NFKD"));
192
+ const I = (0, types_1.safeBufferFrom)(bip32crypto.hmacSHA512((0, types_1.safeBufferFrom)(hmacKey), __classPrivateFieldGet(this, _Seed_seed, "f")));
193
+ const IL = I.slice(0, 32);
194
+ const IR = I.slice(32, 64);
195
+ const out = yield Node.create(IL, IR);
196
+ this.addRevoker(() => { var _a; return (_a = out.revoke) === null || _a === void 0 ? void 0 : _a.call(out); });
197
+ return out;
198
+ });
127
199
  }
128
200
  }
201
+ exports.Seed = Seed;
202
+ _Seed_seed = new WeakMap();
129
203
  //# sourceMappingURL=bip32.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bip32.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/bip32.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bip32.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/bip32.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,77 @@
1
+ "use strict";
1
2
  /// <reference types="bip32/types/crypto" />
2
- import { createSHA512, pbkdf2 } from "hash-wasm";
3
- import { TextEncoder } from "web-encoding";
4
- import { Seed } from "./bip32";
5
- import { Revocable, revocable } from "./revocable";
6
- export * from "../../core/bip39";
7
- export class Mnemonic extends Revocable(class {
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
+ };
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
27
+ if (kind === "m") throw new TypeError("Private method is not writable");
28
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
29
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
30
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
31
+ };
32
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
33
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
34
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
35
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
36
+ };
37
+ var _Mnemonic_mnemonic;
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.Mnemonic = void 0;
40
+ const hash_wasm_1 = require("hash-wasm");
41
+ const web_encoding_1 = require("web-encoding");
42
+ const bip32_1 = require("./bip32");
43
+ const revocable_1 = require("./revocable");
44
+ __exportStar(require("../../core/bip39"), exports);
45
+ class Mnemonic extends (0, revocable_1.Revocable)(class {
8
46
  }) {
9
- #mnemonic;
10
47
  constructor(mnemonic) {
11
48
  super();
12
- this.#mnemonic = mnemonic.normalize("NFKD");
49
+ _Mnemonic_mnemonic.set(this, void 0);
50
+ __classPrivateFieldSet(this, _Mnemonic_mnemonic, mnemonic.normalize("NFKD"), "f");
13
51
  }
14
- static async create(mnemonic) {
15
- const obj = new Mnemonic(mnemonic);
16
- return revocable(obj, (x) => obj.addRevoker(x));
52
+ static create(mnemonic) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ const obj = new Mnemonic(mnemonic);
55
+ return (0, revocable_1.revocable)(obj, (x) => obj.addRevoker(x));
56
+ });
17
57
  }
18
- async toSeed(passphrase) {
19
- const mnemonic = this.#mnemonic;
20
- const salt = new TextEncoder().encode(`mnemonic${passphrase ?? ""}`.normalize("NFKD"));
21
- const out = await Seed.create(Buffer.from(await pbkdf2({
22
- password: mnemonic,
23
- salt,
24
- iterations: 2048,
25
- hashLength: 64,
26
- hashFunction: createSHA512(),
27
- outputType: "binary",
28
- })));
29
- this.addRevoker(() => out.revoke?.());
30
- return out;
58
+ toSeed(passphrase) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ const mnemonic = __classPrivateFieldGet(this, _Mnemonic_mnemonic, "f");
61
+ const salt = new web_encoding_1.TextEncoder().encode(`mnemonic${passphrase !== null && passphrase !== void 0 ? passphrase : ""}`.normalize("NFKD"));
62
+ const out = yield bip32_1.Seed.create(Buffer.from(yield (0, hash_wasm_1.pbkdf2)({
63
+ password: mnemonic,
64
+ salt,
65
+ iterations: 2048,
66
+ hashLength: 64,
67
+ hashFunction: (0, hash_wasm_1.createSHA512)(),
68
+ outputType: "binary",
69
+ })));
70
+ this.addRevoker(() => { var _a; return (_a = out.revoke) === null || _a === void 0 ? void 0 : _a.call(out); });
71
+ return out;
72
+ });
31
73
  }
32
74
  }
75
+ exports.Mnemonic = Mnemonic;
76
+ _Mnemonic_mnemonic = new WeakMap();
33
77
  //# sourceMappingURL=bip39.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bip39.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/bip39.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEnD,cAAc,kBAAkB,CAAC;AAEjC,MAAM,OAAO,QAAS,SAAQ,SAAS,CAAC;CAAQ,CAAC;IACtC,SAAS,CAAS;IAE3B,YAAsB,QAAgB;QACpC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAgB;QAClC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAmB;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,UAAU,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAEvF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAC3B,MAAM,CAAC,IAAI,CACT,MAAM,MAAM,CAAC;YACX,QAAQ,EAAE,QAAQ;YAClB,IAAI;YACJ,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,YAAY,EAAE;YAC5B,UAAU,EAAE,QAAQ;SACrB,CAAC,CACH,CACF,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACtC,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"bip39.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/bip39.ts"],"names":[],"mappings":";AAAA,4CAA4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE5C,yCAAiD;AACjD,+CAA2C;AAI3C,mCAA+B;AAC/B,2CAAmD;AAEnD,mDAAiC;AAEjC,MAAa,QAAS,SAAQ,IAAA,qBAAS,EAAC;CAAQ,CAAC;IAG/C,YAAsB,QAAgB;QACpC,KAAK,EAAE,CAAC;QAHD,qCAAkB;QAIzB,uBAAA,IAAI,sBAAa,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,MAAA,CAAC;IAC9C,CAAC;IAED,MAAM,CAAO,MAAM,CAAC,QAAgB;;YAClC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnC,OAAO,IAAA,qBAAS,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;KAAA;IAEK,MAAM,CAAC,UAAmB;;YAC9B,MAAM,QAAQ,GAAG,uBAAA,IAAI,0BAAU,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,0BAAW,EAAE,CAAC,MAAM,CAAC,WAAW,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAEvF,MAAM,GAAG,GAAG,MAAM,YAAI,CAAC,MAAM,CAC3B,MAAM,CAAC,IAAI,CACT,MAAM,IAAA,kBAAM,EAAC;gBACX,QAAQ,EAAE,QAAQ;gBAClB,IAAI;gBACJ,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,IAAA,wBAAY,GAAE;gBAC5B,UAAU,EAAE,QAAQ;aACrB,CAAC,CACH,CACF,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,GAAG,CAAC,MAAM,mDAAI,CAAA,EAAA,CAAC,CAAC;YACtC,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;CACF;AAhCD,4BAgCC"}
@@ -1,4 +1,33 @@
1
- export * as BIP32 from "./bip32";
2
- export * as BIP39 from "./bip39";
3
- export * from "./revocable";
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
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
+ };
25
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.BIP39 = exports.BIP32 = void 0;
30
+ exports.BIP32 = __importStar(require("./bip32"));
31
+ exports.BIP39 = __importStar(require("./bip39"));
32
+ __exportStar(require("./revocable"), exports);
4
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiC;AACjC,iDAAiC;AACjC,8CAA4B"}
@@ -1,3 +1,17 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.Revocable = exports.revocable = void 0;
1
15
  const _Set = Set;
2
16
  const _freeze = Object.freeze.bind(Object);
3
17
  const _revocable = Proxy.revocable.bind(Proxy);
@@ -46,7 +60,7 @@ Proxy handler invariants (per MDN):
46
60
  setPrototypeOf
47
61
  If target is not extensible, the prototype parameter must be the same value as Object.getPrototypeOf(target).
48
62
  */
49
- export const revocable = _freeze((x, addRevoker) => {
63
+ exports.revocable = _freeze((x, addRevoker) => {
50
64
  const universalProxyHandler = (pseudoTarget) => new Proxy({}, {
51
65
  get(_, p) {
52
66
  return (_t, p2, r) => {
@@ -77,38 +91,45 @@ export const revocable = _freeze((x, addRevoker) => {
77
91
  addRevoker(revoke);
78
92
  return proxy;
79
93
  });
80
- export const Revocable = _freeze((x) => {
81
- const out = _freeze(
94
+ exports.Revocable = _freeze((x) => {
95
+ var _Revocable_revokers, _Revocable_revoked, _a;
96
+ const out = _freeze((_a =
82
97
  // eslint-disable-next-line @typescript-eslint/no-shadow
83
98
  class Revocable extends x {
84
- #revokers = new _Set();
85
- #revoked = false;
86
- revoke = () => {
87
- this.#revoked = true;
88
- this.#revokers.forEach((revoker) => {
89
- try {
90
- revoker();
91
- }
92
- catch {
93
- // revoker errors get swallowed.
94
- }
95
- });
96
- this.#revokers.clear();
97
- };
98
- addRevoker = (revoker) => {
99
- if (this.#revoked) {
100
- try {
101
- revoker();
102
- }
103
- catch {
104
- // revoker errors get swallowed.
105
- }
106
- }
107
- else {
108
- this.#revokers.add(revoker);
99
+ constructor() {
100
+ super(...arguments);
101
+ _Revocable_revokers.set(this, new _Set());
102
+ _Revocable_revoked.set(this, false);
103
+ this.revoke = () => {
104
+ __classPrivateFieldSet(this, _Revocable_revoked, true, "f");
105
+ __classPrivateFieldGet(this, _Revocable_revokers, "f").forEach((revoker) => {
106
+ try {
107
+ revoker();
108
+ }
109
+ catch (_b) {
110
+ // revoker errors get swallowed.
111
+ }
112
+ });
113
+ __classPrivateFieldGet(this, _Revocable_revokers, "f").clear();
114
+ };
115
+ this.addRevoker = (revoker) => {
116
+ if (__classPrivateFieldGet(this, _Revocable_revoked, "f")) {
117
+ try {
118
+ revoker();
119
+ }
120
+ catch (_b) {
121
+ // revoker errors get swallowed.
122
+ }
123
+ }
124
+ else {
125
+ __classPrivateFieldGet(this, _Revocable_revokers, "f").add(revoker);
126
+ }
127
+ };
109
128
  }
110
- };
111
- });
129
+ },
130
+ _Revocable_revokers = new WeakMap(),
131
+ _Revocable_revoked = new WeakMap(),
132
+ _a));
112
133
  _freeze(out.prototype);
113
134
  return out;
114
135
  });