@tronlink/core
Version:
The library serves as a core module within TronLink Extension, which provides low-level wallet functionality for both Tron and Ethereum networks, primary features includes account generation and transaction signing
26 lines • 1.03 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseWallet = void 0;
// @ts-ignore
const bip39_1 = __importDefault(require("bip39"));
const utils_1 = require("../utils");
const error_1 = require("./error");
class BaseWallet {
static generateRandomMnemonic() {
return bip39_1.default.generateMnemonic(128);
}
static validateMnemonic(mnemonic) {
return bip39_1.default.validateMnemonic(mnemonic);
}
derivePath(params = { accountIndex: 0, addressIndex: 0 }) {
if (!(0, utils_1.isPositiveInteger)(params.accountIndex) || !(0, utils_1.isPositiveInteger)(params.addressIndex)) {
throw new error_1.InvalidParameterError();
}
return `m/44'/${this.getCoinType()}'/${params.accountIndex}'/0/${params.addressIndex}`;
}
}
exports.BaseWallet = BaseWallet;
//# sourceMappingURL=wallet.js.map