Module Timelock

Source
Expand description

§What to re-export, what to hide?

  • export contract struct itself, but try to avoid export instance type (instead, use ::new() to get a handle)
  • avoid exporting xxCall and xxReturn types, they usually can be converted/transmuted from existing struct
  • Event types should be exported
  • structs should be exported and renamed with xxSol suffix to avoid confusion with other rust types
    • see module doc for more explanation on types duplication issue in alloy

Generated by the following Solidity interface…

library TimelockController {
    type OperationState is uint8;
}

interface Timelock {
    error AccessControlBadConfirmation();
    error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);
    error FailedInnerCall();
    error TimelockInsufficientDelay(uint256 delay, uint256 minDelay);
    error TimelockInvalidOperationLength(uint256 targets, uint256 payloads, uint256 values);
    error TimelockUnauthorizedCaller(address caller);
    error TimelockUnexecutedPredecessor(bytes32 predecessorId);
    error TimelockUnexpectedOperationState(bytes32 operationId, bytes32 expectedStates);

    event CallExecuted(bytes32 indexed id, uint256 indexed index, address target, uint256 value, bytes data);
    event CallSalt(bytes32 indexed id, bytes32 salt);
    event CallScheduled(bytes32 indexed id, uint256 indexed index, address target, uint256 value, bytes data, bytes32 predecessor, uint256 delay);
    event Cancelled(bytes32 indexed id);
    event MinDelayChange(uint256 oldDuration, uint256 newDuration);
    event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);
    event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);
    event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);

    constructor(uint256 minDelay, address[] proposers, address[] executors, address admin);

    receive() external payable;

    function CANCELLER_ROLE() external view returns (bytes32);
    function DEFAULT_ADMIN_ROLE() external view returns (bytes32);
    function EXECUTOR_ROLE() external view returns (bytes32);
    function PROPOSER_ROLE() external view returns (bytes32);
    function cancel(bytes32 id) external;
    function execute(address target, uint256 value, bytes memory payload, bytes32 predecessor, bytes32 salt) external payable;
    function executeBatch(address[] memory targets, uint256[] memory values, bytes[] memory payloads, bytes32 predecessor, bytes32 salt) external payable;
    function getMinDelay() external view returns (uint256);
    function getOperationState(bytes32 id) external view returns (TimelockController.OperationState);
    function getRoleAdmin(bytes32 role) external view returns (bytes32);
    function getTimestamp(bytes32 id) external view returns (uint256);
    function grantRole(bytes32 role, address account) external;
    function hasRole(bytes32 role, address account) external view returns (bool);
    function hashOperation(address target, uint256 value, bytes memory data, bytes32 predecessor, bytes32 salt) external pure returns (bytes32);
    function hashOperationBatch(address[] memory targets, uint256[] memory values, bytes[] memory payloads, bytes32 predecessor, bytes32 salt) external pure returns (bytes32);
    function isOperation(bytes32 id) external view returns (bool);
    function isOperationDone(bytes32 id) external view returns (bool);
    function isOperationPending(bytes32 id) external view returns (bool);
    function isOperationReady(bytes32 id) external view returns (bool);
    function onERC1155BatchReceived(address, address, uint256[] memory, uint256[] memory, bytes memory) external returns (bytes4);
    function onERC1155Received(address, address, uint256, uint256, bytes memory) external returns (bytes4);
    function onERC721Received(address, address, uint256, bytes memory) external returns (bytes4);
    function renounceRole(bytes32 role, address callerConfirmation) external;
    function revokeRole(bytes32 role, address account) external;
    function schedule(address target, uint256 value, bytes memory data, bytes32 predecessor, bytes32 salt, uint256 delay) external;
    function scheduleBatch(address[] memory targets, uint256[] memory values, bytes[] memory payloads, bytes32 predecessor, bytes32 salt, uint256 delay) external;
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
    function updateDelay(uint256 newDelay) external;
}

…which was generated by the following JSON ABI:

