IGovernable

Git Source

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

Name
Type
Description

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

Name
Type
Description

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

Name
Type
Description

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

Name
Type
Description

oldPendingGovernor

address

The original configured pending governor

Last updated