UNPKG

@vechain/vebetterdao-contracts

Version:

Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.

607 lines (606 loc) 33.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.governanceLibraries = governanceLibraries; const hardhat_1 = require("hardhat"); async function governanceLibraries({ logOutput = false, latestVersionOnly = false, }) { // ------------------- LATEST VERSION ------------------- // // Deploy Governor Clock Logic const GovernorClockLogic = await hardhat_1.ethers.getContractFactory("GovernorClockLogic"); const GovernorClockLogicLib = (await GovernorClockLogic.deploy()); await GovernorClockLogicLib.waitForDeployment(); logOutput && console.log("GovernorClockLogic Library deployed"); // Deploy Governor Configurator const GovernorConfigurator = await hardhat_1.ethers.getContractFactory("GovernorConfigurator"); const GovernorConfiguratorLib = (await GovernorConfigurator.deploy()); await GovernorConfiguratorLib.waitForDeployment(); logOutput && console.log("GovernorConfigurator Library deployed"); // Deploy Governor Function Restrictions Logic const GovernorFunctionRestrictionsLogic = await hardhat_1.ethers.getContractFactory("GovernorFunctionRestrictionsLogic"); const GovernorFunctionRestrictionsLogicLib = (await GovernorFunctionRestrictionsLogic.deploy()); await GovernorFunctionRestrictionsLogicLib.waitForDeployment(); logOutput && console.log("GovernorFunctionRestrictionsLogic Library deployed"); // Deploy Governor Governance Logic const GovernorGovernanceLogic = await hardhat_1.ethers.getContractFactory("GovernorGovernanceLogic"); const GovernorGovernanceLogicLib = (await GovernorGovernanceLogic.deploy()); await GovernorGovernanceLogicLib.waitForDeployment(); logOutput && console.log("GovernorGovernanceLogic Library deployed"); // Deploy Governor Quorum Logic const GovernorQuorumLogic = await hardhat_1.ethers.getContractFactory("GovernorQuorumLogic", { libraries: { GovernorClockLogic: await GovernorClockLogicLib.getAddress(), }, }); const GovernorQuorumLogicLib = (await GovernorQuorumLogic.deploy()); await GovernorQuorumLogicLib.waitForDeployment(); logOutput && console.log("GovernorQuorumLogic Library deployed"); // Deploy Governor Proposal Logic const GovernorProposalLogic = await hardhat_1.ethers.getContractFactory("GovernorProposalLogic", { libraries: { GovernorClockLogic: await GovernorClockLogicLib.getAddress(), }, }); const GovernorProposalLogicLib = (await GovernorProposalLogic.deploy()); await GovernorProposalLogicLib.waitForDeployment(); logOutput && console.log("GovernorProposalLogic Library deployed"); // Deploy Governor Votes Logic const GovernorVotesLogic = await hardhat_1.ethers.getContractFactory("GovernorVotesLogic", { libraries: { GovernorClockLogic: await GovernorClockLogicLib.getAddress(), GovernorProposalLogic: await GovernorProposalLogicLib.getAddress(), }, }); const GovernorVotesLogicLib = (await GovernorVotesLogic.deploy()); await GovernorVotesLogicLib.waitForDeployment(); logOutput && console.log("GovernorVotesLogic Library deployed"); // Deploy Governor Deposit Logic const GovernorDepositLogic = await hardhat_1.ethers.getContractFactory("GovernorDepositLogic", { libraries: { GovernorClockLogic: await GovernorClockLogicLib.getAddress(), }, }); const GovernorDepositLogicLib = (await GovernorDepositLogic.deploy()); await GovernorDepositLogicLib.waitForDeployment(); logOutput && console.log("GovernorDepositLogic Library deployed"); // Deploy Governor State Logic const GovernorStateLogic = await hardhat_1.ethers.getContractFactory("GovernorStateLogic", { libraries: { GovernorClockLogic: await GovernorClockLogicLib.getAddress(), }, }); const GovernorStateLogicLib = (await GovernorStateLogic.deploy()); await GovernorStateLogicLib.waitForDeployment(); logOutput && console.log("GovernorStateLogic Library deployed"); if (latestVersionOnly) { return { GovernorClockLogicLib, GovernorConfiguratorLib, GovernorFunctionRestrictionsLogicLib, GovernorGovernanceLogicLib, GovernorQuorumLogicLib, GovernorProposalLogicLib, GovernorVotesLogicLib, GovernorDepositLogicLib, GovernorStateLogicLib, }; } // ------------------- DEPRECATED VERSION ------------------- // // ------------------- V1 ------------------- // // Deploy Governor Clock Logic const GovernorClockLogicV1 = await hardhat_1.ethers.getContractFactory("GovernorClockLogicV1"); const GovernorClockLogicLibV1 = (await GovernorClockLogicV1.deploy()); await GovernorClockLogicLibV1.waitForDeployment(); logOutput && console.log("GovernorClockLogicV1 Library deployed"); // Deploy Governor Configurator const GovernorConfiguratorV1 = await hardhat_1.ethers.getContractFactory("GovernorConfiguratorV1"); const GovernorConfiguratorLibV1 = (await GovernorConfiguratorV1.deploy()); await GovernorConfiguratorLibV1.waitForDeployment(); logOutput && console.log("GovernorConfiguratorV1 Library deployed"); // Deploy Governor Function Restrictions Logic const GovernorFunctionRestrictionsLogicV1 = await hardhat_1.ethers.getContractFactory("GovernorFunctionRestrictionsLogicV1"); const GovernorFunctionRestrictionsLogicLibV1 = (await GovernorFunctionRestrictionsLogicV1.deploy()); await GovernorFunctionRestrictionsLogicLibV1.waitForDeployment(); logOutput && console.log("GovernorFunctionRestrictionsLogicV1 Library deployed"); // Deploy Governor Governance Logic const GovernorGovernanceLogicV1 = await hardhat_1.ethers.getContractFactory("GovernorGovernanceLogicV1"); const GovernorGovernanceLogicLibV1 = (await GovernorGovernanceLogicV1.deploy()); await GovernorGovernanceLogicLibV1.waitForDeployment(); logOutput && console.log("GovernorGovernanceLogicV1 Library deployed"); // Deploy Governor Quorum Logic const GovernorQuorumLogicV1 = await hardhat_1.ethers.getContractFactory("GovernorQuorumLogicV1", { libraries: { GovernorClockLogicV1: await GovernorClockLogicLibV1.getAddress(), }, }); const GovernorQuorumLogicLibV1 = (await GovernorQuorumLogicV1.deploy()); await GovernorQuorumLogicLibV1.waitForDeployment(); logOutput && console.log("GovernorQuorumLogicV1 Library deployed"); // Deploy Governor Proposal Logic const GovernorProposalLogicV1 = await hardhat_1.ethers.getContractFactory("GovernorProposalLogicV1", { libraries: { GovernorClockLogicV1: await GovernorClockLogicLibV1.getAddress(), }, }); const GovernorProposalLogicLibV1 = (await GovernorProposalLogicV1.deploy()); await GovernorProposalLogicLibV1.waitForDeployment(); logOutput && console.log("GovernorProposalLogicV1 Library deployed"); // Deploy Governor Votes Logic const GovernorVotesLogicV1 = await hardhat_1.ethers.getContractFactory("GovernorVotesLogicV1", { libraries: { GovernorClockLogicV1: await GovernorClockLogicLibV1.getAddress(), }, }); const GovernorVotesLogicLibV1 = (await GovernorVotesLogicV1.deploy()); await GovernorVotesLogicLibV1.waitForDeployment(); logOutput && console.log("GovernorVotesLogicV1 Library deployed"); // Deploy Governor Deposit Logic const GovernorDepositLogicV1 = await hardhat_1.ethers.getContractFactory("GovernorDepositLogicV1", { libraries: { GovernorClockLogicV1: await GovernorClockLogicLibV1.getAddress(), }, }); const GovernorDepositLogicLibV1 = (await GovernorDepositLogicV1.deploy()); await GovernorDepositLogicLibV1.waitForDeployment(); logOutput && console.log("GovernorDepositLogicV1 Library deployed"); // Deploy Governor State Logic const GovernorStateLogicV1 = await hardhat_1.ethers.getContractFactory("GovernorStateLogicV1", { libraries: { GovernorClockLogicV1: await GovernorClockLogicLibV1.getAddress(), }, }); const GovernorStateLogicLibV1 = (await GovernorStateLogicV1.deploy()); await GovernorStateLogicLibV1.waitForDeployment(); logOutput && console.log("GovernorStateLogicV1 Library deployed"); // ------------------- V3 ------------------- // const GovernorClockLogicV3 = await hardhat_1.ethers.getContractFactory("GovernorClockLogicV3"); const GovernorClockLogicLibV3 = (await GovernorClockLogicV3.deploy()); await GovernorClockLogicLibV3.waitForDeployment(); logOutput && console.log("GovernorClockLogicV3 Library deployed"); // Deploy Governor Configurator const GovernorConfiguratorV3 = await hardhat_1.ethers.getContractFactory("GovernorConfiguratorV3"); const GovernorConfiguratorLibV3 = (await GovernorConfiguratorV3.deploy()); await GovernorConfiguratorLibV3.waitForDeployment(); logOutput && console.log("GovernorConfiguratorV3 Library deployed"); // Deploy Governor Function Restrictions Logic const GovernorFunctionRestrictionsLogicV3 = await hardhat_1.ethers.getContractFactory("GovernorFunctionRestrictionsLogicV3"); const GovernorFunctionRestrictionsLogicLibV3 = (await GovernorFunctionRestrictionsLogicV3.deploy()); await GovernorFunctionRestrictionsLogicLibV3.waitForDeployment(); logOutput && console.log("GovernorFunctionRestrictionsLogicV3 Library deployed"); // Deploy Governor Governance Logic const GovernorGovernanceLogicV3 = await hardhat_1.ethers.getContractFactory("GovernorGovernanceLogicV3"); const GovernorGovernanceLogicLibV3 = (await GovernorGovernanceLogicV3.deploy()); await GovernorGovernanceLogicLibV3.waitForDeployment(); logOutput && console.log("GovernorGovernanceLogicV3 Library deployed"); // Deploy Governor Quorum Logic const GovernorQuorumLogicV3 = await hardhat_1.ethers.getContractFactory("GovernorQuorumLogicV3", { libraries: { GovernorClockLogicV3: await GovernorClockLogicLibV3.getAddress(), }, }); const GovernorQuorumLogicLibV3 = (await GovernorQuorumLogicV3.deploy()); await GovernorQuorumLogicLibV3.waitForDeployment(); logOutput && console.log("GovernorQuorumLogicV3 Library deployed"); // Deploy Governor Proposal Logic const GovernorProposalLogicV3 = await hardhat_1.ethers.getContractFactory("GovernorProposalLogicV3", { libraries: { GovernorClockLogicV3: await GovernorClockLogicLibV3.getAddress(), }, }); const GovernorProposalLogicLibV3 = (await GovernorProposalLogicV3.deploy()); await GovernorProposalLogicLibV3.waitForDeployment(); logOutput && console.log("GovernorProposalLogicV3 Library deployed"); // Deploy Governor Votes Logic const GovernorVotesLogicV3 = await hardhat_1.ethers.getContractFactory("GovernorVotesLogicV3", { libraries: { GovernorClockLogicV3: await GovernorClockLogicLibV3.getAddress(), }, }); const GovernorVotesLogicLibV3 = (await GovernorVotesLogicV3.deploy()); await GovernorVotesLogicLibV3.waitForDeployment(); logOutput && console.log("GovernorVotesLogicV3 Library deployed"); // Deploy Governor Deposit Logic const GovernorDepositLogicV3 = await hardhat_1.ethers.getContractFactory("GovernorDepositLogicV3", { libraries: { GovernorClockLogicV3: await GovernorClockLogicLibV3.getAddress(), }, }); const GovernorDepositLogicLibV3 = (await GovernorDepositLogicV3.deploy()); await GovernorDepositLogicLibV3.waitForDeployment(); logOutput && console.log("GovernorDepositLogicV3 Library deployed"); // Deploy Governor State Logic const GovernorStateLogicV3 = await hardhat_1.ethers.getContractFactory("GovernorStateLogicV3", { libraries: { GovernorClockLogicV3: await GovernorClockLogicLibV3.getAddress(), }, }); const GovernorStateLogicLibV3 = (await GovernorStateLogicV3.deploy()); await GovernorStateLogicLibV3.waitForDeployment(); logOutput && console.log("GovernorStateLogicV3 Library deployed"); // ------------------- V4 ------------------- // // Deploy Governor Clock Logic const GovernorClockLogicV4 = await hardhat_1.ethers.getContractFactory("GovernorClockLogicV4"); const GovernorClockLogicLibV4 = (await GovernorClockLogicV4.deploy()); await GovernorClockLogicLibV4.waitForDeployment(); logOutput && console.log("GovernorClockLogicV4 Library deployed"); // Deploy Governor Configurator const GovernorConfiguratorV4 = await hardhat_1.ethers.getContractFactory("GovernorConfiguratorV4"); const GovernorConfiguratorLibV4 = (await GovernorConfiguratorV4.deploy()); await GovernorConfiguratorLibV4.waitForDeployment(); logOutput && console.log("GovernorConfiguratorV4 Library deployed"); // Deploy Governor Function Restrictions Logic const GovernorFunctionRestrictionsLogicV4 = await hardhat_1.ethers.getContractFactory("GovernorFunctionRestrictionsLogicV4"); const GovernorFunctionRestrictionsLogicLibV4 = (await GovernorFunctionRestrictionsLogicV4.deploy()); await GovernorFunctionRestrictionsLogicLibV4.waitForDeployment(); logOutput && console.log("GovernorFunctionRestrictionsLogicV4 Library deployed"); // Deploy Governor Governance Logic const GovernorGovernanceLogicV4 = await hardhat_1.ethers.getContractFactory("GovernorGovernanceLogicV4"); const GovernorGovernanceLogicLibV4 = (await GovernorGovernanceLogicV4.deploy()); await GovernorGovernanceLogicLibV4.waitForDeployment(); logOutput && console.log("GovernorGovernanceLogicV4 Library deployed"); // Deploy Governor Quorum Logic const GovernorQuorumLogicV4 = await hardhat_1.ethers.getContractFactory("GovernorQuorumLogicV4", { libraries: { GovernorClockLogicV4: await GovernorClockLogicLibV4.getAddress(), }, }); const GovernorQuorumLogicLibV4 = (await GovernorQuorumLogicV4.deploy()); await GovernorQuorumLogicLibV4.waitForDeployment(); logOutput && console.log("GovernorQuorumLogicV4 Library deployed"); // Deploy Governor Proposal Logic const GovernorProposalLogicV4 = await hardhat_1.ethers.getContractFactory("GovernorProposalLogicV4", { libraries: { GovernorClockLogicV4: await GovernorClockLogicLibV4.getAddress(), }, }); const GovernorProposalLogicLibV4 = (await GovernorProposalLogicV4.deploy()); await GovernorProposalLogicLibV4.waitForDeployment(); logOutput && console.log("GovernorProposalLogicV4 Library deployed"); // Deploy Governor Votes Logic const GovernorVotesLogicV4 = await hardhat_1.ethers.getContractFactory("GovernorVotesLogicV4", { libraries: { GovernorClockLogicV4: await GovernorClockLogicLibV4.getAddress(), }, }); const GovernorVotesLogicLibV4 = (await GovernorVotesLogicV4.deploy()); await GovernorVotesLogicLibV4.waitForDeployment(); logOutput && console.log("GovernorVotesLogicV4 Library deployed"); // Deploy Governor Deposit Logic const GovernorDepositLogicV4 = await hardhat_1.ethers.getContractFactory("GovernorDepositLogicV4", { libraries: { GovernorClockLogicV4: await GovernorClockLogicLibV4.getAddress(), }, }); const GovernorDepositLogicLibV4 = (await GovernorDepositLogicV4.deploy()); await GovernorDepositLogicLibV4.waitForDeployment(); logOutput && console.log("GovernorDepositLogicV4 Library deployed"); // Deploy Governor State Logic const GovernorStateLogicV4 = await hardhat_1.ethers.getContractFactory("GovernorStateLogicV4", { libraries: { GovernorClockLogicV4: await GovernorClockLogicLibV4.getAddress(), }, }); const GovernorStateLogicLibV4 = (await GovernorStateLogicV4.deploy()); await GovernorStateLogicLibV4.waitForDeployment(); logOutput && console.log("GovernorStateLogicV4 Library deployed"); // ------------------- V5 ------------------- // // Deploy Governor Clock Logic const GovernorClockLogicV5 = await hardhat_1.ethers.getContractFactory("GovernorClockLogicV5"); const GovernorClockLogicLibV5 = (await GovernorClockLogicV5.deploy()); await GovernorClockLogicLibV5.waitForDeployment(); logOutput && console.log("GovernorClockLogicV5 Library deployed"); // Deploy Governor Configurator const GovernorConfiguratorV5 = await hardhat_1.ethers.getContractFactory("GovernorConfiguratorV5"); const GovernorConfiguratorLibV5 = (await GovernorConfiguratorV5.deploy()); await GovernorConfiguratorLibV5.waitForDeployment(); logOutput && console.log("GovernorConfiguratorV5 Library deployed"); // Deploy Governor Function Restrictions Logic const GovernorFunctionRestrictionsLogicV5 = await hardhat_1.ethers.getContractFactory("GovernorFunctionRestrictionsLogicV5"); const GovernorFunctionRestrictionsLogicLibV5 = (await GovernorFunctionRestrictionsLogicV5.deploy()); await GovernorFunctionRestrictionsLogicLibV5.waitForDeployment(); logOutput && console.log("GovernorFunctionRestrictionsLogicV5 Library deployed"); // Deploy Governor Governance Logic const GovernorGovernanceLogicV5 = await hardhat_1.ethers.getContractFactory("GovernorGovernanceLogicV5"); const GovernorGovernanceLogicLibV5 = (await GovernorGovernanceLogicV5.deploy()); await GovernorGovernanceLogicLibV5.waitForDeployment(); logOutput && console.log("GovernorGovernanceLogicV5 Library deployed"); // Deploy Governor Quorum Logic const GovernorQuorumLogicV5 = await hardhat_1.ethers.getContractFactory("GovernorQuorumLogicV5", { libraries: { GovernorClockLogicV5: await GovernorClockLogicLibV5.getAddress(), }, }); const GovernorQuorumLogicLibV5 = (await GovernorQuorumLogicV5.deploy()); await GovernorQuorumLogicLibV5.waitForDeployment(); logOutput && console.log("GovernorQuorumLogicV5 Library deployed"); // Deploy Governor Proposal Logic const GovernorProposalLogicV5 = await hardhat_1.ethers.getContractFactory("GovernorProposalLogicV5", { libraries: { GovernorClockLogicV5: await GovernorClockLogicLibV5.getAddress(), }, }); const GovernorProposalLogicLibV5 = (await GovernorProposalLogicV5.deploy()); await GovernorProposalLogicLibV5.waitForDeployment(); logOutput && console.log("GovernorProposalLogicV5 Library deployed"); // Deploy Governor Votes Logic const GovernorVotesLogicV5 = await hardhat_1.ethers.getContractFactory("GovernorVotesLogicV5", { libraries: { GovernorClockLogicV5: await GovernorClockLogicLibV5.getAddress(), }, }); const GovernorVotesLogicLibV5 = (await GovernorVotesLogicV5.deploy()); await GovernorVotesLogicLibV5.waitForDeployment(); logOutput && console.log("GovernorVotesLogicV5 Library deployed"); // Deploy Governor Deposit Logic const GovernorDepositLogicV5 = await hardhat_1.ethers.getContractFactory("GovernorDepositLogicV5", { libraries: { GovernorClockLogicV5: await GovernorClockLogicLibV5.getAddress(), }, }); const GovernorDepositLogicLibV5 = (await GovernorDepositLogicV5.deploy()); await GovernorDepositLogicLibV5.waitForDeployment(); logOutput && console.log("GovernorDepositLogicV5 Library deployed"); // Deploy Governor State Logic const GovernorStateLogicV5 = await hardhat_1.ethers.getContractFactory("GovernorStateLogicV5", { libraries: { GovernorClockLogicV5: await GovernorClockLogicLibV5.getAddress(), }, }); const GovernorStateLogicLibV5 = (await GovernorStateLogicV5.deploy()); await GovernorStateLogicLibV5.waitForDeployment(); logOutput && console.log("GovernorStateLogicV5 Library deployed"); // ------------------- V6 ------------------- // // Deploy Governor Clock Logic const GovernorClockLogicV6 = await hardhat_1.ethers.getContractFactory("GovernorClockLogicV6"); const GovernorClockLogicLibV6 = (await GovernorClockLogicV6.deploy()); await GovernorClockLogicLibV6.waitForDeployment(); logOutput && console.log("GovernorClockLogicV6 Library deployed"); // Deploy Governor Configurator const GovernorConfiguratorV6 = await hardhat_1.ethers.getContractFactory("GovernorConfiguratorV6"); const GovernorConfiguratorLibV6 = (await GovernorConfiguratorV6.deploy()); await GovernorConfiguratorLibV6.waitForDeployment(); logOutput && console.log("GovernorConfiguratorV6 Library deployed"); // Deploy Governor Function Restrictions Logic const GovernorFunctionRestrictionsLogicV6 = await hardhat_1.ethers.getContractFactory("GovernorFunctionRestrictionsLogicV6"); const GovernorFunctionRestrictionsLogicLibV6 = (await GovernorFunctionRestrictionsLogicV6.deploy()); await GovernorFunctionRestrictionsLogicLibV6.waitForDeployment(); logOutput && console.log("GovernorFunctionRestrictionsLogicV6 Library deployed"); // Deploy Governor Governance Logic const GovernorGovernanceLogicV6 = await hardhat_1.ethers.getContractFactory("GovernorGovernanceLogicV6"); const GovernorGovernanceLogicLibV6 = (await GovernorGovernanceLogicV6.deploy()); await GovernorGovernanceLogicLibV6.waitForDeployment(); logOutput && console.log("GovernorGovernanceLogicV6 Library deployed"); // Deploy Governor Quorum Logic const GovernorQuorumLogicV6 = await hardhat_1.ethers.getContractFactory("GovernorQuorumLogicV6", { libraries: { GovernorClockLogicV6: await GovernorClockLogicLibV6.getAddress(), }, }); const GovernorQuorumLogicLibV6 = (await GovernorQuorumLogicV6.deploy()); await GovernorQuorumLogicLibV6.waitForDeployment(); logOutput && console.log("GovernorQuorumLogicV6 Library deployed"); // Deploy Governor Proposal Logic const GovernorProposalLogicV6 = await hardhat_1.ethers.getContractFactory("GovernorProposalLogicV6", { libraries: { GovernorClockLogicV6: await GovernorClockLogicLibV6.getAddress(), }, }); const GovernorProposalLogicLibV6 = (await GovernorProposalLogicV6.deploy()); await GovernorProposalLogicLibV6.waitForDeployment(); logOutput && console.log("GovernorProposalLogicV6 Library deployed"); // Deploy Governor Votes Logic const GovernorVotesLogicV6 = await hardhat_1.ethers.getContractFactory("GovernorVotesLogicV6", { libraries: { GovernorClockLogicV6: await GovernorClockLogicLibV6.getAddress(), }, }); const GovernorVotesLogicLibV6 = (await GovernorVotesLogicV6.deploy()); await GovernorVotesLogicLibV6.waitForDeployment(); logOutput && console.log("GovernorVotesLogicV6 Library deployed"); // Deploy Governor Deposit Logic const GovernorDepositLogicV6 = await hardhat_1.ethers.getContractFactory("GovernorDepositLogicV6", { libraries: { GovernorClockLogicV6: await GovernorClockLogicLibV6.getAddress(), }, }); const GovernorDepositLogicLibV6 = (await GovernorDepositLogicV6.deploy()); await GovernorDepositLogicLibV6.waitForDeployment(); logOutput && console.log("GovernorDepositLogicV6 Library deployed"); // Deploy Governor State Logic const GovernorStateLogicV6 = await hardhat_1.ethers.getContractFactory("GovernorStateLogicV6", { libraries: { GovernorClockLogicV6: await GovernorClockLogicLibV6.getAddress(), }, }); const GovernorStateLogicLibV6 = (await GovernorStateLogicV6.deploy()); await GovernorStateLogicLibV6.waitForDeployment(); logOutput && console.log("GovernorStateLogicV6 Library deployed"); // ------------------- V7 ------------------- // const GovernorClockLogicV7 = await hardhat_1.ethers.getContractFactory("GovernorClockLogicV7"); const GovernorClockLogicLibV7 = (await GovernorClockLogicV7.deploy()); await GovernorClockLogicLibV7.waitForDeployment(); logOutput && console.log("GovernorClockLogicV7 Library deployed"); const GovernorConfiguratorV7 = await hardhat_1.ethers.getContractFactory("GovernorConfiguratorV7"); const GovernorConfiguratorLibV7 = (await GovernorConfiguratorV7.deploy()); await GovernorConfiguratorLibV7.waitForDeployment(); logOutput && console.log("GovernorConfiguratorV7 Library deployed"); const GovernorDepositLogicV7 = await hardhat_1.ethers.getContractFactory("GovernorDepositLogicV7", { libraries: { GovernorClockLogicV7: await GovernorClockLogicLibV7.getAddress(), }, }); const GovernorDepositLogicLibV7 = (await GovernorDepositLogicV7.deploy()); await GovernorDepositLogicLibV7.waitForDeployment(); logOutput && console.log("GovernorDepositLogicV7 Library deployed"); const GovernorFunctionRestrictionsLogicV7 = await hardhat_1.ethers.getContractFactory("GovernorFunctionRestrictionsLogicV7"); const GovernorFunctionRestrictionsLogicLibV7 = (await GovernorFunctionRestrictionsLogicV7.deploy()); await GovernorFunctionRestrictionsLogicLibV7.waitForDeployment(); logOutput && console.log("GovernorFunctionRestrictionsLogicV7 Library deployed"); const GovernorProposalLogicV7 = await hardhat_1.ethers.getContractFactory("GovernorProposalLogicV7", { libraries: { GovernorClockLogicV7: await GovernorClockLogicLibV7.getAddress(), }, }); const GovernorProposalLogicLibV7 = (await GovernorProposalLogicV7.deploy()); await GovernorProposalLogicLibV7.waitForDeployment(); logOutput && console.log("GovernorProposalLogicV7 Library deployed"); const GovernorQuorumLogicV7 = await hardhat_1.ethers.getContractFactory("GovernorQuorumLogicV7", { libraries: { GovernorClockLogicV7: await GovernorClockLogicLibV7.getAddress(), }, }); const GovernorQuorumLogicLibV7 = (await GovernorQuorumLogicV7.deploy()); await GovernorQuorumLogicLibV7.waitForDeployment(); logOutput && console.log("GovernorQuorumLogicV7 Library deployed"); const GovernorStateLogicV7 = await hardhat_1.ethers.getContractFactory("GovernorStateLogicV7", { libraries: { GovernorClockLogicV7: await GovernorClockLogicLibV7.getAddress(), }, }); const GovernorStateLogicLibV7 = (await GovernorStateLogicV7.deploy()); await GovernorStateLogicLibV7.waitForDeployment(); logOutput && console.log("GovernorStateLogicV7 Library deployed"); const GovernorVotesLogicV7 = await hardhat_1.ethers.getContractFactory("GovernorVotesLogicV7", { libraries: { GovernorClockLogicV7: await GovernorClockLogicLibV7.getAddress(), GovernorProposalLogicV7: await GovernorProposalLogicLibV7.getAddress(), }, }); const GovernorVotesLogicLibV7 = (await GovernorVotesLogicV7.deploy()); await GovernorVotesLogicLibV7.waitForDeployment(); logOutput && console.log("GovernorVotesLogicV7 Library deployed"); const GovernorGovernanceLogicV7 = await hardhat_1.ethers.getContractFactory("GovernorGovernanceLogicV7"); const GovernorGovernanceLogicLibV7 = (await GovernorGovernanceLogicV7.deploy()); await GovernorGovernanceLogicLibV7.waitForDeployment(); logOutput && console.log("GovernorGovernanceLogicV7 Library deployed"); // ------------------- V8 ------------------- // const GovernorClockLogicV8 = await hardhat_1.ethers.getContractFactory("GovernorClockLogicV8"); const GovernorClockLogicLibV8 = (await GovernorClockLogicV8.deploy()); await GovernorClockLogicLibV8.waitForDeployment(); logOutput && console.log("GovernorClockLogicV8 Library deployed"); const GovernorConfiguratorV8 = await hardhat_1.ethers.getContractFactory("GovernorConfiguratorV8"); const GovernorConfiguratorLibV8 = (await GovernorConfiguratorV8.deploy()); await GovernorConfiguratorLibV8.waitForDeployment(); logOutput && console.log("GovernorConfiguratorV8 Library deployed"); const GovernorDepositLogicV8 = await hardhat_1.ethers.getContractFactory("GovernorDepositLogicV8", { libraries: { GovernorClockLogicV8: await GovernorClockLogicLibV8.getAddress(), }, }); const GovernorDepositLogicLibV8 = (await GovernorDepositLogicV8.deploy()); await GovernorDepositLogicLibV8.waitForDeployment(); logOutput && console.log("GovernorDepositLogicV8 Library deployed"); const GovernorFunctionRestrictionsLogicV8 = await hardhat_1.ethers.getContractFactory("GovernorFunctionRestrictionsLogicV8"); const GovernorFunctionRestrictionsLogicLibV8 = (await GovernorFunctionRestrictionsLogicV8.deploy()); await GovernorFunctionRestrictionsLogicLibV8.waitForDeployment(); logOutput && console.log("GovernorFunctionRestrictionsLogicV8 Library deployed"); const GovernorProposalLogicV8 = await hardhat_1.ethers.getContractFactory("GovernorProposalLogicV8", { libraries: { GovernorClockLogicV8: await GovernorClockLogicLibV8.getAddress(), }, }); const GovernorProposalLogicLibV8 = (await GovernorProposalLogicV8.deploy()); await GovernorProposalLogicLibV8.waitForDeployment(); logOutput && console.log("GovernorProposalLogicV8 Library deployed"); const GovernorQuorumLogicV8 = await hardhat_1.ethers.getContractFactory("GovernorQuorumLogicV8", { libraries: { GovernorClockLogicV8: await GovernorClockLogicLibV8.getAddress(), }, }); const GovernorQuorumLogicLibV8 = (await GovernorQuorumLogicV8.deploy()); await GovernorQuorumLogicLibV8.waitForDeployment(); logOutput && console.log("GovernorQuorumLogicV8 Library deployed"); const GovernorStateLogicV8 = await hardhat_1.ethers.getContractFactory("GovernorStateLogicV8", { libraries: { GovernorClockLogicV8: await GovernorClockLogicLibV8.getAddress(), }, }); const GovernorStateLogicLibV8 = (await GovernorStateLogicV8.deploy()); await GovernorStateLogicLibV8.waitForDeployment(); logOutput && console.log("GovernorStateLogicV8 Library deployed"); const GovernorVotesLogicV8 = await hardhat_1.ethers.getContractFactory("GovernorVotesLogicV8", { libraries: { GovernorClockLogicV8: await GovernorClockLogicLibV8.getAddress(), GovernorProposalLogicV8: await GovernorProposalLogicLibV8.getAddress(), }, }); const GovernorVotesLogicLibV8 = (await GovernorVotesLogicV8.deploy()); await GovernorVotesLogicLibV8.waitForDeployment(); logOutput && console.log("GovernorVotesLogicV8 Library deployed"); const GovernorGovernanceLogicV8 = await hardhat_1.ethers.getContractFactory("GovernorGovernanceLogicV8"); const GovernorGovernanceLogicLibV8 = (await GovernorGovernanceLogicV8.deploy()); await GovernorGovernanceLogicLibV8.waitForDeployment(); logOutput && console.log("GovernorGovernanceLogicV8 Library deployed"); return { GovernorClockLogicLibV1, GovernorConfiguratorLibV1, GovernorFunctionRestrictionsLogicLibV1, GovernorGovernanceLogicLibV1, GovernorQuorumLogicLibV1, GovernorProposalLogicLibV1, GovernorVotesLogicLibV1, GovernorDepositLogicLibV1, GovernorStateLogicLibV1, GovernorClockLogicLibV3, GovernorConfiguratorLibV3, GovernorFunctionRestrictionsLogicLibV3, GovernorGovernanceLogicLibV3, GovernorQuorumLogicLibV3, GovernorProposalLogicLibV3, GovernorVotesLogicLibV3, GovernorDepositLogicLibV3, GovernorStateLogicLibV3, GovernorClockLogicLibV4, GovernorConfiguratorLibV4, GovernorFunctionRestrictionsLogicLibV4, GovernorGovernanceLogicLibV4, GovernorQuorumLogicLibV4, GovernorProposalLogicLibV4, GovernorVotesLogicLibV4, GovernorDepositLogicLibV4, GovernorStateLogicLibV4, GovernorClockLogicLibV5, GovernorConfiguratorLibV5, GovernorFunctionRestrictionsLogicLibV5, GovernorGovernanceLogicLibV5, GovernorQuorumLogicLibV5, GovernorProposalLogicLibV5, GovernorVotesLogicLibV5, GovernorDepositLogicLibV5, GovernorStateLogicLibV5, GovernorClockLogicLib, GovernorConfiguratorLib, GovernorFunctionRestrictionsLogicLib, GovernorGovernanceLogicLib, GovernorQuorumLogicLib, GovernorProposalLogicLib, GovernorVotesLogicLib, GovernorDepositLogicLib, GovernorStateLogicLib, GovernorClockLogicLibV6, GovernorConfiguratorLibV6, GovernorFunctionRestrictionsLogicLibV6, GovernorGovernanceLogicLibV6, GovernorQuorumLogicLibV6, GovernorProposalLogicLibV6, GovernorVotesLogicLibV6, GovernorDepositLogicLibV6, GovernorStateLogicLibV6, GovernorClockLogicLibV7, GovernorConfiguratorLibV7, GovernorDepositLogicLibV7, GovernorFunctionRestrictionsLogicLibV7, GovernorProposalLogicLibV7, GovernorQuorumLogicLibV7, GovernorStateLogicLibV7, GovernorVotesLogicLibV7, GovernorGovernanceLogicLibV7, GovernorClockLogicLibV8, GovernorConfiguratorLibV8, GovernorDepositLogicLibV8, GovernorFunctionRestrictionsLogicLibV8, GovernorProposalLogicLibV8, GovernorQuorumLogicLibV8, GovernorStateLogicLibV8, GovernorVotesLogicLibV8, GovernorGovernanceLogicLibV8, }; }