UNPKG

xud

Version:
72 lines 5.08 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 command_1 = require("../command"); const cli_table3_1 = __importDefault(require("cli-table3")); const safe_1 = __importDefault(require("colors/safe")); const xudrpc_pb_1 = require("../../proto/xudrpc_pb"); const displayLndInfo = (asset, info) => { const basicInfotable = new cli_table3_1.default(); basicInfotable.push({ [safe_1.default.blue('Status')]: info.status }); const address = info.urisList[0] ? `${info.urisList[0].substring(0, info.urisList[0].indexOf('@'))} ${info.urisList[0].substring(info.urisList[0].indexOf('@'))}` : ''; const pendingChannelText = info.channels && info.channels['pending'] > 0 ? ` | Pending: ${info.channels['pending']}` : ''; const closedChannelText = info.channels && info.channels['closed'] > 0 ? ` | Closed: ${info.channels['closed']}` : ''; const inactiveChannelText = info.channels && info.channels['inactive'] > 0 ? ` | Inactive: ${info.channels['inactive']}` : ''; basicInfotable.push({ [safe_1.default.blue('Version')]: info.version || '' }, { [safe_1.default.blue('Address')]: address }, { [safe_1.default.blue('Alias')]: info.alias || '' }, { [safe_1.default.blue('Channels')]: `Active: ${info.channels ? info.channels['active'] : 0}${inactiveChannelText}${pendingChannelText}${closedChannelText}` }, { [safe_1.default.blue('Network')]: info.chainsList && info.chainsList.length > 0 ? `${info.chainsList[0].chain} ${info.chainsList[0].network}` : '' }); console.log(safe_1.default.underline(safe_1.default.bold(`\nLND-${asset} Info:`))); console.log(basicInfotable.toString(), '\n'); }; const determineXudStatus = (numPeers, lndMap) => { let status = ''; if (numPeers === 0) { status = 'Not connected to any peers'; status += '\n'; } lndMap.forEach((asset) => { if (asset[1].status !== 'Ready') { status += `LND-${asset[0]}: ${asset[1].status}`; status += '\n'; } }); return status.substring(0, status.length - 1) || 'Ready'; }; const displayGeneral = (info) => { const table = new cli_table3_1.default(); const address = info.urisList[0] ? `${info.urisList[0].substring(0, info.urisList[0].indexOf('@'))} ${info.urisList[0].substring(info.urisList[0].indexOf('@'))}` : ''; table.push({ [safe_1.default.blue('Status')]: determineXudStatus(info.numPeers, info.lndMap) }, { [safe_1.default.blue('Alias')]: info.alias }, { [safe_1.default.blue('Node Key')]: info.nodePubKey }, { [safe_1.default.blue('Address')]: address }, { [safe_1.default.blue('Network')]: info.network }, { [safe_1.default.blue('Version')]: info.version }, { [safe_1.default.blue('Peers')]: info.numPeers }, { [safe_1.default.blue('Pairs')]: info.numPairs }, { [safe_1.default.blue('Own orders')]: info.orders ? info.orders.own : '0' }, { [safe_1.default.blue('Peer orders')]: info.orders ? info.orders.peer : '0' }, { [safe_1.default.blue('Pending swaps')]: info.pendingSwapHashesList ? JSON.stringify(info.pendingSwapHashesList, undefined, 1) : '' }); console.log(safe_1.default.underline(safe_1.default.bold('\nGeneral XUD Info'))); console.log(table.toString(), '\n'); }; const displayConnext = (info) => { const table = new cli_table3_1.default(); table.push({ [safe_1.default.blue('Status')]: info.status }, { [safe_1.default.blue('Version')]: info.version }, { [safe_1.default.blue('Address')]: info.address }, { [safe_1.default.blue('Network')]: info.chain }); console.log(safe_1.default.underline(safe_1.default.bold('\nConnext info:'))); console.log(table.toString(), '\n'); }; const displayGetInfo = (response) => { displayGeneral(response); if (response.connext) { displayConnext(response.connext); } response.lndMap.forEach(asset => displayLndInfo(asset[0], asset[1])); }; exports.command = 'getinfo'; exports.describe = 'get general info from the local xud node'; exports.handler = (argv) => __awaiter(void 0, void 0, void 0, function* () { (yield command_1.loadXudClient(argv)).getInfo(new xudrpc_pb_1.GetInfoRequest(), command_1.callback(argv, displayGetInfo)); }); //# sourceMappingURL=getinfo.js.map