UNPKG

crypto-wallet-core

Version:

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

40 lines 1.76 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; const xrpl_1 = require("xrpl"); const bitcore_lib_1 = __importDefault(require("bitcore-lib")); class XrpDeriver { deriveAddress(network, xpubkey, addressIndex, isChange) { const changeNum = isChange ? 1 : 0; const path = `m/${changeNum}/${addressIndex}`; return this.deriveAddressWithPath(network, xpubkey, path); } derivePrivateKey(network, xPriv, addressIndex, isChange) { const changeNum = isChange ? 1 : 0; const path = `m/${changeNum}/${addressIndex}`; return this.derivePrivateKeyWithPath(network, xPriv, path); } deriveAddressWithPath(network, xpubKey, path) { const xpub = new bitcore_lib_1.default.HDPublicKey(xpubKey, network); const pubKey = xpub.derive(path).toObject().publicKey; const address = (0, xrpl_1.deriveAddress)(pubKey); return address; } derivePrivateKeyWithPath(network, xprivKey, path) { const xpriv = new bitcore_lib_1.default.HDPrivateKey(xprivKey, network); const derivedXPriv = xpriv.derive(path); const privKey = derivedXPriv.toObject().privateKey.toUpperCase(); const pubKey = derivedXPriv.hdPublicKey.toObject().publicKey.toUpperCase(); const address = (0, xrpl_1.deriveAddress)(pubKey); return { address, privKey, pubKey, path }; } getAddress(network, pubKey) { const address = (0, xrpl_1.deriveAddress)(pubKey); return address; } } exports.XrpDeriver = XrpDeriver; //# sourceMappingURL=index.js.map