You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+18-2Lines changed: 18 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,18 +37,18 @@ To execute a new task, run one of the following commands (depending on the type
37
37
38
38
- For a generic task: `make setup-task network=<network> task=<task-name>`
39
39
- For gas increase tasks: `make setup-gas-increase network=<network>`
40
+
- For combined gas and elasticity increase tasks: `make setup-gas-and-elasticity-increase network=<network>`
40
41
- For funding: `make setup-funding network=<network>`
41
42
- For fault proof upgrade: `make setup-upgrade-fault-proofs network=<network>`
42
43
- For safe management tasks: `make setup-safe-management network=<network>`
43
-
- For funding tasks: `make setup-funding network=<network>`
44
44
- For updating the partner threshold in Base Bridge: `make setup-bridge-partner-threshold network=<network>`
45
45
- For pausing / un-pausing Base Bridge: `make setup-bridge-pause network=<network>`
46
46
47
47
Next, `cd` into the directory that was created for you and follow the steps listed below for the relevant template.
48
48
49
49
> **👥 For Signers:** Please read the [Signer Guide](SIGNER.md) for step-by-step instructions on using the validation UI.
50
50
51
-
Please note, you will need to manually create validation file(s) for your task as they are bespoke to each task and therefore not created automatically as a part of the templates. We use one validation Markdown file per multisig involved in the task, so if there's only one multisig involved in your task, then you can simply create a `VALIDATION.md` file at the root of your task containing the validation instructions, while if there are multiple multisigs involved in the task, then create a `validations/` sub-directory at the root of your task containing the corresponding validation Markdown files. If you need examples to work from, you can browse through similar past tasks in this repo and adapt them to your specific task. Also, please note that we have tooling to generate these files (like the `task-signer-tool`) which removes the manual aspect of creating these validation files, we will soon update these instructions to reflect how this process can be automated.
51
+
Please note, for some older tasks (that have not yet been adapted to use the signer tool) you will need to manually create validation file(s) for your task as they are bespoke to each task and therefore not created automatically as a part of the templates. We use one validation Markdown file per multisig involved in the task, so if there's only one multisig involved in your task, then you can simply create a `VALIDATION.md` file at the root of your task containing the validation instructions, while if there are multiple multisigs involved in the task, then create a `validations/` sub-directory at the root of your task containing the corresponding validation Markdown files. If you need examples to work from, you can browse through similar past tasks in this repo and adapt them to your specific task. Also, please note that we have tooling to generate these files (like the `task-signer-tool`) which removes the manual aspect of creating these validation files, we will soon update these instructions to reflect how this process can be automated.
52
52
53
53
## Directory structure
54
54
@@ -96,6 +96,22 @@ This template is increasing the throughput on Base Chain.
96
96
1. Check in the task when it's ready to sign and collect signatures from signers
97
97
1. Once executed, check in the records files and mark the task `EXECUTED` in the README.
98
98
99
+
## Using the combined gas limit and elasticity increase template
100
+
101
+
This template is used to increase the gas limit and elasticity or roll back the upgrade (if needed).
102
+
103
+
1. Ensure you have followed the instructions above in `setup`, including running `make setup-gas-and-elasticity-increase network=<network>` and then go to the folder that was created by this command.
104
+
1. Specify the commit of [Optimism code](https://github.com/ethereum-optimism/optimism) and [Base contracts code](https://github.com/base/contracts), and the new / old gas limit and elasticity, as well the other env vars marked with a TODO, in the `.env` file.
105
+
1. Run `make deps`.
106
+
1. Ensure only the Sepolia or Mainnet variables are in the `.env` file depending on what network this task is for.
107
+
1. Ensure the `SENDER` variable in the `.env` file is set to a signer of `OWNER_SAFE`.
108
+
1. Build the contracts with `forge build`.
109
+
1. Generate the validation file for signers with `make gen-validation`.
110
+
1. Generate the rollback validation file for signers with `make gen-validation-rollback`.
111
+
1. Appropriately fill in both of the generated validation files 6 empty fields at the top of the generated validations files (e.g. "taskName", "scriptName", etc.).
112
+
1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers.
113
+
1. Once executed, check in the records files and mark the task `EXECUTED` in the README.
114
+
99
115
## Using the fault proof upgrade template
100
116
101
117
This template is used to upgrade the fault proof contracts. This is commonly done in conjunction with a hard fork.
# Update Gas Limit & Elasticity in L1 `SystemConfig`
2
+
3
+
Status: TODO[READY TO SIGN|DONE]
4
+
5
+
## Description
6
+
7
+
We are updating the gas limit and elasticity to improve TPS and reduce gas fees.
8
+
9
+
This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository:
10
+
11
+
`IncreaseEip1559ElasticityAndIncreaseGasLimitScript` -- This script will update the gas limit to our new limit of TODO gas and TODO elasticity if invoked as part of the "upgrade" process, or revert to the old limit of TODO gas and TODO elasticity if invoked as part of the "rollback" process.
12
+
13
+
The values we are sending are statically defined in the `.env` file.
14
+
15
+
> [!IMPORTANT] We have two transactions to sign. Please follow
16
+
> the flow for both "Approving the Update transaction" and
17
+
> "Approving the Rollback transaction". Hopefully we only need
18
+
> the former, but will have the latter available if needed.
19
+
20
+
## Install dependencies
21
+
22
+
### 1. Update foundry
23
+
24
+
```bash
25
+
foundryup
26
+
```
27
+
28
+
### 2. Install Node.js if needed
29
+
30
+
First, check if you have node installed
31
+
32
+
```bash
33
+
node --version
34
+
```
35
+
36
+
If you see a version output from the above command, you can move on. Otherwise, install node
37
+
38
+
```bash
39
+
brew install node
40
+
```
41
+
42
+
## Approving the Update transaction
43
+
44
+
### 1. Update repo:
45
+
46
+
```bash
47
+
cd contract-deployments
48
+
git pull
49
+
```
50
+
51
+
### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).
52
+
53
+
```bash
54
+
make sign-task
55
+
```
56
+
57
+
### 3. Open the UI at [http://localhost:3000](http://localhost:3000)
58
+
59
+
Be sure to select the correct task from the list of available tasks to sign (**not** the rollback task).
60
+
61
+
### 4. Send signature to facilitator
62
+
63
+
## Approving the Rollback transaction
64
+
65
+
Complete the above steps for `Approving the Update transaction` before continuing below.
66
+
67
+
### 1. Update repo:
68
+
69
+
```bash
70
+
cd contract-deployments
71
+
git pull
72
+
```
73
+
74
+
### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root).
75
+
76
+
```bash
77
+
make sign-task
78
+
```
79
+
80
+
### 3. Open the UI at [http://localhost:3000](http://localhost:3000)
81
+
82
+
Be sure to select the correct task from the list of available tasks to sign (ensure it **is** the rollback task).
0 commit comments