-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathhardhat.config.ts
162 lines (156 loc) · 5.1 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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";
import "@nomicfoundation/hardhat-foundry";
import "hardhat-deploy";
import "hardhat-tracer";
import * as dotenv from 'dotenv';
dotenv.config()
const config: HardhatUserConfig = {
solidity: {
compilers: [
{
version: "0.8.20",
settings: {
optimizer: {
enabled: true,
runs: 1,
},
},
},
]
},
namedAccounts: {
deployer: 0
},
networks: {
hardhat: {},
localhost: {},
dev_goerli: {
url: process.env.GOERLI_URL || `https://goerli.infura.io/v3/${process.env.INFURA_KEY}`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
dev_mumbai: {
url: process.env.MUMBAI_URL || `https://rpc-mumbai.maticvigil.com/`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
dev_sepolia: {
url: process.env.SEPOLIA_URL || `https://sepolia.infura.io/v3/${process.env.INFURA_KEY}`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
goerli: {
url: process.env.GOERLI_URL || `https://goerli.infura.io/v3/${process.env.INFURA_KEY}`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
sepolia: {
url: process.env.SEPOLIA_URL || `https://sepolia.infura.io/v3/${process.env.INFURA_KEY}`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
bsctest: {
url: process.env.BSC_TESTNET_URL || `https://rpc.ankr.com/bsc_testnet_chapel`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
arb_goerli: {
url: process.env.ARB_GOERLI_URL || `https://arb-goerli.g.alchemy.com/v2/${process.env.ALCHEMY_KEY}`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
mantle_testnet: {
url: process.env.MANTLE_TESTNET_URL || `https://rpc.testnet.mantle.xyz/`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
merlin_test: {
url: process.env.MERLIN_TEST_URL || `https://testnet-rpc.merlinchain.io`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
ailayer_test: {
url: process.env.AILAYER_TEST_URL || `https://testnet-rpc.ailayer.xyz/`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
bob_test: {
url: process.env.BOB_TEST_URL || `https://testnet.rpc.gobob.xyz/`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
mumbai: {
url: process.env.MUMBAI_URL || `https://rpc-mumbai.maticvigil.com/`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
mainnet: {
url: process.env.GOERLI_URL || `https://mainnet.infura.io/v3/${process.env.INFURA_KEY}`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
polygon: {
url: "https://polygon-rpc.com/",
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
bsc: {
url: process.env.BSC_URL || `https://bsc-dataseed.binance.org/`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
arb: {
url: process.env.ARB_URL || `https://arb.getblock.io/${process.env.GETBLOCK_KEY}/mainnet/`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
mantle: {
url: process.env.MANTLE_TESTNET_URL || `https://rpc.mantle.xyz/`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
merlin: {
url: process.env.MERLIN_URL || ` https://rpc.merlinchain.io`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
ailayer: {
url: process.env.AILAYER_TEST_URL || `https://mainnet-rpc.ailayer.xyz/`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
},
bob: {
url: process.env.BOB_URL || `https://rpc.gobob.xyz/`,
accounts:
process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [],
}
},
etherscan: {
apiKey: {
bsc: process.env.BSCSCAN_API_KEY || '',
arb: process.env.ARBISCAN_API_KEY || '',
goerli: process.env.ETHERSCAN_API_KEY || '',
mantle: 'mantle',
},
customChains: [
{
network: "arb",
chainId: 42161,
urls: {
apiURL: "https://api.arbiscan.io/api",
browserURL: "https://explorer.arbitrum.io"
}
},
{
network: "mantle",
chainId: 5000,
urls: {
apiURL: "https://explorer.mantle.xyz/api",
browserURL: "https://explorer.mantle.xyz/"
}
}
]
},
};
export default config;