@venusprotocol/isolated-pools 3.7.0-dev.7 → 3.7.0-dev.8

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 (29) hide show
  1. package/deployments/basemainnet/.chainId +1 -0
  2. package/deployments/basemainnet/ComptrollerBeacon.json +206 -0
  3. package/deployments/basemainnet/ComptrollerImpl.json +3396 -0
  4. package/deployments/basemainnet/Comptroller_Core.json +187 -0
  5. package/deployments/basemainnet/DefaultProxyAdmin.json +200 -0
  6. package/deployments/basemainnet/JumpRateModelV2_base0bps_slope1500bps_jump25000bps_kink4500bps.json +608 -0
  7. package/deployments/basemainnet/JumpRateModelV2_base0bps_slope300bps_jump45000bps_kink9000bps.json +608 -0
  8. package/deployments/basemainnet/JumpRateModelV2_base0bps_slope800bps_jump25000bps_kink8000bps.json +608 -0
  9. package/deployments/basemainnet/NativeTokenGateway_vWETH_Core.json +599 -0
  10. package/deployments/basemainnet/PoolLens.json +1416 -0
  11. package/deployments/basemainnet/PoolRegistry.json +940 -0
  12. package/deployments/basemainnet/PoolRegistry_Implementation.json +1194 -0
  13. package/deployments/basemainnet/PoolRegistry_Proxy.json +262 -0
  14. package/deployments/basemainnet/VTokenBeacon.json +206 -0
  15. package/deployments/basemainnet/VTokenImpl.json +3269 -0
  16. package/deployments/basemainnet/VToken_vUSDC_Core.json +257 -0
  17. package/deployments/basemainnet/VToken_vWETH_Core.json +257 -0
  18. package/deployments/basemainnet/VToken_vcbBTC_Core.json +257 -0
  19. package/deployments/basemainnet/solcInputs/1cc1a300ca8c782ec718d1d686c359e7.json +301 -0
  20. package/deployments/basemainnet/solcInputs/944a1fbb33c889bd3a2ad5ce1a25132e.json +253 -0
  21. package/deployments/basemainnet/solcInputs/9b1ce7dc3f6775f0734e7fb93d5ebf4f.json +394 -0
  22. package/deployments/basemainnet.json +9132 -0
  23. package/deployments/basemainnet_addresses.json +23 -0
  24. package/dist/deploy/018-native-token-gateway.js +7 -0
  25. package/dist/deployments/basemainnet.json +9132 -0
  26. package/dist/hardhat.config.js +19 -0
  27. package/dist/helpers/deploymentConfig.d.ts +9 -0
  28. package/dist/helpers/deploymentConfig.js +116 -3
  29. package/package.json +4 -4
@@ -82,6 +82,10 @@ const DEPLOYER_PRIVATE_KEY = process.env.DEPLOYER_PRIVATE_KEY;
82
82
  "node_modules/@venusprotocol/oracle/deployments/basesepolia",
83
83
  "node_modules/@venusprotocol/protocol-reserve/deployments/basesepolia",
84
84
  ],
85
+ basemainnet: [
86
+ "node_modules/@venusprotocol/oracle/deployments/basemainnet",
87
+ "node_modules/@venusprotocol/protocol-reserve/deployments/basemainnet",
88
+ ],
85
89
  },
86
90
  };
87
91
  }
@@ -295,6 +299,12 @@ const config = {
295
299
  live: true,
296
300
  accounts: DEPLOYER_PRIVATE_KEY ? [`0x${DEPLOYER_PRIVATE_KEY}`] : [],
297
301
  },
302
+ basemainnet: {
303
+ url: process.env.ARCHIVE_NODE_basemainnet || "https://mainnet.base.org",
304
+ chainId: 8453,
305
+ live: true,
306
+ accounts: DEPLOYER_PRIVATE_KEY ? [`0x${DEPLOYER_PRIVATE_KEY}`] : [],
307
+ },
298
308
  },
299
309
  gasReporter: {
300
310
  enabled: process.env.REPORT_GAS !== undefined,
@@ -398,6 +408,14 @@ const config = {
398
408
  browserURL: "https://sepolia.basescan.org/",
399
409
  },
400
410
  },
