UNPKG

thor-devkit

Version:

Typescript library to aid DApp development on VeChain Thor

36 lines 2.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mnemonic = void 0; const ethers_1 = require("ethers"); const crypto_1 = require("crypto"); const hdnode_1 = require("./hdnode"); var mnemonic; (function (mnemonic) { /** * generate BIP39 mnemonic words * @param rng the optional random number generator, which generates 16~32 (step 4) random bytes. * Every 4 bytes produce 3 words. */ function generate(rng) { rng = rng !== null && rng !== void 0 ? rng : (() => (0, crypto_1.randomBytes)(128 / 8)); return ethers_1.Mnemonic.fromEntropy(Uint8Array.from(rng())).phrase.split(' '); } mnemonic.generate = generate; /** * check if the given mnemonic words have valid checksum * @param words mnemonic words */ function validate(words) { return ethers_1.Mnemonic.isValidMnemonic(words.join(' ')); } mnemonic.validate = validate; /** * derive private key at index 0 from mnemonic words according to BIP32. * the derivation path is defined at https://github.com/satoshilabs/slips/blob/master/slip-0044.md */ function derivePrivateKey(words) { return hdnode_1.HDNode.fromMnemonic(words).derive(0).privateKey; } mnemonic.derivePrivateKey = derivePrivateKey; })(mnemonic || (exports.mnemonic = mnemonic = {})); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW5lbW9uaWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbW5lbW9uaWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQWlDO0FBQ2pDLG1DQUFvQztBQUNwQyxxQ0FBaUM7QUFFakMsSUFBaUIsUUFBUSxDQTBCeEI7QUExQkQsV0FBaUIsUUFBUTtJQUNyQjs7OztPQUlHO0lBQ0gsU0FBZ0IsUUFBUSxDQUFDLEdBQWtCO1FBQ3ZDLEdBQUcsR0FBRyxHQUFHLGFBQUgsR0FBRyxjQUFILEdBQUcsR0FBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUEsb0JBQVcsRUFBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN6QyxPQUFPLGlCQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDekUsQ0FBQztJQUhlLGlCQUFRLFdBR3ZCLENBQUE7SUFFRDs7O09BR0c7SUFDSCxTQUFnQixRQUFRLENBQUMsS0FBZTtRQUNwQyxPQUFPLGlCQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNwRCxDQUFDO0lBRmUsaUJBQVEsV0FFdkIsQ0FBQTtJQUVEOzs7T0FHRztJQUNILFNBQWdCLGdCQUFnQixDQUFDLEtBQWU7UUFDNUMsT0FBTyxlQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFXLENBQUE7SUFDM0QsQ0FBQztJQUZlLHlCQUFnQixtQkFFL0IsQ0FBQTtBQUNMLENBQUMsRUExQmdCLFFBQVEsd0JBQVIsUUFBUSxRQTBCeEIifQ==