UNPKG

@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
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 {};