@venusprotocol/isolated-pools 1.0.0-dev.2 → 1.0.0-dev.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/deploy/001-deploy-mock-tokens.d.ts +3 -0
  2. package/dist/deploy/001-deploy-mock-tokens.js +23 -0
  3. package/dist/deploy/002-price-oracle.d.ts +2 -0
  4. package/dist/deploy/002-price-oracle.js +9 -0
  5. package/dist/deploy/003-price-oracle-configure-feeds.d.ts +2 -0
  6. package/dist/deploy/003-price-oracle-configure-feeds.js +9 -0
  7. package/{deploy/004-swap-router.ts → dist/deploy/004-swap-router.d.ts} +0 -3
  8. package/dist/deploy/004-swap-router.js +8 -0
  9. package/dist/deploy/005-access-control.d.ts +3 -0
  10. package/dist/deploy/005-access-control.js +16 -0
  11. package/dist/deploy/006-deploy-factories.d.ts +3 -0
  12. package/dist/deploy/006-deploy-factories.js +68 -0
  13. package/dist/deploy/007-access-control-configure.d.ts +3 -0
  14. package/dist/deploy/007-access-control-configure.js +73 -0
  15. package/dist/deploy/008-deploy-pool-lens.d.ts +3 -0
  16. package/dist/deploy/008-deploy-pool-lens.js +15 -0
  17. package/dist/deploy/009-deploy-pools.d.ts +3 -0
  18. package/dist/deploy/009-deploy-pools.js +125 -0
  19. package/dist/deploy/010-rewards.d.ts +3 -0
  20. package/dist/deploy/010-rewards.js +76 -0
  21. package/dist/deploy/011-transfer-pools-ownership.d.ts +3 -0
  22. package/dist/deploy/011-transfer-pools-ownership.js +75 -0
  23. package/dist/deploy/012-riskfund-protocolshare.d.ts +3 -0
  24. package/dist/deploy/012-riskfund-protocolshare.js +139 -0
  25. package/dist/deploy/013-transfer-funds-ownership.d.ts +3 -0
  26. package/dist/deploy/013-transfer-funds-ownership.js +46 -0
  27. package/dist/hardhat.config.d.ts +14 -0
  28. package/dist/hardhat.config.js +237 -0
  29. package/dist/helpers/deploymentConfig.d.ts +59 -0
  30. package/dist/helpers/deploymentConfig.js +836 -0
  31. package/dist/helpers/utils.d.ts +3 -0
  32. package/dist/helpers/utils.js +28 -0
  33. package/package.json +2 -10
  34. package/deploy/001-deploy-mock-tokens.ts +0 -29
  35. package/deploy/002-price-oracle.ts +0 -7
  36. package/deploy/003-price-oracle-configure-feeds.ts +0 -7
  37. package/deploy/005-access-control.ts +0 -20
  38. package/deploy/006-deploy-factories.ts +0 -82
  39. package/deploy/007-access-control-configure.ts +0 -142
  40. package/deploy/008-deploy-pool-lens.ts +0 -19
  41. package/deploy/009-deploy-pools.ts +0 -171
  42. package/deploy/010-rewards.ts +0 -84
  43. package/deploy/011-transfer-pools-ownership.ts +0 -93
  44. package/deploy/012-riskfund-protocolshare.ts +0 -140
  45. package/deploy/013-transfer-funds-ownership.ts +0 -63
  46. package/helpers/deploymentConfig.ts +0 -897
  47. package/helpers/utils.ts +0 -24
