erc20-wizard
Version:
CLI for creating and deploying ERC20 tokens on Ethereum network.
25 lines (21 loc) • 681 B
text/typescript
import path from 'path';
import fs from 'fs';
import solc from 'solc';
export class ContractTemplateService {
compileTemplate(tokenName: string) {
const template = this.loadTemplate();
const preparedtemplate = this.prepareForCompile(template, tokenName);
return solc.compile(preparedtemplate).contracts[`:${tokenName}`];
}
private loadTemplate() {
const contractPath = path.resolve(
__dirname,
'../contracts',
'Erc20TokenTemplate.sol'
);
return fs.readFileSync(contractPath, 'utf8');
}
private prepareForCompile(template: string, tokenName: string) {
return template.replace('Erc20TokenNamePlaceholder', tokenName);
}
}