EthenaTimelockController

Ethereum 瀏覽鏈

0xe8dc0fab349ea169283c48ccfd09d797e6db7c94

Solidity v0.8.26+commit.8a97fa7a

🤖
透過你的 AI 查詢此合約
參考: 0xe8dc0fab349ea169283c48ccfd09d797e6db7c94
範例提示詞: "Tell me the current state of eth/0xe8dc0fab349ea169283c48ccfd09d797e6db7c94"
還沒有接入 AI?→ mcp.smarts.md · 瀏覽鏈

管理與風險

誰能修改規則?

Detected role based controls from the verified ABI.

Role Based

概覽

讀取函式
19
寫入函式
15
事件
11

讀取函式

Block #25,831,900 · just now
CANCELLER_ROLE() view → 0xfd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783

Returns the role identifier that grants permission to cancel scheduled timelock operations.✨ AI

回傳值

名稱 類型 描述
bytes32 bytes32 role identifier representing the CANCELLER_ROLE used for access control.✨ AI
DEFAULT_ADMIN_ROLE() view → 0x0000000000000000000000000000000000000000000000000000000000000000

Returns the bytes32 identifier for the contract's default admin role.✨ AI

回傳值

名稱 類型 描述
bytes32 bytes32 role identifier representing the DEFAULT_ADMIN_ROLE used for access control.✨ AI
EXECUTOR_ROLE() view → 0xd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63

Returns the bytes32 identifier of the executor role used for access control.✨ AI

回傳值

名稱 類型 描述
bytes32 The bytes32 role identifier that represents executor privileges within the timelock controller.✨ AI
PROPOSER_ROLE() view → 0xb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1

Returns the bytes32 identifier used for the contract's proposer role.✨ AI

回傳值

名稱 類型 描述
bytes32 The bytes32 role identifier representing accounts allowed to propose operations.✨ AI
WHITELISTED_EXECUTOR_ROLE() view → 0x389e8c0e82c32d300e95b13fa579aabf6ac32df2485cb1f756e174c811676cb2

Return the bytes32 role identifier for whitelisted executors.✨ AI

回傳值

名稱 類型 描述
bytes32 bytes32 role identifier for the WHITELISTED_EXECUTOR_ROLE used in access control checks.✨ AI
getMinDelay() view → 86,400

Returns the current minimum delay required for executing queued operations.✨ AI

開發者: Returns the minimum delay in seconds for an operation to become valid. This value can be changed by executing an operation that calls `updateDelay`.

回傳值

名稱 類型 描述
uint256 The configured minimum delay, in seconds, that must elapse before execution.✨ AI
getOperationState(id: bytes32) view

Return the current state code for the operation identified by id.✨ AI

開發者: Returns operation state.

參數

名稱 類型 描述
id bytes32 Operation id (bytes32) to query.✨ AI

回傳值

名稱 類型 描述
uint8 uint8 code for operation state: 0=Unknown,1=Pending,2=Ready,3=Executed,4=Cancelled✨ AI
getRoleAdmin(role: bytes32) view

Returns the admin role that controls the given role.✨ AI

開發者: Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.

參數

名稱 類型 描述
role bytes32 Role identifier to query, provided as a bytes32 role hash.✨ AI

回傳值

名稱 類型 描述
bytes32 The admin role (bytes32) that can grant or revoke the specified role.✨ AI
getTimestamp(id: bytes32) view

Returns the timestamp at which the operation identified by id becomes executable.✨ AI

開發者: Returns the timestamp at which an operation becomes ready (0 for unset operations, 1 for done operations).

參數

名稱 類型 描述
id bytes32 Operation id (bytes32) whose scheduled timestamp to look up.✨ AI

回傳值

名稱 類型 描述
uint256 The Unix timestamp (seconds) when the operation becomes executable; 0 if the operation is not scheduled.✨ AI
hasRole(role: bytes32, account: address) view

