1
1
require ( "dotenv" ) . config ( { path : ".env" } ) ;
2
2
const HDWalletProvider = require ( "@truffle/hdwallet-provider" ) ;
3
3
4
+ /**
5
+ *
6
+ * @param {string } url
7
+ * @returns {HDWalletProvider } An instance of HDWalletProvider
8
+ */
9
+ function payerProvider ( url ) {
10
+ return ( ) =>
11
+ new HDWalletProvider ( {
12
+ mnemonic : process . env . MNEMONIC ,
13
+ providerOrUrl : url ,
14
+ } ) ;
15
+ }
16
+
4
17
module . exports = {
5
18
migrations_directory : process . env . MIGRATIONS_DIR ,
6
19
networks : {
@@ -10,11 +23,9 @@ module.exports = {
10
23
network_id : "*" ,
11
24
} ,
12
25
ethereum : {
13
- provider : ( ) =>
14
- new HDWalletProvider (
15
- process . env . MNEMONIC ,
16
- `https://mainnet.infura.io/v3/` + process . env . INFURA_KEY
17
- ) ,
26
+ provider : payerProvider (
27
+ `https://mainnet.infura.io/v3/` + process . env . INFURA_KEY
28
+ ) ,
18
29
network_id : 1 ,
19
30
gas : 10000000 ,
20
31
gasPrice : 17000000000 ,
@@ -23,269 +34,151 @@ module.exports = {
23
34
skipDryRun : false ,
24
35
} ,
25
36
ropsten : {
26
- provider : ( ) =>
27
- new HDWalletProvider (
28
- process . env . MNEMONIC ,
29
- `https://ropsten.infura.io/v3/` + process . env . INFURA_KEY
30
- ) ,
37
+ provider : payerProvider (
38
+ `https://ropsten.infura.io/v3/` + process . env . INFURA_KEY
39
+ ) ,
31
40
network_id : 3 ,
32
41
gas : 5500000 ,
33
42
confirmations : 2 ,
34
43
timeoutBlocks : 200 ,
35
44
skipDryRun : true ,
36
45
} ,
37
46
rinkeby : {
38
- provider : ( ) =>
39
- new HDWalletProvider (
40
- process . env . MNEMONIC ,
41
- `https://rinkeby.infura.io/v3/` + process . env . INFURA_KEY
42
- ) ,
47
+ provider : payerProvider (
48
+ `https://rinkeby.infura.io/v3/` + process . env . INFURA_KEY
49
+ ) ,
43
50
network_id : 4 ,
44
51
gas : 5500000 ,
45
52
confirmations : 2 ,
46
53
timeoutBlocks : 200 ,
47
54
skipDryRun : true ,
48
55
} ,
49
56
goerli : {
50
- provider : ( ) => {
51
- return new HDWalletProvider (
52
- process . env . MNEMONIC ,
53
- "https://goerli.infura.io/v3/" + process . env . INFURA_KEY
54
- ) ;
55
- } ,
57
+ provider : payerProvider (
58
+ `https://goerli.infura.io/v3/` + process . env . INFURA_KEY
59
+ ) ,
56
60
network_id : "5" ,
57
61
gas : 8465030 ,
58
62
gasPrice : 15000000000 ,
59
63
skipDryRun : true ,
60
64
} ,
61
65
bnb : {
62
- provider : ( ) => {
63
- return new HDWalletProvider (
64
- process . env . MNEMONIC ,
65
- "https://rpc.ankr.com/bsc"
66
- ) ;
67
- } ,
66
+ provider : payerProvider ( `https://rpc.ankr.com/bsc` ) ,
68
67
network_id : "56" ,
69
68
gas : 70000000 ,
70
69
gasPrice : 5500000000 ,
71
70
} ,
72
71
bnb_testnet : {
73
- provider : ( ) =>
74
- new HDWalletProvider (
75
- process . env . MNEMONIC ,
76
- "https://rpc.ankr.com/bsc_testnet_chapel"
77
- ) ,
72
+ provider : payerProvider ( `https://rpc.ankr.com/bsc_testnet_chapel` ) ,
78
73
network_id : "97" ,
79
74
confirmations : 10 ,
80
75
networkCheckTimeout : 1000000 ,
81
76
timeoutBlocks : 1000 ,
82
77
skipDryRun : true ,
83
78
} ,
84
79
polygon : {
85
- provider : ( ) => {
86
- return new HDWalletProvider (
87
- process . env . MNEMONIC ,
88
- "https://polygon-rpc.com"
89
- ) ;
90
- } ,
80
+ provider : payerProvider ( `https://polygon-rpc.com` ) ,
91
81
network_id : "137" ,
92
82
gas : 20000000 ,
93
83
gasPrice : 300000000000 ,
94
84
} ,
95
85
mumbai : {
96
- provider : ( ) => {
97
- return new HDWalletProvider (
98
- process . env . MNEMONIC ,
99
- "https://polygon-testnet-rpc.allthatnode.com:8545"
100
- ) ;
101
- } ,
86
+ provider : payerProvider (
87
+ `https://polygon-testnet-rpc.allthatnode.com:8545`
88
+ ) ,
102
89
network_id : "80001" ,
103
90
} ,
104
91
avalanche : {
105
- provider : ( ) => {
106
- return new HDWalletProvider (
107
- process . env . MNEMONIC ,
108
- "https://api.avax.network/ext/bc/C/rpc"
109
- ) ;
110
- } ,
92
+ provider : payerProvider ( `https://api.avax.network/ext/bc/C/rpc` ) ,
111
93
network_id : "43114" ,
112
94
gas : 8000000 ,
113
95
gasPrice : 30000000000 ,
114
96
} ,
115
97
fuji : {
116
- provider : ( ) =>
117
- new HDWalletProvider (
118
- process . env . MNEMONIC ,
119
- "https://api.avax-test.network/ext/bc/C/rpc"
120
- ) ,
98
+ provider : payerProvider ( `https://api.avax-test.network/ext/bc/C/rpc` ) ,
121
99
network_id : "43113" ,
122
100
} ,
123
101
oasis : {
124
- provider : ( ) => {
125
- return new HDWalletProvider (
126
- process . env . MNEMONIC ,
127
- "https://emerald.oasis.dev/"
128
- ) ;
129
- } ,
102
+ provider : payerProvider ( `https://emerald.oasis.dev/` ) ,
130
103
network_id : 42262 ,
131
104
gas : 4465030 ,
132
105
gasPrice : 30000000000 ,
133
106
} ,
134
107
aurora : {
135
- provider : ( ) => {
136
- return new HDWalletProvider (
137
- process . env . MNEMONIC ,
138
- "https://mainnet.aurora.dev"
139
- ) ;
140
- } ,
108
+ provider : payerProvider ( `https://mainnet.aurora.dev` ) ,
141
109
network_id : 0x4e454152 ,
142
110
gas : 10000000 ,
143
111
from : "0xC42e9476b0a458097087336e2395Dbf45B0BdC12" , // creator public key
144
112
networkCheckTimeout : 1000000 ,
145
113
timeoutBlocks : 1000 ,
146
114
} ,
147
115
aurora_testnet : {
148
- provider : ( ) => {
149
- return new HDWalletProvider (
150
- process . env . MNEMONIC ,
151
- "https://testnet.aurora.dev"
152
- ) ;
153
- } ,
116
+ provider : payerProvider ( `https://testnet.aurora.dev` ) ,
154
117
network_id : 0x4e454153 ,
155
118
gas : 10000000 ,
156
119
from : "0xC42e9476b0a458097087336e2395Dbf45B0BdC12" , // public key
157
120
networkCheckTimeout : 1000000 ,
158
121
timeoutBlocks : 1000 ,
159
122
} ,
160
123
arbitrum : {
161
- provider : ( ) => {
162
- return new HDWalletProvider (
163
- process . env . MNEMONIC ,
164
- "https://arb1.arbitrum.io/rpc"
165
- ) ;
166
- } ,
124
+ provider : payerProvider ( `https://arb1.arbitrum.io/rpc` ) ,
167
125
network_id : 42161 ,
168
126
} ,
169
127
arbitrum_testnet : {
170
- provider : ( ) => {
171
- return new HDWalletProvider (
172
- process . env . MNEMONIC ,
173
- "https://goerli-rollup.arbitrum.io/rpc"
174
- ) ;
175
- } ,
128
+ provider : payerProvider ( `https://goerli-rollup.arbitrum.io/rpc` ) ,
176
129
network_id : 421613 ,
177
130
} ,
178
131
optimism : {
179
- provider : ( ) => {
180
- return new HDWalletProvider (
181
- process . env . MNEMONIC ,
182
- "https://rpc.ankr.com/optimism"
183
- ) ;
184
- } ,
132
+ provider : payerProvider ( `https://rpc.ankr.com/optimism` ) ,
185
133
network_id : 10 ,
186
134
} ,
187
135
optimism_goerli : {
188
- provider : ( ) => {
189
- return new HDWalletProvider (
190
- process . env . MNEMONIC ,
191
- "https://rpc.ankr.com/optimism_testnet"
192
- ) ;
193
- } ,
136
+ provider : payerProvider ( `https://rpc.ankr.com/optimism_testnet` ) ,
194
137
network_id : 420 ,
195
138
} ,
196
139
fantom : {
197
- provider : ( ) => {
198
- return new HDWalletProvider (
199
- process . env . MNEMONIC ,
200
- "https://rpc.ankr.com/fantom"
201
- ) ;
202
- } ,
140
+ provider : payerProvider ( `https://rpc.ankr.com/fantom` ) ,
203
141
network_id : 250 ,
204
142
gas : 8000000 ,
205
143
gasPrice : 50000000000 ,
206
144
timeoutBlocks : 15000 ,
207
145
} ,
208
146
fantom_testnet : {
209
- provider : ( ) => {
210
- return new HDWalletProvider (
211
- process . env . MNEMONIC ,
212
- "https://rpc.ankr.com/fantom_testnet"
213
- ) ;
214
- } ,
147
+ provider : payerProvider ( `https://rpc.ankr.com/fantom_testnet` ) ,
215
148
network_id : 0xfa2 ,
216
149
gas : 8000000 ,
217
150
gasPrice : 300000000000 ,
218
151
} ,
219
152
celo : {
220
- provider : ( ) => {
221
- return new HDWalletProvider (
222
- process . env . MNEMONIC ,
223
- "https://forno.celo.org"
224
- ) ;
225
- } ,
153
+ provider : payerProvider ( `https://forno.celo.org` ) ,
226
154
network_id : 42220 ,
227
155
} ,
228
156
celo_alfajores_testnet : {
229
- provider : ( ) => {
230
- return new HDWalletProvider (
231
- process . env . MNEMONIC ,
232
- "https://alfajores-forno.celo-testnet.org"
233
- ) ;
234
- } ,
157
+ provider : payerProvider ( `https://alfajores-forno.celo-testnet.org` ) ,
235
158
network_id : 44787 ,
236
159
} ,
237
160
kcc : {
238
- provider : ( ) => {
239
- return new HDWalletProvider (
240
- process . env . MNEMONIC ,
241
- "https://rpc-mainnet.kcc.network"
242
- ) ;
243
- } ,
161
+ provider : payerProvider ( `https://rpc-mainnet.kcc.network` ) ,
244
162
network_id : 321 ,
245
163
} ,
246
164
kcc_testnet : {
247
- provider : ( ) => {
248
- return new HDWalletProvider (
249
- process . env . MNEMONIC ,
250
- "https://rpc-testnet.kcc.network"
251
- ) ;
252
- } ,
165
+ provider : payerProvider ( `https://rpc-testnet.kcc.network` ) ,
253
166
network_id : 322 ,
254
167
} ,
255
168
zksync : {
256
- provider : ( ) => {
257
- return new HDWalletProvider (
258
- process . env . MNEMONIC ,
259
- "https://zksync2-mainnet.zksync.io"
260
- ) ;
261
- } ,
169
+ provider : payerProvider ( `https://zksync2-mainnet.zksync.io` ) ,
262
170
network_id : 324 ,
263
171
} ,
264
172
zksync_goerli : {
265
- provider : ( ) => {
266
- return new HDWalletProvider (
267
- process . env . MNEMONIC ,
268
- "https://zksync2-testnet.zksync.dev"
269
- ) ;
270
- } ,
173
+ provider : payerProvider ( `https://zksync2-testnet.zksync.dev` ) ,
271
174
network_id : 280 ,
272
175
} ,
273
176
cronos : {
274
- provider : ( ) => {
275
- return new HDWalletProvider (
276
- process . env . MNEMONIC ,
277
- "https://cronosrpc-1.xstaking.sg"
278
- ) ;
279
- } ,
177
+ provider : payerProvider ( `https://cronosrpc-1.xstaking.sg` ) ,
280
178
network_id : 25 ,
281
179
} ,
282
180
cronos_testnet : {
283
- provider : ( ) => {
284
- return new HDWalletProvider (
285
- process . env . MNEMONIC ,
286
- "https://evm-t3.cronos.org"
287
- ) ;
288
- } ,
181
+ provider : payerProvider ( `https://evm-t3.cronos.org` ) ,
289
182
network_id : 338 ,
290
183
} ,
291
184
} ,
0 commit comments