xud
Version:
Exchange Union Daemon
72 lines • 5.08 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 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