@vechain/vebetterdao-contracts
Version:
Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.
144 lines (143 loc) • 9.13 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.x2EarnLibraries = x2EarnLibraries;
const hardhat_1 = require("hardhat");
async function x2EarnLibraries({ logOutput = false, latestVersionOnly = false, }) {
// NOTE: V1 libraries do not exist, libraries were added in V2 of X2EarnApps contract
// ------------------- LATEST VERSION ------------------- //
// Deploy Administration Utils
const AdministrationUtils = await hardhat_1.ethers.getContractFactory("AdministrationUtils");
const AdministrationUtilsLib = (await AdministrationUtils.deploy());
await AdministrationUtilsLib.waitForDeployment();
logOutput && console.log("AdministrationUtils Library deployed");
// Deploy Endorsement Utils
const EndorsementUtils = await hardhat_1.ethers.getContractFactory("EndorsementUtils");
const EndorsementUtilsLib = (await EndorsementUtils.deploy());
await EndorsementUtilsLib.waitForDeployment();
logOutput && console.log("EndorsementUtils Library deployed");
// Deploy Vote Eligibility Utils
const VoteEligibilityUtils = await hardhat_1.ethers.getContractFactory("VoteEligibilityUtils");
const VoteEligibilityUtilsLib = (await VoteEligibilityUtils.deploy());
await VoteEligibilityUtilsLib.waitForDeployment();
logOutput && console.log("VoteEligibilityUtils Library deployed");
// Deploy App Storage Utils
const AppStorageUtils = await hardhat_1.ethers.getContractFactory("AppStorageUtils");
const AppStorageUtilsLib = (await AppStorageUtils.deploy());
await AppStorageUtilsLib.waitForDeployment();
logOutput && console.log("AppStorageUtils Library deployed");
if (latestVersionOnly) {
return {
AdministrationUtils: AdministrationUtilsLib,
EndorsementUtils: EndorsementUtilsLib,
VoteEligibilityUtils: VoteEligibilityUtilsLib,
AppStorageUtils: AppStorageUtilsLib,
};
}
// ------------------- DEPRECATED VERSION ------------------- //
// ------------------- V2 ------------------- //
// Deploy Administration Utils V2
const AdministrationUtilsV2 = await hardhat_1.ethers.getContractFactory("AdministrationUtilsV2");
const AdministrationUtilsLibV2 = (await AdministrationUtilsV2.deploy());
await AdministrationUtilsLibV2.waitForDeployment();
logOutput && console.log("AdministrationUtilsV2 Library deployed");
// Deploy Endorsement Utils V2
const EndorsementUtilsV2 = await hardhat_1.ethers.getContractFactory("EndorsementUtilsV2");
const EndorsementUtilsLibV2 = (await EndorsementUtilsV2.deploy());
await EndorsementUtilsLibV2.waitForDeployment();
logOutput && console.log("EndorsementUtilsV2 Library deployed");
// Deploy Vote Eligibility Utils V2
const VoteEligibilityUtilsV2 = await hardhat_1.ethers.getContractFactory("VoteEligibilityUtilsV2");
const VoteEligibilityUtilsLibV2 = (await VoteEligibilityUtilsV2.deploy());
await VoteEligibilityUtilsLibV2.waitForDeployment();
logOutput && console.log("VoteEligibilityUtilsV2 Library deployed");
// ------------------- V3 ------------------- //
const AdministrationUtilsV3 = await hardhat_1.ethers.getContractFactory("AdministrationUtilsV3");
const AdministrationUtilsLibV3 = (await AdministrationUtilsV3.deploy());
await AdministrationUtilsLibV3.waitForDeployment();
logOutput && console.log("AdministrationUtilsV3 Library deployed");
const EndorsementUtilsV3 = await hardhat_1.ethers.getContractFactory("EndorsementUtilsV3");
const EndorsementUtilsLibV3 = (await EndorsementUtilsV3.deploy());
await EndorsementUtilsLibV3.waitForDeployment();
logOutput && console.log("EndorsementUtilsV3 Library deployed");
const VoteEligibilityUtilsV3 = await hardhat_1.ethers.getContractFactory("VoteEligibilityUtilsV3");
const VoteEligibilityUtilsLibV3 = (await VoteEligibilityUtilsV3.deploy());
await VoteEligibilityUtilsLibV3.waitForDeployment();
logOutput && console.log("VoteEligibilityUtilsV3 Library deployed");
// ------------------- V4 ------------------- //
const AdministrationUtilsV4 = await hardhat_1.ethers.getContractFactory("AdministrationUtilsV4");
const AdministrationUtilsLibV4 = (await AdministrationUtilsV4.deploy());
await AdministrationUtilsLibV4.waitForDeployment();
logOutput && console.log("AdministrationUtilsV4 Library deployed");
const EndorsementUtilsV4 = await hardhat_1.ethers.getContractFactory("EndorsementUtilsV4");
const EndorsementUtilsLibV4 = (await EndorsementUtilsV4.deploy());
await EndorsementUtilsLibV4.waitForDeployment();
logOutput && console.log("EndorsementUtilsV4 Library deployed");
const VoteEligibilityUtilsV4 = await hardhat_1.ethers.getContractFactory("VoteEligibilityUtilsV4");
const VoteEligibilityUtilsLibV4 = (await VoteEligibilityUtilsV4.deploy());
await VoteEligibilityUtilsLibV4.waitForDeployment();
logOutput && console.log("VoteEligibilityUtilsV4 Library deployed");
// ------------------- V5 ------------------- //
const AdministrationUtilsV5 = await hardhat_1.ethers.getContractFactory("AdministrationUtilsV5");
const AdministrationUtilsLibV5 = (await AdministrationUtilsV5.deploy());
await AdministrationUtilsLibV5.waitForDeployment();
logOutput && console.log("AdministrationUtilsV5 Library deployed");
const EndorsementUtilsV5 = await hardhat_1.ethers.getContractFactory("EndorsementUtilsV5");
const EndorsementUtilsLibV5 = (await EndorsementUtilsV5.deploy());
await EndorsementUtilsLibV5.waitForDeployment();
logOutput && console.log("EndorsementUtilsV5 Library deployed");
const VoteEligibilityUtilsV5 = await hardhat_1.ethers.getContractFactory("VoteEligibilityUtilsV5");
const VoteEligibilityUtilsLibV5 = (await VoteEligibilityUtilsV5.deploy());
await VoteEligibilityUtilsLibV5.waitForDeployment();
logOutput && console.log("VoteEligibilityUtilsV5 Library deployed");
// ---------------------- Version 6 ----------------------
const AdministrationUtilsV6 = await hardhat_1.ethers.getContractFactory("AdministrationUtilsV6");
const AdministrationUtilsLibV6 = await AdministrationUtilsV6.deploy();
await AdministrationUtilsLibV6.waitForDeployment();
const EndorsementUtilsV6 = await hardhat_1.ethers.getContractFactory("EndorsementUtilsV6");
const EndorsementUtilsLibV6 = await EndorsementUtilsV6.deploy();
await EndorsementUtilsLibV6.waitForDeployment();
const VoteEligibilityUtilsV6 = await hardhat_1.ethers.getContractFactory("VoteEligibilityUtilsV6");
const VoteEligibilityUtilsLibV6 = await VoteEligibilityUtilsV6.deploy();
await VoteEligibilityUtilsLibV6.waitForDeployment();
// ---------------------- Version 7 ----------------------
const AdministrationUtilsV7 = await hardhat_1.ethers.getContractFactory("AdministrationUtilsV7");
const AdministrationUtilsLibV7 = await AdministrationUtilsV7.deploy();
await AdministrationUtilsLibV7.waitForDeployment();
const EndorsementUtilsV7 = await hardhat_1.ethers.getContractFactory("EndorsementUtilsV7");
const EndorsementUtilsLibV7 = await EndorsementUtilsV7.deploy();
await EndorsementUtilsLibV7.waitForDeployment();
const VoteEligibilityUtilsV7 = await hardhat_1.ethers.getContractFactory("VoteEligibilityUtilsV7");
const VoteEligibilityUtilsLibV7 = await VoteEligibilityUtilsV7.deploy();
await VoteEligibilityUtilsLibV7.waitForDeployment();
return {
// ------------------- V2 ------------------- //
AdministrationUtilsV2: AdministrationUtilsLibV2,
EndorsementUtilsV2: EndorsementUtilsLibV2,
VoteEligibilityUtilsV2: VoteEligibilityUtilsLibV2,
// ------------------- V3 ------------------- //
AdministrationUtilsV3: AdministrationUtilsLibV3,
EndorsementUtilsV3: EndorsementUtilsLibV3,
VoteEligibilityUtilsV3: VoteEligibilityUtilsLibV3,
// ------------------- V4 ------------------- //
AdministrationUtilsV4: AdministrationUtilsLibV4,
EndorsementUtilsV4: EndorsementUtilsLibV4,
VoteEligibilityUtilsV4: VoteEligibilityUtilsLibV4,
// ------------------- V5 ------------------- //
AdministrationUtilsV5: AdministrationUtilsLibV5,
EndorsementUtilsV5: EndorsementUtilsLibV5,
VoteEligibilityUtilsV5: VoteEligibilityUtilsLibV5,
// ------------------- V6 ------------------- //
AdministrationUtilsV6: AdministrationUtilsLibV6,
EndorsementUtilsV6: EndorsementUtilsLibV6,
VoteEligibilityUtilsV6: VoteEligibilityUtilsLibV6,
// ------------------- V7 ------------------- //
AdministrationUtilsV7: AdministrationUtilsLibV7,
EndorsementUtilsV7: EndorsementUtilsLibV7,
VoteEligibilityUtilsV7: VoteEligibilityUtilsLibV7,
// ------------------- LATEST VERSION ------------------- //
AdministrationUtils: AdministrationUtilsLib,
EndorsementUtils: EndorsementUtilsLib,
VoteEligibilityUtils: VoteEligibilityUtilsLib,
AppStorageUtils: AppStorageUtilsLib,
};
}