Skip to content

CircuitBreaker spec [DO NOT MERGE]#884

Draft
failingtwice wants to merge 4 commits into
mainfrom
feat/circuit-breaker
Draft

CircuitBreaker spec [DO NOT MERGE]#884
failingtwice wants to merge 4 commits into
mainfrom
feat/circuit-breaker

Conversation

@failingtwice

Copy link
Copy Markdown
Contributor

Please, go through these steps before you request a review:

📝 Describe your changes

  1. Add a CircuitBreaker spec

🔎 Attach a source of truth or evidence that allows reviewers to confirm the changes independently

  1. https://github.com/lidofinance/lido-improvement-proposals/blob/develop/LIPS/lip-34.md

@failingtwice failingtwice requested review from a team as code owners May 6, 2026 11:23
@failingtwice failingtwice marked this pull request as draft May 6, 2026 11:23
@failingtwice failingtwice changed the title CircuitBreaker spec CircuitBreaker spec [DO NOT MERGE] May 6, 2026
@tamtamchik tamtamchik requested a review from Copilot May 6, 2026 11:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds documentation for the new CircuitBreaker emergency-pause layer (per LIP-34) and wires it into the Contracts docs navigation, while marking GateSeal as deprecated in favor of CircuitBreaker.

Changes:

  • Adds a new CircuitBreaker contract specification page with roles, parameters, and method/event reference.
  • Updates the Contracts sidebar to include the new CircuitBreaker doc.
  • Adds a deprecation notice to the existing GateSeal documentation pointing readers to CircuitBreaker.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
sidebars.js Adds contracts/circuit-breaker to the Contracts section navigation.
docs/contracts/gate-seal.md Adds a deprecation notice directing users to CircuitBreaker (LIP-34).
docs/contracts/circuit-breaker.md Introduces a full spec/reference page for CircuitBreaker, including addresses and API details.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/contracts/gate-seal.md Outdated
Comment thread docs/contracts/circuit-breaker.md Outdated

The set of pausables and their assigned pausers is maintained by the DAO. See the deployed-contracts pages for the current registry on each network:

- [Mainnet deployments](/deployed-contracts/) #TODO
failingtwice and others added 2 commits May 12, 2026 13:15
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Comment on lines +128 to +144
### Covered pausables and their pausers

Each pausable contract below is proposed to be covered by the CircuitBreaker, with a designated pauser authorized to trigger a pause. Pauser assignments are pending DAO approval ([LIP-34](https://github.com/lidofinance/lido-improvement-proposals/blob/develop/LIPS/lip-34.md)); until then, the existing [GateSeals](#dao-contracts) remain the active emergency-pause mechanism. The proposed pausers are the same multisigs that currently operate the GateSeals: the **CircuitBreaker Committee** (listed as [GateSeal Committee](#emergency-brakes-multisigs) until the migration completes) for core protocol pausables, and the **CSM Committee** (listed as [Community Staking Module Committee](#committees)) for CSM pausables.

| Pausable | Pauser |
| --- | --- |
| [Withdrawal Queue ERC721](https://etherscan.io/address/0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1) | [CircuitBreaker Committee](https://etherscan.io/address/0x8772E3a2D86B9347A2688f9bc1808A6d8917760C) |
| [Validators Exit Bus Oracle](https://etherscan.io/address/0x0De4Ea0184c2ad0BacA7183356Aea5B8d5Bf5c6e) | [CircuitBreaker Committee](https://etherscan.io/address/0x8772E3a2D86B9347A2688f9bc1808A6d8917760C) |
| [Triggerable Withdrawals Gateway](https://etherscan.io/address/0xDC00116a0D3E064427dA2600449cfD2566B3037B) | [CircuitBreaker Committee](https://etherscan.io/address/0x8772E3a2D86B9347A2688f9bc1808A6d8917760C) |
| [Vault Hub](https://etherscan.io/address/0x1d201BE093d847f6446530Efb0E8Fb426d176709) | [CircuitBreaker Committee](https://etherscan.io/address/0x8772E3a2D86B9347A2688f9bc1808A6d8917760C) |
| [Predeposit Guarantee](https://etherscan.io/address/0xF4bF42c6D6A0E38825785048124DBAD6c9eaaac3) | [CircuitBreaker Committee](https://etherscan.io/address/0x8772E3a2D86B9347A2688f9bc1808A6d8917760C) |
| [CSModule](https://etherscan.io/address/0xdA7dE2ECdDfccC6c3AF10108Db212ACBBf9EA83F) | [CSM Committee](https://etherscan.io/address/0xC52fC3081123073078698F1EAc2f1Dc7Bd71880f) |
| [CSAccounting](https://etherscan.io/address/0x4d72BFF1BeaC69925F8Bd12526a39BAAb069e5Da) | [CSM Committee](https://etherscan.io/address/0xC52fC3081123073078698F1EAc2f1Dc7Bd71880f) |
| [CSFeeOracle](https://etherscan.io/address/0x4D4074628678Bd302921c20573EEa1ed38DdF7FB) | [CSM Committee](https://etherscan.io/address/0xC52fC3081123073078698F1EAc2f1Dc7Bd71880f) |
| [CSVerifier](https://etherscan.io/address/0xdC5FE1782B6943f318E05230d688713a560063DC) | [CSM Committee](https://etherscan.io/address/0xC52fC3081123073078698F1EAc2f1Dc7Bd71880f) |
| [CSEjector](https://etherscan.io/address/0xc72b58aa02E0e98cF8A4a0E9Dce75e763800802C) | [CSM Committee](https://etherscan.io/address/0xC52fC3081123073078698F1EAc2f1Dc7Bd71880f) |
| [VettedGate (IdentifiedCommunityStakersGate)](https://etherscan.io/address/0xB314D4A76C457c93150d308787939063F4Cc67E0) | [CSM Committee](https://etherscan.io/address/0xC52fC3081123073078698F1EAc2f1Dc7Bd71880f) |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I suggest moving this part to docs/contracts/circuit-breaker.md

- Ethereum Ecosystem Sub Committee [`0xBF048f2111497B6Df5E062811f5fC422804D4baE`](https://etherscan.io/address/0xBF048f2111497B6Df5E062811f5fC422804D4baE)
- Time Constraints: [`0x2a30F5aC03187674553024296bed35Aa49749DDa`](https://etherscan.io/address/0x2a30F5aC03187674553024296bed35Aa49749DDa)

## 🔌 CircuitBreaker \[Proposed\] {#circuit-breaker}

@iamnp iamnp Jun 11, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I suggest marking GateSeals on this page as [proposed to remove] and include a hyperlink to research forum CircuitBreaker forum post
and rename GateSeal commitee to CircuitBreaker committee as [proposed] as well

Comment on lines +1 to +8
# CircuitBreaker

An emergency-pause layer for Lido protocol contracts.

| Network | Address |
|---------|-------------------------------------------------------------------------------------------------------------------------------|
| Mainnet | [`0x6019CB557978296BA3C08a7B73225C0975DFB2F7`](https://etherscan.io/address/0x6019CB557978296BA3C08a7B73225C0975DFB2F7) |
| Hoodi | [`0x44a5789dFeDa59cD176Ab5709ec2F4829dE4d555`](https://hoodi.etherscan.io/address/0x44a5789dFeDa59cD176Ab5709ec2F4829dE4d555) |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

mention that its current status is proposed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants