UNPKG

xud

Version:
75 lines 3.46 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.builder = exports.describe = exports.command = void 0; const readline_1 = __importDefault(require("readline")); const xudrpc_pb_1 = require("../../proto/xudrpc_pb"); const command_1 = require("../command"); const utils_1 = require("../utils"); exports.command = 'create'; exports.describe = 'create a new xud instance and set a password'; exports.builder = {}; const formatOutput = (response) => { const { seedMnemonicList } = response; utils_1.showSeed(seedMnemonicList); let walletInitializedMessage = 'The following wallets were initialized: '; if (response.initializedLndsList.length) { walletInitializedMessage += response.initializedLndsList.join(', ') + (response.initializedConnext ? ', ETH' : ''); } else if (response.initializedConnext) { walletInitializedMessage += 'ETH'; } console.log(walletInitializedMessage); }; exports.handler = (argv) => { const rl = readline_1.default.createInterface({ input: process.stdin, terminal: true, }); console.log(`\ You are creating an xud node key and underlying wallets. All will be secured by \ a single password provided below. `); process.stdout.write('Enter a password: '); rl.question('', (password1) => { process.stdout.write('\nRe-enter password: '); rl.question('', (password2) => __awaiter(void 0, void 0, void 0, function* () { process.stdout.write('\n\n'); rl.close(); if (password1 === password2) { const request = new xudrpc_pb_1.CreateNodeRequest(); request.setPassword(password1); const certPath = argv.tlscertpath ? argv.tlscertpath : utils_1.getDefaultCertPath(); try { yield utils_1.waitForCert(certPath); } catch (err) { console.error(err); process.exitCode = 1; return; } const client = yield command_1.loadXudInitClient(argv); // wait up to 3 seconds for rpc server to listen before call in case xud was just started client.waitForReady(Date.now() + 3000, () => { client.createNode(request, command_1.callback(argv, formatOutput)); }); } else { process.exitCode = 1; console.error('Passwords do not match, please try again'); } })); }); }; //# sourceMappingURL=create.js.map