@@ -0,0 +1,836 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTokenAddress = exports.getTokenConfig = exports.getConfig = exports.globalConfig = exports.InterestRateModels = void 0;
4
+ const hardhat_1 = require("hardhat");
5
+ const utils_1 = require("./utils");
6
+ var InterestRateModels;
7
+ (function (InterestRateModels) {
8
+ InterestRateModels[InterestRateModels["WhitePaper"] = 0] = "WhitePaper";
9
+ InterestRateModels[InterestRateModels["JumpRate"] = 1] = "JumpRate";
10
+ })(InterestRateModels = exports.InterestRateModels || (exports.InterestRateModels = {}));
11
+ const stableTokenTemplate = {
12
+ rateModel: InterestRateModels.JumpRate.toString(),
13
+ baseRatePerYear: "0",
14
+ multiplierPerYear: (0, utils_1.convertToUnit)(0.15, 18),
15
+ jumpMultiplierPerYear: (0, utils_1.convertToUnit)(3, 18),
16
+ kink_: (0, utils_1.convertToUnit)(0.6, 18),
17
+ collateralFactor: (0, utils_1.convertToUnit)(0.7, 18),
18
+ liquidationThreshold: (0, utils_1.convertToUnit)(0.8, 18),
19
+ reserveFactor: (0, utils_1.convertToUnit)(0.1, 18),
20
+ initialSupply: (0, utils_1.convertToUnit)(100000, 18),
21
+ supplyCap: (0, utils_1.convertToUnit)(10000000, 18),
22
+ borrowCap: (0, utils_1.convertToUnit)(10000000, 18),
23
+ };
24
+ const volatileTokenTemplate = {
25
+ rateModel: InterestRateModels.JumpRate.toString(),
26
+ baseRatePerYear: (0, utils_1.convertToUnit)(1, 16),
27
+ multiplierPerYear: (0, utils_1.convertToUnit)(0.25, 18),
28
+ jumpMultiplierPerYear: (0, utils_1.convertToUnit)(4, 18),
29
+ kink_: (0, utils_1.convertToUnit)(0.5, 18),
30
+ collateralFactor: (0, utils_1.convertToUnit)(0.6, 18),
31
+ liquidationThreshold: (0, utils_1.convertToUnit)(0.7, 18),
32
+ reserveFactor: (0, utils_1.convertToUnit)(0.25, 18),
33
+ initialSupply: (0, utils_1.convertToUnit)(100000, 18),
34
+ supplyCap: (0, utils_1.convertToUnit)(10000000, 18),
35
+ borrowCap: (0, utils_1.convertToUnit)(10000000, 18),
36
+ };
37
+ exports.globalConfig = {
38
+ hardhat: {
39
+ tokensConfig: [
40
+ {
41
+ isMock: true,
42
+ name: "Venus",
43
+ symbol: "XVS",
44
+ decimals: 18,
45
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
46
+ },
47
+ {
48
+ isMock: true,
49
+ name: "Binance USD",
50
+ symbol: "BUSD",
51
+ decimals: 18,
52
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
53
+ },
54
+ {
55
+ isMock: true,
56
+ name: "Bitcoin BEP2",
57
+ symbol: "BTCB",
58
+ decimals: 18,
59
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
60
+ },
61
+ {
62
+ isMock: true,
63
+ name: "BinaryX",
64
+ symbol: "BNX",
65
+ decimals: 18,
66
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
67
+ },
68
+ {
69
+ isMock: true,
70
+ name: "Ankr",
71
+ symbol: "ANKR",
72
+ decimals: 18,
73
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
74
+ },
75
+ {
76
+ isMock: true,
77
+ name: "Ankr Staked BNB",
78
+ symbol: "ankrBNB",
79
+ decimals: 18,
80
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
81
+ },
82
+ {
83
+ isMock: true,
84
+ name: "MOBOX",
85
+ symbol: "MBOX",
86
+ decimals: 18,
87
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
88
+ },
89
+ {
90
+ isMock: true,
91
+ name: "NFT",
92
+ symbol: "NFT",
93
+ decimals: 18,
94
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
95
+ },
96
+ {
97
+ isMock: true,
98
+ name: "RACA",
99
+ symbol: "RACA",
100
+ decimals: 18,
101
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
102
+ },
103
+ {
104
+ isMock: true,
105
+ name: "pSTAKE Staked BNB",
106
+ symbol: "stkBNB",
107
+ decimals: 18,
108
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
109
+ },
110
+ {
111
+ isMock: true,
112
+ name: "USDD",
113
+ symbol: "USDD",
114
+ decimals: 18,
115
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
116
+ },
117
+ {
118
+ isMock: true,
119
+ name: "AUTO",
120
+ symbol: "AUTO",
121
+ decimals: 18,
122
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
123
+ },
124
+ ],
125
+ poolConfig: [
126
+ {
127
+ name: "Pool 1",
128
+ closeFactor: (0, utils_1.convertToUnit)(0.05, 18),
129
+ liquidationIncentive: (0, utils_1.convertToUnit)(1, 18),
130
+ minLiquidatableCollateral: (0, utils_1.convertToUnit)(100, 18),
131
+ vtokens: [
132
+ {
133
+ name: "Venus BNX",
134
+ asset: "BNX",
135
+ symbol: "vBNX",
136
+ rateModel: InterestRateModels.JumpRate.toString(),
137
+ baseRatePerYear: (0, utils_1.convertToUnit)(1, 16),
138
+ multiplierPerYear: (0, utils_1.convertToUnit)(0.25, 18),
139
+ jumpMultiplierPerYear: (0, utils_1.convertToUnit)(4, 18),
140
+ kink_: (0, utils_1.convertToUnit)(0.5, 18),
141
+ collateralFactor: (0, utils_1.convertToUnit)(0.6, 18),
142
+ liquidationThreshold: (0, utils_1.convertToUnit)(0.7, 18),
143
+ reserveFactor: (0, utils_1.convertToUnit)(0.25, 18),
144
+ initialSupply: (0, utils_1.convertToUnit)(10, 18),
145
+ supplyCap: (0, utils_1.convertToUnit)(932019, 18),
146
+ borrowCap: (0, utils_1.convertToUnit)(478980, 18),
147
+ },
148
+ {
149
+ name: "Venus BTCB",
150
+ asset: "BTCB",
151
+ symbol: "vBTCB",
152
+ rateModel: InterestRateModels.JumpRate.toString(),
153
+ baseRatePerYear: "0",
154
+ multiplierPerYear: (0, utils_1.convertToUnit)(0.15, 18),
155
+ jumpMultiplierPerYear: (0, utils_1.convertToUnit)(3, 18),
156
+ kink_: (0, utils_1.convertToUnit)(0.6, 18),
157
+ collateralFactor: (0, utils_1.convertToUnit)(0.7, 18),
158
+ liquidationThreshold: (0, utils_1.convertToUnit)(0.8, 18),
159
+ reserveFactor: (0, utils_1.convertToUnit)(0.25, 18),
160
+ initialSupply: (0, utils_1.convertToUnit)(10, 18),
161
+ supplyCap: (0, utils_1.convertToUnit)(1000, 18),
162
+ borrowCap: (0, utils_1.convertToUnit)(1000, 18),
163
+ },
164
+ ],
165
+ rewards: [
166
+ {
167
+ asset: "XVS",
168
+ markets: ["BNX", "BTCB"],
169
+ supplySpeeds: [(0, utils_1.convertToUnit)(23, 8), (0, utils_1.convertToUnit)(23, 8)],
170
+ borrowSpeeds: [(0, utils_1.convertToUnit)(23, 8), (0, utils_1.convertToUnit)(23, 8)],
171
+ },
172
+ {
173
+ asset: "BNX",
174
+ markets: ["BNX"],
175
+ supplySpeeds: [(0, utils_1.convertToUnit)(33, 8)],
176
+ borrowSpeeds: [(0, utils_1.convertToUnit)(33, 8)],
177
+ },
178
+ ],
179
+ },
180
+ {
181
+ name: "Pool 2",
182
+ closeFactor: (0, utils_1.convertToUnit)(0.05, 18),
183
+ liquidationIncentive: (0, utils_1.convertToUnit)(1, 18),
184
+ minLiquidatableCollateral: (0, utils_1.convertToUnit)(100, 18),
185
+ vtokens: [
186
+ {
187
+ name: "Venus ANKR",
188
+ asset: "ANKR",
189
+ symbol: "vANKR",
190
+ rateModel: InterestRateModels.JumpRate.toString(),
191
+ baseRatePerYear: "0",
192
+ multiplierPerYear: (0, utils_1.convertToUnit)(0.15, 18),
193
+ jumpMultiplierPerYear: (0, utils_1.convertToUnit)(3, 18),
194
+ kink_: (0, utils_1.convertToUnit)(0.6, 18),
195
+ collateralFactor: (0, utils_1.convertToUnit)(0.7, 18),
196
+ liquidationThreshold: (0, utils_1.convertToUnit)(0.8, 18),
197
+ reserveFactor: (0, utils_1.convertToUnit)(0.25, 18),
198
+ initialSupply: (0, utils_1.convertToUnit)(10, 18),
199
+ supplyCap: (0, utils_1.convertToUnit)(3000000, 18),
200
+ borrowCap: (0, utils_1.convertToUnit)(3000000, 18),
201
+ },
202
+ {
203
+ name: "Venus ankrBNB",
204
+ asset: "ankrBNB",
205
+ symbol: "vankrBNB",
206
+ rateModel: InterestRateModels.JumpRate.toString(),
207
+ baseRatePerYear: (0, utils_1.convertToUnit)(1, 16),
208
+ multiplierPerYear: (0, utils_1.convertToUnit)(0.25, 18),
209
+ jumpMultiplierPerYear: (0, utils_1.convertToUnit)(4, 18),
210
+ kink_: (0, utils_1.convertToUnit)(0.5, 18),
211
+ collateralFactor: (0, utils_1.convertToUnit)(0.6, 18),
212
+ liquidationThreshold: (0, utils_1.convertToUnit)(0.7, 18),
213
+ reserveFactor: (0, utils_1.convertToUnit)(0.25, 18),
214
+ initialSupply: (0, utils_1.convertToUnit)(10, 18),
215
+ supplyCap: (0, utils_1.convertToUnit)(100, 18),
216
+ borrowCap: (0, utils_1.convertToUnit)(100, 18),
217
+ },
218
+ {
219
+ name: "Venus MBOX",
220
+ asset: "MBOX",
221
+ symbol: "vMBOX",
222
+ rateModel: InterestRateModels.JumpRate.toString(),
223
+ baseRatePerYear: "0",
224
+ multiplierPerYear: (0, utils_1.convertToUnit)(0.15, 18),
225
+ jumpMultiplierPerYear: (0, utils_1.convertToUnit)(3, 18),
226
+ kink_: (0, utils_1.convertToUnit)(0.6, 18),
227
+ collateralFactor: (0, utils_1.convertToUnit)(0.7, 18),
228
+ liquidationThreshold: (0, utils_1.convertToUnit)(0.8, 18),
229
+ reserveFactor: (0, utils_1.convertToUnit)(0.25, 18),
230
+ initialSupply: (0, utils_1.convertToUnit)(10, 18),
231
+ supplyCap: (0, utils_1.convertToUnit)(7000000, 18),
232
+ borrowCap: (0, utils_1.convertToUnit)(3184294, 18),
233
+ },
234
+ {
235
+ name: "Venus NFT",
236
+ asset: "NFT",
237
+ symbol: "vNFT",
238
+ rateModel: InterestRateModels.JumpRate.toString(),
239
+ baseRatePerYear: (0, utils_1.convertToUnit)(1, 16),
240
+ multiplierPerYear: (0, utils_1.convertToUnit)(0.25, 18),
241
+ jumpMultiplierPerYear: (0, utils_1.convertToUnit)(4, 18),
242
+ kink_: (0, utils_1.convertToUnit)(0.5, 18),
243
+ collateralFactor: (0, utils_1.convertToUnit)(0.6, 18),
244
+ liquidationThreshold: (0, utils_1.convertToUnit)(0.7, 18),
245
+ reserveFactor: (0, utils_1.convertToUnit)(0.25, 18),
246
+ initialSupply: (0, utils_1.convertToUnit)(10, 18),
247
+ supplyCap: (0, utils_1.convertToUnit)(84985800573, 18),
248
+ borrowCap: (0, utils_1.convertToUnit)(24654278679, 18),
249
+ },
250
+ {
251
+ name: "Venus RACA",
252
+ asset: "RACA",
253
+ symbol: "vRACA",
254
+ rateModel: InterestRateModels.JumpRate.toString(),
255
+ baseRatePerYear: (0, utils_1.convertToUnit)(1, 16),
256
+ multiplierPerYear: (0, utils_1.convertToUnit)(0.25, 18),
257
+ jumpMultiplierPerYear: (0, utils_1.convertToUnit)(4, 18),
258
+ kink_: (0, utils_1.convertToUnit)(0.5, 18),
259
+ collateralFactor: (0, utils_1.convertToUnit)(0.6, 18),
260
+ liquidationThreshold: (0, utils_1.convertToUnit)(0.7, 18),
261
+ reserveFactor: (0, utils_1.convertToUnit)(0.25, 18),
262
+ initialSupply: (0, utils_1.convertToUnit)(10, 18),
263
+ supplyCap: (0, utils_1.convertToUnit)(23758811062, 18),
264
+ borrowCap: (0, utils_1.convertToUnit)(3805812642, 18),
265
+ },
266
+ {
267
+ name: "Venus stkBNB",
268
+ asset: "stkBNB",
269
+ symbol: "vstkBNB",
270
+ rateModel: InterestRateModels.JumpRate.toString(),
271
+ baseRatePerYear: (0, utils_1.convertToUnit)(1, 16),
272
+ multiplierPerYear: (0, utils_1.convertToUnit)(0.25, 18),
273
+ jumpMultiplierPerYear: (0, utils_1.convertToUnit)(4, 18),
274
+ kink_: (0, utils_1.convertToUnit)(0.5, 18),
275
+ collateralFactor: (0, utils_1.convertToUnit)(0.6, 18),
276
+ liquidationThreshold: (0, utils_1.convertToUnit)(0.7, 18),
277
+ reserveFactor: (0, utils_1.convertToUnit)(0.25, 18),
278
+ initialSupply: (0, utils_1.convertToUnit)(10, 18),
279
+ supplyCap: (0, utils_1.convertToUnit)(1963, 18),
280
+ borrowCap: (0, utils_1.convertToUnit)(324, 18),
281
+ },
282
+ {
283
+ name: "Venus USDD",
284
+ asset: "USDD",
285
+ symbol: "vUSDD",
286
+ rateModel: InterestRateModels.JumpRate.toString(),
287
+ baseRatePerYear: "0",
288
+ multiplierPerYear: (0, utils_1.convertToUnit)(0.15, 18),
289
+ jumpMultiplierPerYear: (0, utils_1.convertToUnit)(3, 18),
290
+ kink_: (0, utils_1.convertToUnit)(0.6, 18),
291
+ collateralFactor: (0, utils_1.convertToUnit)(0.7, 18),
292
+ liquidationThreshold: (0, utils_1.convertToUnit)(0.8, 18),
293
+ reserveFactor: (0, utils_1.convertToUnit)(0.1, 18),
294
+ initialSupply: (0, utils_1.convertToUnit)(10, 18),
295
+ supplyCap: (0, utils_1.convertToUnit)(10601805, 18),
296
+ borrowCap: (0, utils_1.convertToUnit)(1698253, 18),
297
+ },
298
+ ],
299
+ rewards: [
300
+ {
301
+ asset: "XVS",
302
+ markets: ["ANKR", "ankrBNB", "MBOX", "NFT", "RACA", "stkBNB", "USDD"],
303
+ supplySpeeds: [
304
+ (0, utils_1.convertToUnit)(23, 8),
305
+ (0, utils_1.convertToUnit)(23, 8),
306
+ (0, utils_1.convertToUnit)(23, 8),
307
+ (0, utils_1.convertToUnit)(23, 8),
308
+ (0, utils_1.convertToUnit)(23, 8),
309
+ (0, utils_1.convertToUnit)(23, 8),
310
+ (0, utils_1.convertToUnit)(23, 8),
311
+ ],
312
+ borrowSpeeds: [
313
+ (0, utils_1.convertToUnit)(23, 8),
314
+ (0, utils_1.convertToUnit)(23, 8),
315
+ (0, utils_1.convertToUnit)(23, 8),
316
+ (0, utils_1.convertToUnit)(23, 8),
317
+ (0, utils_1.convertToUnit)(23, 8),
318
+ (0, utils_1.convertToUnit)(23, 8),
319
+ (0, utils_1.convertToUnit)(23, 8),
320
+ ],
321
+ },
322
+ {
323
+ asset: "ANKR",
324
+ markets: ["ANKR", "ankrBNB"],
325
+ supplySpeeds: [(0, utils_1.convertToUnit)(20, 8), (0, utils_1.convertToUnit)(20, 8)],
326
+ borrowSpeeds: [(0, utils_1.convertToUnit)(20, 8), (0, utils_1.convertToUnit)(20, 8)],
327
+ },
328
+ {
329
+ asset: "MBOX",
330
+ markets: ["MBOX"],
331
+ supplySpeeds: [(0, utils_1.convertToUnit)(25, 8)],
332
+ borrowSpeeds: [(0, utils_1.convertToUnit)(25, 8)],
333
+ },
334
+ {
335
+ asset: "NFT",
336
+ markets: ["NFT"],
337
+ supplySpeeds: [(0, utils_1.convertToUnit)(22, 8)],
338
+ borrowSpeeds: [(0, utils_1.convertToUnit)(22, 8)],
339
+ },
340
+ {
341
+ asset: "RACA",
342
+ markets: ["RACA"],
343
+ supplySpeeds: [(0, utils_1.convertToUnit)(27, 8)],
344
+ borrowSpeeds: [(0, utils_1.convertToUnit)(27, 8)],
345
+ },
346
+ ],
347
+ },
348
+ ],
349
+ },
350
+ bsctestnet: {
351
+ tokensConfig: [
352
+ {
353
+ isMock: false,
354
+ name: "Venus",
355
+ symbol: "XVS",
356
+ decimals: 18,
357
+ tokenAddress: "0xB9e0E753630434d7863528cc73CB7AC638a7c8ff",
358
+ },
359
+ {
360
+ isMock: false,
361
+ name: "Binance USD",
362
+ symbol: "BUSD",
363
+ decimals: 18,
364
+ tokenAddress: "0x8301F2213c0eeD49a7E28Ae4c3e91722919B8B47",
365
+ },
366
+ {
367
+ isMock: false,
368
+ name: "Bitcoin BEP2",
369
+ symbol: "BTCB",
370
+ decimals: 18,
371
+ tokenAddress: "0xA808e341e8e723DC6BA0Bb5204Bafc2330d7B8e4",
372
+ },
373
+ {
374
+ isMock: false,
375
+ name: "Wrapped BNB",
376
+ symbol: "WBNB",
377
+ decimals: 18,
378
+ tokenAddress: "0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd",
379
+ },
380
+ {
381
+ isMock: false,
382
+ name: "TRON",
383
+ symbol: "TRX",
384
+ decimals: 18,
385
+ tokenAddress: "0x19E7215abF8B2716EE807c9f4b83Af0e7f92653F",
386
+ },
387
+ {
388
+ isMock: false,
389
+ name: "USDT",
390
+ symbol: "USDT",
391
+ decimals: 6,
392
+ tokenAddress: "0xA11c8D9DC9b66E209Ef60F0C8D969D3CD988782c",
393
+ },
394
+ {
395
+ isMock: true,
396
+ name: "Ankr",
397
+ symbol: "ANKR",
398
+ decimals: 18,
399
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
400
+ },
401
+ {
402
+ isMock: true,
403
+ name: "Ankr Staked BNB",
404
+ symbol: "ankrBNB",
405
+ decimals: 18,
406
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
407
+ },
408
+ {
409
+ isMock: true,
410
+ name: "NFT",
411
+ symbol: "NFT",
412
+ decimals: 18,
413
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
414
+ },
415
+ {
416
+ isMock: true,
417
+ name: "RACA",
418
+ symbol: "RACA",
419
+ decimals: 18,
420
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
421
+ },
422
+ {
423
+ isMock: true,
424
+ name: "pSTAKE Staked BNB",
425
+ symbol: "stkBNB",
426
+ decimals: 18,
427
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
428
+ },
429
+ {
430
+ isMock: true,
431
+ name: "BIFI",
432
+ symbol: "BIFI",
433
+ decimals: 18,
434
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
435
+ },
436
+ {
437
+ isMock: true,
438
+ name: "Biswap",
439
+ symbol: "BSW",
440
+ decimals: 18,
441
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
442
+ },
443
+ {
444
+ isMock: true,
445
+ name: "WOO",
446
+ symbol: "WOO",
447
+ decimals: 18,
448
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
449
+ },
450
+ {
451
+ isMock: true,
452
+ name: "FLOKI",
453
+ symbol: "FLOKI",
454
+ decimals: 18,
455
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
456
+ },
457
+ {
458
+ isMock: true,
459
+ name: "BNBx",
460
+ symbol: "BNBx",
461
+ decimals: 18,
462
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
463
+ },
464
+ {
465
+ isMock: true,
466
+ name: "HAY",
467
+ symbol: "HAY",
468
+ decimals: 18,
469
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
470
+ },
471
+ {
472
+ isMock: true,
473
+ name: "BTT",
474
+ symbol: "BTT",
475
+ decimals: 18,
476
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
477
+ },
478
+ {
479
+ isMock: true,
480
+ name: "WIN",
481
+ symbol: "WIN",
482
+ decimals: 18,
483
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
484
+ },
485
+ {
486
+ isMock: true,
487
+ name: "USDD",
488
+ symbol: "USDD",
489
+ decimals: 18,
490
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
491
+ },
492
+ {
493
+ isMock: true,
494
+ name: "ALPACA",
495
+ symbol: "ALPACA",
496
+ decimals: 18,
497
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
498
+ },
499
+ ],
500
+ poolConfig: [
501
+ {
502
+ name: "DEFI",
503
+ closeFactor: (0, utils_1.convertToUnit)(0.05, 18),
504
+ liquidationIncentive: (0, utils_1.convertToUnit)(1, 18),
505
+ minLiquidatableCollateral: (0, utils_1.convertToUnit)(100, 18),
506
+ vtokens: [
507
+ {
508
+ name: "Venus BIFI",
509
+ asset: "BIFI",
510
+ symbol: "vBIFI",
511
+ ...volatileTokenTemplate,
512
+ },
513
+ {
514
+ name: "Venus BSW",
515
+ asset: "BSW",
516
+ symbol: "vBSW",
517
+ ...volatileTokenTemplate,
518
+ },
519
+ {
520
+ name: "Venus ALPACA",
521
+ asset: "ALPACA",
522
+ symbol: "vALPACA",
523
+ ...volatileTokenTemplate,
524
+ },
525
+ {
526
+ name: "Venus WOO",
527
+ asset: "WOO",
528
+ symbol: "vWOO",
529
+ ...volatileTokenTemplate,
530
+ },
531
+ {
532
+ name: "Venus USDT",
533
+ asset: "USDT",
534
+ symbol: "vUSDT",
535
+ ...stableTokenTemplate,
536
+ initialSupply: (0, utils_1.convertToUnit)(100000, 6),
537
+ supplyCap: (0, utils_1.convertToUnit)(10000000, 6),
538
+ borrowCap: (0, utils_1.convertToUnit)(10000000, 6),
539
+ },
540
+ {
541
+ name: "Venus USDD",
542
+ asset: "USDD",
543
+ symbol: "vUSDD",
544
+ ...stableTokenTemplate,
545
+ },
546
+ ],
547
+ rewards: [
548
+ {
549
+ asset: "XVS",
550
+ markets: ["BIFI", "BSW", "ALPACA", "WOO"],
551
+ supplySpeeds: [(0, utils_1.convertToUnit)(23, 8), (0, utils_1.convertToUnit)(23, 8), (0, utils_1.convertToUnit)(23, 8), (0, utils_1.convertToUnit)(23, 8)],
552
+ borrowSpeeds: [(0, utils_1.convertToUnit)(23, 8), (0, utils_1.convertToUnit)(23, 8), (0, utils_1.convertToUnit)(23, 8), (0, utils_1.convertToUnit)(23, 8)],
553
+ },
554
+ {
555
+ asset: "BIFI",
556
+ markets: ["BSW"],
557
+ supplySpeeds: [(0, utils_1.convertToUnit)(33, 8)],
558
+ borrowSpeeds: [(0, utils_1.convertToUnit)(33, 8)],
559
+ },
560
+ ],
561
+ },
562
+ {
563
+ name: "GAMEFI",
564
+ closeFactor: (0, utils_1.convertToUnit)(0.05, 18),
565
+ liquidationIncentive: (0, utils_1.convertToUnit)(1, 18),
566
+ minLiquidatableCollateral: (0, utils_1.convertToUnit)(100, 18),
567
+ vtokens: [
568
+ {
569
+ name: "Venus RACA",
570
+ asset: "RACA",
571
+ symbol: "vRACA",
572
+ ...volatileTokenTemplate,
573
+ },
574
+ {
575
+ name: "Venus FLOKI",
576
+ asset: "FLOKI",
577
+ symbol: "vFLOKI",
578
+ ...volatileTokenTemplate,
579
+ },
580
+ {
581
+ name: "Venus USDT",
582
+ asset: "USDT",
583
+ symbol: "vUSDT",
584
+ ...stableTokenTemplate,
585
+ initialSupply: (0, utils_1.convertToUnit)(100000, 6),
586
+ supplyCap: (0, utils_1.convertToUnit)(10000000, 6),
587
+ borrowCap: (0, utils_1.convertToUnit)(10000000, 6),
588
+ },
589
+ {
590
+ name: "Venus USDD",
591
+ asset: "USDD",
592
+ symbol: "vUSDD",
593
+ ...stableTokenTemplate,
594
+ },
595
+ ],
596
+ rewards: [
597
+ {
598
+ asset: "XVS",
599
+ markets: ["RACA", "FLOKI"],
600
+ supplySpeeds: [(0, utils_1.convertToUnit)(23, 8), (0, utils_1.convertToUnit)(23, 8)],
601
+ borrowSpeeds: [(0, utils_1.convertToUnit)(23, 8), (0, utils_1.convertToUnit)(23, 8)],
602
+ },
603
+ {
604
+ asset: "RACA",
605
+ markets: ["FLOKI"],
606
+ supplySpeeds: [(0, utils_1.convertToUnit)(33, 8)],
607
+ borrowSpeeds: [(0, utils_1.convertToUnit)(33, 8)],
608
+ },
609
+ ],
610
+ },
611
+ {
612
+ name: "LIQUID STAKED BNB",
613
+ closeFactor: (0, utils_1.convertToUnit)(0.05, 18),
614
+ liquidationIncentive: (0, utils_1.convertToUnit)(1, 18),
615
+ minLiquidatableCollateral: (0, utils_1.convertToUnit)(100, 18),
616
+ vtokens: [
617
+ {
618
+ name: "Venus ankrBNB",
619
+ asset: "ankrBNB",
620
+ symbol: "vankrBNB",
621
+ ...volatileTokenTemplate,
622
+ },
623
+ {
624
+ name: "Venus BNBx",
625
+ asset: "BNBx",
626
+ symbol: "vBNBx",
627
+ ...volatileTokenTemplate,
628
+ },
629
+ {
630
+ name: "Venus stkBNB",
631
+ asset: "stkBNB",
632
+ symbol: "vstkBNB",
633
+ ...volatileTokenTemplate,
634
+ },
635
+ {
636
+ name: "Venus WBNB",
637
+ asset: "WBNB",
638
+ symbol: "vWBNB",
639
+ ...volatileTokenTemplate,
640
+ initialSupply: (0, utils_1.convertToUnit)("0.5", 18),
641
+ },
642
+ {
643
+ name: "Venus ANKR",
644
+ asset: "ANKR",
645
+ symbol: "vANKR",
646
+ ...volatileTokenTemplate,
647
+ },
648
+ {
649
+ name: "Venus USDT",
650
+ asset: "USDT",
651
+ symbol: "vUSDT",
652
+ ...stableTokenTemplate,
653
+ initialSupply: (0, utils_1.convertToUnit)(100000, 6),
654
+ supplyCap: (0, utils_1.convertToUnit)(10000000, 6),
655
+ borrowCap: (0, utils_1.convertToUnit)(10000000, 6),
656
+ },
657
+ {
658
+ name: "Venus USDD",
659
+ asset: "USDD",
660
+ symbol: "vUSDD",
661
+ ...stableTokenTemplate,
662
+ },
663
+ ],
664
+ rewards: [
665
+ {
666
+ asset: "XVS",
667
+ markets: ["ankrBNB", "BNBx", "stkBNB"],
668
+ supplySpeeds: [(0, utils_1.convertToUnit)(23, 8), (0, utils_1.convertToUnit)(23, 8), (0, utils_1.convertToUnit)(23, 8)],
669
+ borrowSpeeds: [(0, utils_1.convertToUnit)(23, 8), (0, utils_1.convertToUnit)(23, 8), (0, utils_1.convertToUnit)(23, 8)],
670
+ },
671
+ {
672
+ asset: "ankrBNB",
673
+ markets: ["BNBx"],
674
+ supplySpeeds: [(0, utils_1.convertToUnit)(33, 8)],
675
+ borrowSpeeds: [(0, utils_1.convertToUnit)(33, 8)],
676
+ },
677
+ ],
678
+ },
679
+ {
680
+ name: "STABLE COINS",
681
+ closeFactor: (0, utils_1.convertToUnit)(0.05, 18),
682
+ liquidationIncentive: (0, utils_1.convertToUnit)(1, 18),
683
+ minLiquidatableCollateral: (0, utils_1.convertToUnit)(100, 18),
684
+ vtokens: [
685
+ {
686
+ name: "Venus HAY",
687
+ asset: "HAY",
688
+ symbol: "vHAY",
689
+ ...stableTokenTemplate,
690
+ },
691
+ {
692
+ name: "Venus USDT",
693
+ asset: "USDT",
694
+ symbol: "vUSDT",
695
+ ...stableTokenTemplate,
696
+ initialSupply: (0, utils_1.convertToUnit)(100000, 6),
697
+ supplyCap: (0, utils_1.convertToUnit)(10000000, 6),
698
+ borrowCap: (0, utils_1.convertToUnit)(10000000, 6),
699
+ },
700
+ {
701
+ name: "Venus USDD",
702
+ asset: "USDD",
703
+ symbol: "vUSDD",
704
+ ...stableTokenTemplate,
705
+ },
706
+ ],
707
+ rewards: [
708
+ {
709
+ asset: "XVS",
710
+ markets: ["HAY"],
711
+ supplySpeeds: [(0, utils_1.convertToUnit)(23, 8)],
712
+ borrowSpeeds: [(0, utils_1.convertToUnit)(23, 8)],
713
+ },
714
+ {
715
+ asset: "HAY",
716
+ markets: ["USDT"],
717
+ supplySpeeds: [(0, utils_1.convertToUnit)(33, 8)],
718
+ borrowSpeeds: [(0, utils_1.convertToUnit)(33, 8)],
719
+ },
720
+ ],
721
+ },
722
+ {
723
+ name: "TRON FAMILY",
724
+ closeFactor: (0, utils_1.convertToUnit)(0.05, 18),
725
+ liquidationIncentive: (0, utils_1.convertToUnit)(1, 18),
726
+ minLiquidatableCollateral: (0, utils_1.convertToUnit)(100, 18),
727
+ vtokens: [
728
+ {
729
+ name: "Venus BTT",
730
+ asset: "BTT",
731
+ symbol: "vBTT",
732
+ ...volatileTokenTemplate,
733
+ },
734
+ {
735
+ name: "Venus NFT",
736
+ asset: "NFT",
737
+ symbol: "vNFT",
738
+ ...volatileTokenTemplate,
739
+ },
740
+ {
741
+ name: "Venus WIN",
742
+ asset: "WIN",
743
+ symbol: "vWIN",
744
+ ...volatileTokenTemplate,
745
+ },
746
+ {
747
+ name: "Venus TRX",
748
+ asset: "TRX",
749
+ symbol: "vTRX",
750
+ ...volatileTokenTemplate,
751
+ },
752
+ {
753
+ name: "Venus USDT",
754
+ asset: "USDT",
755
+ symbol: "vUSDT",
756
+ ...stableTokenTemplate,
757
+ initialSupply: (0, utils_1.convertToUnit)(100000, 6),
758
+ supplyCap: (0, utils_1.convertToUnit)(10000000, 6),
759
+ borrowCap: (0, utils_1.convertToUnit)(10000000, 6),
760
+ },
761
+ {
762
+ name: "Venus USDD",
763
+ asset: "USDD",
764
+ symbol: "vUSDD",
765
+ ...stableTokenTemplate,
766
+ },
767
+ ],
768
+ rewards: [
769
+ {
770
+ asset: "XVS",
771
+ markets: ["TRX", "BTT", "NFT", "USDD", "WIN"],
772
+ supplySpeeds: [
773
+ (0, utils_1.convertToUnit)(23, 8),
774
+ (0, utils_1.convertToUnit)(23, 8),
775
+ (0, utils_1.convertToUnit)(23, 8),
776
+ (0, utils_1.convertToUnit)(23, 8),
777
+ (0, utils_1.convertToUnit)(23, 8),
778
+ ],
779
+ borrowSpeeds: [
780
+ (0, utils_1.convertToUnit)(23, 8),
781
+ (0, utils_1.convertToUnit)(23, 8),
782
+ (0, utils_1.convertToUnit)(23, 8),
783
+ (0, utils_1.convertToUnit)(23, 8),
784
+ (0, utils_1.convertToUnit)(23, 8),
785
+ ],
786
+ },
787
+ {
788
+ asset: "TRX",
789
+ markets: ["BTT"],
790
+ supplySpeeds: [(0, utils_1.convertToUnit)(33, 8)],
791
+ borrowSpeeds: [(0, utils_1.convertToUnit)(33, 8)],
792
+ },
793
+ ],
794
+ },
795
+ ],
796
+ },
797
+ bscmainnet: {
798
+ tokensConfig: [],
799
+ poolConfig: [],
800
+ },
801
+ };
802
+ async function getConfig(networkName) {
803
+ switch (networkName) {
804
+ case "hardhat":
805
+ return exports.globalConfig.hardhat;
806
+ case "bsctestnet":
807
+ return exports.globalConfig.bsctestnet;
808
+ case "bscmainnet":
809
+ return exports.globalConfig.bscmainnet;
810
+ case "development":
811
+ return exports.globalConfig.bsctestnet;
812
+ default:
813
+ throw new Error(`config for network ${networkName} is not available.`);
814
+ }
815
+ }
816
+ exports.getConfig = getConfig;
817
+ function getTokenConfig(tokenSymbol, tokens) {
818
+ const tokenCofig = tokens.find(({ symbol }) => symbol.toLocaleLowerCase().trim() === tokenSymbol.toLocaleLowerCase().trim());
819
+ if (tokenCofig) {
820
+ return tokenCofig;
821
+ }
822
+ else {
823
+ throw Error(`Token ${tokenSymbol} is not found in the config`);
824
+ }
825
+ }
826
+ exports.getTokenConfig = getTokenConfig;
827
+ async function getTokenAddress(tokenConfig, deployments) {
828
+ if (tokenConfig.isMock) {
829
+ const token = await deployments.get(`Mock${tokenConfig.symbol}`);
830
+ return token.address;
831
+ }
832
+ else {
833
+ return tokenConfig.tokenAddress;
834
+ }
835
+ }
836
+ exports.getTokenAddress = getTokenAddress;