@venusprotocol/venus-protocol 7.5.0-dev.1 → 7.5.0-dev.2

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 (28) hide show
  1. package/deploy/009-configure-prime.ts +36 -0
  2. package/deploy/009-deploy-prime.ts +20 -9
  3. package/deployments/ethereum/Prime.json +2047 -0
  4. package/deployments/ethereum/PrimeLiquidityProvider.json +1118 -0
  5. package/deployments/ethereum/PrimeLiquidityProvider_Implementation.json +1415 -0
  6. package/deployments/ethereum/PrimeLiquidityProvider_Proxy.json +277 -0
  7. package/deployments/ethereum/Prime_Implementation.json +2949 -0
  8. package/deployments/ethereum/Prime_Proxy.json +287 -0
  9. package/deployments/ethereum/solcInputs/0e89febeebc7444140de8e67c9067d2c.json +78 -0
  10. package/deployments/ethereum/solcInputs/75246dd56192f1ba5a6df71cd4c4757d.json +237 -0
  11. package/deployments/ethereum.json +5823 -0
  12. package/deployments/ethereum_addresses.json +6 -0
  13. package/deployments/sepolia/Prime.json +56 -56
  14. package/deployments/sepolia/PrimeLiquidityProvider.json +48 -48
  15. package/deployments/sepolia/PrimeLiquidityProvider_Implementation.json +30 -30
  16. package/deployments/sepolia/PrimeLiquidityProvider_Proxy.json +47 -47
  17. package/deployments/sepolia/Prime_Implementation.json +74 -74
  18. package/deployments/sepolia/Prime_Proxy.json +54 -54
  19. package/deployments/sepolia/solcInputs/75246dd56192f1ba5a6df71cd4c4757d.json +237 -0
  20. package/deployments/sepolia.json +6 -6
  21. package/deployments/sepolia_addresses.json +6 -6
  22. package/dist/deploy/009-configure-prime.js +24 -0
  23. package/dist/deploy/009-deploy-prime.js +14 -8
  24. package/dist/hardhat.config.js +3 -4
  25. package/package.json +3 -3
  26. package/deploy/009.5-configure-prime.ts +0 -22
  27. package/dist/deploy/009.5-configure-prime.js +0 -16
  28. /package/dist/deploy/{009.5-configure-prime.d.ts → 009-configure-prime.d.ts} +0 -0
@@ -3,7 +3,7 @@
3
3
  "chainId": "11155111",
