erc20-wizard
Version:
CLI for creating and deploying ERC20 tokens on Ethereum network.
24 lines (23 loc) • 1.02 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = __importDefault(require("path"));
const fs_1 = __importDefault(require("fs"));
const solc_1 = __importDefault(require("solc"));
class ContractTemplateService {
compileTemplate(tokenName) {
const template = this.loadTemplate();
const preparedtemplate = this.prepareForCompile(template, tokenName);
return solc_1.default.compile(preparedtemplate).contracts[`:${tokenName}`];
}
loadTemplate() {
const contractPath = path_1.default.resolve(__dirname, '../contracts', 'Erc20TokenTemplate.sol');
return fs_1.default.readFileSync(contractPath, 'utf8');
}
prepareForCompile(template, tokenName) {
return template.replace('Erc20TokenNamePlaceholder', tokenName);
}
}
exports.ContractTemplateService = ContractTemplateService;