@shapeshiftoss/hdwallet-native 1.55.2 → 1.55.4-alpha.1
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 +22 -61
- package/dist/adapter.js.map +1 -1
- package/dist/arkeo.d.ts +1 -1
- package/dist/arkeo.d.ts.map +1 -1
- package/dist/arkeo.js +54 -124
- package/dist/arkeo.js.map +1 -1
- package/dist/binance.d.ts +1 -1
- package/dist/binance.d.ts.map +1 -1
- package/dist/binance.js +123 -195
- package/dist/binance.js.map +1 -1
- package/dist/bitcoin.d.ts +1 -2
- package/dist/bitcoin.d.ts.map +1 -1
- package/dist/bitcoin.js +219 -285
- package/dist/bitcoin.js.map +1 -1
- package/dist/cosmos.d.ts +1 -1
- package/dist/cosmos.d.ts.map +1 -1
- package/dist/cosmos.js +54 -124
- package/dist/cosmos.js.map +1 -1
- package/dist/crypto/CryptoHelper.js +106 -172
- package/dist/crypto/CryptoHelper.js.map +1 -1
- package/dist/crypto/EncryptedWallet.js +64 -123
- package/dist/crypto/EncryptedWallet.js.map +1 -1
- package/dist/crypto/classes/cipherString.js +18 -19
- 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 +2 -5
- package/dist/crypto/classes/encryptionType.js.map +1 -1
- package/dist/crypto/classes/index.js +4 -11
- package/dist/crypto/classes/index.js.map +1 -1
- package/dist/crypto/classes/symmetricCryptoKey.js +13 -11
- package/dist/crypto/classes/symmetricCryptoKey.js.map +1 -1
- package/dist/crypto/engines/index.js +2 -18
- package/dist/crypto/engines/index.js.map +1 -1
- package/dist/crypto/engines/types.js +2 -5
- package/dist/crypto/engines/types.js.map +1 -1
- package/dist/crypto/engines/web-crypto.js +39 -84
- package/dist/crypto/engines/web-crypto.js.map +1 -1
- package/dist/crypto/index.js +3 -32
- package/dist/crypto/index.js.map +1 -1
- package/dist/crypto/isolation/adapters/binance.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/binance.js +12 -51
- package/dist/crypto/isolation/adapters/binance.js.map +1 -1
- package/dist/crypto/isolation/adapters/bip32.d.ts +2 -9
- package/dist/crypto/isolation/adapters/bip32.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/bip32.js +65 -108
- package/dist/crypto/isolation/adapters/bip32.js.map +1 -1
- package/dist/crypto/isolation/adapters/bitcoin.d.ts +4 -13
- package/dist/crypto/isolation/adapters/bitcoin.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/bitcoin.js +41 -84
- package/dist/crypto/isolation/adapters/bitcoin.js.map +1 -1
- package/dist/crypto/isolation/adapters/cosmos.d.ts +0 -1
- package/dist/crypto/isolation/adapters/cosmos.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/cosmos.js +9 -24
- package/dist/crypto/isolation/adapters/cosmos.js.map +1 -1
- package/dist/crypto/isolation/adapters/cosmosDirect.js +35 -77
- package/dist/crypto/isolation/adapters/cosmosDirect.js.map +1 -1
- package/dist/crypto/isolation/adapters/ethereum.js +49 -90
- package/dist/crypto/isolation/adapters/ethereum.js.map +1 -1
- package/dist/crypto/isolation/adapters/fio.d.ts +0 -1
- package/dist/crypto/isolation/adapters/fio.d.ts.map +1 -1
- package/dist/crypto/isolation/adapters/fio.js +24 -67
- package/dist/crypto/isolation/adapters/fio.js.map +1 -1
- package/dist/crypto/isolation/adapters/index.js +7 -20
- package/dist/crypto/isolation/adapters/index.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/index.js +22 -51
- package/dist/crypto/isolation/core/bip32/index.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/interfaces.js +2 -29
- package/dist/crypto/isolation/core/bip32/interfaces.js.map +1 -1
- package/dist/crypto/isolation/core/bip32/types.d.ts +2 -2
- package/dist/crypto/isolation/core/bip32/types.js +5 -8
- package/dist/crypto/isolation/core/bip32/types.js.map +1 -1
- package/dist/crypto/isolation/core/bip39/index.js +1 -17
- package/dist/crypto/isolation/core/bip39/index.js.map +1 -1
- package/dist/crypto/isolation/core/bip39/interfaces.js +1 -2
- package/dist/crypto/isolation/core/digest/algorithms.d.ts.map +1 -1
- package/dist/crypto/isolation/core/digest/algorithms.js +17 -26
- package/dist/crypto/isolation/core/digest/algorithms.js.map +1 -1
- package/dist/crypto/isolation/core/digest/index.js +2 -18
- package/dist/crypto/isolation/core/digest/index.js.map +1 -1
- package/dist/crypto/isolation/core/digest/types.d.ts +20 -20
- package/dist/crypto/isolation/core/digest/types.d.ts.map +1 -1
- package/dist/crypto/isolation/core/digest/types.js +23 -26
- package/dist/crypto/isolation/core/digest/types.js.map +1 -1
- package/dist/crypto/isolation/core/index.js +5 -32
- package/dist/crypto/isolation/core/index.js.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/index.js +2 -18
- package/dist/crypto/isolation/core/secp256k1/index.js.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/interfaces.js +1 -2
- package/dist/crypto/isolation/core/secp256k1/types.d.ts +81 -81
- package/dist/crypto/isolation/core/secp256k1/types.d.ts.map +1 -1
- package/dist/crypto/isolation/core/secp256k1/types.js +119 -157
- package/dist/crypto/isolation/core/secp256k1/types.js.map +1 -1
- package/dist/crypto/isolation/engines/default/bip32.d.ts +0 -1
- package/dist/crypto/isolation/engines/default/bip32.d.ts.map +1 -1
- package/dist/crypto/isolation/engines/default/bip32.js +102 -176
- package/dist/crypto/isolation/engines/default/bip32.js.map +1 -1
- package/dist/crypto/isolation/engines/default/bip39.js +24 -68
- package/dist/crypto/isolation/engines/default/bip39.js.map +1 -1
- package/dist/crypto/isolation/engines/default/index.js +3 -32
- package/dist/crypto/isolation/engines/default/index.js.map +1 -1
- package/dist/crypto/isolation/engines/default/revocable.d.ts +1 -1
- package/dist/crypto/isolation/engines/default/revocable.d.ts.map +1 -1
- package/dist/crypto/isolation/engines/default/revocable.js +30 -51
- package/dist/crypto/isolation/engines/default/revocable.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/bip32.js +63 -121
- package/dist/crypto/isolation/engines/dummy/bip32.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/bip39.js +55 -97
- package/dist/crypto/isolation/engines/dummy/bip39.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/index.js +3 -30
- package/dist/crypto/isolation/engines/dummy/index.js.map +1 -1
- package/dist/crypto/isolation/engines/dummy/types.js +1 -5
- package/dist/crypto/isolation/engines/dummy/types.js.map +1 -1
- package/dist/crypto/isolation/engines/index.js +2 -28
- package/dist/crypto/isolation/engines/index.js.map +1 -1
- package/dist/crypto/isolation/index.js +3 -29
- package/dist/crypto/isolation/index.js.map +1 -1
- package/dist/crypto/isolation/types.d.ts +1 -2
- package/dist/crypto/isolation/types.d.ts.map +1 -1
- package/dist/crypto/isolation/types.js +43 -49
- package/dist/crypto/isolation/types.js.map +1 -1
- package/dist/crypto/utils.js +7 -14
- package/dist/crypto/utils.js.map +1 -1
- package/dist/ethereum.d.ts +1 -1
- package/dist/ethereum.d.ts.map +1 -1
- package/dist/ethereum.js +92 -161
- package/dist/ethereum.js.map +1 -1
- package/dist/fio.d.ts +3 -3
- package/dist/fio.d.ts.map +1 -1
- package/dist/fio.js +204 -283
- package/dist/fio.js.map +1 -1
- package/dist/index.js +3 -32
- package/dist/index.js.map +1 -1
- package/dist/kava.d.ts +1 -1
- package/dist/kava.d.ts.map +1 -1
- package/dist/kava.js +50 -120
- package/dist/kava.js.map +1 -1
- package/dist/native.d.ts +40 -41
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +176 -304
- package/dist/native.js.map +1 -1
- package/dist/networks.js +16 -34
- package/dist/networks.js.map +1 -1
- package/dist/osmosis.d.ts +1 -1
- package/dist/osmosis.d.ts.map +1 -1
- package/dist/osmosis.js +54 -124
- package/dist/osmosis.js.map +1 -1
- package/dist/secret.d.ts +1 -1
- package/dist/secret.d.ts.map +1 -1
- package/dist/secret.js +50 -120
- package/dist/secret.js.map +1 -1
- package/dist/terra.d.ts +1 -1
- package/dist/terra.d.ts.map +1 -1
- package/dist/terra.js +50 -120
- package/dist/terra.js.map +1 -1
- package/dist/thorchain.d.ts +1 -1
- package/dist/thorchain.d.ts.map +1 -1
- package/dist/thorchain.js +54 -124
- package/dist/thorchain.js.map +1 -1
- package/dist/util.js +16 -55
- package/dist/util.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,203 +1,129 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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 {
|
|
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 {
|
|
59
9
|
}) {
|
|
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";
|
|
60
16
|
constructor(privateKey, chainCode, explicitPath) {
|
|
61
17
|
super();
|
|
62
|
-
_Node_privateKey.set(this, void 0);
|
|
63
|
-
_Node_publicKey.set(this, void 0);
|
|
64
18
|
// We avoid handing the private key to any non-platform code -- including our type-checking machinery.
|
|
65
19
|
if (privateKey.length !== 32)
|
|
66
20
|
throw new Error("bad private key length");
|
|
67
|
-
|
|
68
|
-
this.addRevoker(() =>
|
|
69
|
-
this.chainCode =
|
|
21
|
+
this.#privateKey = safeBufferFrom(privateKey);
|
|
22
|
+
this.addRevoker(() => this.#privateKey.fill(0));
|
|
23
|
+
this.chainCode = safeBufferFrom(checkType(BIP32.ChainCode, chainCode));
|
|
70
24
|
this.explicitPath = explicitPath;
|
|
71
25
|
}
|
|
72
|
-
static create(privateKey, chainCode, explicitPath) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
return (0, revocable_1.revocable)(obj, (x) => obj.addRevoker(x));
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
getPublicKey() {
|
|
79
|
-
var _a;
|
|
80
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
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
|
-
});
|
|
26
|
+
static async create(privateKey, chainCode, explicitPath) {
|
|
27
|
+
const obj = new Node(privateKey, chainCode, explicitPath);
|
|
28
|
+
return revocable(obj, (x) => obj.addRevoker(x));
|
|
89
29
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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
|
-
});
|
|
30
|
+
async getPublicKey() {
|
|
31
|
+
this.#publicKey =
|
|
32
|
+
this.#publicKey ?? checkType(SecP256K1.CompressedPoint, tinyecc.pointFromScalar(this.#privateKey, true));
|
|
33
|
+
return this.#publicKey;
|
|
103
34
|
}
|
|
104
|
-
|
|
105
|
-
return
|
|
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
|
-
});
|
|
35
|
+
async getChainCode() {
|
|
36
|
+
return this.chainCode;
|
|
117
37
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
serP.set(core_1.SecP256K1.CompressedPoint.from(yield this.getPublicKey()), 0);
|
|
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);
|
|
124
43
|
}
|
|
125
44
|
else {
|
|
126
|
-
|
|
45
|
+
return await this.ecdsaSignRecoverable(digestAlgorithm, msg, counter);
|
|
127
46
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
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;
|
|
139
81
|
}
|
|
140
|
-
ecdh(publicKey, digestAlgorithm) {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
return (0, types_1.checkType)((0, types_1.ByteArray)(32), yield this._ecdh(publicKey, digestAlgorithm));
|
|
145
|
-
});
|
|
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));
|
|
146
86
|
}
|
|
147
|
-
ecdhRaw(publicKey) {
|
|
148
|
-
return
|
|
149
|
-
return (0, types_1.checkType)(core_1.SecP256K1.UncompressedPoint, yield this._ecdh(publicKey, null));
|
|
150
|
-
});
|
|
87
|
+
async ecdhRaw(publicKey) {
|
|
88
|
+
return checkType(SecP256K1.UncompressedPoint, await this._ecdh(publicKey, null));
|
|
151
89
|
}
|
|
152
|
-
_ecdh(publicKey, digestAlgorithm) {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
return out;
|
|
163
|
-
});
|
|
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;
|
|
164
100
|
}
|
|
165
101
|
}
|
|
166
|
-
|
|
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 {
|
|
102
|
+
export class Seed extends Revocable(class {
|
|
171
103
|
}) {
|
|
104
|
+
#seed;
|
|
172
105
|
constructor(seed) {
|
|
173
106
|
super();
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
this.addRevoker(() => __classPrivateFieldGet(this, _Seed_seed, "f").fill(0));
|
|
107
|
+
this.#seed = safeBufferFrom(seed);
|
|
108
|
+
this.addRevoker(() => this.#seed.fill(0));
|
|
177
109
|
}
|
|
178
|
-
static create(seed) {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
return (0, revocable_1.revocable)(obj, (x) => obj.addRevoker(x));
|
|
182
|
-
});
|
|
110
|
+
static async create(seed) {
|
|
111
|
+
const obj = new Seed(seed);
|
|
112
|
+
return revocable(obj, (x) => obj.addRevoker(x));
|
|
183
113
|
}
|
|
184
|
-
toMasterKey(hmacKey) {
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
return out;
|
|
198
|
-
});
|
|
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;
|
|
199
127
|
}
|
|
200
128
|
}
|
|
201
|
-
exports.Seed = Seed;
|
|
202
|
-
_Seed_seed = new WeakMap();
|
|
203
129
|
//# sourceMappingURL=bip32.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bip32.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/bip32.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bip32.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/bip32.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,77 +1,33 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/// <reference types="bip32/types/crypto" />
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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 {
|
|
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 {
|
|
46
8
|
}) {
|
|
9
|
+
#mnemonic;
|
|
47
10
|
constructor(mnemonic) {
|
|
48
11
|
super();
|
|
49
|
-
|
|
50
|
-
__classPrivateFieldSet(this, _Mnemonic_mnemonic, mnemonic.normalize("NFKD"), "f");
|
|
12
|
+
this.#mnemonic = mnemonic.normalize("NFKD");
|
|
51
13
|
}
|
|
52
|
-
static create(mnemonic) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return (0, revocable_1.revocable)(obj, (x) => obj.addRevoker(x));
|
|
56
|
-
});
|
|
14
|
+
static async create(mnemonic) {
|
|
15
|
+
const obj = new Mnemonic(mnemonic);
|
|
16
|
+
return revocable(obj, (x) => obj.addRevoker(x));
|
|
57
17
|
}
|
|
58
|
-
toSeed(passphrase) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return out;
|
|
72
|
-
});
|
|
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;
|
|
73
31
|
}
|
|
74
32
|
}
|
|
75
|
-
exports.Mnemonic = Mnemonic;
|
|
76
|
-
_Mnemonic_mnemonic = new WeakMap();
|
|
77
33
|
//# sourceMappingURL=bip39.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bip39.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/bip39.ts"],"names":[],"mappings":"
|
|
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,33 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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);
|
|
1
|
+
export * as BIP32 from "./bip32";
|
|
2
|
+
export * as BIP39 from "./bip39";
|
|
3
|
+
export * from "./revocable";
|
|
33
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/index.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -4,7 +4,7 @@ export interface Revocable {
|
|
|
4
4
|
revoke(): void;
|
|
5
5
|
addRevoker(x: () => void): void;
|
|
6
6
|
}
|
|
7
|
-
export declare const Revocable: <T extends core.Constructor
|
|
7
|
+
export declare const Revocable: <T extends core.Constructor>(x: T) => {
|
|
8
8
|
new (...args: any[]): {
|
|
9
9
|
readonly "__#16@#revokers": Set<() => void>;
|
|
10
10
|
"__#16@#revoked": boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revocable.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/revocable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAoDrD,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"revocable.d.ts","sourceRoot":"","sources":["../../../../../src/crypto/isolation/engines/default/revocable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAoDrD,eAAO,MAAM,SAAS,GAAY,CAAC,SAAS,MAAM,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,IAAI,KAAK,IAAI,MAgChG,CAAC;AAEH,MAAM,WAAW,SAAS;IACxB,MAAM,IAAI,IAAI,CAAC;IACf,UAAU,CAAC,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CACjC;AAED,eAAO,MAAM,SAAS,GAAY,CAAC,SAAS,IAAI,CAAC,WAAW,KAAK,CAAC;;oCAIxC,GAAG,CAAC,MAAM,IAAI,CAAC;;;uCAeH,MAAM,IAAI;;KAe9C,CAAC"}
|