1
- import { HardhatUserConfig } from 'hardhat/config'
2
- import { networkConfig } from './utils/config-loader'
1
+ import { HardhatUserConfig } from 'hardhat/config' ;
2
+ import { networkConfig } from './utils/config-loader' ;
3
3
4
- import '@nomiclabs/hardhat-truffle5'
5
- import '@nomiclabs/hardhat-ethers'
6
- import '@nomiclabs/hardhat-web3'
7
- import '@nomiclabs/hardhat-etherscan'
8
- import '@nomicfoundation/hardhat-chai-matchers'
4
+ import '@nomiclabs/hardhat-truffle5' ;
5
+ import '@nomiclabs/hardhat-ethers' ;
6
+ import '@nomiclabs/hardhat-web3' ;
7
+ import '@nomiclabs/hardhat-etherscan' ;
8
+ import '@nomicfoundation/hardhat-chai-matchers' ;
9
9
10
- import 'hardhat-gas-reporter'
11
- import 'solidity-coverage'
12
- import { HardhatConfig } from 'hardhat/types'
10
+ import 'hardhat-gas-reporter' ;
11
+ import 'solidity-coverage' ;
12
+ import { HardhatConfig } from 'hardhat/types' ;
13
13
14
- require ( 'dotenv' ) . config ( )
14
+ require ( 'dotenv' ) . config ( ) ;
15
15
16
16
const ganacheNetwork = {
17
17
url : 'http://127.0.0.1:8545' ,
18
18
blockGasLimit : 6000000000
19
- }
19
+ } ;
20
20
21
21
const config : HardhatUserConfig = {
22
22
solidity : {
@@ -37,16 +37,25 @@ const config: HardhatUserConfig = {
37
37
} ,
38
38
networks : {
39
39
// Define here to easily specify private keys
40
- devnet : validateEnvironment ( )
40
+ localhost : loadAndValidateEnvironment ( 'localhost' )
41
41
? {
42
- url : 'https ://rpc.dev.immutable.com ' ,
42
+ url : 'http ://127.0.0.1:8545 ' ,
43
43
accounts : [ process . env . DEPLOYER_PRIV_KEY ! , process . env . WALLET_IMPL_CHANGER_PRIV_KEY ! ]
44
44
}
45
45
: {
46
46
url : 'SET ENVIRONMENT VARIABLES' ,
47
47
accounts : [ ]
48
48
} ,
49
- testnet : validateEnvironment ( )
49
+ devnet : loadAndValidateEnvironment ( 'devnet' )
50
+ ? {
51
+ url : 'https://rpcx.dev.immutable.com' ,
52
+ accounts : [ process . env . DEPLOYER_PRIV_KEY ! , process . env . WALLET_IMPL_CHANGER_PRIV_KEY ! ]
53
+ }
54
+ : {
55
+ url : 'SET ENVIRONMENT VARIABLES' ,
56
+ accounts : [ ]
57
+ } ,
58
+ testnet : loadAndValidateEnvironment ( 'testnet' )
50
59
? {
51
60
url : 'https://rpc.testnet.immutable.com' ,
52
61
accounts : [ process . env . DEPLOYER_PRIV_KEY ! , process . env . WALLET_IMPL_CHANGER_PRIV_KEY ! ]
@@ -89,10 +98,11 @@ const config: HardhatUserConfig = {
89
98
gasPrice : 21 ,
90
99
showTimeSpent : true
91
100
}
92
- }
101
+ } ;
93
102
94
- export default config
103
+ export default config ;
95
104
96
- function validateEnvironment ( ) : boolean {
97
- return ! ! process . env . DEPLOYER_PRIV_KEY && ! ! process . env . WALLET_IMPL_CHANGER_PRIV_KEY
105
+ function loadAndValidateEnvironment ( network : string ) : boolean {
106
+ require ( 'dotenv' ) . config ( { path : `.env.${ network } ` } ) ;
107
+ return ! ! process . env . DEPLOYER_PRIV_KEY && ! ! process . env . WALLET_IMPL_CHANGER_PRIV_KEY ;
98
108
}
0 commit comments