UNPKG

xud

Version:
81 lines (80 loc) 3.07 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.handler = exports.describe = exports.command = void 0; const cli_table3_1 = __importDefault(require("cli-table3")); const safe_1 = __importDefault(require("colors/safe")); const xudrpc_pb_1 = require("../../proto/xudrpc_pb"); const command_1 = require("../command"); const utils_1 = require("../utils"); const HEADERS = [ 'Peer', 'Pairs', 'Details', ]; const createTable = () => { const table = new cli_table3_1.default({ head: utils_1.generateHeaders(HEADERS), }); return table; }; const formatPairList = (pairs) => { let pairString = ''; pairs.forEach((pair) => { /* eslint disable-next-line */ pairString = `${pairString}${pairString ? '\n' : ''}${pair}`; }); return pairString; }; const formatLndPubKeys = (lndKeys) => { let str = ''; lndKeys.forEach((client) => { /* eslint disable-next-line */ str = `${str}${str ? '\n' : ''}${client[0]} lnd key: ${utils_1.shorten(client[1])}`; }); return str; }; const formatPeers = (peers) => { const formattedPeers = []; peers.peersList.forEach((peer) => { const address = `${peer.nodePubKey} @${peer.address}`; const details = [ `Alias: ${peer.alias} Address ([node_key]@[host]:[port]): ${address}`, formatPairList(peer.pairsList), `inbound: ${peer.inbound}\ \nversion: ${peer.xudVersion}\ \ntime connected: ${peer.secondsConnected.toString()} seconds\ \n${formatLndPubKeys(peer.lndPubKeysMap)}`, ]; formattedPeers.push(details); }); return formattedPeers; }; const displayTables = (peers) => { const table = createTable(); formatPeers(peers).forEach((peer) => { table.push(peer); }); console.log(safe_1.default.underline(safe_1.default.bold('\nPeers:'))); console.log(table.toString()); }; exports.command = 'listpeers'; exports.describe = 'list connected peers'; exports.handler = (argv) => __awaiter(void 0, void 0, void 0, function* () { (yield command_1.loadXudClient(argv)).listPeers(new xudrpc_pb_1.ListPeersRequest(), command_1.callback(argv, displayTables)); }); //# sourceMappingURL=listpeers.js.map