IGovernable
Contract module that provides a basic access control mechanism, with a governor that can be granted exclusive access to specific functions. The inheriting contract must set the initial governor in the constructor.
Functions
governor
The address of the governor account or contract.
function governor() external view returns (address governor_);
pendingGovernor
The address of the pending governor account or contract.
function pendingGovernor() external view returns (address pendingGovernor_);
nominateGovernor
Configure the pendingGovernor to newGovnernor parameter.
Does not revert if the pendingGovernor is the same, or there is already a pendingGovernor address.
function nominateGovernor(address newGovernor) external;
Parameters
newGovernor
address
The nominated governor, it will become the pendingGovernor.
acceptGovernor
The pending governor should accept and become the governor.
Only the pendingGovernor can trigger this function.
function acceptGovernor() external;
cancelPendingGovenor
Cancel the nominated pending governor.
Only the governor can trigger this function
function cancelPendingGovenor() external;
Events
AcceptGovernor
Emitted when the pendingGovernor is accepted.
event AcceptGovernor(address indexed oldGovernor, address indexed newGovernor);
Parameters
oldGovernor
address
The address of the old governor.
newGovernor
address
The address of the new governor.
NominateGovernor
Emitted when the pendingGovernor is nominated.
Configure the pending governor value, not revert if the pending governor is not zero address
event NominateGovernor(address indexed governor, address indexed pendingGovernor);
Parameters
governor
address
The address of original governor
pendingGovernor
address
The address of the new pendingGovernor
CancelPendingGovernor
Emitted when the pendingGovernor is reset to zero address
Reset the pending governor to zero address
event CancelPendingGovernor(address indexed oldPendingGovernor);
Parameters
oldPendingGovernor
address
The original configured pending governor
Last updated