411
+ {
412
+ network: "basemainnet",
413
+ chainId: 8453,
414
+ urls: {
415
+ apiURL: "https://api.basescan.org/api",
416
+ browserURL: "https://basescan.org/",
417
+ },
418
+ },
401
419
  ],
402
420
  apiKey: {
403
421
  bscmainnet: process.env.ETHERSCAN_API_KEY || "ETHERSCAN_API_KEY",
@@ -411,6 +429,7 @@ const config = {
411
429
  opsepolia: process.env.ETHERSCAN_API_KEY || "ETHERSCAN_API_KEY",
412
430
  opmainnet: process.env.ETHERSCAN_API_KEY || "ETHERSCAN_API_KEY",
413
431
  basesepolia: process.env.ETHERSCAN_API_KEY || "ETHERSCAN_API_KEY",
432
+ basemainnet: process.env.ETHERSCAN_API_KEY || "ETHERSCAN_API_KEY",
414
433
  },
415
434
  },
416
435
  paths: {
@@ -15,6 +15,7 @@ export type NetworkConfig = {
15
15
  opsepolia: DeploymentConfig;
16
16
  opmainnet: DeploymentConfig;
17
17
  basesepolia: DeploymentConfig;
18
+ basemainnet: DeploymentConfig;
18
19
  };
19
20
  export type PreconfiguredAddresses = {
20
21
  [contract: string]: string;
@@ -106,6 +107,7 @@ export declare const ZKSYNC_MAINNET_MULTISIG = "0x751Aa759cfBB6CE71A43b48e40e1cC
106
107
  export declare const OP_SEPOLIA_MULTISIG = "0xd57365EE4E850e881229e2F8Aa405822f289e78d";
107
108
  export declare const OP_MAINNET_MULTISIG = "0x2e94dd14E81999CdBF5deDE31938beD7308354b3";
108
109
  export declare const BASE_SEPOLIA_MULTISIG = "0xdf3b635d2b535f906BB02abb22AED71346E36a00";
110
+ export declare const BASE_MAINNET_MULTISIG = "0x1803Cf1D3495b43cC628aa1d8638A981F8CD341C";
109
111
  export declare const preconfiguredAddresses: {
110
112
  hardhat: {
111
113
  VTreasury: string;
@@ -217,6 +219,13 @@ export declare const preconfiguredAddresses: {
217
219
  CriticalTimelock: string;
218
220
  AccessControlManager: string;
219
221
  };
222
+ basemainnet: {
223
+ VTreasury: string;
224
+ NormalTimelock: string;
225
+ FastTrackTimelock: string;
226
+ CriticalTimelock: string;
227
+ AccessControlManager: string;
228
+ };
220
229
  };
221
230
  export declare const globalConfig: NetworkConfig;
222
231
  export declare function getConfig(networkName: string): Promise<DeploymentConfig>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMaxBorrowRateMantissa = exports.getBidderDeploymentValues = exports.getTokenAddress = exports.getTokenConfig = exports.getConfig = exports.globalConfig = exports.preconfiguredAddresses = exports.BASE_SEPOLIA_MULTISIG = exports.OP_MAINNET_MULTISIG = exports.OP_SEPOLIA_MULTISIG = exports.ZKSYNC_MAINNET_MULTISIG = exports.ZKSYNC_SEPOLIA_MULTISIG = exports.ARBITRUM_ONE_MULTISIG = exports.ARBITRUM_SEPOLIA_MULTISIG = exports.OPBNBMAINNET_MULTISIG = exports.OPBNBTESTNET_MULTISIG = exports.ETHEREUM_MULTISIG = exports.SEPOLIA_MULTISIG = exports.blocksPerYear = exports.SECONDS_PER_YEAR = exports.OPBNB_BLOCKS_PER_YEAR = exports.ETH_BLOCKS_PER_YEAR = exports.BSC_BLOCKS_PER_YEAR = exports.InterestRateModels = void 0;
3
+ exports.getMaxBorrowRateMantissa = exports.getBidderDeploymentValues = exports.getTokenAddress = exports.getTokenConfig = exports.getConfig = exports.globalConfig = exports.preconfiguredAddresses = exports.BASE_MAINNET_MULTISIG = exports.BASE_SEPOLIA_MULTISIG = exports.OP_MAINNET_MULTISIG = exports.OP_SEPOLIA_MULTISIG = exports.ZKSYNC_MAINNET_MULTISIG = exports.ZKSYNC_SEPOLIA_MULTISIG = exports.ARBITRUM_ONE_MULTISIG = exports.ARBITRUM_SEPOLIA_MULTISIG = exports.OPBNBMAINNET_MULTISIG = exports.OPBNBTESTNET_MULTISIG = exports.ETHEREUM_MULTISIG = exports.SEPOLIA_MULTISIG = exports.blocksPerYear = exports.SECONDS_PER_YEAR = exports.OPBNB_BLOCKS_PER_YEAR = exports.ETH_BLOCKS_PER_YEAR = exports.BSC_BLOCKS_PER_YEAR = exports.InterestRateModels = void 0;
4
4
  const arbitrumone_json_1 = require("@venusprotocol/governance-contracts/deployments/arbitrumone.json");
5
5
  const arbitrumsepolia_json_1 = require("@venusprotocol/governance-contracts/deployments/arbitrumsepolia.json");
6
6
  const bscmainnet_json_1 = require("@venusprotocol/governance-contracts/deployments/bscmainnet.json");
@@ -49,6 +49,7 @@ exports.blocksPerYear = {
49
49
  opsepolia: 0,
50
50
  opmainnet: 0,
51
51
  basesepolia: 0,
52
+ basemainnet: 0,
52
53
  isTimeBased: 0, // for time based contracts
53
54
  };
54
55
  exports.SEPOLIA_MULTISIG = "0x94fa6078b6b8a26f0b6edffbe6501b22a10470fb";
@@ -62,6 +63,7 @@ exports.ZKSYNC_MAINNET_MULTISIG = "0x751Aa759cfBB6CE71A43b48e40e1cCcFC66Ba4aa";
62
63
  exports.OP_SEPOLIA_MULTISIG = "0xd57365EE4E850e881229e2F8Aa405822f289e78d";
63
64
  exports.OP_MAINNET_MULTISIG = "0x2e94dd14E81999CdBF5deDE31938beD7308354b3";
64
65
  exports.BASE_SEPOLIA_MULTISIG = "0xdf3b635d2b535f906BB02abb22AED71346E36a00";
66
+ exports.BASE_MAINNET_MULTISIG = "0x1803Cf1D3495b43cC628aa1d8638A981F8CD341C";
65
67
  const DEFAULT_REDUCE_RESERVES_BLOCK_DELTA = "7200";
66
68
  const REDUCE_RESERVES_BLOCK_DELTA_ETHEREUM = "7200";
67
69
  const REDUCE_RESERVES_BLOCK_DELTA_OPBNBTESTNET = "300";
@@ -73,6 +75,7 @@ const REDUCE_RESERVES_BLOCK_DELTA_OP_SEPOLIA = "86400";
73
75
  const REDUCE_RESERVES_BLOCK_DELTA_ZKSYNC_MAINNET = "86400";
74
76
  const REDUCE_RESERVES_BLOCK_DELTA_OP_MAINNET = "86400";
75
77
  const REDUCE_RESERVES_BLOCK_DELTA_BASE_SEPOLIA = "86400";
78
+ const REDUCE_RESERVES_BLOCK_DELTA_BASE_MAINNET = "86400";
76
79
  exports.preconfiguredAddresses = {
77
80
  hardhat: {
78
81
  VTreasury: "account:deployer",
@@ -184,6 +187,13 @@ exports.preconfiguredAddresses = {
184
187
  CriticalTimelock: exports.BASE_SEPOLIA_MULTISIG,
185
188
  AccessControlManager: "0x724138223D8F76b519fdE715f60124E7Ce51e051",
186
189
  },
190
+ basemainnet: {
191
+ VTreasury: "0xbefD8d06f403222dd5E8e37D2ba93320A97939D1",
192
+ NormalTimelock: exports.BASE_MAINNET_MULTISIG,
193
+ FastTrackTimelock: exports.BASE_MAINNET_MULTISIG,
194
+ CriticalTimelock: exports.BASE_MAINNET_MULTISIG,
195
+ AccessControlManager: "0x9E6CeEfDC6183e4D0DF8092A9B90cDF659687daB",
196
+ },
187
197
  };
188
198
  const poolRegistryPermissions = () => {
189
199
  const methods = [
@@ -5753,6 +5763,109 @@ exports.globalConfig = {
5753
5763
  ],
5754
5764
  preconfiguredAddresses: exports.preconfiguredAddresses.basesepolia,
5755
5765
  },
5766
+ basemainnet: {
5767
+ tokensConfig: [
5768
+ {
5769
+ isMock: false,
5770
+ name: "USD Coin",
5771
+ symbol: "USDC",
5772
+ decimals: 6,
5773
+ tokenAddress: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
5774
+ },
5775
+ {
5776
+ isMock: false,
5777
+ name: "Wrapped Ether",
5778
+ symbol: "WETH",
5779
+ decimals: 18,
5780
+ tokenAddress: "0x4200000000000000000000000000000000000006",
5781
+ },
5782
+ {
5783
+ isMock: false,
5784
+ name: "Coinbase Wrapped BTC",
5785
+ symbol: "cbBTC",
5786
+ decimals: 8,
5787
+ tokenAddress: "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf",
5788
+ },
5789
+ {
5790
+ isMock: false,
5791
+ name: "Venus",
5792
+ symbol: "XVS",
5793
+ decimals: 18,
5794
+ tokenAddress: "0xebB7873213c8d1d9913D8eA39Aa12d74cB107995",
5795
+ },
5796
+ ],
5797
+ poolConfig: [
5798
+ {
5799
+ id: "Core",
5800
+ name: "Core",
5801
+ closeFactor: (0, utils_1.convertToUnit)("0.5", 18),
5802
+ liquidationIncentive: (0, utils_1.convertToUnit)("1.1", 18),
5803
+ minLiquidatableCollateral: (0, utils_1.convertToUnit)("100", 18),
5804
+ vtokens: [
5805
+ {
5806
+ name: "Venus USDC (Core)",
5807
+ asset: "USDC",
5808
+ symbol: "vUSDC_Core",
5809
+ rateModel: InterestRateModels.JumpRate.toString(),
5810
+ baseRatePerYear: "0",
5811
+ multiplierPerYear: (0, utils_1.convertToUnit)("0.08", 18),
5812
+ jumpMultiplierPerYear: (0, utils_1.convertToUnit)("2.5", 18),
5813
+ kink_: (0, utils_1.convertToUnit)("0.8", 18),
5814
+ collateralFactor: (0, utils_1.convertToUnit)("0.75", 18),
5815
+ liquidationThreshold: (0, utils_1.convertToUnit)("0.78", 18),
5816
+ reserveFactor: (0, utils_1.convertToUnit)("0.1", 18),
5817
+ initialSupply: (0, utils_1.convertToUnit)("5000", 6),
5818
+ supplyCap: (0, utils_1.convertToUnit)("30000000", 6),
5819
+ borrowCap: (0, utils_1.convertToUnit)("27000000", 6),
5820
+ reduceReservesBlockDelta: REDUCE_RESERVES_BLOCK_DELTA_BASE_MAINNET,
5821
+ vTokenReceiver: exports.preconfiguredAddresses.basemainnet.VTreasury,
5822
+ },
5823
+ {
5824
+ name: "Venus WETH (Core)",
5825
+ asset: "WETH",
5826
+ symbol: "vWETH_Core",
5827
+ rateModel: InterestRateModels.JumpRate.toString(),
5828
+ baseRatePerYear: "0",
5829
+ multiplierPerYear: (0, utils_1.convertToUnit)("0.03", 18),
5830
+ jumpMultiplierPerYear: (0, utils_1.convertToUnit)("4.5", 18),
5831
+ kink_: (0, utils_1.convertToUnit)("0.9", 18),
5832
+ collateralFactor: (0, utils_1.convertToUnit)("0.8", 18),
5833
+ liquidationThreshold: (0, utils_1.convertToUnit)("0.83", 18),
5834
+ reserveFactor: (0, utils_1.convertToUnit)("0.15", 18),
5835
+ initialSupply: (0, utils_1.convertToUnit)("2", 18),
5836
+ supplyCap: (0, utils_1.convertToUnit)(10000, 18),
5837
+ borrowCap: (0, utils_1.convertToUnit)(9000, 18),
5838
+ reduceReservesBlockDelta: REDUCE_RESERVES_BLOCK_DELTA_BASE_MAINNET,
5839
+ vTokenReceiver: exports.preconfiguredAddresses.basemainnet.VTreasury,
5840
+ },
5841
+ {
5842
+ name: "Venus cbBTC (Core)",
5843
+ asset: "cbBTC",
5844
+ symbol: "vcbBTC_Core",
5845
+ rateModel: InterestRateModels.JumpRate.toString(),
5846
+ baseRatePerYear: "0",
5847
+ multiplierPerYear: (0, utils_1.convertToUnit)("0.15", 18),
5848
+ jumpMultiplierPerYear: (0, utils_1.convertToUnit)("2.5", 18),
5849
+ kink_: (0, utils_1.convertToUnit)("0.45", 18),
5850
+ collateralFactor: (0, utils_1.convertToUnit)("0.73", 18),
5851
+ liquidationThreshold: (0, utils_1.convertToUnit)("0.78", 18),
5852
+ reserveFactor: (0, utils_1.convertToUnit)("0.2", 18),
5853
+ initialSupply: (0, utils_1.convertToUnit)("0.05", 8),
5854
+ supplyCap: (0, utils_1.convertToUnit)(400, 8),
5855
+ borrowCap: (0, utils_1.convertToUnit)(200, 8),
5856
+ reduceReservesBlockDelta: REDUCE_RESERVES_BLOCK_DELTA_BASE_MAINNET,
5857
+ vTokenReceiver: exports.preconfiguredAddresses.basemainnet.VTreasury,
5858
+ },
5859
+ ],
5860
+ rewards: [],
5861
+ },
5862
+ ],
5863
+ accessControlConfig: [
5864
+ ...poolRegistryPermissions(),
5865
+ ...normalTimelockPermissions(exports.preconfiguredAddresses.basemainnet.NormalTimelock),
5866
+ ],
5867
+ preconfiguredAddresses: exports.preconfiguredAddresses.basemainnet,
5868
+ },
5756
5869
  };
5757
5870
  async function getConfig(networkName) {
5758
5871
  switch (networkName) {
@@ -5784,6 +5897,8 @@ async function getConfig(networkName) {
5784
5897
  return exports.globalConfig.opmainnet;
5785
5898
  case "basesepolia":
5786
5899
  return exports.globalConfig.basesepolia;
5900
+ case "basemainnet":
5901
+ return exports.globalConfig.basemainnet;
5787
5902
  case "development":
5788
5903
  return exports.globalConfig.bsctestnet;
5789
5904
  default:
@@ -5885,8 +6000,6 @@ function getMaxBorrowRateMantissa(networkName) {
5885
6000
  return ethers_1.BigNumber.from(0.0005e16);
5886
6001
  case "opbnbmainnet":
5887
6002
  return ethers_1.BigNumber.from(0.0005e16);
5888
- case "basesepolia":
5889
- return ethers_1.BigNumber.from(0.0005e16);
5890
6003
  case "development":
5891
6004
  return ethers_1.BigNumber.from(0.0005e16);
5892
6005
  default:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@venusprotocol/isolated-pools",
3
- "version": "3.7.0-dev.7",
3
+ "version": "3.7.0-dev.8",
4
4
  "description": "",
5
5
  "files": [
6
6
  "artifacts",
@@ -77,10 +77,10 @@
77
77
  "@types/node": "^12.20.50",
78
78
  "@typescript-eslint/eslint-plugin": "^5.27.1",
79
79
  "@typescript-eslint/parser": "^5.27.1",
80
- "@venusprotocol/governance-contracts": "2.4.0",
81
- "@venusprotocol/oracle": "2.6.0",
80
+ "@venusprotocol/governance-contracts": "2.6.0",
81
+ "@venusprotocol/oracle": "2.7.0",
82
82
  "@venusprotocol/protocol-reserve": "2.4.0",
83
- "@venusprotocol/venus-protocol": "9.3.0",
83
+ "@venusprotocol/venus-protocol": "9.4.0",
84
84
  "bignumber.js": "9.0.0",
85
85
  "chai": "^4.3.6",
86
86
  "dotenv": "^10.0.0",