@shapeshiftoss/hdwallet-native 1.55.4-alpha.1 → 1.55.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/dist/adapter.js +61 -22
- package/dist/adapter.js.map +1 -1
- package/dist/arkeo.js +123 -54
- package/dist/arkeo.js.map +1 -1
- package/dist/binance.js +194 -123
- package/dist/binance.js.map +1 -1
- package/dist/bitcoin.js +284 -219
- package/dist/bitcoin.js.map +1 -1
- package/dist/cosmos.js +123 -54
- package/dist/cosmos.js.map +1 -1
- package/dist/crypto/CryptoHelper.js +172 -106
- package/dist/crypto/CryptoHelper.js.map +1 -1
- package/dist/crypto/EncryptedWallet.js +123 -64
- package/dist/crypto/EncryptedWallet.js.map +1 -1
- package/dist/crypto/classes/cipherString.js +19 -18
- package/dist/crypto/classes/cipherString.js.map +1 -1
- package/dist/crypto/classes/encryptedObject.js +7 -7
- package/dist/crypto/classes/encryptedObject.js.map +1 -1
- package/dist/crypto/classes/encryptionType.js +5 -2
- package/dist/crypto/classes/encryptionType.js.map +1 -1
- package/dist/crypto/classes/index.js +11 -4
- package/dist/crypto/classes/index.js.map +1 -1
- package/dist/crypto/classes/symmetricCryptoKey.js +11 -13
- package/dist/crypto/classes/symmetricCryptoKey.js.map +1 -1
- package/dist/crypto/engines/index.js +18 -2
- package/dist/crypto/engines/index.js.map +1 -1
- package/dist/crypto/engines/types.js +5 -2
- package/dist/crypto/engines/types.js.map +1 -1
- package/dist/crypto/engines/web-crypto.js +84 -39
- package/dist/crypto/engines/web-crypto.js.map +1 -1
- package/dist/crypto/index.js +32 -3
- package/dist/crypto/index.js.map +1 -1
- package/dist/crypto/isolation/adapters/binance.js +51 -12
- package/dist/crypto/isolation/adapters/binance.js.map +1 -1
- package/dist/crypto/isolation/adapters/bip32.js +108 -65
- package/dist/crypto/isolation/adapters/bip32.js.map +1 -1
- package/dist/crypto/isolation/adapters/bitcoin.js +84 -41
- package/dist/crypto/isolation/adapters/bitcoin.js.map +1 -1
- package/dist/crypto/isolation/adapters/cosmos.js +24 -9
- package/dist/crypto/isolation/adapters/cosmos.js.map +1 -1
- package/dist/crypto/isolation/adapters/cosmosDirect.js +77 -35
- package/dist/crypto/isolation/adapters/cosmosDirect.js.map +1 -1
- package/dist/crypto/isolation/adapters/ethereum.js +90 -49
- package/dist/crypto/isolation/adapters/ethereum.js.map +1 -1
- package/dist/crypto/isolation/adapters/fio.js +67 -24
- package/dist/crypto/isolation/adapters/fio.js.map +1 -1
- package/dist/crypto/isolation/adapters/index.js +20 -7
- package/dist/crypto/isolation/adapters/index.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/index.js +50 -22
- package/dist/crypto/isolation/core/bip32/index.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/interfaces.js +28 -2
- package/dist/crypto/isolation/core/bip32/interfaces.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/types.js +8 -5
- package/dist/crypto/isolation/core/bip32/types.js.map +1 -1
- package/dist/crypto/isolation/core/bip39/index.js +17 -1
- package/dist/crypto/isolation/core/bip39/index.js.map +1 -1
- package/dist/crypto/isolation/core/bip39/interfaces.js +2 -1
- package/dist/crypto/isolation/core/digest/algorithms.js +32 -23
- package/dist/crypto/isolation/core/digest/algorithms.js.map +1 -1
- package/dist/crypto/isolation/core/digest/index.js +18 -2
- package/dist/crypto/isolation/core/digest/index.js.map +1 -1
- package/dist/crypto/isolation/core/digest/types.js +26 -23
- package/dist/crypto/isolation/core/digest/types.js.map +1 -1
- package/dist/crypto/isolation/core/index.js +32 -5
- package/dist/crypto/isolation/core/index.js.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/index.js +18 -2
- package/dist/crypto/isolation/core/secp256k1/index.js.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/interfaces.js +2 -1
- package/dist/crypto/isolation/core/secp256k1/types.js +157 -119
- package/dist/crypto/isolation/core/secp256k1/types.js.map +1 -1
- package/dist/crypto/isolation/engines/default/bip32.js +176 -102
- package/dist/crypto/isolation/engines/default/bip32.js.map +1 -1
- package/dist/crypto/isolation/engines/default/bip39.js +68 -24
- package/dist/crypto/isolation/engines/default/bip39.js.map +1 -1
- package/dist/crypto/isolation/engines/default/index.js +32 -3
- package/dist/crypto/isolation/engines/default/index.js.map +1 -1
- package/dist/crypto/isolation/engines/default/revocable.js +51 -30
- package/dist/crypto/isolation/engines/default/revocable.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/bip32.js +121 -63
- package/dist/crypto/isolation/engines/dummy/bip32.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/bip39.js +97 -55
- package/dist/crypto/isolation/engines/dummy/bip39.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/index.js +30 -3
- package/dist/crypto/isolation/engines/dummy/index.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/types.js +5 -1
- package/dist/crypto/isolation/engines/dummy/types.js.map +1 -1
- package/dist/crypto/isolation/engines/index.js +28 -2
- package/dist/crypto/isolation/engines/index.js.map +1 -1
- package/dist/crypto/isolation/index.js +29 -3
- package/dist/crypto/isolation/index.js.map +1 -1
- package/dist/crypto/isolation/types.js +49 -43
- package/dist/crypto/isolation/types.js.map +1 -1
- package/dist/crypto/utils.js +13 -7
- package/dist/crypto/utils.js.map +1 -1
- package/dist/ethereum.js +160 -92
- package/dist/ethereum.js.map +1 -1
- package/dist/fio.js +282 -204
- package/dist/fio.js.map +1 -1
- package/dist/index.js +32 -3
- package/dist/index.js.map +1 -1
- package/dist/kava.js +119 -50
- package/dist/kava.js.map +1 -1
- package/dist/native.js +304 -176
- package/dist/native.js.map +1 -1
- package/dist/networks.js +33 -16
- package/dist/networks.js.map +1 -1
- package/dist/osmosis.js +123 -54
- package/dist/osmosis.js.map +1 -1
- package/dist/secret.js +119 -50
- package/dist/secret.js.map +1 -1
- package/dist/terra.js +119 -50
- package/dist/terra.js.map +1 -1
- package/dist/thorchain.js +123 -54
- package/dist/thorchain.js.map +1 -1
- package/dist/util.js +54 -16
- package/dist/util.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,129 +1,203 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
|
22
|
-
this.addRevoker(() => this
|
|
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
|
|
27
|
-
|
|
28
|
-
|
|
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
|
-
|
|
31
|
-
this
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
|
|
36
|
-
return this
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
|
|
126
|
+
serP.set(__classPrivateFieldGet(this, _Node_privateKey, "f"), 1);
|
|
46
127
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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
|
-
|
|
88
|
-
return
|
|
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
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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
|
-
|
|
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
|
|
108
|
-
this
|
|
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
|
|
111
|
-
|
|
112
|
-
|
|
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
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
hmacKey
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
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":"AAAA,
|
|
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
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
|
49
|
+
_Mnemonic_mnemonic.set(this, void 0);
|
|
50
|
+
__classPrivateFieldSet(this, _Mnemonic_mnemonic, mnemonic.normalize("NFKD"), "f");
|
|
13
51
|
}
|
|
14
|
-
static
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
81
|
-
|
|
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
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
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
|
});
|