Returns whether the account holds the specified role.✨ AI

開發者: Returns `true` if `account` has been granted `role`.

參數

名稱 類型 描述
role bytes32 Role identifier to check (bytes32 hash).✨ AI
account address Address of the account to verify role membership for.✨ AI

回傳值

名稱 類型 描述
bool True if the account has the specified role, otherwise false.✨ AI
hashOperation(target: address, value: uint256, data: bytes, predecessor: bytes32, salt: bytes32) pure

Compute the unique id for a timelock operation from its parameters.✨ AI

開發者: Returns the identifier of an operation containing a single transaction.

參數

名稱 類型 描述
target address Address of the contract or account called when executing the operation.✨ AI
value uint256 Wei value to send with the call.✨ AI
data bytes Encoded function selector and arguments for the call.✨ AI
predecessor bytes32 Operation id that must be executed before this one (zero for none).✨ AI
salt bytes32 Unique salt to differentiate otherwise-identical operations.✨ AI

回傳值

名稱 類型 描述
bytes32 The bytes32 hash serving as the operation's unique identifier.✨ AI
hashOperationBatch(targets: address[], values: uint256[], payloads: bytes[], predecessor: bytes32, salt: bytes32) pure

Compute the unique id for a batch of scheduled transactions.✨ AI

開發者: Returns the identifier of an operation containing a batch of transactions.

參數

名稱 類型 描述
targets address[] List of destination contract addresses for each transaction.✨ AI
values uint256[] List of wei values to send with each call.✨ AI
payloads bytes[] List of encoded function call data for each target.✨ AI
predecessor bytes32 Operation id that must be executed before this batch, or zero if none.✨ AI
salt bytes32 User-provided salt to ensure uniqueness of the operation id.✨ AI

回傳值

名稱 類型 描述
bytes32 bytes32: keccak256 hash of the encoded batch inputs, used as the operation id.✨ AI
isOperation(id: bytes32) view

Return true if the timelock recognizes the given operation identifier.✨ AI

開發者: Returns whether an id corresponds to a registered operation. This includes both Waiting, Ready, and Done operations.

參數

名稱 類型 描述
id bytes32 Operation identifier (bytes32) to check for presence in the timelock.✨ AI

回傳值

名稱 類型 描述
bool True if the operation exists in the timelock (scheduled or already executed), false otherwise.✨ AI
isOperationDone(id: bytes32) view

Checks whether the timelocked operation with the given id is marked as done.✨ AI

開發者: Returns whether an operation is done or not.

參數

名稱 類型 描述
id bytes32 Identifier of the operation to check.✨ AI

回傳值

名稱 類型 描述
bool True if the operation is marked done (executed).✨ AI
isOperationPending(id: bytes32) view

Check whether the specified operation is pending.✨ AI

開發者: Returns whether an operation is pending or not. Note that a "pending" operation may also be "ready".

參數

名稱 類型 描述
id bytes32 Operation identifier hash (bytes32) to query.✨ AI

回傳值

名稱 類型 描述
bool True if the operation exists and is pending (scheduled but not executed or canceled).✨ AI
isOperationReady(id: bytes32) view

Indicates whether the timelock operation with the given id is ready for execution.✨ AI

開發者: Returns whether an operation is ready for execution. Note that a "ready" operation is also "pending".

參數

名稱 類型 描述
id bytes32 Operation identifier (bytes32 hash) to check readiness.✨ AI

回傳值

名稱 類型 描述
bool True if the operation is ready for execution (delay elapsed and not executed/canceled).✨ AI
isWhitelisted(target: address, selector: bytes4) view

Check whether a given target address and function selector are allowed by the contract's whitelist.✨ AI

開發者: Checks if a function selector is whitelisted for a specific address.

參數

名稱 類型 描述
target address The address of the contract.
selector bytes4 The function selector to check.

回傳值