[
  {
    "type": "constructor",
    "inputs": [
      {
        "name": "minDelay",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "proposers",
        "type": "address[]",
        "internalType": "address[]"
      },
      {
        "name": "executors",
        "type": "address[]",
        "internalType": "address[]"
      },
      {
        "name": "admin",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "receive",
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "CANCELLER_ROLE",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "DEFAULT_ADMIN_ROLE",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "EXECUTOR_ROLE",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "PROPOSER_ROLE",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "cancel",
    "inputs": [
      {
        "name": "id",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "execute",
    "inputs": [
      {
        "name": "target",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "value",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "payload",
        "type": "bytes",
        "internalType": "bytes"
      },
      {
        "name": "predecessor",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "salt",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "executeBatch",
    "inputs": [
      {
        "name": "targets",
        "type": "address[]",
        "internalType": "address[]"
      },
      {
        "name": "values",
        "type": "uint256[]",
        "internalType": "uint256[]"
      },
      {
        "name": "payloads",
        "type": "bytes[]",
        "internalType": "bytes[]"
      },
      {
        "name": "predecessor",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "salt",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "getMinDelay",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getOperationState",
    "inputs": [
      {
        "name": "id",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint8",
        "internalType": "enum TimelockController.OperationState"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getRoleAdmin",
    "inputs": [
      {
        "name": "role",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getTimestamp",
    "inputs": [
      {
        "name": "id",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "grantRole",
    "inputs": [
      {
        "name": "role",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "account",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "hasRole",
    "inputs": [
      {
        "name": "role",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "account",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "hashOperation",
    "inputs": [
      {
        "name": "target",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "value",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "data",
        "type": "bytes",
        "internalType": "bytes"
      },
      {
        "name": "predecessor",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "salt",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "hashOperationBatch",
    "inputs": [
      {
        "name": "targets",
        "type": "address[]",
        "internalType": "address[]"
      },
      {
        "name": "values",
        "type": "uint256[]",
        "internalType": "uint256[]"
      },
      {
        "name": "payloads",
        "type": "bytes[]",
        "internalType": "bytes[]"
      },
      {
        "name": "predecessor",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "salt",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "isOperation",
    "inputs": [
      {
        "name": "id",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "isOperationDone",
    "inputs": [
      {
        "name": "id",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "isOperationPending",
    "inputs": [
      {
        "name": "id",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "isOperationReady",
    "inputs": [
      {
        "name": "id",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "onERC1155BatchReceived",
    "inputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "",
        "type": "uint256[]",
        "internalType": "uint256[]"
      },
      {
        "name": "",
        "type": "uint256[]",
        "internalType": "uint256[]"
      },
      {
        "name": "",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes4",
        "internalType": "bytes4"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "onERC1155Received",
    "inputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes4",
        "internalType": "bytes4"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "onERC721Received",
    "inputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes4",
        "internalType": "bytes4"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "renounceRole",
    "inputs": [
      {
        "name": "role",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "callerConfirmation",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "revokeRole",
    "inputs": [
      {
        "name": "role",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "account",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "schedule",
    "inputs": [
      {
        "name": "target",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "value",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "data",
        "type": "bytes",
        "internalType": "bytes"
      },
      {
        "name": "predecessor",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "salt",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "delay",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "scheduleBatch",
    "inputs": [
      {
        "name": "targets",
        "type": "address[]",
        "internalType": "address[]"
      },
      {
        "name": "values",
        "type": "uint256[]",
        "internalType": "uint256[]"
      },
      {
        "name": "payloads",
        "type": "bytes[]",
        "internalType": "bytes[]"
      },
      {
        "name": "predecessor",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "salt",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "delay",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "supportsInterface",
    "inputs": [
      {
        "name": "interfaceId",
        "type": "bytes4",
        "internalType": "bytes4"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "updateDelay",
    "inputs": [
      {
        "name": "newDelay",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "event",
    "name": "CallExecuted",
    "inputs": [
      {
        "name": "id",
        "type": "bytes32",
        "indexed": true,
        "internalType": "bytes32"
      },
      {
        "name": "index",
        "type": "uint256",
        "indexed": true,
        "internalType": "uint256"
      },
      {
        "name": "target",
        "type": "address",
        "indexed": false,
        "internalType": "address"
      },
      {
        "name": "value",
        "type": "uint256",
        "indexed": false,
        "internalType": "uint256"
      },
      {
        "name": "data",
        "type": "bytes",
        "indexed": false,
        "internalType": "bytes"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "CallSalt",
    "inputs": [
      {
        "name": "id",
        "type": "bytes32",
        "indexed": true,
        "internalType": "bytes32"
      },
      {
        "name": "salt",
        "type": "bytes32",
        "indexed": false,
        "internalType": "bytes32"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "CallScheduled",
    "inputs": [
      {
        "name": "id",
        "type": "bytes32",
        "indexed": true,
        "internalType": "bytes32"
      },
      {
        "name": "index",
        "type": "uint256",
        "indexed": true,
        "internalType": "uint256"
      },
      {
        "name": "target",
        "type": "address",
        "indexed": false,
        "internalType": "address"
      },
      {
        "name": "value",
        "type": "uint256",
        "indexed": false,
        "internalType": "uint256"
      },
      {
        "name": "data",
        "type": "bytes",
        "indexed": false,
        "internalType": "bytes"
      },
      {
        "name": "predecessor",
        "type": "bytes32",
        "indexed": false,
        "internalType": "bytes32"
      },
      {
        "name": "delay",
        "type": "uint256",
        "indexed": false,
        "internalType": "uint256"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "Cancelled",
    "inputs": [
      {
        "name": "id",
        "type": "bytes32",
        "indexed": true,
        "internalType": "bytes32"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "MinDelayChange",
    "inputs": [
      {
        "name": "oldDuration",
        "type": "uint256",
        "indexed": false,
        "internalType": "uint256"
      },
      {
        "name": "newDuration",
        "type": "uint256",
        "indexed": false,
        "internalType": "uint256"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "RoleAdminChanged",
    "inputs": [
      {
        "name": "role",
        "type": "bytes32",
        "indexed": true,
        "internalType": "bytes32"
      },
      {
        "name": "previousAdminRole",
        "type": "bytes32",
        "indexed": true,
        "internalType": "bytes32"
      },
      {
        "name": "newAdminRole",
        "type": "bytes32",
        "indexed": true,
        "internalType": "bytes32"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "RoleGranted",
    "inputs": [
      {
        "name": "role",
        "type": "bytes32",
        "indexed": true,
        "internalType": "bytes32"
      },
      {
        "name": "account",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "sender",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "RoleRevoked",
    "inputs": [
      {
        "name": "role",
        "type": "bytes32",
        "indexed": true,
        "internalType": "bytes32"
      },
      {
        "name": "account",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "sender",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      }
    ],
    "anonymous": false
  },
  {
    "type": "error",
    "name": "AccessControlBadConfirmation",
    "inputs": []
  },
  {
    "type": "error",
    "name": "AccessControlUnauthorizedAccount",
    "inputs": [
      {
        "name": "account",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "neededRole",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ]
  },
  {
    "type": "error",
    "name": "FailedInnerCall",
    "inputs": []
  },
  {
    "type": "error",
    "name": "TimelockInsufficientDelay",
    "inputs": [
      {
        "name": "delay",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "minDelay",
        "type": "uint256",
        "internalType": "uint256"
      }
    ]
  },
  {
    "type": "error",
    "name": "TimelockInvalidOperationLength",
    "inputs": [
      {
        "name": "targets",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "payloads",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "values",
        "type": "uint256",
        "internalType": "uint256"
      }
    ]
  },
  {
    "type": "error",
    "name": "TimelockUnauthorizedCaller",
    "inputs": [
      {
        "name": "caller",
        "type": "address",
        "internalType": "address"
      }
    ]
  },
  {
    "type": "error",
    "name": "TimelockUnexecutedPredecessor",
    "inputs": [
      {
        "name": "predecessorId",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ]
  },
  {
    "type": "error",
    "name": "TimelockUnexpectedOperationState",
    "inputs": [
      {
        "name": "operationId",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "expectedStates",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ]
  }
]

Structs§

AccessControlBadConfirmation
Custom error with signature AccessControlBadConfirmation() and selector 0x6697b232. solidity error AccessControlBadConfirmation();
AccessControlUnauthorizedAccount
Custom error with signature AccessControlUnauthorizedAccount(address,bytes32) and selector 0xe2517d3f. solidity error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);
CANCELLER_ROLECall
Function with signature CANCELLER_ROLE() and selector 0xb08e51c0. solidity function CANCELLER_ROLE() external view returns (bytes32);
CANCELLER_ROLEReturn
Container type for the return parameters of the CANCELLER_ROLE() function.
CallExecuted
Event with signature CallExecuted(bytes32,uint256,address,uint256,bytes) and selector 0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58. solidity event CallExecuted(bytes32 indexed id, uint256 indexed index, address target, uint256 value, bytes data);
CallSalt
Event with signature CallSalt(bytes32,bytes32) and selector 0x20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d0387. solidity event CallSalt(bytes32 indexed id, bytes32 salt);
CallScheduled
Event with signature CallScheduled(bytes32,uint256,address,uint256,bytes,bytes32,uint256) and selector 0x4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca. solidity event CallScheduled(bytes32 indexed id, uint256 indexed index, address target, uint256 value, bytes data, bytes32 predecessor, uint256 delay);
Cancelled
Event with signature Cancelled(bytes32) and selector 0xbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb70. solidity event Cancelled(bytes32 indexed id);
DEFAULT_ADMIN_ROLECall
Function with signature DEFAULT_ADMIN_ROLE() and selector 0xa217fddf. solidity function DEFAULT_ADMIN_ROLE() external view returns (bytes32);
DEFAULT_ADMIN_ROLEReturn
Container type for the return parameters of the DEFAULT_ADMIN_ROLE() function.
EXECUTOR_ROLECall
Function with signature EXECUTOR_ROLE() and selector 0x07bd0265. solidity function EXECUTOR_ROLE() external view returns (bytes32);
EXECUTOR_ROLEReturn
Container type for the return parameters of the EXECUTOR_ROLE() function.
FailedInnerCall
Custom error with signature FailedInnerCall() and selector 0x1425ea42. solidity error FailedInnerCall();
MinDelayChange
Event with signature MinDelayChange(uint256,uint256) and selector 0x11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5. solidity event MinDelayChange(uint256 oldDuration, uint256 newDuration);
PROPOSER_ROLECall
Function with signature PROPOSER_ROLE() and selector 0x8f61f4f5. solidity function PROPOSER_ROLE() external view returns (bytes32);
PROPOSER_ROLEReturn
Container type for the return parameters of the PROPOSER_ROLE() function.
RoleAdminChanged
Event with signature RoleAdminChanged(bytes32,bytes32,bytes32) and selector 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. solidity event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);
RoleGranted
Event with signature RoleGranted(bytes32,address,address) and selector 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. solidity event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);
RoleRevoked
Event with signature RoleRevoked(bytes32,address,address) and selector 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. solidity event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);
TimelockInstance
A Timelock instance.
TimelockInsufficientDelay
Custom error with signature TimelockInsufficientDelay(uint256,uint256) and selector 0x54336609. solidity error TimelockInsufficientDelay(uint256 delay, uint256 minDelay);
TimelockInvalidOperationLength
Custom error with signature TimelockInvalidOperationLength(uint256,uint256,uint256) and selector 0xffb03211. solidity error TimelockInvalidOperationLength(uint256 targets, uint256 payloads, uint256 values);
TimelockUnauthorizedCaller
Custom error with signature TimelockUnauthorizedCaller(address) and selector 0xe2850c59. solidity error TimelockUnauthorizedCaller(address caller);
TimelockUnexecutedPredecessor
Custom error with signature TimelockUnexecutedPredecessor(bytes32) and selector 0x90a9a618. solidity error TimelockUnexecutedPredecessor(bytes32 predecessorId);
TimelockUnexpectedOperationState
Custom error with signature TimelockUnexpectedOperationState(bytes32,bytes32) and selector 0x5ead8eb5. solidity error TimelockUnexpectedOperationState(bytes32 operationId, bytes32 expectedStates);
cancelCall
Function with signature cancel(bytes32) and selector 0xc4d252f5. solidity function cancel(bytes32 id) external;
cancelReturn
Container type for the return parameters of the cancel(bytes32) function.
constructorCall
Constructor`. solidity constructor(uint256 minDelay, address[] proposers, address[] executors, address admin);
executeBatchCall
Function with signature executeBatch(address[],uint256[],bytes[],bytes32,bytes32) and selector 0xe38335e5. solidity function executeBatch(address[] memory targets, uint256[] memory values, bytes[] memory payloads, bytes32 predecessor, bytes32 salt) external payable;
executeBatchReturn
Container type for the return parameters of the executeBatch(address[],uint256[],bytes[],bytes32,bytes32) function.
executeCall
Function with signature execute(address,uint256,bytes,bytes32,bytes32) and selector 0x134008d3. solidity function execute(address target, uint256 value, bytes memory payload, bytes32 predecessor, bytes32 salt) external payable;
executeReturn
Container type for the return parameters of the execute(address,uint256,bytes,bytes32,bytes32) function.
getMinDelayCall
Function with signature getMinDelay() and selector 0xf27a0c92. solidity function getMinDelay() external view returns (uint256);
getMinDelayReturn
Container type for the return parameters of the getMinDelay() function.
getOperationStateCall
Function with signature getOperationState(bytes32) and selector 0x7958004c. solidity function getOperationState(bytes32 id) external view returns (TimelockController.OperationState);
getOperationStateReturn
Container type for the return parameters of the getOperationState(bytes32) function.
getRoleAdminCall
Function with signature getRoleAdmin(bytes32) and selector 0x248a9ca3. solidity function getRoleAdmin(bytes32 role) external view returns (bytes32);
getRoleAdminReturn
Container type for the return parameters of the getRoleAdmin(bytes32) function.
getTimestampCall
Function with signature getTimestamp(bytes32) and selector 0xd45c4435. solidity function getTimestamp(bytes32 id) external view returns (uint256);
getTimestampReturn
Container type for the return parameters of the getTimestamp(bytes32) function.
grantRoleCall
Function with signature grantRole(bytes32,address) and selector 0x2f2ff15d. solidity function grantRole(bytes32 role, address account) external;
grantRoleReturn
Container type for the return parameters of the grantRole(bytes32,address) function.
hasRoleCall
Function with signature hasRole(bytes32,address) and selector 0x91d14854. solidity function hasRole(bytes32 role, address account) external view returns (bool);
hasRoleReturn
Container type for the return parameters of the hasRole(bytes32,address) function.
hashOperationBatchCall
Function with signature hashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32) and selector 0xb1c5f427. solidity function hashOperationBatch(address[] memory targets, uint256[] memory values, bytes[] memory payloads, bytes32 predecessor, bytes32 salt) external pure returns (bytes32);
hashOperationBatchReturn
Container type for the return parameters of the hashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32) function.
hashOperationCall
Function with signature hashOperation(address,uint256,bytes,bytes32,bytes32) and selector 0x8065657f. solidity function hashOperation(address target, uint256 value, bytes memory data, bytes32 predecessor, bytes32 salt) external pure returns (bytes32);
hashOperationReturn
Container type for the return parameters of the hashOperation(address,uint256,bytes,bytes32,bytes32) function.
isOperationCall
Function with signature isOperation(bytes32) and selector 0x31d50750. solidity function isOperation(bytes32 id) external view returns (bool);
isOperationDoneCall
Function with signature isOperationDone(bytes32) and selector 0x2ab0f529. solidity function isOperationDone(bytes32 id) external view returns (bool);
isOperationDoneReturn
Container type for the return parameters of the isOperationDone(bytes32) function.
isOperationPendingCall
Function with signature isOperationPending(bytes32) and selector 0x584b153e. solidity function isOperationPending(bytes32 id) external view returns (bool);
isOperationPendingReturn
Container type for the return parameters of the isOperationPending(bytes32) function.
isOperationReadyCall
Function with signature isOperationReady(bytes32) and selector 0x13bc9f20. solidity function isOperationReady(bytes32 id) external view returns (bool);
isOperationReadyReturn
Container type for the return parameters of the isOperationReady(bytes32) function.
isOperationReturn
Container type for the return parameters of the isOperation(bytes32) function.
onERC721ReceivedCall
Function with signature onERC721Received(address,address,uint256,bytes) and selector 0x150b7a02. solidity function onERC721Received(address, address, uint256, bytes memory) external returns (bytes4);
onERC721ReceivedReturn
Container type for the return parameters of the onERC721Received(address,address,uint256,bytes) function.
onERC1155BatchReceivedCall
Function with signature onERC1155BatchReceived(address,address,uint256[],uint256[],bytes) and selector 0xbc197c81. solidity function onERC1155BatchReceived(address, address, uint256[] memory, uint256[] memory, bytes memory) external returns (bytes4);
onERC1155BatchReceivedReturn
Container type for the return parameters of the onERC1155BatchReceived(address,address,uint256[],uint256[],bytes) function.
onERC1155ReceivedCall
Function with signature onERC1155Received(address,address,uint256,uint256,bytes) and selector 0xf23a6e61. solidity function onERC1155Received(address, address, uint256, uint256, bytes memory) external returns (bytes4);
onERC1155ReceivedReturn
Container type for the return parameters of the onERC1155Received(address,address,uint256,uint256,bytes) function.
renounceRoleCall
Function with signature renounceRole(bytes32,address) and selector 0x36568abe. solidity function renounceRole(bytes32 role, address callerConfirmation) external;
renounceRoleReturn
Container type for the return parameters of the renounceRole(bytes32,address) function.
revokeRoleCall
Function with signature revokeRole(bytes32,address) and selector 0xd547741f. solidity function revokeRole(bytes32 role, address account) external;
revokeRoleReturn
Container type for the return parameters of the revokeRole(bytes32,address) function.
scheduleBatchCall
Function with signature scheduleBatch(address[],uint256[],bytes[],bytes32,bytes32,uint256) and selector 0x8f2a0bb0. solidity function scheduleBatch(address[] memory targets, uint256[] memory values, bytes[] memory payloads, bytes32 predecessor, bytes32 salt, uint256 delay) external;
scheduleBatchReturn
Container type for the return parameters of the scheduleBatch(address[],uint256[],bytes[],bytes32,bytes32,uint256) function.
scheduleCall
Function with signature schedule(address,uint256,bytes,bytes32,bytes32,uint256) and selector 0x01d5062a. solidity function schedule(address target, uint256 value, bytes memory data, bytes32 predecessor, bytes32 salt, uint256 delay) external;
scheduleReturn
Container type for the return parameters of the schedule(address,uint256,bytes,bytes32,bytes32,uint256) function.
supportsInterfaceCall
Function with signature supportsInterface(bytes4) and selector 0x01ffc9a7. solidity function supportsInterface(bytes4 interfaceId) external view returns (bool);
supportsInterfaceReturn
Container type for the return parameters of the supportsInterface(bytes4) function.
updateDelayCall
Function with signature updateDelay(uint256) and selector 0x64d62353. solidity function updateDelay(uint256 newDelay) external;
updateDelayReturn
Container type for the return parameters of the updateDelay(uint256) function.

Enums§

TimelockCalls
Container for all the Timelock function calls.
TimelockErrors
Container for all the Timelock custom errors.
TimelockEvents
Container for all the Timelock events.

Statics§

BYTECODE
The creation / init bytecode of the contract.
DEPLOYED_BYTECODE
The runtime bytecode of the contract, as deployed on the network.

Functions§

deploy
Deploys this contract using the given provider and constructor arguments, if any.
deploy_builder
Creates a RawCallBuilder for deploying this contract using the given provider and constructor arguments, if any.
new
Creates a new wrapper around an on-chain Timelock contract instance.