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

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 +18 -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 +13 -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
@@ -0,0 +1,36 @@
1
+ import { ethers } from "hardhat";
2
+ import { DeployFunction } from "hardhat-deploy/types";
3
+ import { HardhatRuntimeEnvironment } from "hardhat/types";
4
+
5
+ import { getContractAddressOrNullAddress } from "../helpers/deploymentConfig";
6
+
7
+ interface AdminAccounts {
8
+ [key: string]: string;
9
+ }
10
+
11
+ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
12
+ const { deployments, network } = hre;
13
+
14
+ const adminAccount: AdminAccounts = {
15
+ sepolia: "0x94fa6078b6b8a26f0b6edffbe6501b22a10470fb", // SEPOLIA MULTISIG
16
+ ethereum: "0x285960C5B22fD66A736C7136967A3eB15e93CC67", // ETHEREUM MULTISIG
17
+ opbnbtestnet: "0xb15f6EfEbC276A3b9805df81b5FB3D50C2A62BDf", // OPBNBTESTNET MULTISIG
18
+ opbnbmainnet: "0xC46796a21a3A9FAB6546aF3434F2eBfFd0604207", // OPBNBMAINNET MULTISIG
19
+ bscmainnet: await getContractAddressOrNullAddress(deployments, "NormalTimelock"),
20
+ bsctestnet: await getContractAddressOrNullAddress(deployments, "NormalTimelock"),
21
+ };
22
+
23
+ const prime = await ethers.getContract("Prime");
24
+ const plp = await ethers.getContract("PrimeLiquidityProvider");
25
+
26
+ console.log("Transferring Prime ownership to Timelock");
27
+ await prime.transferOwnership(adminAccount[network.name]);
28
+
29
+ console.log("Transferring PLP ownership to Timelock");
30
+ await plp.transferOwnership(adminAccount[network.name]);
31
+ };
32
+
33
+ func.tags = ["Prime"];
34
+ func.id = "configure_prime"; // id required to prevent re-execution
35
+
36
+ export default func;
@@ -4,6 +4,10 @@ import { HardhatRuntimeEnvironment } from "hardhat/types";
4
4
 
5
5
  import { getContractAddressOrNullAddress } from "../helpers/deploymentConfig";
6
6
 
7
+ interface AdminAccounts {
8
+ [key: string]: string;
9
+ }
10
+
7
11
  const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
8
12
  const { deployments, network, getNamedAccounts } = hre;
9
13
  const { deploy } = deployments;
@@ -49,13 +53,21 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
49
53
  const isTimeBased = false; // revise this value when deploying on L2s
50
54
 
51
55
  const corePoolAddress = await getContractAddressOrNullAddress(deployments, "Unitroller");
52
- const wrappedNativeToken = (await deployments.get("WBNB")).address;
53
- const nativeMarket = (await deployments.get("vBNB")).address;
56
+ const wrappedNativeToken = await getContractAddressOrNullAddress(deployments, "WBNB");
57
+ const nativeMarket = await getContractAddressOrNullAddress(deployments, "vBNB");
54
58
  const acmAddress = (await deployments.get("AccessControlManager")).address;
55
59
  const xvsVaultAddress = (await deployments.get("XVSVaultProxy")).address;
56
60
  const xvsAddress = (await deployments.get("XVS")).address;
57
61
  const resilientOracleAddress = (await deployments.get("ResilientOracle")).address;
58
- const normalVipTimelockAddress = (await deployments.get("NormalTimelock")).address;
62
+
63
+ const adminAccount: AdminAccounts = {
64
+ sepolia: "0x94fa6078b6b8a26f0b6edffbe6501b22a10470fb", // SEPOLIA MULTISIG
65
+ ethereum: "0x285960C5B22fD66A736C7136967A3eB15e93CC67", // ETHEREUM MULTISIG
66
+ opbnbtestnet: "0xb15f6EfEbC276A3b9805df81b5FB3D50C2A62BDf", // OPBNBTESTNET MULTISIG
67
+ opbnbmainnet: "0xC46796a21a3A9FAB6546aF3434F2eBfFd0604207", // OPBNBMAINNET MULTISIG
68
+ bscmainnet: await getContractAddressOrNullAddress(deployments, "NormalTimelock"),
69
+ bsctestnet: await getContractAddressOrNullAddress(deployments, "NormalTimelock"),
70
+ };
59
71
 
60
72
  await deploy("PrimeLiquidityProvider", {
61
73
  from: deployer,
@@ -63,7 +75,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
63
75
  deterministicDeployment: false,
64
76
  args: [isTimeBased, blocksPerYear[networkName]],
65
77
  proxy: {
66
- owner: network.name === "hardhat" ? deployer : normalVipTimelockAddress,
78
+ owner: network.name === "hardhat" ? deployer : adminAccount[networkName],
67
79
  proxyContract: "OpenZeppelinTransparentProxy",
68
80
  execute: {
69
81
  methodName: "initialize",
@@ -88,7 +100,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
88
100
  isTimeBased,
89
101
  ],
90
102
  proxy: {
91
- owner: network.name === "hardhat" ? deployer : normalVipTimelockAddress,
103
+ owner: network.name === "hardhat" ? deployer : adminAccount[networkName],
92
104
  proxyContract: "OpenZeppelinTransparentProxy",
93
105
  execute: {
94
106
  methodName: "initialize",
@@ -98,7 +110,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
98
110
  xVSVaultPoolId[networkName],
99
111
  xvsVaultAlphaNumerator,
100
112
  xvsVaultAlphaDenominator,
101
- normalVipTimelockAddress,
113
+ acmAddress,
102
114
  plp.address,
103
115
  corePoolAddress,
104
116
  resilientOracleAddress,
@@ -110,8 +122,5 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
110
122
  };
111
123
 
112
124
  func.tags = ["Prime"];
113
- // Script is written specifically for bnb chain
114
- func.skip = async hre =>
115
- hre.network.name !== "bscmainnet" && hre.network.name !== "bsctestnet" && hre.network.name !== "hardhat";
116
125
 
117
126
  export default func;