UNPKG

@kba-tools/genesis-tool

Version:

A forked repo from ConsenSys which helps to generate genesis block for Besu Network with xemptyBlockPeriod field.

134 lines 10.7 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getYesNoValidator = getYesNoValidator; exports.integerValidator = integerValidator; exports.stringValidator = stringValidator; exports.passwordValidator = passwordValidator; exports.allocStringValidator = allocStringValidator; const chalk_1 = __importDefault(require("chalk")); function getYesNoValidator(question, nextQuestion, defaultResponse) { return (rawInput, answers) => { const normalizedInput = rawInput.toLowerCase(); if (defaultResponse && !normalizedInput) { answers[question.name] = defaultResponse === "y"; return nextQuestion; } else if (normalizedInput === "y" || normalizedInput === "n") { answers[question.name] = normalizedInput === "y"; return nextQuestion; } else { console.log(chalk_1.default.red("Sorry, but I didn't understand your answer. Please select Y or N,\n" + "or just hit enter if you want the default.\n")); return question; } }; } function integerValidator(question, nextQuestion, defaultResponse) { return (rawInput, answers) => { const normalizedInput = parseInt(rawInput, 10); if (defaultResponse && isNaN(normalizedInput)) { answers[question.name] = defaultResponse; return nextQuestion; } else if (normalizedInput < 0 || isNaN(normalizedInput)) { console.log(chalk_1.default.red("Sorry, but I didn't understand your answer. Please enter a valid integer.\n")); return question; } else { answers[question.name] = normalizedInput; return nextQuestion; } }; } function stringValidator(question, nextQuestion, defaultResponse) { return (rawInput, answers) => { const normalizedInput = rawInput.toLowerCase(); if (defaultResponse && normalizedInput === "") { answers[question.name] = defaultResponse; return nextQuestion; } else if (typeof normalizedInput === "string" && normalizedInput !== "") { answers[question.name] = normalizedInput; return nextQuestion; } else { console.log(chalk_1.default.red("Sorry, but I didn't understand your answer. Please enter a valid string,\n" + "or just hit enter default is available.\n")); return question; } }; } function passwordValidator(question, nextQuestion) { return (rawInput, answers) => { const normalizedInput = rawInput.toString(); if (normalizedInput === "") { answers[question.name] = normalizedInput; return nextQuestion; } else if (typeof normalizedInput === "string" && normalizedInput !== "") { answers[question.name] = normalizedInput; return nextQuestion; } else { console.log(chalk_1.default.red("Sorry, but I didn't understand your answer. Please enter a valid string,\n" + "or just hit enter default is available.\n")); return question; } }; } const allocJsonChecks = (jsonAlloc) => { try { const parsedJSON = JSON.parse(jsonAlloc); if (Object.keys(parsedJSON).length === 0) { return { status: false, message: "alloc must have at least one address" }; } for (const [key, value] of Object.entries(parsedJSON)) { if (typeof key !== "string") { return { status: false, message: "Account key must be a string", }; } if (typeof value.balance !== "string") { return { status: false, message: "Account's balance must be a string", }; } } return { status: true, message: "Alloc is valid" }; } catch (e) { return { status: false, message: "alloc must be a valid json object" }; } }; function allocStringValidator(question, nextQuestion, defaultResponse) { return (rawInput, answers) => { const normalizedInput = rawInput.toLowerCase(); if (defaultResponse && normalizedInput === "") { answers[question.name] = defaultResponse; return nextQuestion; } else if (typeof normalizedInput === "string" && normalizedInput !== "") { const additionalChecks = allocJsonChecks(normalizedInput); if (additionalChecks.status) { answers[question.name] = normalizedInput; return nextQuestion; } else { console.log(chalk_1.default.red(additionalChecks.message)); return question; } } else { console.log(chalk_1.default.red("Sorry, but I didn't understand your answer. Please enter a valid string,\n" + "or just hit enter default is available.\n")); return question; } }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXN0aW9ucy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSw4Q0F1QkM7QUFFRCw0Q0FzQkM7QUFFRCwwQ0F1QkM7QUFFRCw4Q0FzQkM7QUE0QkQsb0RBOEJDO0FBNUpELGtEQUEwQjtBQUUxQixTQUFnQixpQkFBaUIsQ0FDL0IsUUFBc0IsRUFDdEIsWUFBMkIsRUFDM0IsZUFBMkI7SUFFM0IsT0FBTyxDQUFDLFFBQWdCLEVBQUUsT0FBa0IsRUFBRSxFQUFFO1FBQzlDLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMvQyxJQUFJLGVBQWUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsZUFBZSxLQUFLLEdBQUcsQ0FBQztZQUNqRCxPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDO2FBQU0sSUFBSSxlQUFlLEtBQUssR0FBRyxJQUFJLGVBQWUsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUM5RCxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLGVBQWUsS0FBSyxHQUFHLENBQUM7WUFDakQsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsR0FBRyxDQUNULGVBQUssQ0FBQyxHQUFHLENBQ1AscUVBQXFFO2dCQUNuRSw4Q0FBOEMsQ0FDakQsQ0FDRixDQUFDO1lBQ0YsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FDOUIsUUFBc0IsRUFDdEIsWUFBMkIsRUFDM0IsZUFBd0I7SUFFeEIsT0FBTyxDQUFDLFFBQWdCLEVBQUUsT0FBa0IsRUFBRSxFQUFFO1FBQzlDLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxRQUFR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