@venusprotocol/isolated-pools 3.8.0-dev.4 → 3.8.0-dev.5

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 (26) hide show
  1. package/deployments/zksyncmainnet/JumpRateModelV2_base0bps_slope687bps_jump25000bps_kink8000bps.json +668 -0
  2. package/deployments/zksyncmainnet/VToken_vwUSDM_Core.json +317 -0
  3. package/deployments/zksyncmainnet/solcInputs/c84b0f085ad65b3aa38a5f0d3790c387.json +448 -0
  4. package/deployments/zksyncmainnet.json +434 -0
  5. package/deployments/zksyncmainnet_addresses.json +3 -1
  6. package/deployments/zksyncsepolia/JumpRateModelV2_base0bps_slope687bps_jump25000bps_kink8000bps.json +668 -0
  7. package/deployments/zksyncsepolia/MockUSDM.json +519 -0
  8. package/deployments/zksyncsepolia/MockwUSDM.json +576 -0
  9. package/deployments/zksyncsepolia/VToken_vwUSDM_Core.json +317 -0
  10. package/deployments/zksyncsepolia/solcInputs/c84b0f085ad65b3aa38a5f0d3790c387.json +448 -0
  11. package/deployments/zksyncsepolia.json +1160 -89
  12. package/deployments/zksyncsepolia_addresses.json +5 -1
  13. package/dist/deploy/001-deploy-mock-tokens.js +3 -2
  14. package/dist/deploy/009-deploy-vtokens.js +10 -1
  15. package/dist/deployments/zksyncmainnet.json +434 -0
  16. package/dist/deployments/zksyncsepolia.json +1160 -89
  17. package/dist/hardhat.config.js +7 -0
  18. package/dist/helpers/deploymentConfig.d.ts +1 -0
  19. package/dist/helpers/deploymentConfig.js +71 -6
  20. package/dist/helpers/deploymentUtils.d.ts +2 -0
  21. package/dist/helpers/deploymentUtils.js +6 -1
  22. package/dist/typechain/factories/IVToken__factory.d.ts +5 -1
  23. package/dist/typechain/factories/IVToken__factory.js +201 -1
  24. package/package.json +1 -1
  25. package/typechain/IVToken.d.ts +341 -4
  26. package/typechain/factories/IVToken__factory.ts +201 -1
@@ -276,6 +276,7 @@ const config = {
276
276
  url: process.env.ARCHIVE_NODE_bsctestnet || "https://data-seed-prebsc-1-s1.binance.org:8545",
277
277
  chainId: 97,
278
278
  live: true,
279
+ tags: ["testnet"],
279
280
  gasPrice: 20000000000,
280
281
  accounts: process.env.DEPLOYER_PRIVATE_KEY ? [`0x${process.env.DEPLOYER_PRIVATE_KEY}`] : [],
281
282
  },
