-
Notifications
You must be signed in to change notification settings - Fork 92
/
hardhat.config.ts
100 lines (95 loc) · 2.35 KB
/
hardhat.config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import { getCommonNetworkConfig, hardhatNetworkSettings } from './helpers/hardhat-config';
import { config } from 'dotenv';
import { HardhatUserConfig } from 'hardhat/types';
import { DEFAULT_NAMED_ACCOUNTS, eEthereumNetwork } from '@aave/deploy-v3';
import '@nomicfoundation/hardhat-toolbox';
import '@nomicfoundation/hardhat-foundry';
import 'hardhat-deploy';
import 'hardhat-contract-sizer';
import 'hardhat-tracer';
config();
import { loadHardhatTasks } from './helpers/misc-utils';
import '@aave/deploy-v3';
// Prevent to load tasks before compilation and typechain
if (!process.env.SKIP_LOAD) {
loadHardhatTasks(['misc', 'testnet-setup', 'roles', 'main']);
}
const hardhatConfig: HardhatUserConfig = {
networks: {
hardhat: hardhatNetworkSettings,
goerli: getCommonNetworkConfig(eEthereumNetwork.goerli, 5),
sepolia: getCommonNetworkConfig('sepolia', 11155111),
localhost: {
url: 'http://127.0.0.1:8545',
...hardhatNetworkSettings,
},
},
solidity: {
compilers: [
{
version: '0.8.10',
settings: {
optimizer: {
enabled: true,
runs: 100000,
},
evmVersion: 'london',
},
},
{
version: '0.8.0',
},
{
version: '0.7.0',
settings: {},
},
{
version: '0.7.5',
settings: {
optimizer: { enabled: true, runs: 200 },
evmVersion: 'istanbul',
},
},
{
version: '0.6.12',
settings: {
optimizer: { enabled: true, runs: 200 },
evmVersion: 'istanbul',
},
},
],
},
paths: {
sources: './src/',
tests: './test/',
cache: './cache',
artifacts: './artifacts',
},
namedAccounts: {
...DEFAULT_NAMED_ACCOUNTS,
},
typechain: {
outDir: 'types',
target: 'ethers-v5',
alwaysGenerateOverloads: false, // should overloads with full signatures like deposit(uint256) be generated always, even if there are no overloads?
},
gasReporter: {
enabled: process.env.REPORT_GAS ? true : false,
},
mocha: {
timeout: 0,
bail: true,
},
external: {
contracts: [
{
artifacts: 'node_modules/@aave/deploy-v3/artifacts',
deploy: 'node_modules/@aave/deploy-v3/dist/deploy',
},
],
},
tracer: {
nameTags: {},
},
};
export default hardhatConfig;