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 Supechain Pause Execution (SPE) Tool #401

Draft
wants to merge 30 commits into
base: main
Choose a base branch
from

Conversation

Ethnical
Copy link
Contributor

@Ethnical Ethnical commented Dec 11, 2024

Description

This PR add a new tool called Superchain Pause Execution (SPE) for pausing the Superchain Config.
This make the process way simpler and fast than before in case of an emergency.

I created a folder called superchain-pause-execution that contain:

  • README.md ( a quick readme to explain how to use and what is superchain-pause-execution)
  • superchain-pause-execution.just ( a just file that contain the main logic for pausing the superchain).
  • SignPauseMessage.s.sol ( a solidity script that use forge to broadcast and sign the transaction to pause the superchain).

Video Demo

Pause.Automation.-.Demo.mp4

More infos for reviewers:
I will demo this during the Huddle Thursday.
The code is not finished yet so there is still TODO in the code.
As the DeputyPauseModule is not deployed on mainnet/sepolia

@Ethnical Ethnical force-pushed the ethni/add-pause-automation branch from 2a5dfc0 to 024467e Compare December 11, 2024 16:20
@Ethnical Ethnical added the enhancement New feature or request label Dec 12, 2024


https://github.com/user-attachments/assets/e09f0a5c-5d2a-4df3-b7cd-3249d3a8b1e4
## Automation Pause (AP)
Copy link
Contributor

Choose a reason for hiding this comment

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

What do you think about calling this Superchain Pause or Superchain Pause Execution? This way it's clear this is different from the prior automated pause project that would pause in response to some monitoring condition

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Agreed, I have chosen Superchain Pause Execution (SPE) introduce in this commit: ea22725

pause-automation/README.md Outdated Show resolved Hide resolved
pause-automation/README.md Outdated Show resolved Hide resolved
set dotenv-load
export rpcUrl := env_var('ETH_RPC_URL')

# By default we choose sepolia network (if there is a mistake we not pausing mainnet).
Copy link
Contributor

Choose a reason for hiding this comment

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

We also don't want to pause sepolia by mistake, can we do no default?

Copy link
Contributor Author

@Ethnical Ethnical Dec 13, 2024

Choose a reason for hiding this comment

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

Yes actually the comment is not accurate and the file just.just need to be removed, nice catch!

Comment on lines 27 to 28
echo "op is not installed, please install op (one-password cli) using homebrew. Using brew install --cask 1password-cli"
exit
Copy link
Contributor

@mds1 mds1 Dec 12, 2024

Choose a reason for hiding this comment

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

Perhaps in this repo, or in the runbook, we should have full instructions for setting this up and authenticating with op (this can come later, not a blocker for this PR)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

agreed have created a subtask for runbook improvements

Copy link
Contributor

Choose a reason for hiding this comment

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

what's the difference between this file and pause-automation/just.just? perhaps we should just have one pause.sh script that we call from the justfile? might be easier than writing bash in the justfile

Copy link
Contributor Author

@Ethnical Ethnical Dec 13, 2024

Choose a reason for hiding this comment

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

Correct, this is undesired file pushed, I have remove this one in the commit 6b11

Copy link
Contributor

Choose a reason for hiding this comment

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

we probably could sign with cast directly (cast wallet sign) in the bash script, which is nice because it removes the need setting up a new forge project with new deps in this folder

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Clearly, this was part of my first choice however, since the DPM is not yet deployed on Sepolia/Mainnet this harder to operate for the testing.
The script allows us to mock and tweak the behavior using the cheatcodes for now.
The idea would be to wait deployment of DPM to get rid of the �forge script imo.

Ethnical and others added 2 commits December 16, 2024 00:31
@Ethnical Ethnical changed the title Add Pause Automation Tooling Add Supechain Pause Execution (SPE) Tool Dec 15, 2024
@Ethnical Ethnical requested a review from mds1 December 17, 2024 09:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants