TimelockController

Robinhood Chain Browse chains

0xcfa0388f5ddf905fdc08c45c716c15dc10a14c6f

Solidity v0.8.20+commit.a1b79de6

🤖
Query this contract from your AI
Reference: 0xcfa0388f5ddf905fdc08c45c716c15dc10a14c6f
Sample prompt: "Tell me the current state of robinhood/0xcfa0388f5ddf905fdc08c45c716c15dc10a14c6f"
No AI wired up yet? → mcp.smarts.md · Browse chains

Admin & Risk

Who can change the rules?

Detected role based controls from the verified ABI.

Role Based

Overview

Read Functions
16
Write Functions
12
Events
8

Read Functions

Block #25,988,907 · just now
CANCELLER_ROLE() view → 0xfd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783

Returns

Name Type Description
bytes32
DEFAULT_ADMIN_ROLE() view → 0x0000000000000000000000000000000000000000000000000000000000000000

Returns

Name Type Description
bytes32
EXECUTOR_ROLE() view → 0xd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63

Returns

Name Type Description
bytes32
PROPOSER_ROLE() view → 0xb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1

Returns

Name Type Description
bytes32
getMinDelay() view → 86,400
dev: Returns the minimum delay in seconds for an operation to become valid. This value can be changed by executing an operation that calls `updateDelay`.

Returns

Name Type Description
uint256
getOperationState(id: bytes32) view
dev: Returns operation state.

Parameters

Name Type Description
id bytes32

Returns

Name Type Description
uint8
getRoleAdmin(role: bytes32) view
dev: Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.

Parameters

Name Type Description
role bytes32

Returns

Name Type Description
bytes32
getTimestamp(id: bytes32) view
dev: Returns the timestamp at which an operation becomes ready (0 for unset operations, 1 for done operations).

Parameters

Name Type Description
id bytes32

Returns

Name Type Description
uint256
hasRole(role: bytes32, account: address) view
dev: Returns `true` if `account` has been granted `role`.

Parameters

Name Type Description
role bytes32
account address

Returns

Name Type Description
bool
hashOperation(target: address, value: uint256, data: bytes, predecessor: bytes32, salt: bytes32) pure
dev: Returns the identifier of an operation containing a single transaction.

Parameters

Name Type Description
target address
value uint256
data bytes
predecessor bytes32
salt bytes32

Returns

Name Type Description
bytes32
hashOperationBatch(targets: address[], values: uint256[], payloads: bytes[], predecessor: bytes32, salt: bytes32) pure
dev: Returns the identifier of an operation containing a batch of transactions.

Parameters

Name Type Description
targets address[]
values uint256[]
payloads bytes[]
predecessor bytes32
salt bytes32

Returns

Name Type Description
bytes32
isOperation(id: bytes32) view
dev: Returns whether an id corresponds to a registered operation. This includes both Waiting, Ready, and Done operations.

Parameters

Name Type Description
id bytes32

Returns

Name Type Description
bool
isOperationDone(id: bytes32) view
dev: Returns whether an operation is done or not.

Parameters

Name Type Description
id bytes32

Returns

Name Type Description
bool
isOperationPending(id: bytes32) view
dev: Returns whether an operation is pending or not. Note that a "pending" operation may also be "ready".

Parameters

Name Type Description
id bytes32

Returns

Name Type Description
bool
isOperationReady(id: bytes32) view
dev: Returns whether an operation is ready for execution. Note that a "ready" operation is also "pending".

Parameters

Name Type Description
id bytes32

Returns

Name Type Description
bool
supportsInterface(interfaceId: bytes4) view
dev: Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.

Parameters

Name Type Description
interfaceId bytes4

Returns

Name Type Description
bool

Write Functions

cancel(id: bytes32) nonpayable
dev: Cancel an operation. Requirements: - the caller must have the 'canceller' role.

Parameters

Name Type Description
id bytes32
execute(target: address, value: uint256, payload: bytes, predecessor: bytes32, salt: bytes32) payable

Parameters

Name Type Description
target address
value uint256
payload bytes
predecessor bytes32
salt bytes32
executeBatch(targets: address[], values: uint256[], payloads: bytes[], predecessor: bytes32, salt: bytes32) payable