4
4
  "contracts": {
5
5
  "Prime": {
6
- "address": "0x27A8ca2aFa10B9Bc1E57FC4Ca610d9020Aab3739",
6
+ "address": "0x2Ec432F123FEbb114e6fbf9f4F14baF0B1F14AbC",
7
7
  "abi": [
8
8
  {
9
9
  "anonymous": false,
@@ -1896,7 +1896,7 @@
1896
1896
  ]
1897
1897
  },
1898
1898
  "PrimeLiquidityProvider": {
1899
- "address": "0x4fCbfE445396f31005b3Fd2F6DE2A986d6E2dCB5",
1899
+ "address": "0x15242a55Ad1842A1aEa09c59cf8366bD2f3CE9B4",
1900
1900
  "abi": [
1901
1901
  {
1902
1902
  "anonymous": false,
@@ -2881,7 +2881,7 @@
2881
2881
  ]
2882
2882
  },
2883
2883
  "PrimeLiquidityProvider_Implementation": {
2884
- "address": "0x6022165344bBD1DDF1E1F10F4736FD9fb58D5B71",
2884
+ "address": "0xe36F76dc26885CcEce97B96f80f4FA58c89772Fc",
2885
2885
  "abi": [
2886
2886
  {
2887
2887
  "inputs": [
@@ -3738,7 +3738,7 @@
3738
3738
  ]
3739
3739
  },
3740
3740
  "PrimeLiquidityProvider_Proxy": {
3741
- "address": "0x4fCbfE445396f31005b3Fd2F6DE2A986d6E2dCB5",
3741
+ "address": "0x15242a55Ad1842A1aEa09c59cf8366bD2f3CE9B4",
3742
3742
  "abi": [
3743
3743
  {
3744
3744
  "inputs": [
@@ -3887,7 +3887,7 @@
3887
3887
  ]
3888
3888
  },
3889
3889
  "Prime_Implementation": {
3890
- "address": "0xF68E8925d45fb6679aE8caF7f859C76BdD964325",
3890
+ "address": "0x3A0e6f7a1927491ff8DAC67958D006a02896E9d4",
3891
3891
  "abi": [
3892
3892
  {
3893
3893
  "inputs": [
@@ -5677,7 +5677,7 @@
5677
5677
  ]
5678
5678
  },
5679
5679
  "Prime_Proxy": {
5680
- "address": "0x27A8ca2aFa10B9Bc1E57FC4Ca610d9020Aab3739",
5680
+ "address": "0x2Ec432F123FEbb114e6fbf9f4F14baF0B1F14AbC",
5681
5681
  "abi": [
5682
5682
  {
5683
5683
  "inputs": [
@@ -2,12 +2,12 @@
2
2
  "name": "sepolia",
3
3
  "chainId": "11155111",
4
4
  "addresses": {
5
- "Prime": "0x27A8ca2aFa10B9Bc1E57FC4Ca610d9020Aab3739",
6
- "PrimeLiquidityProvider": "0x4fCbfE445396f31005b3Fd2F6DE2A986d6E2dCB5",
7
- "PrimeLiquidityProvider_Implementation": "0x6022165344bBD1DDF1E1F10F4736FD9fb58D5B71",
8
- "PrimeLiquidityProvider_Proxy": "0x4fCbfE445396f31005b3Fd2F6DE2A986d6E2dCB5",
9
- "Prime_Implementation": "0xF68E8925d45fb6679aE8caF7f859C76BdD964325",
10
- "Prime_Proxy": "0x27A8ca2aFa10B9Bc1E57FC4Ca610d9020Aab3739",
5
+ "Prime": "0x2Ec432F123FEbb114e6fbf9f4F14baF0B1F14AbC",
6
+ "PrimeLiquidityProvider": "0x15242a55Ad1842A1aEa09c59cf8366bD2f3CE9B4",
7
+ "PrimeLiquidityProvider_Implementation": "0xe36F76dc26885CcEce97B96f80f4FA58c89772Fc",
8
+ "PrimeLiquidityProvider_Proxy": "0x15242a55Ad1842A1aEa09c59cf8366bD2f3CE9B4",
9
+ "Prime_Implementation": "0x3A0e6f7a1927491ff8DAC67958D006a02896E9d4",
10
+ "Prime_Proxy": "0x2Ec432F123FEbb114e6fbf9f4F14baF0B1F14AbC",
11
11
  "VTreasuryV8": "0x4116CA92960dF77756aAAc3aFd91361dB657fbF8",
12
12
  "XVSStore": "0x03B868C7858F50900fecE4eBc851199e957b5d3D",
13
13
  "XVSVaultProxy": "0x1129f882eAa912aE6D4f6D445b2E2b1eCbA99fd5",
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const hardhat_1 = require("hardhat");
4
+ const deploymentConfig_1 = require("../helpers/deploymentConfig");
5
+ const func = async function (hre) {
6
+ const { deployments, network } = hre;
7
+ const adminAccount = {
8
+ sepolia: "0x94fa6078b6b8a26f0b6edffbe6501b22a10470fb",
9
+ ethereum: "0x285960C5B22fD66A736C7136967A3eB15e93CC67",
10
+ opbnbtestnet: "0xb15f6EfEbC276A3b9805df81b5FB3D50C2A62BDf",
11
+ opbnbmainnet: "0xC46796a21a3A9FAB6546aF3434F2eBfFd0604207",
12
+ bscmainnet: await (0, deploymentConfig_1.getContractAddressOrNullAddress)(deployments, "NormalTimelock"),
13
+ bsctestnet: await (0, deploymentConfig_1.getContractAddressOrNullAddress)(deployments, "NormalTimelock"),
14
+ };
15
+ const prime = await hardhat_1.ethers.getContract("Prime");
16
+ const plp = await hardhat_1.ethers.getContract("PrimeLiquidityProvider");
17
+ console.log("Transferring Prime ownership to Timelock");
18
+ await prime.transferOwnership(adminAccount[network.name]);
19
+ console.log("Transferring PLP ownership to Timelock");
20
+ await plp.transferOwnership(adminAccount[network.name]);
21
+ };
22
+ func.tags = ["Prime"];
23
+ func.id = "configure_prime"; // id required to prevent re-execution
24
+ exports.default = func;
@@ -6,6 +6,7 @@ const func = async function (hre) {
6
6
  const { deployments, network, getNamedAccounts } = hre;
7
7
  const { deploy } = deployments;
8
8
  const { deployer } = await getNamedAccounts();
9
+ console.log(deployer);
9
10
  const TEN_MINUTES = 60 * 10;
10
11
  const NINETY_DAYS = 90 * 24 * 60 * 60;
11
12
  const ZERO_ADDRESS = hardhat_1.ethers.constants.AddressZero;
@@ -38,20 +39,27 @@ const func = async function (hre) {
38
39
  const loopsLimit = 20;
39
40
  const isTimeBased = false; // revise this value when deploying on L2s
40
41
  const corePoolAddress = await (0, deploymentConfig_1.getContractAddressOrNullAddress)(deployments, "Unitroller");
41
- const wrappedNativeToken = (await deployments.get("WBNB")).address;
42
- const nativeMarket = (await deployments.get("vBNB")).address;
42
+ const wrappedNativeToken = await (0, deploymentConfig_1.getContractAddressOrNullAddress)(deployments, "WBNB");
43
+ const nativeMarket = await (0, deploymentConfig_1.getContractAddressOrNullAddress)(deployments, "vBNB");
43
44
  const acmAddress = (await deployments.get("AccessControlManager")).address;
44
45
  const xvsVaultAddress = (await deployments.get("XVSVaultProxy")).address;
45
46
  const xvsAddress = (await deployments.get("XVS")).address;
46
47
  const resilientOracleAddress = (await deployments.get("ResilientOracle")).address;
47
- const normalVipTimelockAddress = (await deployments.get("NormalTimelock")).address;
48
+ const adminAccount = {
49
+ sepolia: "0x94fa6078b6b8a26f0b6edffbe6501b22a10470fb",
50
+ ethereum: "0x285960C5B22fD66A736C7136967A3eB15e93CC67",
51
+ opbnbtestnet: "0xb15f6EfEbC276A3b9805df81b5FB3D50C2A62BDf",
52
+ opbnbmainnet: "0xC46796a21a3A9FAB6546aF3434F2eBfFd0604207",
53
+ bscmainnet: await (0, deploymentConfig_1.getContractAddressOrNullAddress)(deployments, "NormalTimelock"),
54
+ bsctestnet: await (0, deploymentConfig_1.getContractAddressOrNullAddress)(deployments, "NormalTimelock"),
55
+ };
48
56
  await deploy("PrimeLiquidityProvider", {
49
57
  from: deployer,
50
58
  log: true,
51
59
  deterministicDeployment: false,
52
60
  args: [isTimeBased, blocksPerYear[networkName]],
53
61
  proxy: {
54
- owner: network.name === "hardhat" ? deployer : normalVipTimelockAddress,
62
+ owner: network.name === "hardhat" ? deployer : adminAccount[networkName],
55
63
  proxyContract: "OpenZeppelinTransparentProxy",
56
64
  execute: {
57
65
  methodName: "initialize",
@@ -74,7 +82,7 @@ const func = async function (hre) {
74
82
  isTimeBased,
75
83
  ],
76
84
  proxy: {
77
- owner: network.name === "hardhat" ? deployer : normalVipTimelockAddress,
85
+ owner: network.name === "hardhat" ? deployer : adminAccount[networkName],
78
86
  proxyContract: "OpenZeppelinTransparentProxy",
79
87
  execute: {
80
88
  methodName: "initialize",
@@ -84,7 +92,7 @@ const func = async function (hre) {
84
92
  xVSVaultPoolId[networkName],
85
93
  xvsVaultAlphaNumerator,
86
94
  xvsVaultAlphaDenominator,
87
- normalVipTimelockAddress,
95
+ acmAddress,
88
96
  plp.address,
89
97
  corePoolAddress,
90
98
  resilientOracleAddress,
@@ -95,6 +103,4 @@ const func = async function (hre) {
95
103
  });
96
104
  };
97
105
  func.tags = ["Prime"];
98
- // Script is written specifically for bnb chain
99
- func.skip = async (hre) => hre.network.name !== "bscmainnet" && hre.network.name !== "bsctestnet" && hre.network.name !== "hardhat";
100
106
  exports.default = func;
@@ -43,6 +43,8 @@ const DEPLOYER_PRIVATE_KEY = process.env.DEPLOYER_PRIVATE_KEY;
43
43
  ethereum: [
44
44
  "node_modules/@venusprotocol/token-bridge/deployments/ethereum",
45
45
  "node_modules/@venusprotocol/governance-contracts/deployments/ethereum",
46
+ "node_modules/@venusprotocol/oracle/deployments/ethereum",
47
+ "node_modules/@venusprotocol/venus-protocol/deployments/ethereum",
46
48
  ],
47
49
  opbnbmainnet: [
48
50
  "node_modules/@venusprotocol/governance-contracts/deployments/opbnbmainnet",
@@ -154,10 +156,7 @@ const config = {
154
156
  url: process.env.ARCHIVE_NODE_sepolia || "https://ethereum-sepolia.blockpi.network/v1/rpc/public",
155
157
  chainId: 11155111,
156
158
  live: true,
157
- gasPrice: 20000000000,
158
- accounts: {
159
- mnemonic: process.env.MNEMONIC || "",
160
- },
159
+ accounts: DEPLOYER_PRIVATE_KEY ? [`0x${DEPLOYER_PRIVATE_KEY}`] : [],
161
160
  },
162
161
  ethereum: {
163
162
  url: process.env.ARCHIVE_NODE_ethereum || "https://ethereum.blockpi.network/v1/rpc/public",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@venusprotocol/venus-protocol",
3
- "version": "7.5.0-dev.1",
3
+ "version": "7.5.0-dev.2",
4
4
  "description": "The Venus Money Market",
5
5
  "repository": "git@github.com:VenusProtocol/venus-protocol.git",
6
6
  "author": "Venus",
@@ -36,7 +36,7 @@
36
36
  "@venusprotocol/governance-contracts": "^1.4.0",
37
37
  "@venusprotocol/protocol-reserve": "^1.4.0",
38
38
  "@venusprotocol/solidity-utilities": "^1.2.0",
39
- "@venusprotocol/token-bridge": "1.0.0",
39
+ "@venusprotocol/token-bridge": "^1.1.0",
40
40
  "bignumber.js": "^9.1.2",
41
41
  "dotenv": "^16.0.1",
42
42
  "module-alias": "^2.2.2"
@@ -66,7 +66,7 @@
66
66
  "@types/node": "^18.7.1",
67
67
  "@typescript-eslint/eslint-plugin": "^5.40.0",
68
68
  "@typescript-eslint/parser": "^5.40.0",
69
- "@venusprotocol/oracle": "1.8.0",
69
+ "@venusprotocol/oracle": "1.10.0",
70
70
  "bignumber.js": "^9.1.2",
71
71
  "chai": "^4.3.6",
72
72
  "eslint": "^8.25.0",
@@ -1,22 +0,0 @@
1
- import { ethers } from "hardhat";
2
- import { DeployFunction } from "hardhat-deploy/types";
3
- import { HardhatRuntimeEnvironment } from "hardhat/types";
4
-
5
- const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
6
- const { deployments } = hre;
7
- const normalVipTimelockAddress = (await deployments.get("NormalTimelock")).address;
8
-
9
- const prime = await ethers.getContract("Prime");
10
- const plp = await ethers.getContract("PrimeLiquidityProvider");
11
-
12
- console.log("Transferring Prime ownership to Timelock");
13
- await prime.transferOwnership(normalVipTimelockAddress);
14
-
15
- console.log("Transferring PLP ownership to Timelock");
16
- await plp.transferOwnership(normalVipTimelockAddress);
17
- };
18
-
19
- func.tags = ["Prime"];
20
- func.id = "configure_prime"; // id required to prevent re-execution
21
-
22
- export default func;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const hardhat_1 = require("hardhat");
4
- const func = async function (hre) {
5
- const { deployments } = hre;
6
- const normalVipTimelockAddress = (await deployments.get("NormalTimelock")).address;
7
- const prime = await hardhat_1.ethers.getContract("Prime");
8
- const plp = await hardhat_1.ethers.getContract("PrimeLiquidityProvider");
9
- console.log("Transferring Prime ownership to Timelock");
10
- await prime.transferOwnership(normalVipTimelockAddress);
11
- console.log("Transferring PLP ownership to Timelock");
12
- await plp.transferOwnership(normalVipTimelockAddress);
13
- };
14
- func.tags = ["Prime"];
15
- func.id = "configure_prime"; // id required to prevent re-execution
16
- exports.default = func;