Skip to content

Commit 0b0efca

Browse files
authored
feat: release (#66)
- Fix for social cards (cover images) - Update star position for better scrolling - Fix searchbar overlapping wonderland logo - Several markdown improvements - Fix 'edit this page' links
2 parents 21302a0 + f3796c4 commit 0b0efca

73 files changed

Lines changed: 361 additions & 324 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/ISSUE_TEMPLATE/🐞-bug-report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ assignees: ''
99
---
1010

1111
Thanks for helping us keep the Wonderland Handbook sharp and functional 🧹
12-
If something isn’t behaving the way it shouldfrom broken links to rendering issues use this template to help us fix it fast.
12+
If something isn’t behaving the way it should: from broken links to rendering issues, use this template to help us fix it fast.
1313

1414
---
1515

packages/common-config/src/components/HandbookSection/index.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export interface HandbookSectionProps {
2424
handbooks: Handbook[];
2525
title: string;
2626
description: string;
27+
className?: string;
2728
}
2829

2930
interface HandbookCardProps {
@@ -73,9 +74,12 @@ export default function HandbookSection({
7374
handbooks,
7475
title,
7576
description,
77+
className,
7678
}: HandbookSectionProps): ReactNode {
7779
return (
78-
<section className={styles.handbooksSection}>
80+
<section
81+
className={`${styles.handbooksSection} ${className ? styles[className] || "" : ""}`}
82+
>
7983
<img
8084
src="/common/img/star-icon.svg"
8185
alt=""

packages/common-config/src/components/HandbookSection/styles.module.css

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,30 @@
1111
max-width: 66rem;
1212
}
1313

14+
@media (max-width: 1200px) {
15+
.handbooksSectionWonderland {
16+
padding-top: 0.3rem;
17+
}
18+
}
19+
20+
@media (max-width: 1100px) {
21+
.handbooksSectionWonderland {
22+
padding-top: 1.5rem;
23+
}
24+
}
25+
26+
@media (max-width: 1024px) {
27+
.handbooksSectionWonderland {
28+
padding-top: 2.5rem;
29+
}
30+
}
31+
32+
@media (max-width: 996px) {
33+
.handbooksSectionWonderland {
34+
padding-top: 3rem;
35+
}
36+
}
37+
1438
.handbooksSeparator {
1539
display: flex;
1640
align-items: center;

packages/common-config/static/common/styles/global.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,7 @@ nav.navbar.navbar--fixed-top + .main-wrapper {
473473
system-ui,
474474
-apple-system,
475475
sans-serif;
476+
z-index: 1000;
476477
}
477478

478479
.navbar__search-input::placeholder {

sites/optimism/docs/governance/bye.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ sidebar_label: Wrapping up
66

77
# Wrapping Up
88

9-
To wrap up, where the OP Stack defines *how the system runs*, governance defines *how it changes*. It encodes: who can propose, who can vote, and who can veto. And because governance must evolve with the Collective, it’s designed to be both programmable and flexiblevia modules, managers, and community experimentation.
9+
To wrap up, where the OP Stack defines *how the system runs*, governance defines *how it changes*. It encodes: who can propose, who can vote, and who can veto. And because governance must evolve with the Collective, it’s designed to be both programmable and flexible: via modules, managers, and community experimentation.
1010

1111
As you’ve seen, governance isn’t just about casting votes. It’s about trust minimization, fault tolerance, consent, and credible neutrality. The system must balance legitimacy with execution, and decentralization with security.
1212

sites/optimism/docs/governance/governance-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ By the end of this section, you should be able to answer:
2222
- What’s the difference between an approval and a vote on Optimism?
2323
- Who can propose? Who can vote? What powers are delegated?
2424
- How do proposals move through states like Pending → Active → Executed?
25-
- How is quorum calculated, and what makes a proposal “pass”?
25+
- How is quorum calculated, and what constitutes “pass”?
2626
- What is Alligator, and why is delegation logic so complicated?
2727
- What happens if a delegate tries to push a proposal that violates cycle rules?
2828
- What is permissionless governance, and what tradeoffs does it introduce?

sites/optimism/docs/governance/governor-walkthrough.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ sidebar_label: Governor Walkthrough
66

77
# The Optimism Governor Walkthrough
88

9-
The Optimism Governor is based on the OpenZeppelin’s Governor, customized to support Optimism’s governance needs: signaling proposals, customizable voting rules, subdelegations, and so on.
9+
The Optimism Governor is based on OpenZeppelin’s Governor, customized to support Optimism’s governance needs: signalling proposals, customizable voting rules, subdelegations, and so on.
1010

11-
In the long run anyone should be able to propose changes, but safeguards like delegate approvals, quorum thresholds, and timelocks are required to ensure quality and protect against manipulation.
11+
In the long run, anyone should be able to propose changes, but safeguards like delegate approvals, quorum thresholds, and timelocks are required to ensure quality and protect against manipulation.
1212

1313
Some useful resources:
1414

@@ -30,7 +30,7 @@ While proposals today are signaling-only for most types (i.e., they do not trigg
3030

3131
- **`admin`**: Owns the proxy and controls upgrades. Does not vote or propose.
3232
- **`manager`**: Can create proposals, execute them, or update system parameters.
33-
- **`voters`**: Any address with delegated OP either directly or through Alligator.
33+
- **`voters`**: Any address with delegated OP, either directly or through Alligator.
3434

3535
## Inheritance
3636

@@ -64,7 +64,7 @@ propose(...): // Standard proposal
6464
proposeWithModule(...): // Proposal with custom voting module
6565
```
6666

67-
Only the `manager` or `timelock()` can call propose. Each proposal is assigned a `proposalType`, which maps to specific quorum/approval thresholds in the `ProposalTypesConfigurator`.
67+
Only the `manager` or `timelock()` can propose. Each proposal is assigned a `proposalType`, which maps to specific quorum/approval thresholds in the `ProposalTypesConfigurator`.
6868

6969
Voting is handled via:
7070
- `castVote()`: standard token-based voting
@@ -77,7 +77,7 @@ Proposals are executed via the Timelock contract, using `execute()` or `executeW
7777

7878
### Alligator - Subdelegations
7979

80-
The Alligator enables partial delegation, a user can split their voting power across multiple delegates using absolute or relative rules. These delegations can be chained (A → B → C) and validated onchain using authority[] arrays.
80+
The Alligator enables partial delegation; a user can split their voting power across multiple delegates using absolute or relative rules. These delegations can be chained (A → B → C) and validated onchain using authority[] arrays.
8181

8282
The key structures are:
8383
- `subdelegations[from][to]`: maps delegations
@@ -102,9 +102,9 @@ Proposal thresholds are stored with 1e4 scaling (10000 = 100%). The Governor cal
102102

103103
## Votable Supply Oracle
104104

105-
Instead of total token supply, quorum is based on votable supply — the total OP that has been delegated. This is retrieved at proposal creation block and used to calculate thresholds dynamically.
105+
Instead of the total token supply, quorum is based on votable supply — the total OP that has been delegated. This is retrieved at the proposal creation block and used to calculate thresholds dynamically.
106106

107-
- **Fallback**: if `votableSupply()` returns zero, the Governor falls back to total token supply.
107+
- **Fallback**: if `votableSupply()` returns zero, the Governor falls back to the total token supply.
108108

109109
## Functions Summary
110110

@@ -125,4 +125,4 @@ Instead of total token supply, quorum is based on votable supply — the total O
125125

126126
## Future Extensions
127127

128-
We are working on an upgrade that is evolving toward permissionless proposals, enforced via `DelegatesProposalValidator` contract, it gates access to `propose()` based on delegate approvals and submission windows, allowing any qualifying participant to propose, while still preserving cycle alignment.
128+
We are working on an upgrade that is evolving toward permissionless proposals, enforced via `DelegatesProposalValidator` contract, which gates access to `propose()` based on delegate approvals and submission windows, allowing any qualifying participant to propose, while still preserving cycle alignment.

sites/optimism/docs/governance/intro-to-governance.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ sidebar_label: Governance in a nutshell
88

99
Before we get into Optimism-specific contracts, let’s zoom out.
1010

11-
On-chain governance is a mechanism for managing shared infrastructure using verifiable rules. In practice, governance contracts behave similar to multisigs, but with vote weights distributed across token holders rather than multisig signers.
11+
On-chain governance is a mechanism for managing shared infrastructure using verifiable rules. In practice, governance contracts behave similarly to multisigs, but with vote weights distributed across token holders rather than multisig signers.
1212

1313
At its core, governance is about managing change. A **proposal** is just a transaction (or set of transactions): a list of target addresses, call data, and sometimes ETH values. Token holders vote to approve or reject the proposal. If the vote passes and quorum is met, the transaction can be executed onchain. If it fails, it’s simply discarded.
1414

1515
Voting power is usually determined by the number of tokens an address holds at a specific snapshot block. Most systems also allow **delegation**, meaning you can assign your voting power to another address to vote on your behalf.
1616

17-
Some proposals affect onchain systems directly (e.g. upgrading a contract). Others are **signaling-only** (e.g. changing a community guideline or legal structure). In those cases, proposals still follow the same governance flow, but their “execution” happens through offchain coordination or manual implementation.
17+
Some proposals affect onchain systems directly (e.g. upgrading a contract). Others are **signalling-only** (e.g. changing a community guideline or legal structure). In those cases, proposals still follow the same governance flow, but their “execution” happens through offchain coordination or manual implementation.
1818

1919
## Common Terms
2020

@@ -33,7 +33,7 @@ These are the core terms used across most governance systems, including Optimism
3333
While implementations vary, the lifecycle of a proposal usually looks like this:
3434

3535
```nasm
36-
Pending ⭢ Active ⭢ Defeated ⭢ Canceled
36+
Pending ⭢ Active ⭢ Defeated ⭢ Cancelled
3737
⮑ Succeeded ⭢ Queued ⭢ Executed
3838
⮑----------⮑-------⮑ Expired
3939
```
@@ -92,12 +92,12 @@ In particular, the [`GovernorCompatibilityBravo`](https://github.com/OpenZeppeli
9292
Most governance systems in Ethereum share the same building blocks:
9393
- A voting mechanism that calculates token-weighted power at a specific block (snapshot).
9494
- A registry of proposals with metadata like start/end blocks, vote tallies, and actions.
95-
- A timelock controller that enforces a minimum delay before execution.
95+
- A time lock controller that enforces a minimum delay before execution.
9696
- A quorum and approval threshold to ensure decisions are legitimate.
9797

98-
On top of this, each protocol adds its own mechanics: delegation systems, role-based permissions, modular thresholds, and custom voting logic.
98+
On top of this, each protocol adds its mechanics: delegation systems, role-based permissions, modular thresholds, and custom voting logic.
9999

100-
Some proposals are executable, others are advisory. Some are submitted by anyone, others require approvals. Governance is always opinionated, the trick is making those opinions legible and upgradeable.
100+
Some proposals are executable, others are advisory. Some are submitted by anyone, others require approval. Governance is always opinionated; the trick is making those opinions legible and upgradeable.
101101

102102
## Limitations and Responsibilities
103103

sites/optimism/docs/governance/our-work/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ This section documents active governance-related development initiatives led by
88

99
## Why it matters
1010

11-
The governance is designed to evolve. Improvements often arise from practical bottlenecks observed by delegates, contributors, and protocol developers. This section records how those pain points are being addressedthrough new contracts, improved interfaces, or procedural upgrades.
11+
The governance is designed to evolve. Improvements often arise from practical bottlenecks observed by delegates, contributors, and protocol developers. This section records how those pain points are being addressed through new contracts, improved interfaces, or procedural upgrades.
1212

1313
Each entry aims to explain:
1414

sites/optimism/docs/governance/our-work/permissionless-proposals.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ This contract wraps the proposal submission functions (`propose()` and `proposeW
3535

3636
Its responsibilities include:
3737

38-
- **Delegate approvals**: Verifies that the proposal has received enough sign-offs from top 100 delegates. Both the number of signers and their minimum voting power are configurable.
38+
- **Delegate approvals**: Verifies that the proposal has received enough sign-offs from the top 100 delegates. Both the number of signers and their minimum voting power are configurable.
3939
- **Window enforcement**: Ensures proposals are submitted within a designated submission window relative to the current voting cycle.
4040
- **GovernanceType validation**: Each proposal is tagged with a `GovernanceType`, which defines its eligibility rules, proposer constraints, and thresholds. There is no 1:1 mapping between GovernanceType and UI-facing proposal categories—one category (e.g., Protocol Upgrade) may have multiple GovernanceTypes depending on proposer roles and validation logic.
4141
- **Distribution limit**: Applies to funding proposals—checks that the requested OP does not exceed a configured limit for the cycle.
@@ -64,7 +64,7 @@ Its responsibilities include:
6464
## Risks and Uncertainties
6565

6666
- **GovernanceType complexity**: GovernanceTypes may proliferate as the system expands, especially since different proposers (e.g., Foundation vs. delegates) may have different rules for similar proposal categories. Care must be taken to manage and communicate this complexity to avoid confusion.
67-
- **Subdelegation ambiguity**: The system currently does not account for Alligator-style subdelegation. A delegate may appear in the top 100 due to delegated voting power, which may already be partially committed elsewhereleading to unclear eligibility.
67+
- **Subdelegation ambiguity**: The system currently does not account for Alligator-style subdelegation. A delegate may appear in the top 100 due to delegated voting power, which may already be partially committed elsewhere, leading to unclear eligibility.
6868
- **Centralized configuration authority (MVP)**: Governance parameters are currently set by a single role. Long-term decentralization remains a critical roadmap goal.
6969

7070
:::info reference

0 commit comments

Comments
 (0)