BeaconController
Inherits: IBeaconController, AccessControl
State Variables
MULTISIG_ROLE
bytes32 public constant MULTISIG_ROLE = keccak256('MULTISIG_ROLE');
ADMIN_ROLE
bytes32 public constant ADMIN_ROLE = keccak256('ADMIN_ROLE');
ADMIN_OR_MULTISIG_ROLE
bytes32 public constant ADMIN_OR_MULTISIG_ROLE = keccak256('ADMIN_OR_MULTISIG_ROLE');
upgradeableBeacon
UpgradeableBeacon public immutable upgradeableBeacon;
_allowedIndex
mapping(address => uint256) private _allowedIndex;
_allowedList
address[] private _allowedList;
Functions
constructor
constructor(address timelock, address multisig, address initialImpl, address[] memory initialAllowed);
upgradeTo
function upgradeTo(
address implementation
) external onlyRole(ADMIN_ROLE);
upgradeToAllowed
function upgradeToAllowed(
address impl
) external onlyRole(MULTISIG_ROLE);
allowedList
function allowedList() external view returns (address[] memory);
isAllowed
function isAllowed(
address impl
) public view returns (bool);
updateAllowedList
function updateAllowedList(address implementation, bool allowed) external onlyRole(ADMIN_OR_MULTISIG_ROLE);
_addToAllowedList
function _addToAllowedList(
address impl
) internal;
_removeFromAllowedList
function _removeFromAllowedList(
address impl
) internal;
Events
AllowedAdded
event AllowedAdded(address indexed implementation, address indexed by);
AllowedRemoved
event AllowedRemoved(address indexed implementation, address indexed by);
UpgradedByMultisig
event UpgradedByMultisig(address indexed implementation, address indexed by);
Errors
ZERO_ADDRESS
error ZERO_ADDRESS();
NOT_ALLOWED
error NOT_ALLOWED();
INDEX_MISSING
error INDEX_MISSING();
ALREADY_ALLOWED
error ALREADY_ALLOWED();