AccessManager
Inherits: IAccessManager
Title: AccessManager
Author: Modified from OpenZeppelin (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/manager/AccessManager.sol)
Diamond facet exposing AccessManagerLib.
Cut it into its own authority diamond. Next to other facets its ADMIN_ROLE is root: execute calls the
diamond as the diamond, which passes every gate that trusts address(this) (a governed diamondCut, the
timelock's self-only setters, the ERC-7786 handlers). See IAccessManager and issue #240.
Notes:
- lattice-version: 0.1.0
- lattice-source: OpenZeppelin v5.1.0
Functions
ADMIN_ROLE
function ADMIN_ROLE() external pure virtual override returns (uint64);Returns
| Name | Type | Description |
|---|---|---|
| <none> | uint64 |
PUBLIC_ROLE
function PUBLIC_ROLE() external pure virtual override returns (uint64);Returns
| Name | Type | Description |
|---|---|---|
| <none> | uint64 |
hasRole
function hasRole(uint64 roleId, address account) external view virtual override returns (bool, uint32);Parameters
| Name | Type | Description |
|---|---|---|
| roleId | uint64 | |
| account | address |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | bool | |
| <none> | uint32 |
getAccess
function getAccess(uint64 roleId, address account)
external
view
virtual
override
returns (uint48, uint32, uint32, uint48);Parameters
| Name | Type | Description |
|---|---|---|
| roleId | uint64 | |
| account | address |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | uint48 | |
| <none> | uint32 | |
| <none> | uint32 | |
| <none> | uint48 |
getRoleAdmin
function getRoleAdmin(uint64 roleId) external view virtual override returns (uint64);Parameters
| Name | Type | Description |
|---|---|---|
| roleId | uint64 |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | uint64 |
getRoleGuardian
function getRoleGuardian(uint64 roleId) external view virtual override returns (uint64);Parameters
| Name | Type | Description |
|---|---|---|
| roleId | uint64 |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | uint64 |
getRoleGrantDelay
function getRoleGrantDelay(uint64 roleId) external view virtual override returns (uint32);Parameters
| Name | Type | Description |
|---|---|---|
| roleId | uint64 |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | uint32 |
getRoleMembers
function getRoleMembers(uint64 roleId) external view virtual override returns (address[] memory);Parameters
| Name | Type | Description |
|---|---|---|
| roleId | uint64 |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | address[] |
getRoleMemberCount
function getRoleMemberCount(uint64 roleId) external view virtual override returns (uint256);Parameters
| Name | Type | Description |
|---|---|---|
| roleId | uint64 |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | uint256 |
getTargetFunctionRole
function getTargetFunctionRole(address target, bytes4 selector) external view virtual override returns (uint64);Parameters
| Name | Type | Description |
|---|---|---|
| target | address | |
| selector | bytes4 |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | uint64 |
getTargetAdminDelay
function getTargetAdminDelay(address target) external view virtual override returns (uint32);Parameters
| Name | Type | Description |
|---|---|---|
| target | address |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | uint32 |
isTargetClosed
function isTargetClosed(address target) external view virtual override returns (bool);Parameters
| Name | Type | Description |
|---|---|---|
| target | address |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | bool |
canCall
function canCall(address caller, address target, bytes4 selector)
external
view
virtual
override
returns (bool, uint32);Parameters
| Name | Type | Description |
|---|---|---|
| caller | address | |
| target | address | |
| selector | bytes4 |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | bool | |
| <none> | uint32 |
hashOperation
function hashOperation(address caller, address target, bytes calldata data)
external
pure
virtual
override
returns (bytes32);Parameters
| Name | Type | Description |
|---|---|---|
| caller | address | |
| target | address | |
| data | bytes |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | bytes32 |
getSchedule
function getSchedule(bytes32 operationId) external view virtual override returns (uint48);Parameters
| Name | Type | Description |
|---|---|---|
| operationId | bytes32 |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | uint48 |
getNonce
function getNonce(bytes32 operationId) external view virtual override returns (uint32);Parameters
| Name | Type | Description |
|---|---|---|
| operationId | bytes32 |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | uint32 |
grantRole
function grantRole(uint64 roleId, address account, uint32 executionDelay) external virtual override;Parameters
| Name | Type | Description |
|---|---|---|
| roleId | uint64 | |
| account | address | |
| executionDelay | uint32 |
revokeRole
function revokeRole(uint64 roleId, address account) external virtual override;Parameters
| Name | Type | Description |
|---|---|---|
| roleId | uint64 | |
| account | address |
renounceRole
function renounceRole(uint64 roleId, address callerConfirmation) external virtual override;Parameters
| Name | Type | Description |
|---|---|---|
| roleId | uint64 | |
| callerConfirmation | address |
setRoleAdmin
function setRoleAdmin(uint64 roleId, uint64 admin) external virtual override;Parameters
| Name | Type | Description |
|---|---|---|
| roleId | uint64 | |
| admin | uint64 |
setRoleGuardian
function setRoleGuardian(uint64 roleId, uint64 guardian) external virtual override;Parameters
| Name | Type | Description |
|---|---|---|
| roleId | uint64 | |
| guardian | uint64 |
setGrantDelay
function setGrantDelay(uint64 roleId, uint32 newDelay) external virtual override;Parameters
| Name | Type | Description |
|---|---|---|
| roleId | uint64 | |
| newDelay | uint32 |
labelRole
function labelRole(uint64 roleId, string calldata label) external virtual override;Parameters
| Name | Type | Description |
|---|---|---|
| roleId | uint64 | |
| label | string |
setTargetFunctionRole
function setTargetFunctionRole(address target, bytes4[] calldata selectors, uint64 roleId)
external
virtual
override;Parameters
| Name | Type | Description |
|---|---|---|
| target | address | |
| selectors | bytes4[] | |
| roleId | uint64 |
setTargetAdminDelay
function setTargetAdminDelay(address target, uint32 newDelay) external virtual override;Parameters
| Name | Type | Description |
|---|---|---|
| target | address | |
| newDelay | uint32 |
setTargetClosed
function setTargetClosed(address target, bool closed) external virtual override;Parameters
| Name | Type | Description |
|---|---|---|
| target | address | |
| closed | bool |
updateAuthority
Points managed target at newAuthority. Only callable by ADMIN_ROLE; this manager must be
target's current authority.
function updateAuthority(address target, address newAuthority) external virtual override;Parameters
| Name | Type | Description |
|---|---|---|
| target | address | |
| newAuthority | address |
schedule
function schedule(address target, bytes calldata data, uint48 when)
external
virtual
override
returns (bytes32, uint32);Parameters
| Name | Type | Description |
|---|---|---|
| target | address | |
| data | bytes | |
| when | uint48 |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | bytes32 | |
| <none> | uint32 |
execute
function execute(address target, bytes calldata data) external payable virtual override returns (uint32);Parameters
| Name | Type | Description |
|---|---|---|
| target | address | |
| data | bytes |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | uint32 |
cancel
function cancel(address caller, address target, bytes calldata data) external virtual override returns (uint32);Parameters
| Name | Type | Description |
|---|---|---|
| caller | address | |
| target | address | |
| data | bytes |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | uint32 |
consumeScheduledOp
Consumes the scheduled operation (caller, msg.sender, data) for a managed target making a
delayed direct call. Reverts AccessManagerUnauthorizedConsume unless msg.sender reports
isConsumingScheduledOp.selector from IAccessManaged.isConsumingScheduledOp, and reverts unless
the operation is scheduled, ready and not expired.
function consumeScheduledOp(address caller, bytes calldata data) external virtual override;Parameters
| Name | Type | Description |
|---|---|---|
| caller | address | |
| data | bytes |
exportSelectors
ERC-8153 selector export: this facet's cuttable selectors, tightly packed (4 bytes each).
Excludes exportSelectors() itself (0x0ef22643) - it is never cut into a diamond. Order matches
forge inspect AccessManager methodIdentifiers (alphabetical by signature); kept in exact parity by
ExportSelectorsParityTest. Chunks:
ADMIN_ROLE() 0x75b238fc
PUBLIC_ROLE() 0x3ca7c02a
canCall(address,address,bytes4) 0xb7009613
cancel(address,address,bytes) 0xd6bb62c6
consumeScheduledOp(address,bytes) 0x94c7d7ee
execute(address,bytes) 0x1cff79cd
getAccess(uint64,address) 0x3078f114
getNonce(bytes32) 0x4136a33c
getRoleAdmin(uint64) 0x530dd456
getRoleGrantDelay(uint64) 0x12be8727
getRoleGuardian(uint64) 0x0b0a93ba
getRoleMemberCount(uint64) 0xfc8610d1
getRoleMembers(uint64) 0xa5808e2f
getSchedule(bytes32) 0x3adc277a
getTargetAdminDelay(address) 0x4c1da1e2
getTargetFunctionRole(address,bytes4) 0x6d5115bd
grantRole(uint64,address,uint32) 0x25c471a0
hasRole(uint64,address) 0xd1f856ee
hashOperation(address,address,bytes) 0xabd9bd2a
isTargetClosed(address) 0xa166aa89
labelRole(uint64,string) 0x853551b8
renounceRole(uint64,address) 0xfe0776f5
revokeRole(uint64,address) 0xb7d2b162
schedule(address,bytes,uint48) 0xf801a698
setGrantDelay(uint64,uint32) 0xa64d95ce
setRoleAdmin(uint64,uint64) 0x30cae187
setRoleGuardian(uint64,uint64) 0x52962952
setTargetAdminDelay(address,uint32) 0xd22b5989
setTargetClosed(address,bool) 0x167bd395
setTargetFunctionRole(address,bytes4[],uint64) 0x08d6122d
updateAuthority(address,address) 0x18ff183c
function exportSelectors() external pure virtual returns (bytes memory selectors);Returns
| Name | Type | Description |
|---|---|---|
| selectors | bytes |