Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Berachain Prime and PLP Deployment #572

Open
wants to merge 2 commits into
base: feat/berachain-deployment-xvs
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 28 additions & 14 deletions deploy/009-configure-vaults.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
import arbitrumoneGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/arbitrumone.json";
import arbitrumsepoliaGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/arbitrumsepolia.json";
import basemainnetGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/basemainnet.json";
import basesepoliaGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/basesepolia.json";
import ethereumGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/ethereum.json";
import opbnbmainnetGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/opbnbmainnet.json";
import opbnbtestnetGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/opbnbtestnet.json";
import opmainnetGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/opmainnet.json";
import opsepoliaGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/opsepolia.json";
import sepoliaGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/sepolia.json";
import zksyncmainnetGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/zksyncmainnet.json";
import zksyncsepoliaGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/zksyncsepolia.json";
import { ethers, network } from "hardhat";
import { DeployFunction } from "hardhat-deploy/types";
import { HardhatRuntimeEnvironment } from "hardhat/types";
Expand Down Expand Up @@ -33,26 +45,28 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
basesepolia: 0, // time based deployment
basemainnet: 0, // time based deployment
unichainmainnet: 0, // time based deployment
berachainbartio: 0, // time based deployment
hardhat: 100,
};

const adminAccount: AdminAccounts = {
sepolia: "0x94fa6078b6b8a26f0b6edffbe6501b22a10470fb", // SEPOLIA MULTISIG
ethereum: "0x285960C5B22fD66A736C7136967A3eB15e93CC67", // ETHEREUM MULTISIG
opbnbtestnet: "0xb15f6EfEbC276A3b9805df81b5FB3D50C2A62BDf", // OPBNBTESTNET MULTISIG
opbnbmainnet: "0xC46796a21a3A9FAB6546aF3434F2eBfFd0604207", // OPBNBMAINNET MULTISIG
arbitrumsepolia: "0x1426A5Ae009c4443188DA8793751024E358A61C2", // ARBITRUM SEPOLIA MULTISIG
arbitrumone: "0x14e0E151b33f9802b3e75b621c1457afc44DcAA0", // ARBITRUM ONE MULTISIG
zksyncsepolia: "0xa2f83de95E9F28eD443132C331B6a9C9B7a9F866", // ZKSYNC SEPOLIA MULTISIG
zksyncmainnet: "0x751Aa759cfBB6CE71A43b48e40e1cCcFC66Ba4aa", // ZKSYNC MAINNET MULTISIG
opsepolia: "0xd57365EE4E850e881229e2F8Aa405822f289e78d", // OPSEPOLIA MULTISIG
opmainnet: "0x2e94dd14E81999CdBF5deDE31938beD7308354b3", // OPMAINNET MULTISIG
unichainsepolia: "0x9831D3A641E8c7F082EEA75b8249c99be9D09a34", // UNICHAIN MULTISIG
bscmainnet: await getContractAddressOrNullAddress(deployments, "NormalTimelock"),
bsctestnet: await getContractAddressOrNullAddress(deployments, "NormalTimelock"),
basesepolia: "0xdf3b635d2b535f906BB02abb22AED71346E36a00", // BASE SEPOLIA MULTISIG
basemainnet: "0x1803Cf1D3495b43cC628aa1d8638A981F8CD341C", // BASE MAINNET MULTISIG
unichainmainnet: "0x1803Cf1D3495b43cC628aa1d8638A981F8CD341C", // UNICHAIN MAINNET MULTISIG
sepolia: sepoliaGovernanceDeployments.contracts.NormalTimelock.address,
ethereum: ethereumGovernanceDeployments.contracts.NormalTimelock.address,
opbnbtestnet: opbnbtestnetGovernanceDeployments.contracts.NormalTimelock.address,
opbnbmainnet: opbnbmainnetGovernanceDeployments.contracts.NormalTimelock.address,
arbitrumsepolia: arbitrumsepoliaGovernanceDeployments.contracts.NormalTimelock.address,
arbitrumone: arbitrumoneGovernanceDeployments.contracts.NormalTimelock.address,
zksyncsepolia: zksyncsepoliaGovernanceDeployments.contracts.NormalTimelock.address,
zksyncmainnet: zksyncmainnetGovernanceDeployments.contracts.NormalTimelock.address,
opsepolia: opsepoliaGovernanceDeployments.contracts.NormalTimelock.address,
opmainnet: opmainnetGovernanceDeployments.contracts.NormalTimelock.address,
basesepolia: basesepoliaGovernanceDeployments.contracts.NormalTimelock.address,
basemainnet: basemainnetGovernanceDeployments.contracts.NormalTimelock.address,
unichainsepolia: "0x5e20F5A2e23463D39287185DF84607DF7068F314", // unichainsepoliaGovernanceDeployments.contracts.NormalTimelock.address
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we upgrade the governance-contract package to 2.10.0 to include unichain addresses as well?
Reference: e8afbc3

unichainmainnet: "0xCb04dc78c99E20724023e5265fE177aa532E8164", // unichainmainnetGovernanceDeployments.contracts.NormalTimelock.address
berachainbartio: "0x8699D418D8bae5CFdc566E4fce897B08bd9B03B0", // berachainbartioGovernanceDeployments.contracts.NormalTimelock.address
hardhat: deployer,
};

