GovernorPreventLateQuorumMockUpgradeable.sol 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.0;
  3. import "../governance/extensions/GovernorPreventLateQuorumUpgradeable.sol";
  4. import "../governance/extensions/GovernorSettingsUpgradeable.sol";
  5. import "../governance/extensions/GovernorCountingSimpleUpgradeable.sol";
  6. import "../governance/extensions/GovernorVotesUpgradeable.sol";
  7. import "../proxy/utils/Initializable.sol";
  8. contract GovernorPreventLateQuorumMockUpgradeable is
  9. Initializable, GovernorSettingsUpgradeable,
  10. GovernorVotesUpgradeable,
  11. GovernorCountingSimpleUpgradeable,
  12. GovernorPreventLateQuorumUpgradeable
  13. {
  14. uint256 private _quorum;
  15. function __GovernorPreventLateQuorumMock_init(
  16. string memory name_,
  17. IVotesUpgradeable token_,
  18. uint256 votingDelay_,
  19. uint256 votingPeriod_,
  20. uint256 quorum_,
  21. uint64 voteExtension_
  22. ) internal onlyInitializing {
  23. __Context_init_unchained();
  24. __ERC165_init_unchained();
  25. __EIP712_init_unchained(name_, version());
  26. __IGovernor_init_unchained();
  27. __Governor_init_unchained(name_);
  28. __GovernorSettings_init_unchained(votingDelay_, votingPeriod_, 0);
  29. __GovernorVotes_init_unchained(token_);
  30. __GovernorCountingSimple_init_unchained();
  31. __GovernorPreventLateQuorum_init_unchained(voteExtension_);
  32. __GovernorPreventLateQuorumMock_init_unchained(name_, token_, votingDelay_, votingPeriod_, quorum_, voteExtension_);
  33. }
  34. function __GovernorPreventLateQuorumMock_init_unchained(
  35. string memory,
  36. IVotesUpgradeable,
  37. uint256,
  38. uint256,
  39. uint256 quorum_,
  40. uint64
  41. ) internal onlyInitializing {
  42. _quorum = quorum_;
  43. }
  44. function quorum(uint256) public view virtual override returns (uint256) {
  45. return _quorum;
  46. }
  47. function proposalDeadline(uint256 proposalId)
  48. public
  49. view
  50. virtual
  51. override(GovernorUpgradeable, GovernorPreventLateQuorumUpgradeable)
  52. returns (uint256)
  53. {
  54. return super.proposalDeadline(proposalId);
  55. }
  56. function proposalThreshold() public view virtual override(GovernorUpgradeable, GovernorSettingsUpgradeable) returns (uint256) {
  57. return super.proposalThreshold();
  58. }
  59. function _castVote(
  60. uint256 proposalId,
  61. address account,
  62. uint8 support,
  63. string memory reason
  64. ) internal virtual override(GovernorUpgradeable, GovernorPreventLateQuorumUpgradeable) returns (uint256) {
  65. return super._castVote(proposalId, account, support, reason);
  66. }
  67. uint256[49] private __gap;
  68. }