-
Notifications
You must be signed in to change notification settings - Fork 4
/
buidler.config.ts
58 lines (53 loc) · 1.61 KB
/
buidler.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
require("dotenv").config();
import { BuidlerConfig, usePlugin, task } from "@nomiclabs/buidler/config";
usePlugin("@nomiclabs/buidler-waffle");
usePlugin("@nomiclabs/buidler-etherscan");
usePlugin("solidity-coverage");
usePlugin('buidler-deploy');
const INFURA_PROJECT_ID = process.env.INFURA_PROJECT_ID || "";
const KOVAN_PRIVATE_KEY = process.env.KOVAN_PRIVATE_KEY || "";
const MAINNET_PRIVATE_KEY = process.env.MAINNET_PRIVATE_KEY || "";
const ETHERSCAN_API_KEY = process.env.ETHERSCAN_API_KEY || "";
const RINKEBY_PRIVATE_KEY = process.env.RINKEBY_PRIVATE_KEY || "";
interface ExtendedBuidlerConfig extends BuidlerConfig {
[x:string]: any
}
const config: ExtendedBuidlerConfig = {
defaultNetwork: "buidlerevm",
solc: {
version: "0.6.4",
},
networks: {
buidlerevm: {
gasPrice: 0,
blockGasLimit: 100000000,
},
kovan: {
url: `https://kovan.infura.io/v3/${INFURA_PROJECT_ID}`,
accounts: [KOVAN_PRIVATE_KEY]
},
mainnet: {
url: `https://mainnet.infura.io/v3/${INFURA_PROJECT_ID}`,
accounts: [MAINNET_PRIVATE_KEY]
},
coverage: {
url: 'http://127.0.0.1:8555' // Coverage launches its own ganache-cli client
},
rinkeby: {
url: `https://rinkeby.infura.io/v3/${INFURA_PROJECT_ID}`,
accounts: [RINKEBY_PRIVATE_KEY]
},
},
etherscan: {
// The url for the Etherscan API you want to use.
url: "https://api-rinkeby.etherscan.io/api",
// Your API key for Etherscan
// Obtain one at https://etherscan.io/
apiKey: ETHERSCAN_API_KEY
},
typechain: {
outDir: "typechain",
target: "ethers"
}
};
export default config;