Parameters

Name Type Description
targets address[]
values uint256[]
payloads bytes[]
predecessor bytes32
salt bytes32
grantRole(role: bytes32, account: address) nonpayable
dev: Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.

Parameters

Name Type Description
role bytes32
account address
onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) nonpayable
dev: Handles the receipt of a multiple ERC-1155 token types. This function is called at the end of a `safeBatchTransferFrom` after the balances have been updated. NOTE: To accept the transfer(s), this must return `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))` (i.e. 0xbc197c81, or its own function selector).

Parameters

Name Type Description
address
address
uint256[]
uint256[]
bytes

Returns

Name Type Description
bytes4 `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))` if transfer is allowed
onERC1155Received(address, address, uint256, uint256, bytes) nonpayable
dev: Handles the receipt of a single ERC-1155 token type. This function is called at the end of a `safeTransferFrom` after the balance has been updated. NOTE: To accept the transfer, this must return `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` (i.e. 0xf23a6e61, or its own function selector).

Parameters

Name Type Description
address
address
uint256
uint256
bytes

Returns

Name Type Description
bytes4 `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` if transfer is allowed
onERC721Received(address, address, uint256, bytes) nonpayable
dev: Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.

Parameters

Name Type Description
address
address
uint256
bytes

Returns

Name Type Description
bytes4
renounceRole(role: bytes32, callerConfirmation: address) nonpayable
dev: Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.

Parameters

Name Type Description
role bytes32
callerConfirmation address
revokeRole(role: bytes32, account: address) nonpayable
dev: Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.

Parameters

Name Type Description
role bytes32
account address
schedule(target: address, value: uint256, data: bytes, predecessor: bytes32, salt: bytes32, delay: uint256) nonpayable
dev: Schedule an operation containing a single transaction. Emits {CallSalt} if salt is nonzero, and {CallScheduled}. Requirements: - the caller must have the 'proposer' role.

Parameters

Name Type Description
target address
value uint256
data bytes
predecessor bytes32
salt bytes32
delay uint256
scheduleBatch(targets: address[], values: uint256[], payloads: bytes[], predecessor: bytes32, salt: bytes32, delay: uint256) nonpayable
dev: Schedule an operation containing a batch of transactions. Emits {CallSalt} if salt is nonzero, and one {CallScheduled} event per transaction in the batch. Requirements: - the caller must have the 'proposer' role.

Parameters

Name Type Description
targets address[]
values uint256[]
payloads bytes[]
predecessor bytes32
salt bytes32
delay uint256
updateDelay(newDelay: uint256) nonpayable
dev: Changes the minimum timelock duration for future operations. Emits a {MinDelayChange} event. Requirements: - the caller must be the timelock itself. This can only be achieved by scheduling and later executing an operation where the timelock is the target and the data is the ABI-encoded call to this function.

Parameters

Name Type Description
newDelay uint256

Events

CallExecuted(id: bytes32, index: uint256, target: address, value: uint256, data: bytes)
Name Type Indexed Description
id bytes32
index uint256
target address
value uint256
data bytes
CallSalt(id: bytes32, salt: bytes32)
Name Type Indexed Description
id bytes32
salt bytes32
CallScheduled(id: bytes32, index: uint256, target: address, value: uint256, data: bytes, predecessor: bytes32, delay: uint256)
Name Type Indexed Description
id bytes32
index uint256
target address
value uint256
data bytes
predecessor bytes32
delay uint256
Cancelled(id: bytes32)
Name Type Indexed Description
id bytes32
MinDelayChange(oldDuration: uint256, newDuration: uint256)
Name Type Indexed Description
oldDuration uint256
newDuration uint256
RoleAdminChanged(role: bytes32, previousAdminRole: bytes32, newAdminRole: bytes32)
Name Type Indexed Description
role bytes32
previousAdminRole bytes32
newAdminRole bytes32
RoleGranted(role: bytes32, account: address, sender: address)
Name Type Indexed Description
role bytes32
account address
sender address
RoleRevoked(role: bytes32, account: address, sender: address)
Name Type Indexed Description
role bytes32
account address
sender address