Skip to content

CircuitBreaker spec [DO NOT MERGE]#884

Draft
failingtwice wants to merge 2 commits intomainfrom
feat/circuit-breaker
Draft

CircuitBreaker spec [DO NOT MERGE]#884
failingtwice wants to merge 2 commits intomainfrom
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
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 on lines +3 to +4
:::info
GateSeals have been deprecated and replaced by [CircuitBreaker](/contracts/circuit-breaker) ([LIP-34](https://github.com/lidofinance/lido-improvement-proposals/blob/develop/LIPS/lip-34.md)).

Each pauser has its own heartbeat expiry timestamp. The pauser is considered *live* while their expiry timestamp is in the future. While live, the pauser can pause any of its assigned contracts and can extend its expiry by sending a heartbeat. Once the expiry passes, the pauser is no longer considered live and can neither pause nor extend expiry.

A heartbeat is a drill transaction that updates the caller's heartbeat. An expired pauser cannot revive itself, so the pauser must renew their heartebat before it expires.

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
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.

2 participants