IGovernorTimelock.sol 991 B

123456789101112131415161718192021222324252627282930313233343536
  1. // SPDX-License-Identifier: MIT
  2. // OpenZeppelin Contracts v4.4.1 (governance/extensions/IGovernorTimelock.sol)
  3. pragma solidity ^0.8.19;
  4. import "../IGovernor.sol";
  5. /**
  6. * @dev Extension of the {IGovernor} for timelock supporting modules.
  7. *
  8. * _Available since v4.3._
  9. */
  10. abstract contract IGovernorTimelock is IGovernor {
  11. /**
  12. * @dev The proposal hasn't been queued yet.
  13. */
  14. error GovernorNotQueuedProposal(uint256 proposalId);
  15. /**
  16. * @dev The proposal has already been queued.
  17. */
  18. error GovernorAlreadyQueuedProposal(uint256 proposalId);
  19. event ProposalQueued(uint256 proposalId, uint256 eta);
  20. function timelock() public view virtual returns (address);
  21. function proposalEta(uint256 proposalId) public view virtual returns (uint256);
  22. function queue(
  23. address[] memory targets,
  24. uint256[] memory values,
  25. bytes[] memory calldatas,
  26. bytes32 descriptionHash
  27. ) public virtual returns (uint256 proposalId);
  28. }