UNPKG

@vechain/vebetterdao-contracts

Version:

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

48 lines (47 loc) 2.85 kB
import { SignerWithAddress } from "@nomicfoundation/hardhat-ethers/signers"; import { B3TR, B3TRGovernor, Emissions, GovernorDepositLogicV1, GovernorProposalLogicV1, GovernorFunctionRestrictionsLogicV1, GovernorQuorumLogicV1, TimeLock, VOT3, VoterRewards, XAllocationVoting, GovernorClockLogicV1, GovernorStateLogicV1, GovernorVotesLogicV1, GovernorConfiguratorV1, VeBetterPassport, Treasury, GrantsManager, X2EarnApps, GalaxyMember } from "../../typechain-types"; import { ContractFactory, ContractTransactionReceipt } from "ethers"; export declare const STANDARD_PROPOSAL_TYPE: bigint; export declare const GRANT_PROPOSAL_TYPE: bigint; interface GovernanceFixture { governor: B3TRGovernor; vot3: VOT3; b3tr: B3TR; treasury: Treasury; owner: SignerWithAddress; timeLock: TimeLock; xAllocationVoting: XAllocationVoting; voterRewards: VoterRewards; otherAccounts: SignerWithAddress[]; proposer: SignerWithAddress; voter: SignerWithAddress; emissions: Emissions; governorClockLogicLibV1: GovernorClockLogicV1; governorConfiguratorLibV1: GovernorConfiguratorV1; governorDepositLogicLibV1: GovernorDepositLogicV1; governorFunctionRestrictionsLogicLibV1: GovernorFunctionRestrictionsLogicV1; governorProposalLogicLibV1: GovernorProposalLogicV1; governorQuorumLogicLibV1: GovernorQuorumLogicV1; governorStateLogicLibV1: GovernorStateLogicV1; governorVotesLogicLibV1: GovernorVotesLogicV1; b3trContract: ContractFactory; veBetterPassport: VeBetterPassport; minterAccount: SignerWithAddress; otherAccount: SignerWithAddress; grantsManager: GrantsManager; x2EarnApps: X2EarnApps; creators: SignerWithAddress[]; galaxyMember: GalaxyMember; } export declare function setupGovernanceFixture(): Promise<GovernanceFixture>; export declare function setupProposer(account: SignerWithAddress, b3tr: B3TR, vot3: VOT3, minterAccount: SignerWithAddress, amount?: string): Promise<void>; export declare function setupVoter(voter: SignerWithAddress, b3tr: B3TR, vot3: VOT3, minterAccount: SignerWithAddress, owner: SignerWithAddress, veBetterPassport: VeBetterPassport): Promise<void>; export declare function setupSupporter(supporter: SignerWithAddress, vot3: VOT3, amount: bigint, governor: B3TRGovernor): Promise<void>; export declare function startNewRoundAndGetRoundId(emissions: Emissions, xAllocationVoting: XAllocationVoting): Promise<string>; export declare function validateProposalEvents(governor: B3TRGovernor, receipt: ContractTransactionReceipt | null, expectedType: number, proposerAddress: string, description: string): Promise<{ proposalId: any; decodedProposalCreatedEvent: any; decodedProposalCreatedWithTypeEvent: any; }>; export declare function setupGovernanceFixtureWithEmissions(): Promise<GovernanceFixture>; export {};