xud
Version:
Exchange Union Daemon
81 lines (80 loc) • 3.07 kB
JavaScript
;
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