@kba-tools/genesis-tool
Version:
A forked repo from ConsenSys which helps to generate genesis block for Besu Network with xemptyBlockPeriod field.
95 lines • 12.3 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports._chainIDQuestion = void 0;
const common_1 = require("./common");
const commonQs = __importStar(require("./commonQs"));
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
const _outputPathQuestion = Object.assign({}, commonQs.outputPathQuestion);
_outputPathQuestion.transformerValidator = (0, common_1.stringValidator)(_outputPathQuestion, undefined, "./output");
const _prefundedAccountsQuestion = Object.assign({}, commonQs.prefundedAccountsQuestion);
_prefundedAccountsQuestion.transformerValidator = (0, common_1.allocStringValidator)(_prefundedAccountsQuestion, _outputPathQuestion, "{}");
const _genesisNodeAllocationQuestion = Object.assign({}, commonQs.genesisNodeAllocationQuestion);
_genesisNodeAllocationQuestion.transformerValidator = (0, common_1.stringValidator)(_genesisNodeAllocationQuestion, _prefundedAccountsQuestion, "1000000000000000000000000000");
const _quickstartDevAccountsQuestion = Object.assign({}, commonQs.quickstartDevAccountsQuestion);
_quickstartDevAccountsQuestion.transformerValidator = (0, common_1.getYesNoValidator)(_quickstartDevAccountsQuestion, _genesisNodeAllocationQuestion, "n");
const _accountPasswordQuestion = Object.assign({}, commonQs.accountPasswordQuestion);
_accountPasswordQuestion.transformerValidator = (0, common_1.passwordValidator)(_accountPasswordQuestion, _quickstartDevAccountsQuestion);
// const _curveQuestion: QuestionTree = Object.assign({}, commonQs.curveQuestion);
// _curveQuestion.options = [
// { label: "secp256k1", value: CryptoCurve.k1, nextQuestion: _accountPasswordQuestion, default: true },
// { label: "secp256r1", value: CryptoCurve.r1, nextQuestion: _accountPasswordQuestion }
// ];
const _tesseraPasswordQuestion = Object.assign({}, commonQs.tesseraPasswordQuestion);
_tesseraPasswordQuestion.transformerValidator = (0, common_1.passwordValidator)(_tesseraPasswordQuestion, _accountPasswordQuestion);
const _tesseraEnabledQuestion = Object.assign({}, commonQs.tesseraEnabled);
_tesseraEnabledQuestion.transformerValidator = (0, common_1.getYesNoValidator)(_tesseraEnabledQuestion, _tesseraPasswordQuestion, "n");
const _membersQuestion = Object.assign({}, commonQs.membersQuestion);
_membersQuestion.transformerValidator = (0, common_1.integerValidator)(_membersQuestion, _tesseraEnabledQuestion, 1);
const _validatorsQuestion = Object.assign({}, commonQs.validatorsQuestion);
_validatorsQuestion.transformerValidator = (0, common_1.integerValidator)(_validatorsQuestion, _membersQuestion, 4);
const _bootnodesQuestion = Object.assign({}, commonQs.bootnodesQuestion);
_bootnodesQuestion.transformerValidator = (0, common_1.integerValidator)(_bootnodesQuestion, _validatorsQuestion, 2);
const _txnSizeLimitQuestion = Object.assign({}, commonQs.txnSizeLimitQuestion);
_txnSizeLimitQuestion.transformerValidator = (0, common_1.integerValidator)(_txnSizeLimitQuestion, _bootnodesQuestion, 64);
const _maxCodeSizeQuestion = Object.assign({}, commonQs.maxCodeSizeQuestion);
_maxCodeSizeQuestion.transformerValidator = (0, common_1.integerValidator)(_maxCodeSizeQuestion, _txnSizeLimitQuestion, 64);
const _coinbaseQuestion = Object.assign({}, commonQs.coinbaseQuestion);
_coinbaseQuestion.transformerValidator = (0, common_1.stringValidator)(_coinbaseQuestion, _maxCodeSizeQuestion, "0x0000000000000000000000000000000000000000");
const _gasLimitQuestion = Object.assign({}, commonQs.gasLimitQuestion);
_gasLimitQuestion.transformerValidator = (0, common_1.stringValidator)(_gasLimitQuestion, _coinbaseQuestion, "0xffff");
const _difficultyQuestion = Object.assign({}, commonQs.difficultyQuestion);
_difficultyQuestion.transformerValidator = (0, common_1.integerValidator)(_difficultyQuestion, _gasLimitQuestion, 1);
const _epochQuestion = Object.assign({}, commonQs.epochQuestion);
_epochQuestion.transformerValidator = (0, common_1.integerValidator)(_epochQuestion, _difficultyQuestion, 30000);
const _requestTimeoutQuestion = Object.assign({}, commonQs.requestTimeoutQuestion);
_requestTimeoutQuestion.transformerValidator = (0, common_1.integerValidator)(_requestTimeoutQuestion, _epochQuestion, 10);
const _emptyBlockPeriodQuestion = Object.assign({}, commonQs.emptyBlockPeriodQuestion);
_emptyBlockPeriodQuestion.transformerValidator = (0, common_1.integerValidator)(_emptyBlockPeriodQuestion, _requestTimeoutQuestion, 60);
const _xemptyBlockPeriodQuestion = Object.assign({}, commonQs.xemptyBlockPeriodQuestion);
_xemptyBlockPeriodQuestion.transformerValidator = (rawInput, answers) => {
const normalizedInput = rawInput.trim().toLowerCase();
// Default is "n"
const isYes = normalizedInput === "y";
answers[_xemptyBlockPeriodQuestion.name] = isYes;
if (normalizedInput === "" || normalizedInput === "n") {
// Skip emptyBlockPeriodQuestion if "n" or default
return _requestTimeoutQuestion; // or whatever the next question should be
}
else if (isYes) {
// Ask emptyBlockPeriodQuestion if "y"
return _emptyBlockPeriodQuestion;
}
else {
// Invalid input, ask again
console.log("Please answer y or n.");
return _xemptyBlockPeriodQuestion;
}
};
const _blockPeriodQuestion = Object.assign({}, commonQs.blockPeriodQuestion);
_blockPeriodQuestion.transformerValidator = (0, common_1.integerValidator)(_blockPeriodQuestion, _xemptyBlockPeriodQuestion, 5);
exports._chainIDQuestion = Object.assign({}, commonQs.chainIDQuestion);
exports._chainIDQuestion.transformerValidator = (0, common_1.integerValidator)(exports._chainIDQuestion, _blockPeriodQuestion, 1337);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWJmdFFzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXN0aW9ucy9xYmZ0UXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxxQ0FNa0I7QUFDbEIscURBQXVDO0FBRXZDLG1FQUFtRTtBQUNuRSxNQUFNLG1CQUFtQixHQUFpQixNQUFNLENBQUMsTUFBTSxDQUNyRCxFQUFFLEVBQ0YsUUFBUSxDQUFDLGtCQUFrQixDQUM1QixDQUFDO0FBQ0YsbUJBQW1CLENBQUMsb0JBQW9CLEdBQUcsSUFBQSx3QkFBZSxFQUN4RCxtQkFBbUIsRUFDbkIsU0FBUyxFQUNULFVBQVUsQ0FDWCxDQUFDO0FBRUYsTUFBTSwwQkFBMEIsR0FBaUIsTUFBTSxDQUFDLE1BQU0sQ0FDNUQsRUFBRSxFQUNGLFFBQVEsQ0FBQyx5QkFBeUIsQ0FDbkMsQ0FBQztBQUVGLDBCQUEwQixDQUFDLG9CQUFvQixHQUFHLElBQUEsNkJBQW9CLEVBQ3BFLDBCQUEwQixFQUMxQixtQkFBbUIsRUFDbkIsSUFBSSxDQUNMLENBQUM7QUFFRixNQUFNLDhCQUE4QixHQUFpQixNQUFNLENBQUMsTUFBTSxDQUNoRSxFQUFFLEVBQ0YsUUFBUSxDQUFDLDZCQUE2QixDQUN2QyxDQUFDO0FBQ0YsOEJBQThCLENBQUMsb0JBQW9CLEdBQUcsSUFBQSx3QkFBZSxFQUNuRSw4QkFBOEIsRUFDOUIsMEJBQTBCLEVBQzFCLDhCQUE4QixDQUMvQixDQUFDO0FBR0YsTUFBTSw4QkFBOEIsR0FBaUIsTUFBTSxDQUFDLE1BQU0sQ0FDaEUsRUFBRSxFQUNGLFFBQVEsQ0FBQyw2QkFBNkIsQ0FDdkMsQ0FBQztBQUNGLDhCQUE4QixDQUFDLG9CQUFvQixHQUFHLElBQUEsMEJBQWlCLEVBQ3JFLDhCQUE4QixFQUM5Qiw4QkFBOEIsRUFDOUIsR0FBRyxDQUNKLENBQUM7QUFFRixNQUFNLHdCQUF3QixHQUFpQixNQUFNLENBQUMsTUFBTSxDQUMx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