名稱 類型 描述
bool True if the function selector is whitelisted, false otherwise.
renounceRole(role: bytes32, callerConfirmation: address) pure

Roles cannot be renounced, only revoked thru timelock mechanism.

開發者: Throws an error when trying to renounce a role.

參數

名稱 類型 描述
role bytes32 The role to renounce.
callerConfirmation address The address that is renouncing the role.
supportsInterface(interfaceId: bytes4) view

Return whether the contract implements the interface specified by interfaceId.✨ AI

開發者: See {IERC165-supportsInterface}.

參數

名稱 類型 描述
interfaceId bytes4 The 4-byte interface identifier (bytes4) to query, per ERC-165.✨ AI

回傳值

名稱 類型 描述
bool True if the contract supports the interface identified by interfaceId, otherwise false.✨ AI

寫入函式

addToWhitelist(target: address, selector: bytes4) nonpayable

Adds a function selector for a target address to the contract whitelist.✨ AI

開發者: Adds a function selector to the whitelist for a specific address. Can only be called via the timelock mechanism.

參數

名稱 類型 描述
target address The address of the contract.
selector bytes4 The function selector to whitelist.
cancel(id: bytes32) nonpayable

Cancel a scheduled timelock operation identified by id.✨ AI

開發者: Cancel an operation. Requirements: - the caller must have the 'canceller' role.

參數

名稱 類型 描述
id bytes32 Identifier of the timelocked operation to cancel.✨ AI
execute(target: address, value: uint256, data: bytes, predecessor: bytes32, salt: bytes32) payable

Execute a queued, ready operation by calling target with value and data after verifying predecessor and salt.✨ AI

開發者: Executes a function, bypassing the timelock if it's whitelisted.

參數

名稱 類型 描述
target address The address of the contract to call.
value uint256 The amount of ETH to send along with the call.
data bytes The calldata to send.
predecessor bytes32 The operation that must be executed before this one.
salt bytes32 A random value used to differentiate the operation from others.
executeBatch(targets: address[], values: uint256[], payloads: bytes[], predecessor: bytes32, salt: bytes32) payable

Execute a scheduled batch of transactions through the timelock, honoring predecessor and salt constraints.✨ AI

開發者: Executes a batch of whitelisted functions.

參數

名稱 類型 描述
targets address[] The addresses of the contracts to call.
values uint256[] The amounts of ETH to send along with the calls.
payloads bytes[] The calldata to send.
predecessor bytes32 The operation that must be executed before this one.
salt bytes32 A random value used to differentiate the operation from others.
executeWhitelisted(target: address, value: uint256, data: bytes) payable

Execute a whitelisted transaction by calling target with the specified ether value and calldata.✨ AI

開發者: Executes a whitelisted function.

參數

名稱 類型 描述
target address The address of the contract to call.
value uint256 The amount of ETH to send along with the call.
data bytes The calldata to send.
executeWhitelistedBatch(targets: address[], values: uint256[], payloads: bytes[]) payable

Execute a batch of whitelisted calls, sending optional ETH and calldata in a single transaction.✨ AI

開發者: Executes a batch of whitelisted functions.

參數

名稱 類型 描述
targets address[] The addresses of the contracts to call.
values uint256[] The amounts of ETH to send along with the calls.
payloads bytes[] The calldata to send.
grantRole(role: bytes32, account: address) nonpayable

Grants a role to an account, allowing the account to perform role-restricted actions.✨ AI

開發者: 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.

參數

名稱 類型 描述
role bytes32 Role identifier (bytes32) to grant.✨ AI
account address Address to receive the role.✨ AI
onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) nonpayable

Handle an incoming ERC-1155 batch transfer and confirm receipt to the sender.✨ AI

開發者: 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).

參數

名稱 類型 描述
address
address
uint256[]
uint256[]
bytes

回傳值

名稱 類型 描述
bytes4 `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))` if transfer is allowed
onERC1155Received(address, address, uint256, uint256, bytes) nonpayable

Handles receipt of a single ERC1155 token transfer.✨ AI

開發者: 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).

參數

名稱 類型 描述
address
address
uint256
uint256
bytes

回傳值

名稱 類型 描述
bytes4 `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` if transfer is allowed
onERC721Received(address, address, uint256, bytes) nonpayable

Handles receipt of an ERC-721 token and returns the required selector to accept the transfer.✨ AI

開發者: See {IERC721Receiver-onERC721Received}. Always returns `IERC721Receiver.onERC721Received.selector`.

參數

名稱 類型 描述
address
address
uint256
bytes

回傳值

名稱 類型 描述
bytes4 Selector equal to bytes4(keccak256("onERC721Received(address,address,uint256,bytes)")) confirming acceptance of the token.✨ AI
removeFromWhitelist(target: address, selector: bytes4) nonpayable

Remove a function selector for a target contract from the controller's whitelist.✨ AI

開發者: Removes a function selector from the whitelist for a specific address. Can only be called via the timelock mechanism.

參數

名稱 類型 描述
target address The address of the contract.
selector bytes4 The function selector to remove from the whitelist.
revokeRole(role: bytes32, account: address) nonpayable

Revokes a role from an account, removing the account's granted permissions.✨ AI

開發者: 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.

參數

名稱 類型 描述
role bytes32 Role identifier (bytes32) to revoke.✨ AI
account address Address of the account from which to revoke the role.✨ AI
schedule(target: address, value: uint256, data: bytes, predecessor: bytes32, salt: bytes32, delay: uint256) nonpayable
開發者: Schedule an operation containing a single transaction. Emits {CallSalt} if salt is nonzero, and {CallScheduled}. Requirements: - the caller must have the 'proposer' role.

參數

名稱 類型 描述
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
開發者: 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.

參數

名稱 類型 描述
targets address[]
values uint256[]
payloads bytes[]
predecessor bytes32
salt bytes32
delay uint256
updateDelay(newDelay: uint256) nonpayable
開發者: 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.

參數

名稱 類型 描述
newDelay uint256

事件

CallExecuted(id: bytes32, index: uint256, target: address, value: uint256, data: bytes)
名稱 類型 已索引 描述
id bytes32
index uint256
target address
value uint256
data bytes
CallSalt(id: bytes32, salt: bytes32)
名稱 類型 已索引 描述
id bytes32
salt bytes32
CallScheduled(id: bytes32, index: uint256, target: address, value: uint256, data: bytes, predecessor: bytes32, delay: uint256)
名稱 類型 已索引 描述
id bytes32
index uint256
target address
value uint256
data bytes
predecessor bytes32
delay uint256
Cancelled(id: bytes32)
名稱 類型 已索引 描述
id bytes32
FunctionRemovedFromWhitelist(target: address, selector: bytes4)
名稱 類型 已索引 描述
target address
selector bytes4
FunctionWhitelisted(target: address, selector: bytes4)
名稱 類型 已索引 描述
target address
selector bytes4
MinDelayChange(oldDuration: uint256, newDuration: uint256)
名稱 類型 已索引 描述
oldDuration uint256
newDuration uint256
RoleAdminChanged(role: bytes32, previousAdminRole: bytes32, newAdminRole: bytes32)
名稱 類型 已索引 描述
role bytes32
previousAdminRole bytes32
newAdminRole bytes32
RoleGranted(role: bytes32, account: address, sender: address)
名稱 類型 已索引 描述
role bytes32
account address
sender address
RoleRevoked(role: bytes32, account: address, sender: address)
名稱 類型 已索引 描述
role bytes32
account address
sender address
WhitelistedFunctionExecuted(target: address, selector: bytes4, value: uint256, data: bytes)
名稱 類型 已索引 描述
target address
selector bytes4
value uint256
data bytes