PHP WebShell

Текущая директория: /opt/BitGoJS/modules/sdk-core/dist/src/bitgo/lightning

Просмотр файла: lightningWalletUtil.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getLightningAuthKey = getLightningAuthKey;
/**
 * Get the lightning auth key for the given purpose
 */
async function getLightningAuthKey(wallet, purpose) {
    if (wallet.baseCoin.getFamily() !== 'lnbtc') {
        throw new Error(`Invalid lightning coin family: ${wallet.baseCoin.getFamily()}`);
    }
    const authKeyIds = wallet.coinSpecific()?.keys;
    if (authKeyIds?.length !== 2) {
        throw new Error(`Invalid number of auth keys in lightning wallet: ${authKeyIds?.length}`);
    }
    const keychains = await Promise.all(authKeyIds.map((id) => wallet.baseCoin.keychains().get({ id })));
    const userAuthKeychain = keychains.find((v) => {
        const coinSpecific = v?.coinSpecific?.[wallet.baseCoin.getChain()];
        return (coinSpecific && typeof coinSpecific === 'object' && 'purpose' in coinSpecific && coinSpecific.purpose === purpose);
    });
    if (userAuthKeychain?.encryptedPrv) {
        return userAuthKeychain;
    }
    throw new Error(`Missing lightning ${purpose} keychain with encrypted private key`);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nV2FsbGV0VXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9saWdodG5pbmcvbGlnaHRuaW5nV2FsbGV0VXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU1BLGtEQXNCQztBQXpCRDs7R0FFRztBQUNJLEtBQUssVUFBVSxtQkFBbUIsQ0FDdkMsTUFBYyxFQUNkLE9BQWdDO0lBRWhDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUM1QyxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBQ0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxFQUFFLElBQUksQ0FBQztJQUMvQyxJQUFJLFVBQVUsRUFBRSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUNELE1BQU0sU0FBUyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQzVDLE1BQU0sWUFBWSxHQUFHLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDbkUsT0FBTyxDQUNMLFlBQVksSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRLElBQUksU0FBUyxJQUFJLFlBQVksSUFBSSxZQUFZLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FDbEgsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsQ0FBQztRQUNuQyxPQUFPLGdCQUE0QyxDQUFDO0lBQ3RELENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixPQUFPLHNDQUFzQyxDQUFDLENBQUM7QUFDdEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdhbGxldCB9IGZyb20gJy4uL3dhbGxldCc7XG5pbXBvcnQgeyBLZXljaGFpbldpdGhFbmNyeXB0ZWRQcnYgfSBmcm9tICcuLi9rZXljaGFpbic7XG5cbi8qKlxuICogR2V0IHRoZSBsaWdodG5pbmcgYXV0aCBrZXkgZm9yIHRoZSBnaXZlbiBwdXJwb3NlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRMaWdodG5pbmdBdXRoS2V5KFxuICB3YWxsZXQ6IFdhbGxldCxcbiAgcHVycG9zZTogJ3VzZXJBdXRoJyB8ICdub2RlQXV0aCdcbik6IFByb21pc2U8S2V5Y2hhaW5XaXRoRW5jcnlwdGVkUHJ2PiB7XG4gIGlmICh3YWxsZXQuYmFzZUNvaW4uZ2V0RmFtaWx5KCkgIT09ICdsbmJ0YycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbGlnaHRuaW5nIGNvaW4gZmFtaWx5OiAke3dhbGxldC5iYXNlQ29pbi5nZXRGYW1pbHkoKX1gKTtcbiAgfVxuICBjb25zdCBhdXRoS2V5SWRzID0gd2FsbGV0LmNvaW5TcGVjaWZpYygpPy5rZXlzO1xuICBpZiAoYXV0aEtleUlkcz8ubGVuZ3RoICE9PSAyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG51bWJlciBvZiBhdXRoIGtleXMgaW4gbGlnaHRuaW5nIHdhbGxldDogJHthdXRoS2V5SWRzPy5sZW5ndGh9YCk7XG4gIH1cbiAgY29uc3Qga2V5Y2hhaW5zID0gYXdhaXQgUHJvbWlzZS5hbGwoYXV0aEtleUlkcy5tYXAoKGlkKSA9PiB3YWxsZXQuYmFzZUNvaW4ua2V5Y2hhaW5zKCkuZ2V0KHsgaWQgfSkpKTtcbiAgY29uc3QgdXNlckF1dGhLZXljaGFpbiA9IGtleWNoYWlucy5maW5kKCh2KSA9PiB7XG4gICAgY29uc3QgY29pblNwZWNpZmljID0gdj8uY29pblNwZWNpZmljPy5bd2FsbGV0LmJhc2VDb2luLmdldENoYWluKCldO1xuICAgIHJldHVybiAoXG4gICAgICBjb2luU3BlY2lmaWMgJiYgdHlwZW9mIGNvaW5TcGVjaWZpYyA9PT0gJ29iamVjdCcgJiYgJ3B1cnBvc2UnIGluIGNvaW5TcGVjaWZpYyAmJiBjb2luU3BlY2lmaWMucHVycG9zZSA9PT0gcHVycG9zZVxuICAgICk7XG4gIH0pO1xuICBpZiAodXNlckF1dGhLZXljaGFpbj8uZW5jcnlwdGVkUHJ2KSB7XG4gICAgcmV0dXJuIHVzZXJBdXRoS2V5Y2hhaW4gYXMgS2V5Y2hhaW5XaXRoRW5jcnlwdGVkUHJ2O1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyBsaWdodG5pbmcgJHtwdXJwb3NlfSBrZXljaGFpbiB3aXRoIGVuY3J5cHRlZCBwcml2YXRlIGtleWApO1xufVxuIl19

Выполнить команду


Для локальной разработки. Не используйте в интернете!