@bcpros/crypto-wallet-core
Version:
A multi-currency support library for address derivation, private key creation, and transaction creation
43 lines • 2.05 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.XrpDeriver = void 0;
var xrpl_1 = require("xrpl");
var bitcore_lib_1 = __importDefault(require("@bcpros/bitcore-lib"));
var XrpDeriver = (function () {
function XrpDeriver() {
}
XrpDeriver.prototype.deriveAddress = function (network, xpubkey, addressIndex, isChange) {
var changeNum = isChange ? 1 : 0;
var path = "m/".concat(changeNum, "/").concat(addressIndex);
return this.deriveAddressWithPath(network, xpubkey, path);
};
XrpDeriver.prototype.derivePrivateKey = function (network, xPriv, addressIndex, isChange) {
var changeNum = isChange ? 1 : 0;
var path = "m/".concat(changeNum, "/").concat(addressIndex);
return this.derivePrivateKeyWithPath(network, xPriv, path);
};
XrpDeriver.prototype.deriveAddressWithPath = function (network, xpubKey, path) {
var xpub = new bitcore_lib_1.default.HDPublicKey(xpubKey, network);
var pubKey = xpub.derive(path).toObject().publicKey;
var address = (0, xrpl_1.deriveAddress)(pubKey);
return address;
};
XrpDeriver.prototype.derivePrivateKeyWithPath = function (network, xprivKey, path) {
var xpriv = new bitcore_lib_1.default.HDPrivateKey(xprivKey, network);
var derivedXPriv = xpriv.derive(path);
var privKey = derivedXPriv.toObject().privateKey.toUpperCase();
var pubKey = derivedXPriv.hdPublicKey.toObject().publicKey.toUpperCase();
var address = (0, xrpl_1.deriveAddress)(pubKey);
return { address: address, privKey: privKey, pubKey: pubKey, path: path };
};
XrpDeriver.prototype.getAddress = function (network, pubKey) {
var address = (0, xrpl_1.deriveAddress)(pubKey);
return address;
};
return XrpDeriver;
}());
exports.XrpDeriver = XrpDeriver;
//# sourceMappingURL=index.js.map