PHP WebShell

Текущая директория: /opt/BitGoJS/modules/express/dist/lightning

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

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getLightningSignerConfigs = getLightningSignerConfigs;
exports.getLightningSignerConfig = getLightningSignerConfig;
const fs_1 = require("fs");
const sdk_core_1 = require("@bitgo/sdk-core");
const codecs_1 = require("./codecs");
const config_1 = require("../config");
/**
 * Get the lightning signer configurations from the given file path
 */
async function getLightningSignerConfigs(path) {
    const configFile = await fs_1.promises.readFile(path, { encoding: 'utf8' });
    const configs = JSON.parse(configFile);
    const decoded = (0, sdk_core_1.decodeOrElse)(codecs_1.LightningSignerConfigs.name, codecs_1.LightningSignerConfigs, configs, (errors) => {
        throw new Error(`Invalid lightning signer config file: ${errors}`);
    });
    const lightningSignerConfigs = {};
    for (const [walletId, { url, tlsCert }] of Object.entries(decoded)) {
        const secureUrl = (0, config_1.forceSecureUrl)(url);
        lightningSignerConfigs[walletId] = { url: secureUrl, tlsCert };
    }
    return lightningSignerConfigs;
}
/**
 * Get the lightning signer configuration for the given walletId
 */
async function getLightningSignerConfig(walletId, config) {
    if (!config.lightningSignerFileSystemPath) {
        throw new Error('Missing required configuration: lightningSignerFileSystemPath');
    }
    const lightningSignerConfigs = await getLightningSignerConfigs(config.lightningSignerFileSystemPath);
    const lightningSignerConfig = lightningSignerConfigs[walletId];
    if (!lightningSignerConfig) {
        throw new Error(`Missing required configuration for walletId: ${walletId}`);
    }
    return lightningSignerConfig;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGlnaHRuaW5nL2xpZ2h0bmluZ1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUEsOERBWUM7QUFLRCw0REFhQztBQXRDRCwyQkFBb0M7QUFDcEMsOENBQStDO0FBQy9DLHFDQUF5RTtBQUN6RSxzQ0FBMkM7QUFFM0M7O0dBRUc7QUFDSSxLQUFLLFVBQVUseUJBQXlCLENBQUMsSUFBWTtJQUMxRCxNQUFNLFVBQVUsR0FBRyxNQUFNLGFBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDakUsTUFBTSxPQUFPLEdBQVksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoRCxNQUFNLE9BQU8sR0FBRyxJQUFBLHVCQUFZLEVBQUMsK0JBQXNCLENBQUMsSUFBSSxFQUFFLCtCQUFzQixFQUFFLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ3BHLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQyxDQUFDLENBQUM7SUFDSCxNQUFNLHNCQUFzQixHQUEyQixFQUFFLENBQUM7SUFDMUQsS0FBSyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ25FLE1BQU0sU0FBUyxHQUFHLElBQUEsdUJBQWMsRUFBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUNELE9BQU8sc0JBQXNCLENBQUM7QUFDaEMsQ0FBQztBQUVEOztHQUVHO0FBQ0ksS0FBSyxVQUFVLHdCQUF3QixDQUM1QyxRQUFnQixFQUNoQixNQUFrRDtJQUVsRCxJQUFJLENBQUMsTUFBTSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDMUMsTUFBTSxJQUFJLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFDRCxNQUFNLHNCQUFzQixHQUFHLE1BQU0seUJBQXlCLENBQUMsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDckcsTUFBTSxxQkFBcUIsR0FBRyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvRCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFDRCxPQUFPLHFCQUFxQixDQUFDO0FBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm9taXNlcyBhcyBmcyB9IGZyb20gJ2ZzJztcbmltcG9ydCB7IGRlY29kZU9yRWxzZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBMaWdodG5pbmdTaWduZXJDb25maWdzLCBMaWdodG5pbmdTaWduZXJDb25maWcgfSBmcm9tICcuL2NvZGVjcyc7XG5pbXBvcnQgeyBmb3JjZVNlY3VyZVVybCB9IGZyb20gJy4uL2NvbmZpZyc7XG5cbi8qKlxuICogR2V0IHRoZSBsaWdodG5pbmcgc2lnbmVyIGNvbmZpZ3VyYXRpb25zIGZyb20gdGhlIGdpdmVuIGZpbGUgcGF0aFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0TGlnaHRuaW5nU2lnbmVyQ29uZmlncyhwYXRoOiBzdHJpbmcpOiBQcm9taXNlPExpZ2h0bmluZ1NpZ25lckNvbmZpZ3M+IHtcbiAgY29uc3QgY29uZmlnRmlsZSA9IGF3YWl0IGZzLnJlYWRGaWxlKHBhdGgsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KTtcbiAgY29uc3QgY29uZmlnczogdW5rbm93biA9IEpTT04ucGFyc2UoY29uZmlnRmlsZSk7XG4gIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVPckVsc2UoTGlnaHRuaW5nU2lnbmVyQ29uZmlncy5uYW1lLCBMaWdodG5pbmdTaWduZXJDb25maWdzLCBjb25maWdzLCAoZXJyb3JzKSA9PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGxpZ2h0bmluZyBzaWduZXIgY29uZmlnIGZpbGU6ICR7ZXJyb3JzfWApO1xuICB9KTtcbiAgY29uc3QgbGlnaHRuaW5nU2lnbmVyQ29uZmlnczogTGlnaHRuaW5nU2lnbmVyQ29uZmlncyA9IHt9O1xuICBmb3IgKGNvbnN0IFt3YWxsZXRJZCwgeyB1cmwsIHRsc0NlcnQgfV0gb2YgT2JqZWN0LmVudHJpZXMoZGVjb2RlZCkpIHtcbiAgICBjb25zdCBzZWN1cmVVcmwgPSBmb3JjZVNlY3VyZVVybCh1cmwpO1xuICAgIGxpZ2h0bmluZ1NpZ25lckNvbmZpZ3Nbd2FsbGV0SWRdID0geyB1cmw6IHNlY3VyZVVybCwgdGxzQ2VydCB9O1xuICB9XG4gIHJldHVybiBsaWdodG5pbmdTaWduZXJDb25maWdzO1xufVxuXG4vKipcbiAqIEdldCB0aGUgbGlnaHRuaW5nIHNpZ25lciBjb25maWd1cmF0aW9uIGZvciB0aGUgZ2l2ZW4gd2FsbGV0SWRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldExpZ2h0bmluZ1NpZ25lckNvbmZpZyhcbiAgd2FsbGV0SWQ6IHN0cmluZyxcbiAgY29uZmlnOiB7IGxpZ2h0bmluZ1NpZ25lckZpbGVTeXN0ZW1QYXRoPzogc3RyaW5nIH1cbik6IFByb21pc2U8TGlnaHRuaW5nU2lnbmVyQ29uZmlnPiB7XG4gIGlmICghY29uZmlnLmxpZ2h0bmluZ1NpZ25lckZpbGVTeXN0ZW1QYXRoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHJlcXVpcmVkIGNvbmZpZ3VyYXRpb246IGxpZ2h0bmluZ1NpZ25lckZpbGVTeXN0ZW1QYXRoJyk7XG4gIH1cbiAgY29uc3QgbGlnaHRuaW5nU2lnbmVyQ29uZmlncyA9IGF3YWl0IGdldExpZ2h0bmluZ1NpZ25lckNvbmZpZ3MoY29uZmlnLmxpZ2h0bmluZ1NpZ25lckZpbGVTeXN0ZW1QYXRoKTtcbiAgY29uc3QgbGlnaHRuaW5nU2lnbmVyQ29uZmlnID0gbGlnaHRuaW5nU2lnbmVyQ29uZmlnc1t3YWxsZXRJZF07XG4gIGlmICghbGlnaHRuaW5nU2lnbmVyQ29uZmlnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIHJlcXVpcmVkIGNvbmZpZ3VyYXRpb24gZm9yIHdhbGxldElkOiAke3dhbGxldElkfWApO1xuICB9XG4gIHJldHVybiBsaWdodG5pbmdTaWduZXJDb25maWc7XG59XG4iXX0=

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


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