@@ -283,6 +284,7 @@ const config = {
283
284
  bscmainnet: {
284
285
  url: process.env.ARCHIVE_NODE_bscmainnet || "https://bsc-dataseed.binance.org/",
285
286
  chainId: 56,
287
+ live: true,
286
288
  timeout: 1200000,
287
289
  accounts: process.env.DEPLOYER_PRIVATE_KEY ? [`0x${process.env.DEPLOYER_PRIVATE_KEY}`] : [],
288
290
  },
@@ -297,12 +299,14 @@ const config = {
297
299
  url: process.env.ARCHIVE_NODE_sepolia || "https://ethereum-sepolia.blockpi.network/v1/rpc/public",
298
300
  chainId: 11155111,
299
301
  live: true,
302
+ tags: ["testnet"],
300
303
  accounts: process.env.DEPLOYER_PRIVATE_KEY ? [`0x${process.env.DEPLOYER_PRIVATE_KEY}`] : [],
301
304
  },
302
305
  opbnbtestnet: {
303
306
  url: process.env.ARCHIVE_NODE_opbnbtestnet || "https://opbnb-testnet-rpc.bnbchain.org",
304
307
  chainId: 5611,
305
308
  live: true,
309
+ tags: ["testnet"],
306
310
  accounts: DEPLOYER_PRIVATE_KEY ? [`0x${DEPLOYER_PRIVATE_KEY}`] : [],
307
311
  },
308
312
  opbnbmainnet: {
@@ -315,6 +319,7 @@ const config = {
315
319
  url: process.env.ARCHIVE_NODE_arbitrumsepolia || "https://sepolia-rollup.arbitrum.io/rpc",
316
320
  chainId: 421614,
317
321
  live: true,
322
+ tags: ["testnet"],
318
323
  accounts: DEPLOYER_PRIVATE_KEY ? [`0x${DEPLOYER_PRIVATE_KEY}`] : [],
319
324
  },
320
325
  arbitrumone: {
@@ -327,6 +332,7 @@ const config = {
327
332
  url: process.env.ARCHIVE_NODE_opsepolia || "https://sepolia.optimism.io",
328
333
  chainId: 11155420,
329
334
  live: true,
335
+ tags: ["testnet"],
330
336
  accounts: DEPLOYER_PRIVATE_KEY ? [`0x${DEPLOYER_PRIVATE_KEY}`] : [],
331
337
  },
332
338
  opmainnet: {
@@ -339,6 +345,7 @@ const config = {
339
345
  url: process.env.ARCHIVE_NODE_basesepolia || "https://sepolia.base.org",
340
346
  chainId: 84532,
341
347
  live: true,
348
+ tags: ["testnet"],
342
349
  accounts: DEPLOYER_PRIVATE_KEY ? [`0x${DEPLOYER_PRIVATE_KEY}`] : [],
343
350
  },
344
351
  basemainnet: {
@@ -36,6 +36,7 @@ type BidderDeploymentValues = {
36
36
  };
37
37
  export type TokenConfig = {
38
38
  isMock: boolean;
39
+ standard?: "ERC-20" | "ERC-4626";
39
40
  name?: string;
40
41
  symbol: string;
41
42
  decimals?: number;
@@ -155,16 +155,16 @@ exports.preconfiguredAddresses = {
155
155
  },
156
156
  zksyncsepolia: {
157
157
  VTreasury: zksyncsepolia_json_2.contracts.VTreasuryV8.address,
158
- NormalTimelock: exports.ZKSYNC_SEPOLIA_MULTISIG,
159
- FastTrackTimelock: exports.ZKSYNC_SEPOLIA_MULTISIG,
160
- CriticalTimelock: exports.ZKSYNC_SEPOLIA_MULTISIG,
158
+ NormalTimelock: zksyncsepolia_json_1.contracts.NormalTimelock.address,
159
+ FastTrackTimelock: zksyncsepolia_json_1.contracts.FastTrackTimelock.address,
160
+ CriticalTimelock: zksyncsepolia_json_1.contracts.CriticalTimelock.address,
161
161
  AccessControlManager: zksyncsepolia_json_1.contracts.AccessControlManager.address,
162
162
  },
163
163
  zksyncmainnet: {
164
164
  VTreasury: zksyncmainnet_json_2.contracts.VTreasuryV8.address,
165
- NormalTimelock: exports.ZKSYNC_MAINNET_MULTISIG,
166
- FastTrackTimelock: exports.ZKSYNC_MAINNET_MULTISIG,
167
- CriticalTimelock: exports.ZKSYNC_MAINNET_MULTISIG,
165
+ NormalTimelock: zksyncmainnet_json_1.contracts.NormalTimelock.address,
166
+ FastTrackTimelock: zksyncmainnet_json_1.contracts.FastTrackTimelock.address,
167
+ CriticalTimelock: zksyncmainnet_json_1.contracts.CriticalTimelock.address,
168
168
  AccessControlManager: zksyncmainnet_json_1.contracts.AccessControlManager.address,
169
169
  },
170
170
  opsepolia: {
@@ -5332,6 +5332,21 @@ exports.globalConfig = {
5332
5332
  decimals: 18,
5333
5333
  tokenAddress: "0x3AeCac43A2ebe5D8184e650403bf9F656F9D1cfA",
5334
5334
  },
5335
+ {
5336
+ isMock: true,
5337
+ name: "Mountain Protocol USD",
5338
+ symbol: "USDM",
5339
+ decimals: 18,
5340
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
5341
+ },
5342
+ {
5343
+ isMock: true,
5344
+ standard: "ERC-4626",
5345
+ name: "Wrapped Mountain Protocol USD",
5346
+ symbol: "wUSDM",
5347
+ decimals: 18,
5348
+ tokenAddress: hardhat_1.ethers.constants.AddressZero,
5349
+ },
5335
5350
  ],
5336
5351
  poolConfig: [
5337
5352
  {
@@ -5449,6 +5464,24 @@ exports.globalConfig = {
5449
5464
  reduceReservesBlockDelta: REDUCE_RESERVES_BLOCK_DELTA_ZKSYNC_SEPOLIA,
5450
5465
  vTokenReceiver: exports.preconfiguredAddresses.zksyncsepolia.VTreasury,
5451
5466
  },
5467
+ {
5468
+ name: "Venus wUSDM (Core)",
5469
+ asset: "wUSDM",
5470
+ symbol: "vwUSDM_Core",
5471
+ rateModel: InterestRateModels.JumpRate.toString(),
5472
+ baseRatePerYear: "0",
5473
+ multiplierPerYear: (0, utils_1.convertToUnit)("0.06875", 18),
5474
+ jumpMultiplierPerYear: (0, utils_1.convertToUnit)("2.5", 18),
5475
+ kink_: (0, utils_1.convertToUnit)("0.8", 18),
5476
+ collateralFactor: (0, utils_1.convertToUnit)("0.75", 18),
5477
+ liquidationThreshold: (0, utils_1.convertToUnit)("0.78", 18),
5478
+ reserveFactor: (0, utils_1.convertToUnit)("0.25", 18),
5479
+ initialSupply: (0, utils_1.convertToUnit)("10000", 18),
5480
+ supplyCap: (0, utils_1.convertToUnit)("5000000", 18),
5481
+ borrowCap: (0, utils_1.convertToUnit)("4000000", 18),
5482
+ reduceReservesBlockDelta: REDUCE_RESERVES_BLOCK_DELTA_ZKSYNC_SEPOLIA,
5483
+ vTokenReceiver: exports.preconfiguredAddresses.zksyncsepolia.VTreasury,
5484
+ },
5452
5485
  ],
5453
5486
  rewards: [
5454
5487
  // XVS Rewards Over 3600 days (311040000 seconds)
@@ -5528,6 +5561,20 @@ exports.globalConfig = {
5528
5561
  decimals: 6,
5529
5562
  tokenAddress: "0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4",
5530
5563
  },
5564
+ {
5565
+ isMock: false,
5566
+ name: "Mountain Protocol USD",
5567
+ symbol: "USDM",
5568
+ decimals: 18,
5569
+ tokenAddress: "0x7715c206A14Ac93Cb1A6c0316A6E5f8aD7c9Dc31",
5570
+ },
5571
+ {
5572
+ isMock: false,
5573
+ name: "Wrapped Mountain Protocol USD",
5574
+ symbol: "wUSDM",
5575
+ decimals: 18,
5576
+ tokenAddress: "0xA900cbE7739c96D2B153a273953620A701d5442b",
5577
+ },
5531
5578
  ],
5532
5579
  poolConfig: [
5533
5580
  {
@@ -5654,6 +5701,24 @@ exports.globalConfig = {
5654
5701
  reduceReservesBlockDelta: REDUCE_RESERVES_BLOCK_DELTA_ZKSYNC_MAINNET,
5655
5702
  vTokenReceiver: exports.preconfiguredAddresses.zksyncmainnet.VTreasury,
5656
5703
  },
5704
+ {
5705
+ name: "Venus wUSDM (Core)",
5706
+ asset: "wUSDM",
5707
+ symbol: "vwUSDM_Core",
5708
+ rateModel: InterestRateModels.JumpRate.toString(),
5709
+ baseRatePerYear: "0",
5710
+ multiplierPerYear: (0, utils_1.convertToUnit)("0.06875", 18),
5711
+ jumpMultiplierPerYear: (0, utils_1.convertToUnit)("2.5", 18),
5712
+ kink_: (0, utils_1.convertToUnit)("0.8", 18),
5713
+ collateralFactor: (0, utils_1.convertToUnit)("0.75", 18),
5714
+ liquidationThreshold: (0, utils_1.convertToUnit)("0.78", 18),
5715
+ reserveFactor: (0, utils_1.convertToUnit)("0.25", 18),
5716
+ initialSupply: (0, utils_1.convertToUnit)("10000", 18),
5717
+ supplyCap: (0, utils_1.convertToUnit)("5000000", 18),
5718
+ borrowCap: (0, utils_1.convertToUnit)("4000000", 18),
5719
+ reduceReservesBlockDelta: REDUCE_RESERVES_BLOCK_DELTA_ZKSYNC_MAINNET,
5720
+ vTokenReceiver: "0xFfCf33Ed3fc6B7eC7d4F6166cC1B86d4F42Af192",
5721
+ },
5657
5722
  ],
5658
5723
  rewards: [
5659
5724
  // XVS Rewards Over 1 month (2,592,000 seconds)
@@ -1,3 +1,4 @@
1
+ import { HardhatRuntimeEnvironment } from "hardhat/types";
1
2
  import { ERC20, MockToken } from "../typechain";
2
3
  import { DeploymentInfo, PoolConfig, TokenConfig } from "./deploymentConfig";
3
4
  export declare const toAddress: (addressOrAlias: string) => Promise<string>;
@@ -7,3 +8,4 @@ export declare const getUnregisteredPools: (poolConfig: PoolConfig[]) => Promise
7
8
  export declare const getUnregisteredVTokens: (poolConfig: PoolConfig[]) => Promise<PoolConfig[]>;
8
9
  export declare const getUnregisteredRewardsDistributors: (poolConfig: PoolConfig[]) => Promise<PoolConfig[]>;
9
10
  export declare const getBlockOrTimestampBasedDeploymentInfo: (network: string) => DeploymentInfo;
11
+ export declare const skipMainnets: () => (hre: HardhatRuntimeEnvironment) => Promise<boolean>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getBlockOrTimestampBasedDeploymentInfo = exports.getUnregisteredRewardsDistributors = exports.getUnregisteredVTokens = exports.getUnregisteredPools = exports.getUnderlyingToken = exports.getUnderlyingMock = exports.toAddress = void 0;
3
+ exports.skipMainnets = exports.getBlockOrTimestampBasedDeploymentInfo = exports.getUnregisteredRewardsDistributors = exports.getUnregisteredVTokens = exports.getUnregisteredPools = exports.getUnderlyingToken = exports.getUnderlyingMock = exports.toAddress = void 0;
4
4
  const hardhat_1 = require("hardhat");
5
5
  const deploymentConfig_1 = require("./deploymentConfig");
6
6
  const toAddress = async (addressOrAlias) => {
@@ -93,3 +93,8 @@ const getBlockOrTimestampBasedDeploymentInfo = (network) => {
93
93
  return { isTimeBased: isTimeBased, blocksPerYear: deploymentConfig_1.blocksPerYear[blocksPerYearKey] };
94
94
  };
95
95
  exports.getBlockOrTimestampBasedDeploymentInfo = getBlockOrTimestampBasedDeploymentInfo;
96
+ const skipMainnets = () => async (hre) => {
97
+ const isMainnet = hre.network.live && !hre.network.tags["testnet"];
98
+ return isMainnet;
99
+ };
100
+ exports.skipMainnets = skipMainnets;
@@ -3,7 +3,11 @@ import { Provider } from "@ethersproject/providers";
3
3
  import type { IVToken, IVTokenInterface } from "../IVToken";
4
4
  export declare class IVToken__factory {
5
5
  static readonly abi: {
6
- inputs: never[];
6
+ inputs: {
7
+ internalType: string;
8
+ name: string;
9
+ type: string;
10
+ }[];
7
11
  name: string;
8
12
  outputs: {
9
13
  internalType: string;
@@ -6,6 +6,206 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.IVToken__factory = void 0;
7
7
  const ethers_1 = require("ethers");
8
8
  const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "address",
13
+ name: "account",
14
+ type: "address",
15
+ },
16
+ ],
17
+ name: "borrowBalanceCurrent",
18
+ outputs: [
19
+ {
20
+ internalType: "uint256",
21
+ name: "",
22
+ type: "uint256",
23
+ },
24
+ ],
25
+ stateMutability: "nonpayable",
26
+ type: "function",
27
+ },
28
+ {
29
+ inputs: [
30
+ {
31
+ internalType: "address",
32
+ name: "borrower",
33
+ type: "address",
34
+ },
35
+ {
36
+ internalType: "uint256",
37
+ name: "borrowAmount",
38
+ type: "uint256",
39
+ },
40
+ ],
41
+ name: "borrowBehalf",
42
+ outputs: [
43
+ {
44
+ internalType: "uint256",
45
+ name: "",
46
+ type: "uint256",
47
+ },
48
+ ],
49
+ stateMutability: "nonpayable",
50
+ type: "function",
51
+ },
52
+ {
53
+ inputs: [],
54
+ name: "exchangeRateCurrent",
55
+ outputs: [
56
+ {
57
+ internalType: "uint256",
58
+ name: "",
59
+ type: "uint256",
60
+ },
61
+ ],
62
+ stateMutability: "nonpayable",
63
+ type: "function",
64
+ },
65
+ {
66
+ inputs: [
67
+ {
68
+ internalType: "address",
69
+ name: "receiver",
70
+ type: "address",
71
+ },
72
+ {
73
+ internalType: "uint256",
74
+ name: "mintAmount",
75
+ type: "uint256",
76
+ },
77
+ ],
78
+ name: "mintBehalf",
79
+ outputs: [
80
+ {
81
+ internalType: "uint256",
82
+ name: "",
83
+ type: "uint256",
84
+ },
85
+ ],
86
+ stateMutability: "nonpayable",
87
+ type: "function",
88
+ },
89
+ {
90
+ inputs: [
91
+ {
92
+ internalType: "uint256",
93
+ name: "redeemTokens",
94
+ type: "uint256",
95
+ },
96
+ ],
97
+ name: "redeem",
98
+ outputs: [
99
+ {
100
+ internalType: "uint256",
101
+ name: "",
102
+ type: "uint256",
103
+ },
104
+ ],
105
+ stateMutability: "nonpayable",
106
+ type: "function",
107
+ },
108
+ {
109
+ inputs: [
110
+ {
111
+ internalType: "address",
112
+ name: "redeemer",
113
+ type: "address",
114
+ },
115
+ {
116
+ internalType: "uint256",
117
+ name: "redeemTokens",
118
+ type: "uint256",
119
+ },
120
+ ],
121
+ name: "redeemBehalf",
122
+ outputs: [
123
+ {
124
+ internalType: "uint256",
125
+ name: "",
126
+ type: "uint256",
127
+ },
128
+ ],
129
+ stateMutability: "nonpayable",
130
+ type: "function",
131
+ },
132
+ {
133
+ inputs: [
134
+ {
135
+ internalType: "address",
136
+ name: "redeemer",
137
+ type: "address",
138
+ },
139
+ {
140
+ internalType: "uint256",
141
+ name: "redeemAmount",
142
+ type: "uint256",
143
+ },
144
+ ],
145
+ name: "redeemUnderlyingBehalf",
146
+ outputs: [
147
+ {
148
+ internalType: "uint256",
149
+ name: "",
150
+ type: "uint256",
151
+ },
152
+ ],
153
+ stateMutability: "nonpayable",
154
+ type: "function",
155
+ },
156
+ {
157
+ inputs: [
158
+ {
159
+ internalType: "address",
160
+ name: "borrower",
161
+ type: "address",
162
+ },
163
+ {
164
+ internalType: "uint256",
165
+ name: "repayAmount",
166
+ type: "uint256",
167
+ },
168
+ ],
169
+ name: "repayBorrowBehalf",
170
+ outputs: [
171
+ {
172
+ internalType: "uint256",
173
+ name: "",
174
+ type: "uint256",
175
+ },
176
+ ],
177
+ stateMutability: "nonpayable",
178
+ type: "function",
179
+ },
180
+ {
181
+ inputs: [
182
+ {
183
+ internalType: "address",
184
+ name: "from",
185
+ type: "address",
186
+ },
187
+ {
188
+ internalType: "address",
189
+ name: "to",
190
+ type: "address",
191
+ },
192
+ {
193
+ internalType: "uint256",
194
+ name: "amount",
195
+ type: "uint256",
196
+ },
197
+ ],
198
+ name: "transferFrom",
199
+ outputs: [
200
+ {
201
+ internalType: "bool",
202
+ name: "",
203
+ type: "bool",
204
+ },
205
+ ],
206
+ stateMutability: "nonpayable",
207
+ type: "function",
208
+ },
9
209
  {
10
210
  inputs: [],
11
211
  name: "underlying",
@@ -16,7 +216,7 @@ const _abi = [
16
216
  type: "address",
17
217
  },
18
218
  ],
19
- stateMutability: "view",
219
+ stateMutability: "nonpayable",
20
220
  type: "function",
21
221
  },
22
222
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@venusprotocol/isolated-pools",
3
- "version": "3.8.0-dev.4",
3
+ "version": "3.8.0-dev.5",
4
4
  "description": "",
5
5
  "files": [
6
6
  "artifacts",