Expand Down
52 changes: 34 additions & 18 deletions deploy/012-deploy-prime.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
import arbitrumoneGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/arbitrumone.json";
import arbitrumsepoliaGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/arbitrumsepolia.json";
import basemainnetGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/basemainnet.json";
import basesepoliaGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/basesepolia.json";
import ethereumGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/ethereum.json";
import opbnbmainnetGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/opbnbmainnet.json";
import opbnbtestnetGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/opbnbtestnet.json";
import opmainnetGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/opmainnet.json";
import opsepoliaGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/opsepolia.json";
import sepoliaGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/sepolia.json";
import zksyncmainnetGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/zksyncmainnet.json";
import zksyncsepoliaGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/zksyncsepolia.json";
import { ethers } from "hardhat";
import { DeployFunction } from "hardhat-deploy/types";
import { HardhatRuntimeEnvironment } from "hardhat/types";
Expand Down Expand Up @@ -29,6 +41,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
opsepolia: TEN_MINUTES,
unichainsepolia: TEN_MINUTES,
basesepolia: TEN_MINUTES,
berachainbartio: TEN_MINUTES,
basemainnet: NINETY_DAYS,
bscmainnet: NINETY_DAYS,
ethereum: NINETY_DAYS,
Expand All @@ -54,6 +67,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
basesepolia: 0,
basemainnet: 0,
unichainmainnet: 0,
berachainbartio: 0,
};

