@wavesenterprise/generator-cli
Version:
Waves Enterprise transactions generator CLI
36 lines (35 loc) • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseConfig = void 0;
const parseConfig = (raw, options) => {
const config = JSON.parse(raw);
let { generator: { txsNumber } } = config;
if (!txsNumber || isNaN(txsNumber)) {
throw new Error('txsNumber is not a number');
}
if (Number(txsNumber) < 1) {
throw new Error('txsNumber must be greater than 0');
}
if (options.broadcast) {
if (!config.broadcast) {
throw new Error('No "broadcast" segment in config');
}
if (!config.broadcast.grpcAddresses || config.broadcast.grpcAddresses.length === 0) {
throw new Error('No grpcAddresses specified in config broadcast segment');
}
if (!config.broadcast.senderSeedPhrase) {
throw new Error('No senderSeedPhrase specified in config broadcast segment');
}
if (options.concurrency !== null && isNaN(Number(options.concurrency))) {
throw new Error('Invalid "concurrency" option: not a number');
}
}
return {
...config,
generator: {
...config.generator,
txsNumber: Number(txsNumber)
}
};
};
exports.parseConfig = parseConfig;