UNPKG

thor-devkit

Version:

Typescript library to aid DApp development on VeChain Thor

33 lines 2.46 kB
import { Mnemonic } from 'ethers'; import { randomBytes } from 'crypto'; import { HDNode } from './hdnode'; export 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 : (() => randomBytes(128 / 8)); return 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 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.fromMnemonic(words).derive(0).privateKey; } mnemonic.derivePrivateKey = derivePrivateKey; })(mnemonic || (mnemonic = {})); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW5lbW9uaWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbW5lbW9uaWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFakMsTUFBTSxLQUFXLFFBQVEsQ0EwQnhCO0FBMUJELFdBQWlCLFFBQVE7SUFDckI7Ozs7T0FJRztJQUNILFNBQWdCLFFBQVEsQ0FBQyxHQUFrQjtRQUN2QyxHQUFHLEdBQUcsR0FBRyxhQUFILEdBQUcsY0FBSCxHQUFHLEdBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDekMsT0FBTyxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDekUsQ0FBQztJQUhlLGlCQUFRLFdBR3ZCLENBQUE7SUFFRDs7O09BR0c7SUFDSCxTQUFnQixRQUFRLENBQUMsS0FBZTtRQUNwQyxPQUFPLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ3BELENBQUM7SUFGZSxpQkFBUSxXQUV2QixDQUFBO0lBRUQ7OztPQUdHO0lBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsS0FBZTtRQUM1QyxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVcsQ0FBQTtJQUMzRCxDQUFDO0lBRmUseUJBQWdCLG1CQUUvQixDQUFBO0FBQ0wsQ0FBQyxFQTFCZ0IsUUFBUSxLQUFSLFFBQVEsUUEwQnhCIn0=