@vechain/vebetterdao-contracts
Version:
Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.
69 lines (68 loc) • 3.42 kB
TypeScript
import { HardhatEthersSigner } from "@nomicfoundation/hardhat-ethers/signers";
import { ContractFactory, ContractTransactionResponse } from "ethers";
import { B3TR, TimeLock, VOT3, GalaxyMember, Emissions, XAllocationVoting, XAllocationPool, VoterRewards, Treasury, X2EarnApps, X2EarnRewardsPool, MyERC20, MyERC721, MyERC1155, TokenAuction, B3TRGovernor, NodeManagementV3, VeBetterPassport, VeBetterPassportV1, X2EarnCreator, B3TRChallenges, VeBetterPassportV2, B3TRMultiSig, VeBetterPassportV3, VeBetterPassportV4, StargateNFT, GrantsManager, RelayerRewardsPool, AutoVotingLogic, DBAPool, Stargate, ChallengeCoreLogic, ChallengeSettlementLogic } from "../../typechain-types";
import type { GovernanceLibraries } from "../../scripts/libraries/governanceLibraries";
import type { PassportLibraries } from "../../scripts/libraries/passportLibraries";
import type { X2EarnLibraries } from "../../scripts/libraries/x2EarnLibraries";
import { NavigatorRegistry } from "../../typechain-types";
type ToCamelCaseKeys<T> = {
[K in keyof T as Uncapitalize<K & string>]: T[K];
};
export interface DeployInstance extends ToCamelCaseKeys<GovernanceLibraries>, ToCamelCaseKeys<PassportLibraries>, ToCamelCaseKeys<X2EarnLibraries> {
B3trContract: ContractFactory;
b3tr: B3TR & {
deploymentTransaction(): ContractTransactionResponse;
};
vot3: VOT3;
timeLock: TimeLock;
governor: B3TRGovernor;
galaxyMember: GalaxyMember;
x2EarnApps: X2EarnApps;
xAllocationVoting: XAllocationVoting;
xAllocationPool: XAllocationPool;
emissions: Emissions;
voterRewards: VoterRewards;
treasury: Treasury;
nodeManagement: NodeManagementV3;
x2EarnCreator: X2EarnCreator;
b3trChallenges: B3TRChallenges;
x2EarnRewardsPool: X2EarnRewardsPool;
veBetterPassport: VeBetterPassport;
veBetterPassportV1: VeBetterPassportV1;
veBetterPassportV2: VeBetterPassportV2;
veBetterPassportV3: VeBetterPassportV3;
veBetterPassportV4: VeBetterPassportV4;
dynamicBaseAllocationPool: DBAPool;
owner: HardhatEthersSigner;
otherAccount: HardhatEthersSigner;
minterAccount: HardhatEthersSigner;
timelockAdmin: HardhatEthersSigner;
otherAccounts: HardhatEthersSigner[];
creators: HardhatEthersSigner[];
grantsManager: GrantsManager;
myErc721: MyERC721 | undefined;
myErc1155: MyERC1155 | undefined;
vechainNodesMock: TokenAuction;
b3trMultiSig: B3TRMultiSig;
stargateNftMock: StargateNFT;
stargateMock: Stargate;
vthoTokenMock: MyERC20;
relayerRewardsPool: RelayerRewardsPool;
autoVotingLogic: AutoVotingLogic;
navigatorRegistry: NavigatorRegistry;
challengeCoreLogic: ChallengeCoreLogic;
challengeSettlementLogic: ChallengeSettlementLogic;
}
export declare const NFT_NAME = "GalaxyMember";
export declare const NFT_SYMBOL = "GM";
export declare const DEFAULT_MAX_MINTABLE_LEVEL = 1;
export declare const levels: number[];
export declare const multipliers: number[];
export declare const getOrDeployContractInstances: ({ forceDeploy, config, maxMintableLevel, bootstrapAndStartEmissions, deployMocks, }: {
forceDeploy?: boolean | undefined;
config?: import("@repo/config/contracts").ContractsConfig | undefined;
maxMintableLevel?: number | undefined;
bootstrapAndStartEmissions?: boolean | undefined;
deployMocks?: boolean | undefined;
}) => Promise<DeployInstance>;
export {};