GovernorMockUpgradeable.sol 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.0;
  3. import "../governance/extensions/GovernorProposalThresholdUpgradeable.sol";
  4. import "../governance/extensions/GovernorSettingsUpgradeable.sol";
  5. import "../governance/extensions/GovernorCountingSimpleUpgradeable.sol";
  6. import "../governance/extensions/GovernorVotesQuorumFractionUpgradeable.sol";
  7. import "../proxy/utils/Initializable.sol";
  8. contract GovernorMockUpgradeable is
  9. Initializable, GovernorProposalThresholdUpgradeable,
  10. GovernorSettingsUpgradeable,
  11. GovernorVotesQuorumFractionUpgradeable,
  12. GovernorCountingSimpleUpgradeable
  13. {
  14. function __GovernorMock_init(
  15. string memory name_,
  16. IVotesUpgradeable token_,
  17. uint256 votingDelay_,
  18. uint256 votingPeriod_,
  19. uint256 quorumNumerator_
  20. ) internal onlyInitializing {
  21. __Context_init_unchained();
  22. __ERC165_init_unchained();
  23. __EIP712_init_unchained(name_, version());
  24. __IGovernor_init_unchained();
  25. __Governor_init_unchained(name_);
  26. __GovernorProposalThreshold_init_unchained();
  27. __GovernorSettings_init_unchained(votingDelay_, votingPeriod_, 0);
  28. __GovernorVotes_init_unchained(token_);
  29. __GovernorVotesQuorumFraction_init_unchained(quorumNumerator_);
  30. __GovernorCountingSimple_init_unchained();
  31. __GovernorMock_init_unchained(name_, token_, votingDelay_, votingPeriod_, quorumNumerator_);
  32. }
  33. function __GovernorMock_init_unchained(
  34. string memory,
  35. IVotesUpgradeable,
  36. uint256,
  37. uint256,
  38. uint256
  39. ) internal onlyInitializing {}
  40. function cancel(
  41. address[] memory targets,
  42. uint256[] memory values,
  43. bytes[] memory calldatas,
  44. bytes32 salt
  45. ) public returns (uint256 proposalId) {
  46. return _cancel(targets, values, calldatas, salt);
  47. }
  48. function getVotes(address account, uint256 blockNumber)
  49. public
  50. view
  51. virtual
  52. override(IGovernorUpgradeable, GovernorVotesUpgradeable)
  53. returns (uint256)
  54. {
  55. return super.getVotes(account, blockNumber);
  56. }
  57. function proposalThreshold() public view override(GovernorUpgradeable, GovernorSettingsUpgradeable) returns (uint256) {
  58. return super.proposalThreshold();
  59. }
  60. function propose(
  61. address[] memory targets,
  62. uint256[] memory values,
  63. bytes[] memory calldatas,
  64. string memory description
  65. ) public virtual override(GovernorUpgradeable, GovernorProposalThresholdUpgradeable) returns (uint256) {
  66. return super.propose(targets, values, calldatas, description);
  67. }
  68. uint256[50] private __gap;
  69. }