Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add timelock captions #1167

Merged
merged 2 commits into from
Oct 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/modules/ROOT/pages/api/governance.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ In a governance system, `TimelockControllerComponent` is in charge of introducin
use openzeppelin_governance::timelock::interface::ITimelock;
```

Interface of a timelock contract.

[.contract-index]
.Functions
--
Expand Down Expand Up @@ -249,6 +251,8 @@ include::../utils/_common.adoc[]
use openzeppelin_governance::timelock::TimelockControllerComponent;
```

Component that implements <<ITimelock, ITimelock>> and enables the implementing contract to act as a timelock controller.

[.contract-index#TimelockControllerComponent-Embeddable-Mixin-Impl]
.{mixin-impls}

Expand Down
6 changes: 6 additions & 0 deletions docs/modules/ROOT/pages/governance.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@
:accesscontrol-component: xref:api/access.adoc#AccessControlComponent[AccessControlComponent]
:src5-component: xref:api/introspection.adoc#SRC5Component[SRC5Component]

Decentralized protocols are in constant evolution from the moment they are publicly released.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏼

Often, the initial team retains control of this evolution in the first stages, but eventually delegates it to a community of stakeholders.
The process by which this community makes decisions is called on-chain governance, and it has become a central component of decentralized protocols, fueling varied decisions such as parameter tweaking, smart contract upgrades, integrations with other protocols, treasury management, grants, etc.

The Contracts for Cairo library aims to build a modular system of governance components for users to easily integrate and customize in their contracts.

== Timelock Controller

The Timelock Controller provides a means of enforcing time delays on the execution of transactions. This is considered good practice regarding governance systems because it allows users the opportunity to exit the system if they disagree with a decision before it is executed.
Expand Down