UNPKG

@bcpros/crypto-wallet-core

Version:

A multi-currency support library for address derivation, private key creation, and transaction creation

43 lines 2.05 kB
"use strict"; 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