12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- /// ENVVAR
- // - ENABLE_GAS_REPORT
- // - CI
- // - COMPILE_MODE
- const fs = require('fs');
- const path = require('path');
- const argv = require('yargs/yargs')()
- .env('')
- .options({
- ci: {
- type: 'boolean',
- default: false,
- },
- gas: {
- alias: 'enableGasReport',
- type: 'boolean',
- default: false,
- },
- mode: {
- alias: 'compileMode',
- type: 'string',
- choices: [ 'production', 'development' ],
- default: 'development',
- },
- compiler: {
- alias: 'compileVersion',
- type: 'string',
- default: '0.8.3',
- },
- })
- .argv;
- require('@nomiclabs/hardhat-truffle5');
- require('solidity-coverage');
- if (argv.enableGasReport) {
- require('hardhat-gas-reporter');
- }
- for (const f of fs.readdirSync(path.join(__dirname, 'hardhat'))) {
- require(path.join(__dirname, 'hardhat', f));
- }
- const withOptimizations = argv.enableGasReport || argv.compileMode === 'production';
- /**
- * @type import('hardhat/config').HardhatUserConfig
- */
- module.exports = {
- solidity: {
- version: argv.compiler,
- settings: {
- optimizer: {
- enabled: withOptimizations,
- runs: 200,
- },
- },
- },
- networks: {
- hardhat: {
- blockGasLimit: 10000000,
- allowUnlimitedContractSize: !withOptimizations,
- },
- },
- gasReporter: {
- currency: 'USD',
- outputFile: argv.ci ? 'gas-report.txt' : undefined,
- },
- };
|