const blocksPerYear: Config = {
Expand All @@ -68,6 +82,7 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
unichainsepolia: 0, // time based contracts
basesepolia: 0, // time based contracts
basemainnet: 0, // time based contracts
berachainbartio: 0, // time based contracts
unichainmainnet: 0,
bscmainnet: 10_512_000,
ethereum: 2_628_000,
Expand All @@ -85,26 +100,27 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
const corePoolAddress = await getContractAddressOrNullAddress(deployments, "Unitroller");
const wrappedNativeToken = await getContractAddressOrNullAddress(deployments, "WBNB");
const nativeMarket = await getContractAddressOrNullAddress(deployments, "vBNB");
const acmAddress = (await deployments.get("AccessControlManager")).address;
const xvsVaultAddress = (await deployments.get("XVSVaultProxy")).address;
const xvsAddress = (await deployments.get("XVS")).address;
const resilientOracleAddress = (await deployments.get("ResilientOracle")).address;
const acmAddress = "0xEf368e4c1f9ACC9241E66CD67531FEB195fF7536"; // (await deployments.get("AccessControlManager")).address;
const xvsVaultAddress = "0x622E4e8104F7ebc94Aa81Db2613A751c39e6688b"; // (await deployments.get("XVSVaultProxy")).address;
const xvsAddress = "0x75A3668f0b0d06E45601C883b0c66f7Dd2364208"; // (await deployments.get("XVS")).address;
const resilientOracleAddress = "0x279Bd38D27247BFb28064cab434f71816BD4aF4B"; // (await deployments.get("ResilientOracle")).address;

const adminAccount: AdminAccounts = {
sepolia: "0x94fa6078b6b8a26f0b6edffbe6501b22a10470fb", // SEPOLIA MULTISIG
ethereum: "0x285960C5B22fD66A736C7136967A3eB15e93CC67", // ETHEREUM MULTISIG
opbnbtestnet: "0xb15f6EfEbC276A3b9805df81b5FB3D50C2A62BDf", // OPBNBTESTNET MULTISIG
opbnbmainnet: "0xC46796a21a3A9FAB6546aF3434F2eBfFd0604207", // OPBNBMAINNET MULTISIG
arbitrumsepolia: "0x1426A5Ae009c4443188DA8793751024E358A61C2", // ARBITRUM SEPOLIA MULTISIG
arbitrumone: "0x14e0E151b33f9802b3e75b621c1457afc44DcAA0", // ARBITRUM ONE MULTISIG
zksyncsepolia: "0xa2f83de95E9F28eD443132C331B6a9C9B7a9F866", // ZKSYNC SEPOLIA MULTISIG
zksyncmainnet: "0x751Aa759cfBB6CE71A43b48e40e1cCcFC66Ba4aa", // ZKSYNC MAINNET MULTISIG
opsepolia: "0xd57365EE4E850e881229e2F8Aa405822f289e78d", // OPSEPOLIA MULTISIG
opmainnet: "0x2e94dd14E81999CdBF5deDE31938beD7308354b3", // OPMAINNET MULTISIG
unichainsepolia: "0x9831D3A641E8c7F082EEA75b8249c99be9D09a34", // UNICHAIN SEPOLIA MULTISIG
basesepolia: "0xdf3b635d2b535f906BB02abb22AED71346E36a00", // BASE SEPOLIA MULTISIG
basemainnet: "0x1803Cf1D3495b43cC628aa1d8638A981F8CD341C", // BASE MAINNET MULTISIG
unichainmainnet: "0x1803Cf1D3495b43cC628aa1d8638A981F8CD341C", // UNICHAIN MAINNET MULTISIG
sepolia: sepoliaGovernanceDeployments.contracts.NormalTimelock.address,
ethereum: ethereumGovernanceDeployments.contracts.NormalTimelock.address,
opbnbtestnet: opbnbtestnetGovernanceDeployments.contracts.NormalTimelock.address,
opbnbmainnet: opbnbmainnetGovernanceDeployments.contracts.NormalTimelock.address,
arbitrumsepolia: arbitrumsepoliaGovernanceDeployments.contracts.NormalTimelock.address,
arbitrumone: arbitrumoneGovernanceDeployments.contracts.NormalTimelock.address,
zksyncsepolia: zksyncsepoliaGovernanceDeployments.contracts.NormalTimelock.address,
zksyncmainnet: zksyncmainnetGovernanceDeployments.contracts.NormalTimelock.address,
opsepolia: opsepoliaGovernanceDeployments.contracts.NormalTimelock.address,
opmainnet: opmainnetGovernanceDeployments.contracts.NormalTimelock.address,
basesepolia: basesepoliaGovernanceDeployments.contracts.NormalTimelock.address,
basemainnet: basemainnetGovernanceDeployments.contracts.NormalTimelock.address,
unichainsepolia: "0x5e20F5A2e23463D39287185DF84607DF7068F314", // unichainsepoliaGovernanceDeployments.contracts.NormalTimelock.address
unichainmainnet: "0xCb04dc78c99E20724023e5265fE177aa532E8164", // unichainmainnetGovernanceDeployments.contracts.NormalTimelock.address
berachainbartio: "0x8699D418D8bae5CFdc566E4fce897B08bd9B03B0", // berachainbartioGovernanceDeployments.contracts.NormalTimelock.address
bscmainnet: await getContractAddressOrNullAddress(deployments, "NormalTimelock"),
bsctestnet: await getContractAddressOrNullAddress(deployments, "NormalTimelock"),
};
Expand Down
41 changes: 27 additions & 14 deletions deploy/013-configure-prime.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
import arbitrumoneGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/arbitrumone.json";
import arbitrumsepoliaGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/arbitrumsepolia.json";
import basemainnetGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/basemainnet.json";
import basesepoliaGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/basesepolia.json";
import ethereumGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/ethereum.json";
import opbnbmainnetGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/opbnbmainnet.json";
import opbnbtestnetGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/opbnbtestnet.json";
import opmainnetGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/opmainnet.json";
import opsepoliaGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/opsepolia.json";
import sepoliaGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/sepolia.json";
import zksyncmainnetGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/zksyncmainnet.json";
import zksyncsepoliaGovernanceDeployments from "@venusprotocol/governance-contracts/deployments/zksyncsepolia.json";
import { ethers } from "hardhat";
import { DeployFunction } from "hardhat-deploy/types";
import { HardhatRuntimeEnvironment } from "hardhat/types";
Expand All @@ -12,20 +24,21 @@ const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
const { deployments, network } = hre;

const adminAccount: AdminAccounts = {
sepolia: "0x94fa6078b6b8a26f0b6edffbe6501b22a10470fb", // SEPOLIA MULTISIG
ethereum: "0x285960C5B22fD66A736C7136967A3eB15e93CC67", // ETHEREUM MULTISIG
opbnbtestnet: "0xb15f6EfEbC276A3b9805df81b5FB3D50C2A62BDf", // OPBNBTESTNET MULTISIG
opbnbmainnet: "0xC46796a21a3A9FAB6546aF3434F2eBfFd0604207", // OPBNBMAINNET MULTISIG
arbitrumsepolia: "0x1426A5Ae009c4443188DA8793751024E358A61C2", // ARBITRUM SEPOLIA MULTISIG
arbitrumone: "0x14e0E151b33f9802b3e75b621c1457afc44DcAA0", // ARBITRUM ONE MULTISIG
zksyncsepolia: "0xa2f83de95E9F28eD443132C331B6a9C9B7a9F866", // ZKSYNC SEPOLIA MULTISIG
zksyncmainnet: "0x751Aa759cfBB6CE71A43b48e40e1cCcFC66Ba4aa", // ZKSYNC MAINNET MULTISIG
opsepolia: "0xd57365EE4E850e881229e2F8Aa405822f289e78d", // OPSEPOLIA MULTISIG
opmainnet: "0x2e94dd14E81999CdBF5deDE31938beD7308354b3", // OPMAINNET MULTISIG
unichainsepolia: "0x9831D3A641E8c7F082EEA75b8249c99be9D09a34", // UNICHAIN SEPOLIA MULTISIG
basesepolia: "0xdf3b635d2b535f906BB02abb22AED71346E36a00", // BASE SEPOLIA MULTISIG
basemainnet: "0x1803Cf1D3495b43cC628aa1d8638A981F8CD341C", // BASE MAINNET MULTISIG
unichainmainnet: "0x1803Cf1D3495b43cC628aa1d8638A981F8CD341C", // UNICHAIN MAINNET MULTISIG
sepolia: sepoliaGovernanceDeployments.contracts.NormalTimelock.address,
ethereum: ethereumGovernanceDeployments.contracts.NormalTimelock.address,
opbnbtestnet: opbnbtestnetGovernanceDeployments.contracts.NormalTimelock.address,
opbnbmainnet: opbnbmainnetGovernanceDeployments.contracts.NormalTimelock.address,
arbitrumsepolia: arbitrumsepoliaGovernanceDeployments.contracts.NormalTimelock.address,
arbitrumone: arbitrumoneGovernanceDeployments.contracts.NormalTimelock.address,
zksyncsepolia: zksyncsepoliaGovernanceDeployments.contracts.NormalTimelock.address,
zksyncmainnet: zksyncmainnetGovernanceDeployments.contracts.NormalTimelock.address,
opsepolia: opsepoliaGovernanceDeployments.contracts.NormalTimelock.address,
opmainnet: opmainnetGovernanceDeployments.contracts.NormalTimelock.address,
basesepolia: basesepoliaGovernanceDeployments.contracts.NormalTimelock.address,
basemainnet: basemainnetGovernanceDeployments.contracts.NormalTimelock.address,
unichainsepolia: "0x5e20F5A2e23463D39287185DF84607DF7068F314", // unichainsepoliaGovernanceDeployments.contracts.NormalTimelock.address
unichainmainnet: "0xCb04dc78c99E20724023e5265fE177aa532E8164", // unichainmainnetGovernanceDeployments.contracts.NormalTimelock.address
berachainbartio: "0x8699D418D8bae5CFdc566E4fce897B08bd9B03B0", // berachainbartioGovernanceDeployments.contracts.NormalTimelock.address
bscmainnet: await getContractAddressOrNullAddress(deployments, "NormalTimelock"),
bsctestnet: await getContractAddressOrNullAddress(deployments, "NormalTimelock"),
};
Expand Down
Loading
Loading