@conflux-dev/hdwallet
Version:
TypeScript Conflux Software Development Kit
34 lines (33 loc) • 1.23 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.HDWallet = void 0;
const hdkey_1 = __importDefault(require("hdkey"));
const bip39_1 = require("bip39");
class HDWallet {
constructor(mnemonic, password) {
this.mnemonic = mnemonic;
this.password = password;
this.seed = (0, bip39_1.mnemonicToSeedSync)(mnemonic, password);
this.rootNode = hdkey_1.default.fromMasterSeed(this.seed);
}
static generateMnemonic() {
return (0, bip39_1.generateMnemonic)();
}
static validateMnemonic(mnemonic, wordlist) {
return (0, bip39_1.validateMnemonic)(mnemonic, wordlist);
}
static mnemonicToSeed(mnemonic, password) {
return (0, bip39_1.mnemonicToSeed)(mnemonic, password);
}
getPrivateKey(path) {
return this.rootNode.derive(path).privateKey;
}
getPrivateKeyByIndex(index) {
return this.getPrivateKey(`${HDWallet.defaultBasePath}/${index}`);
}
}
exports.HDWallet = HDWallet;
HDWallet.defaultBasePath = "m/44'/503'/0'/0"; // default Conflux path-503