UNPKG

@vechain/vebetterdao-contracts

Version:

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

67 lines (66 loc) 4.05 kB
import { B3TR, Emissions, VOT3, XAllocationVoting, TimeLock, B3TRGovernor, GalaxyMember, VoterRewards, XAllocationPool, Treasury, X2EarnRewardsPool, X2EarnApps, VeBetterPassport, X2EarnCreator, GrantsManager, RelayerRewardsPool, B3TRChallenges, DBAPool, StargateNFT, Stargate, NodeManagementV3, TokenAuction, NavigatorRegistry } from "../../typechain-types"; import { ContractsConfig } from "@repo/config/contracts/type"; import { HardhatEthersSigner } from "@nomicfoundation/hardhat-ethers/signers"; export declare function deployAll(config: ContractsConfig): Promise<{ governor: B3TRGovernor; timelock: TimeLock; b3tr: B3TR; vot3: VOT3; galaxyMember: GalaxyMember; xAllocationPool: XAllocationPool; xAllocationVoting: XAllocationVoting; emissions: Emissions; voterRewards: VoterRewards; treasury: Treasury; x2EarnApps: X2EarnApps; x2EarnRewardsPool: X2EarnRewardsPool; vechainNodesMock: TokenAuction; vechainNodeManagement: NodeManagementV3; veBetterPassport: VeBetterPassport; b3trChallenges: B3TRChallenges; x2EarnCreator: X2EarnCreator; grantsManager: GrantsManager; relayerRewardsPool: RelayerRewardsPool; stargate: Stargate; stargateNFT: StargateNFT; dynamicBaseAllocationPool: DBAPool; navigatorRegistry: NavigatorRegistry; libraries: { governorClockLogic: import("../../typechain-types").GovernorClockLogic; governorConfigurator: import("../../typechain-types").GovernorConfigurator; governorDepositLogic: import("../../typechain-types").GovernorDepositLogic; governorFunctionRestrictionsLogic: import("../../typechain-types").GovernorFunctionRestrictionsLogic; governorProposalLogic: import("../../typechain-types").GovernorProposalLogic; governorQuorumLogic: import("../../typechain-types").GovernorQuorumLogic; governorStateLogic: import("../../typechain-types").GovernorStateLogic; governorVotesLogic: import("../../typechain-types").GovernorVotesLogic; passportChecksLogic: import("../../typechain-types").PassportChecksLogic; passportConfigurator: import("../../typechain-types").PassportConfigurator; passportEntityLogic: import("../../typechain-types").PassportEntityLogic; passportDelegationLogic: import("../../typechain-types").PassportDelegationLogic; passportPersonhoodLogic: import("../../typechain-types").PassportPersonhoodLogic; passportPoPScoreLogic: import("../../typechain-types").PassportPoPScoreLogic; passportSignalingLogic: import("../../typechain-types").PassportSignalingLogic; passportWhitelistAndBlacklistLogic: import("../../typechain-types").PassportWhitelistAndBlacklistLogic; autoVotingLogic: import("ethers").BaseContract & { deploymentTransaction(): import("ethers").ContractTransactionResponse; } & Omit<import("ethers").BaseContract, keyof import("ethers").BaseContract>; challengeCoreLogic: import("../../typechain-types").ChallengeCoreLogic; challengeSettlementLogic: import("../../typechain-types").ChallengeSettlementLogic; }; }>; /** * Set the whitelisted functions from config * Performs the following steps for each contract: * 1. Get the function signatures from the contract factory * 2. Set the whitelisted functions in the governor contract * * @param contractAddresses - Addresses of the deployed contracts * @param config - Contracts configuration * @param governor - B3TRGovernor contract instance * @param admin - Admin signer * * @note - For ambiguous functions (functions with same name), the function signature is used to differentiate them * e.g., instead of using "setVoterRewards", we use "setVoterRewards(address)" in the config */ export declare const setWhitelistedFunctions: (contractAddresses: Record<string, string>, config: ContractsConfig, governor: B3TRGovernor, admin: HardhatEthersSigner, libraries: Record<string, Record<string, string>>, logOutput?: boolean) => Promise<void>;