Skip to content

Commit 1f704c9

Browse files
committed
docs: add approve process
1 parent 0fa8eb4 commit 1f704c9

11 files changed

+70
-6
lines changed

docs/0_internal/3_b_1_deploy_new_impl.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,4 +144,4 @@ You can deploy the new implementation of the following contracts:
144144

145145
Once you have deployed the new implementation of the contract you want to upgrade, you need to propose the upgrade transaction following this [guide](./3_b_2_propose_upgrade.md).
146146

147-
Send the new address and `calldata` to the multisig participants to propose the upgrade transaction.
147+
Send the contracts addresses and `calldata` to the multisig participants to propose the upgrade transaction.

docs/0_internal/3_b_2_propose_upgrade.md

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,7 @@ To propose the upgrade transaction you can follow the steps below:
105105
>
106106
> Make sure to set the path to the correct deployment output file.
107107

108-
8. If the ABI is not automatically filled, get the ABI and paste it on the corresponding box:
109-
110-
```bash
111-
jq ".abi" contracts/out/ProxyAdmin.sol/ProxyAdmin.json | pbcopy
112-
```
108+
8. Once you paste the `ProxyAdmin` address, the ABI should be automatically filled.
113109

114110
![Enter Address or ENS Name](./images/3_b_2_multisig_3.png)
115111

@@ -123,5 +119,28 @@ To propose the upgrade transaction you can follow the steps below:
123119

124120
![Data](./images/3_b_2_multisig_6.png)
125121

122+
You should see the new transaction to be executed on the right side.
123+
124+
11. Click on `Create batch` to create the transaction.
125+
126+
![Create batch](./images/3_b_2_multisig_7.png)
127+
128+
12. Review and confirm the transaction.
129+
130+
To make sure everything is fine, simulate the transaction by clicking on `Simulate batch`
131+
132+
Once the simulation is successful, click on `Send Batch` to send the transaction.
133+
134+
![Simulate batch](./images/3_b_2_multisig_8.png)
135+
136+
13. Confirm the transaction checking the function being called is correct and the contract address is the one you deployed.
137+
138+
If everything is correct, click on `Sign` to send the transaction.
139+
140+
![Confirm transaction](./images/3_b_2_multisig_9.png)
141+
142+
14. Now in your transactions, you should be able to see the newly created transaction.
126143

144+
![New transaction](./images/3_b_2_multisig_10.png)
127145

146+
15. If the transaction is correctly created, you have to wait until the required Multisig member signs the transaction to send it.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Approve the Upgrade
2+
3+
Once the transaction is proposed, the multisig owners must approve the transaction.
4+
5+
## Prerequisites
6+
7+
- One of the multisig owners must have proposed the upgrade transaction using the `calldata` obtained from the deployment of the new implementation.
8+
9+
## Approve the Upgrade
10+
11+
To approve the upgrade transaction, you can follow the steps below:
12+
13+
1. Go to [Safe](https://app.safe.global/home) and connect your wallet.
14+
15+
2. Go to the `Transactions` tab and find the transaction that was proposed.
16+
17+
3. Click on the transaction and validate the data is correct.
18+
19+
If you are upgrading the AlignedLayerServiceManager or the RegistryCoordinator, the called function must be `upgrade(address, address)`.
20+
21+
Else, if you are upgrading the BatcherPaymentService, the called function must be `upgradeTo(address)`.
22+
23+
Also check contract addresses are the ones you received from the deployment.
24+
25+
![Check details](images/3_b_3_approve_1.png)
26+
27+
4. If data is correct, click on `Confirm` and sign the transaction.
28+
29+
![Confirm transaction](images/3_b_3_approve_2.png)
30+
31+
5. Revalidate the transaction data and simulate the transaction to check everything is correct.
32+
33+
![Simulate transaction](images/3_b_3_approve_3.png)
34+
35+
6. Once you are sure everything is correct, click on `Execute` to approve the transaction.
36+
37+
> [!NOTE]
38+
>
39+
> The transaction gas usage is approximately 100,000 gas units. Make sure you have enough ETH to cover the gas fees.
40+
41+
7. Wait for the transaction to be executed. You can check the transaction status on the `Transactions` tab.
42+
43+
8. Once the multisig threshold is reached, the transaction will be executed and the contract will be upgraded.
44+
45+
![Transaction executed](images/3_b_3_approve_4.png)
455 KB
Loading
1.38 MB
Loading
1.55 MB
Loading
873 KB
Loading
176 KB
Loading
179 KB
Loading
102 KB
Loading

0 commit comments

Comments
 (0)