ICompoundTimelock.sol 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.0;
  3. /**
  4. * https://github.com/compound-finance/compound-protocol/blob/master/contracts/Timelock.sol[Compound's timelock] interface
  5. */
  6. interface ICompoundTimelock {
  7. event NewAdmin(address indexed newAdmin);
  8. event NewPendingAdmin(address indexed newPendingAdmin);
  9. event NewDelay(uint256 indexed newDelay);
  10. event CancelTransaction(
  11. bytes32 indexed txHash,
  12. address indexed target,
  13. uint256 value,
  14. string signature,
  15. bytes data,
  16. uint256 eta
  17. );
  18. event ExecuteTransaction(
  19. bytes32 indexed txHash,
  20. address indexed target,
  21. uint256 value,
  22. string signature,
  23. bytes data,
  24. uint256 eta
  25. );
  26. event QueueTransaction(
  27. bytes32 indexed txHash,
  28. address indexed target,
  29. uint256 value,
  30. string signature,
  31. bytes data,
  32. uint256 eta
  33. );
  34. receive() external payable;
  35. // solhint-disable-next-line func-name-mixedcase
  36. function GRACE_PERIOD() external view returns (uint256);
  37. // solhint-disable-next-line func-name-mixedcase
  38. function MINIMUM_DELAY() external view returns (uint256);
  39. // solhint-disable-next-line func-name-mixedcase
  40. function MAXIMUM_DELAY() external view returns (uint256);
  41. function admin() external view returns (address);
  42. function pendingAdmin() external view returns (address);
  43. function delay() external view returns (uint256);
  44. function queuedTransactions(bytes32) external view returns (bool);
  45. function setDelay(uint256) external;
  46. function acceptAdmin() external;
  47. function setPendingAdmin(address) external;
  48. function queueTransaction(
  49. address target,
  50. uint256 value,
  51. string memory signature,
  52. bytes memory data,
  53. uint256 eta
  54. ) external returns (bytes32);
  55. function cancelTransaction(
  56. address target,
  57. uint256 value,
  58. string memory signature,
  59. bytes memory data,
  60. uint256 eta
  61. ) external;
  62. function executeTransaction(
  63. address target,
  64. uint256 value,
  65. string memory signature,
  66. bytes memory data,
  67. uint256 eta
  68. ) external payable returns (bytes memory);
  69. }