Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

GovernorTimelockExecutionComponent

GovernorTimelockExecution Component

Extension of GovernorComponent that binds the execution process to an instance of a contract implementing TimelockControllerComponent. This adds a delay, enforced by the TimelockController to all successful proposals (in addition to the voting duration).

NOTE: The Governor needs the PROPOSER, EXECUTOR, and CANCELLER roles to work properly.

Using this model means the proposal will be operated by the TimelockController and not by the Governor. Thus, the assets and permissions must be attached to the TimelockController. Any asset sent to the Governor will be inaccessible from a proposal, unless executed via Governor::relay.

WARNING: Setting up the TimelockController to have additional proposers or cancellers besides the governor is very risky, as it grants them the ability to: 1) execute operations as the timelock, and thus possibly performing operations or accessing funds that are expected to only be accessible through a vote, and 2) block governance proposals that have been approved by the voters, effectively executing a Denial of Service attack.

Fully qualified path: openzeppelin_governance::governor::extensions::governor_timelock_execution::GovernorTimelockExecutionComponent

Modules

Free functions

Structs

Storage
TimelockUpdatedEmitted when the timelock controller used for proposal execution is modified.
ComponentState

Enums

Event

Traits