12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- // SPDX-License-Identifier: MIT
- pragma solidity ^0.8.2;
- import "../../governance/Governor.sol";
- import "../../governance/extensions/GovernorProposalThreshold.sol";
- import "../../governance/extensions/GovernorCountingSimple.sol";
- import "../../governance/extensions/GovernorVotes.sol";
- import "../../governance/extensions/GovernorVotesQuorumFraction.sol";
- import "../../governance/extensions/GovernorTimelockControl.sol";
- contract MyGovernor2 is
- Governor,
- GovernorTimelockControl,
- GovernorProposalThreshold,
- GovernorVotes,
- GovernorVotesQuorumFraction,
- GovernorCountingSimple
- {
- constructor(
- IVotes _token,
- TimelockController _timelock
- ) Governor("MyGovernor") GovernorVotes(_token) GovernorVotesQuorumFraction(4) GovernorTimelockControl(_timelock) {}
- function votingDelay() public pure override returns (uint256) {
- return 1; // 1 block
- }
- function votingPeriod() public pure override returns (uint256) {
- return 45818; // 1 week
- }
- function proposalThreshold() public pure override returns (uint256) {
- return 1000e18;
- }
- // The following functions are overrides required by Solidity.
- function quorum(
- uint256 blockNumber
- ) public view override(IGovernor, GovernorVotesQuorumFraction) returns (uint256) {
- return super.quorum(blockNumber);
- }
- function state(uint256 proposalId) public view override(Governor, GovernorTimelockControl) returns (ProposalState) {
- return super.state(proposalId);
- }
- function propose(
- address[] memory targets,
- uint256[] memory values,
- bytes[] memory calldatas,
- string memory description
- ) public override(Governor, GovernorProposalThreshold, IGovernor) returns (uint256) {
- return super.propose(targets, values, calldatas, description);
- }
- function _execute(
- uint256 proposalId,
- address[] memory targets,
- uint256[] memory values,
- bytes[] memory calldatas,
- bytes32 descriptionHash
- ) internal override(Governor, GovernorTimelockControl) {
- super._execute(proposalId, targets, values, calldatas, descriptionHash);
- }
- function _cancel(
- address[] memory targets,
- uint256[] memory values,
- bytes[] memory calldatas,
- bytes32 descriptionHash
- ) internal override(Governor, GovernorTimelockControl) returns (uint256) {
- return super._cancel(targets, values, calldatas, descriptionHash);
- }
- function _executor() internal view override(Governor, GovernorTimelockControl) returns (address) {
- return super._executor();
- }
- function supportsInterface(
- bytes4 interfaceId
- ) public view override(Governor, GovernorTimelockControl) returns (bool) {
- return super.supportsInterface(interfaceId);
- }
- }
|