@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.
- package/deploy/009-configure-prime.ts +36 -0
- package/deploy/009-deploy-prime.ts +20 -9
- package/deployments/ethereum/Prime.json +2047 -0
- package/deployments/ethereum/PrimeLiquidityProvider.json +1118 -0
- package/deployments/ethereum/PrimeLiquidityProvider_Implementation.json +1415 -0
- package/deployments/ethereum/PrimeLiquidityProvider_Proxy.json +277 -0
- package/deployments/ethereum/Prime_Implementation.json +2949 -0
- package/deployments/ethereum/Prime_Proxy.json +287 -0
- package/deployments/ethereum/solcInputs/0e89febeebc7444140de8e67c9067d2c.json +78 -0
- package/deployments/ethereum/solcInputs/75246dd56192f1ba5a6df71cd4c4757d.json +237 -0
- package/deployments/ethereum.json +5823 -0
- package/deployments/ethereum_addresses.json +6 -0
- package/deployments/sepolia/Prime.json +56 -56
- package/deployments/sepolia/PrimeLiquidityProvider.json +48 -48
- package/deployments/sepolia/PrimeLiquidityProvider_Implementation.json +30 -30
- package/deployments/sepolia/PrimeLiquidityProvider_Proxy.json +47 -47
- package/deployments/sepolia/Prime_Implementation.json +74 -74
- package/deployments/sepolia/Prime_Proxy.json +54 -54
- package/deployments/sepolia/solcInputs/75246dd56192f1ba5a6df71cd4c4757d.json +237 -0
- package/deployments/sepolia.json +6 -6
- package/deployments/sepolia_addresses.json +6 -6
- package/dist/deploy/009-configure-prime.js +24 -0
- package/dist/deploy/009-deploy-prime.js +14 -8
- package/dist/hardhat.config.js +3 -4
- package/package.json +3 -3
- package/deploy/009.5-configure-prime.ts +0 -22
- package/dist/deploy/009.5-configure-prime.js +0 -16
- /package/dist/deploy/{009.5-configure-prime.d.ts → 009-configure-prime.d.ts} +0 -0
package/deployments/sepolia.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"chainId": "11155111",
|
|
4
4
|
"contracts": {
|
|
5
5
|
"Prime": {
|
|
6
|
-
"address": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
6
|
-
"PrimeLiquidityProvider": "
|
|
7
|
-
"PrimeLiquidityProvider_Implementation": "
|
|
8
|
-
"PrimeLiquidityProvider_Proxy": "
|
|
9
|
-
"Prime_Implementation": "
|
|
10
|
-
"Prime_Proxy": "
|
|
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 =
|
|
42
|
-
const nativeMarket =
|
|
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
|
|
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 :
|
|
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 :
|
|
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
|
-
|
|
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;
|
package/dist/hardhat.config.js
CHANGED
|
@@ -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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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;
|
|
File without changes
|