-
Notifications
You must be signed in to change notification settings - Fork 9
/
truffle-config.js
88 lines (82 loc) · 2.05 KB
/
truffle-config.js
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
require("dotenv").config();
var HDWalletProvider = require("@truffle/hdwallet-provider");
const seed =
process.env.SEED ||
"brand gallery sock inspire error kitten orphan arch unaware palace twin soft";
/*
* NB: since truffle-hdwallet-provider 0.0.5 you must wrap HDWallet providers in a
* function when declaring them. Failure to do so will cause commands to hang. ex:
* ```
* mainnet: {
* provider: function() {
* return new HDWalletProvider(mnemonic, 'https://mainnet.infura.io/<infura-key>')
* },
* network_id: '1',
* gas: 4500000,
* gasPrice: 10000000000,
* },
*/
const createInfuraEntry = (networkName, networkId, gasPrice) => ({
[networkName]: {
provider: () =>
new HDWalletProvider(
seed,
`https://${networkName}.infura.io/v3/bd80e0d6a7254439a294b8ca04e2b66d`
),
network_id: networkId,
gasPrice,
// See issues:
// https://github.com/trufflesuite/truffle/issues/1612
// https://github.com/trufflesuite/truffle/issues/1698
skipDryRun: true
}
});
const config = {
networks: Object.assign(
{
development: {
host: "127.0.0.1",
port: 8545,
network_id: "*",
from: process.env.FROM_ACCOUNT
},
mainnet: {
provider: () =>
new HDWalletProvider(
seed,
"https://node-green.mainnet.gnosis.pm",
0,
1,
false
),
network_id: "1",
skipDryRun: true,
gasPrice: 10000000002
},
rinkeby: {
provider: () =>
new HDWalletProvider(seed, "https://node.rinkeby.gnosisdev.com:443"),
network_id: "4",
skipDryRun: true,
gasPrice: 3e9
}
},
...[
["ropsten", "3"],
["kovan", "42"],
["goerli", "5", 1e9]
].map(networkInfo => createInfuraEntry(...networkInfo))
),
compilers: {
solc: {
version: "0.5.5",
settings: {
optimizer: {
enabled: true
}
}
}
},
build: "webpack"
};
module.exports = config;