erc20-wizard
Version:
CLI for creating and deploying ERC20 tokens on Ethereum network.
66 lines (65 loc) • 2.79 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const safe_1 = __importDefault(require("colors/safe"));
const helpers_1 = require("../helpers");
exports.errorMessageTemplate = helpers_1.errorMessageTemplate;
const cliPromptOptions = [
{
description: safe_1.default.magenta('Please enter your private key. This will be used to sign contract transaction.'),
name: 'privateKey',
required: true,
hidden: true,
},
{
description: 'Token name',
name: 'tokenName',
pattern: /^[a-zA-Z ]+$/,
required: true,
},
{
description: 'Token symbol',
name: 'tokenSymbol',
pattern: /^[a-zA-Z]+$/,
required: true,
},
{
description: 'Token decimal places',
name: 'tokenDecimals',
pattern: /^[0-9]+$/,
required: true,
},
{
description: 'Token total supply',
name: 'tokenTotalSupply',
pattern: /^[0-9]+$/,
required: true,
},
];
exports.cliPromptOptions = cliPromptOptions;
const cliOptions = {
boolean: ['help'],
string: ['config', 'network'],
};
exports.cliOptions = cliOptions;
const cliMessages = {
welcome: '🧙 Welcome to Ethereum ERC20 token wizard! 🧙',
help: `
--help List commands
--config Show configured infuraProjectId
--config=infuraProjectId Configure wizard to use 'infuraProjectId' when connecting to infura API. Get it at https://infura.io/.
--main Start contract creation for Ethereum main network
--rinkeby Start contract creation for Ethereum rinkeby testnet
--ropsten Start contract creation for Ethereum ropsten testnet
`,
configureSuccess: '🚀 Sucessfully configured',
invalidProjectId: helpers_1.errorMessageTemplate('Invalid Infura project id'),
notConfigured: helpers_1.errorMessageTemplate('CLI is not configured yet. Use --config to setup your infura project id. Get your project id at https://infura.io/'),
deploying: '🔥 Deploying 🔥',
configDisplay: (projecId) => `⚙️ Configured project Id is '${projecId || 'none'}'. To change project Id use --config=yourProjectId`,
deploymentError: (tokenName, account, error) => helpers_1.errorMessageTemplate(`Error deploying ${tokenName} from ${account}. ${error}`),
deploymentSuccess: (tokenName, account, contractAddress) => safe_1.default.green(`✅ ${tokenName} successfuly deployed from ${account} to ${contractAddress}`),
};
exports.cliMessages = cliMessages;