@ton-actions/tondev-contest
Version:
TON Dev Environment
154 lines • 4.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NetworkTool = exports.networkGiverCommand = exports.networkDefaultCommand = exports.networkDeleteCommand = exports.networkInfoCommand = exports.networkListCommand = exports.networkAddCommand = void 0;
const registry_1 = require("./registry");
const utils_1 = require("../../core/utils");
const forceArg = {
name: "force",
alias: "f",
type: "boolean",
title: "Overwrite key if already exists",
defaultValue: "false",
};
const nameArg = {
isArg: true,
name: "name",
type: "string",
title: "Network name",
};
exports.networkAddCommand = {
name: "add",
title: "Add net",
args: [
nameArg,
{
isArg: true,
name: "endpoints",
type: "string",
title: "Comma separated endpoints",
},
forceArg,
],
async run(_terminal, args) {
const endpoints = args.endpoints.split(",").filter(x => x !== "");
new registry_1.NetworkRegistry().add(args.name, "", endpoints, args.force);
},
};
exports.networkListCommand = {
name: "list",
alias: "l",
title: "Prints list of networks",
args: [],
async run(terminal, _args) {
const registry = new registry_1.NetworkRegistry();
const rows = [["Network", "Endpoints", "Giver", "Description"]];
registry.items.forEach((network) => {
const summary = registry.getNetworkSummary(network);
rows.push([
summary.name,
summary.endpoints,
summary.giver,
summary.description,
]);
});
const table = utils_1.formatTable(rows, { headerSeparator: true });
if (table.trim() !== "") {
terminal.log(table);
}
},
};
exports.networkInfoCommand = {
name: "info",
alias: "i",
title: "Prints network detailed information",
args: [
{
...nameArg,
defaultValue: "",
},
],
async run(terminal, args) {
if (args.name === "") {
return exports.networkListCommand.run(terminal, {});
}
const registry = new registry_1.NetworkRegistry();
const network = registry.get(args.name);
const rows = [["Network", network.name]];
rows.push(["Endpoints", network.endpoints.join(", ")]);
const giver = network.giver;
if (giver) {
rows.push(["Giver", registry_1.getGiverSummary(giver)]);
}
if (network.name === registry.default) {
rows.push(["Default", "true"]);
}
if (network.description) {
rows.push(["Description", network.description]);
}
terminal.log(utils_1.formatTable(rows));
},
};
exports.networkDeleteCommand = {
name: "delete",
title: "Delete network from registry",
args: [nameArg],
async run(_terminal, args) {
new registry_1.NetworkRegistry().delete(args.name);
},
};
exports.networkDefaultCommand = {
name: "default",
alias: "d",
title: "Set default network",
args: [nameArg],
async run(_terminal, args) {
new registry_1.NetworkRegistry().setDefault(args.name);
},
};
exports.networkGiverCommand = {
name: "giver",
alias: "g",
title: "Set giver for network",
args: [
nameArg,
{
isArg: true,
name: "address",
title: "Giver address",
type: "string",
defaultValue: "",
},
{
name: "signer",
alias: "s",
title: "Signer to be used with giver",
type: "string",
defaultValue: "",
},
{
name: "value",
alias: "v",
title: "Deploying account initial balance in nanotokens",
type: "string",
defaultValue: "",
},
],
async run(_terminal, args) {
const value = utils_1.parseNumber(args.value);
return new registry_1.NetworkRegistry().setGiver(args.name, args.address, args.signer, value);
},
};
exports.NetworkTool = {
name: "network",
alias: "n",
title: "Network Registry",
commands: [
exports.networkAddCommand,
exports.networkDeleteCommand,
exports.networkListCommand,
exports.networkInfoCommand,
exports.networkDefaultCommand,
exports.networkGiverCommand,
],
};
//# sourceMappingURL=index.js.map