diff --git a/docs/0_internal/4_b_1_propose_pause.md b/docs/0_internal/4_b_1_propose_pause.md index b86927663..3d2236175 100644 --- a/docs/0_internal/4_b_1_propose_pause.md +++ b/docs/0_internal/4_b_1_propose_pause.md @@ -18,7 +18,7 @@ To propose the pause transaction you can follow the steps below: ![Transaction Builder](./images/4_b_1_pause_2.png) -3. . Get the `AlignedLayerServiceManager` address from ```contracts/script/output/mainnet/alignedlayer_deployment_output.json``` or ```contracts/script/output/holesky/alignedlayer_deployment_output.json``` or ```contracts/script/output/sepolia/alignedlayer_deployment_output.json``` +3. Get the `AlignedLayerServiceManager` address from ```contracts/script/output/mainnet/alignedlayer_deployment_output.json``` or ```contracts/script/output/holesky/alignedlayer_deployment_output.json``` or ```contracts/script/output/sepolia/alignedlayer_deployment_output.json``` 4. Paste the `AlignedLayerServiceManager` address on `Enter Address or ENS Name` diff --git a/docs/0_internal/4_b_3_propose_unpause.md b/docs/0_internal/4_b_3_propose_unpause.md new file mode 100644 index 000000000..76cfc2ac6 --- /dev/null +++ b/docs/0_internal/4_b_3_propose_unpause.md @@ -0,0 +1,100 @@ +# Propose the Transaction for UnPause using Multisig + +If you want to unpause the contracts, you can propose the unpause transaction using the multisig wallet. + +## Prerequisites + +- You need to have deployed the contracts following the [Deploy Contracts Guide](./2_deploy_contracts.md). + +## Propose transaction for UnPause AlignedLayerServiceManager + +To propose the unpause transaction you can follow the steps below: + +1. Go to [Safe](https://app.safe.global/home) + +2. Click on `New transaction` -> `Transaction Builder` + + ![New transaction](./images/4_b_1_unpause_1.png) + + ![Transaction Builder](./images/4_b_1_unpause_2.png) + +3. Get the `AlignedLayerServiceManager` address from ```contracts/script/output/mainnet/alignedlayer_deployment_output.json``` or ```contracts/script/output/holesky/alignedlayer_deployment_output.json``` or ```contracts/script/output/sepolia/alignedlayer_deployment_output.json``` + +4. Paste the `AlignedLayerServiceManager` address on `Enter Address or ENS Name` + + ![Enter Address](./images/4_b_1_unpause_3.png) + +5. As this is a Proxy contract, choose `Use Implementation ABI` + + ![Use Implementation ABI](./images/4_b_1_unpause_4.png) + +6. In `contract method selector` choose `unpause()` and within `newPausedStatus(uint256)` enter the desired pause status as described in [pausable.md](./pausable.md). Use pause status `0` for pausable contracts. + + ![Choose pause](./images/4_b_1_unpause_5.png) + +7. Click on `+ Add new transaction` + + You should see the new transaction to be executed + +8. Click on `Create batch` to create the transaction. + + ![Choose pause](./images/4_b_1_unpause_6.png) + +9. Simulate the transaction by clicking on `Simulate` + +10. If everything is correct, click on `Send batch` to send the transaction. + +11. Simulate the transaction, and if everything is correct, click on `Sign`. + + ![Send batch](./images/4_b_1_unpause_7.png) + +> [!NOTE] +> In the `call` field, you will see `fallback`. +#### 12. Wait for the transaction to be executed. You can check the transaction status on the `Transactions` tab. + + +## Propose transaction for UnPause BatcherPaymentService + +To propose the unpause transaction you can follow the steps below: + +1. Create the unpause transaction on [Safe](https://app.safe.global/home) + +2. Click on `New transaction` -> `Transaction Builder` + + ![New transaction](./images/4_b_1_unpause_1.png) + + ![Transaction Builder](./images/4_b_1_unpause_2.png) + +3. Get the `BatcherPaymentService` address from ```contracts/script/output/mainnet/alignedlayer_deployment_output.json``` or ```contracts/script/output/holesky/alignedlayer_deployment_output.json``` or ```contracts/script/output/sepolia/alignedlayer_deployment_output.json``` + +4. Paste the `BatcherPaymentService` address on `Enter Address or ENS Name` + + ![Enter Address](./images/4_b_1_unpause_3.png) + +5. As this is a Proxy contract, choose `Use Implementation ABI` + + ![Use Implementation ABI](./images/4_b_1_unpause_4.png) + +6. In `contract method selector` choose `unpause()` + + ![Choose pause](./images/4_b_1_unpause_8.png) + +7. Then click on `+ Add new transaction` + + You should see the new transaction to be executed. Then click on `Create batch` to create the transaction. + + ![Add new transaction](./images/4_b_1_unpause_9.png) + +8. Review and confirm you are interacting with the correct `BatcherPaymentService` contract and you are calling the `unpause` function. + + ![Review transaction](./images/4_b_1_unpause_10.png) + +9. Simulate the transaction by clicking on `Simulate` + +10. If everything is correct, click on `Send batch` to send the transaction. + +11. Review the transaction and click on `Sign` to sign the transaction. + + ![Send batch](./images/4_b_1_unpause_11.png) + +12. If the transaction is correctly created, you have to wait until the required Multisig member signs the transaction to send it. For this, you can follow [the following guide](./4_b_4_approve_unpause.md) diff --git a/docs/0_internal/4_b_4_approve_unpause.md b/docs/0_internal/4_b_4_approve_unpause.md new file mode 100644 index 000000000..9a3c25154 --- /dev/null +++ b/docs/0_internal/4_b_4_approve_unpause.md @@ -0,0 +1,55 @@ +# Approve the UnPause Transaction + +Once the transaction is proposed, the multisig owners must approve the transaction. + +## Approve the UnPause for AlignedLayerServiceManager + +1. Go to [Safe](https://app.safe.global/home) and connect your wallet. + +2. Go to the `Transactions` tab and find the transaction that was proposed. + +3. Get the ```unpause(uint256)``` signature by running: + + ```bash + cast calldata "unpause(uint256)" + ``` + + for ```PAUSE_STATE=3``` + + It must show you ```0xfabc1cbc0000000000000000000000000000000000000000000000000000000000000003```, with ```0xfabc1cbc``` being the function identifier. + +4. Click on the transaction, and then click on ```Advanced Details```. + + ![Check details](images/4_b_2_approve_unpause_1.png) + +5. Copy the ```Raw Data```, paste it in a text editor and verify it is the same value as the one you got in step 3. + +6. If the data is correct, click on the `Confirm` button. + +7. Simulate the transaction. If everything is correct, click on the `Sign` button. + + ![Sign transaction](images/4_b_2_approve_unpause_2.png) + +8. Once the transaction is executed, the unpause will be effective. + +## Approve the UnPause for BatcherPaymentService + +1. Go to [Safe](https://app.safe.global/home) and connect your wallet. + +2. Go to the `Transactions` tab and find the transaction that was proposed. + +3. Click on the transaction and validate the data is correct. + + The called function must be `unpause()` and the contract address must be the `BatcherPaymentService` address. + + ![Check details](images/4_b_2_approve_unpause_3.png) + + Get the `BatcherPaymentService` address from ```contracts/script/output/mainnet/alignedlayer_deployment_output.json``` or ```contracts/script/output/holesky/alignedlayer_deployment_output.json``` or ```contracts/script/output/sepolia/alignedlayer_deployment_output.json``` + +4. If the data is correct, click on the `Confirm` button. + +5. Simulate the transaction. If everything is correct, click on the `Sign` button. + + ![Sign transaction](images/4_b_2_approve_unpause_4.png) + +6. Once the transaction is executed, the unpause will be effective. \ No newline at end of file diff --git a/docs/0_internal/images/4_b_1_unpause_1.png b/docs/0_internal/images/4_b_1_unpause_1.png new file mode 100644 index 000000000..cff06afa8 Binary files /dev/null and b/docs/0_internal/images/4_b_1_unpause_1.png differ diff --git a/docs/0_internal/images/4_b_1_unpause_10.png b/docs/0_internal/images/4_b_1_unpause_10.png new file mode 100644 index 000000000..e72812967 Binary files /dev/null and b/docs/0_internal/images/4_b_1_unpause_10.png differ diff --git a/docs/0_internal/images/4_b_1_unpause_11.png b/docs/0_internal/images/4_b_1_unpause_11.png new file mode 100644 index 000000000..1e6bf5cf2 Binary files /dev/null and b/docs/0_internal/images/4_b_1_unpause_11.png differ diff --git a/docs/0_internal/images/4_b_1_unpause_2.png b/docs/0_internal/images/4_b_1_unpause_2.png new file mode 100644 index 000000000..59b0d5856 Binary files /dev/null and b/docs/0_internal/images/4_b_1_unpause_2.png differ diff --git a/docs/0_internal/images/4_b_1_unpause_3.png b/docs/0_internal/images/4_b_1_unpause_3.png new file mode 100644 index 000000000..29c457fe0 Binary files /dev/null and b/docs/0_internal/images/4_b_1_unpause_3.png differ diff --git a/docs/0_internal/images/4_b_1_unpause_4.png b/docs/0_internal/images/4_b_1_unpause_4.png new file mode 100644 index 000000000..02997be33 Binary files /dev/null and b/docs/0_internal/images/4_b_1_unpause_4.png differ diff --git a/docs/0_internal/images/4_b_1_unpause_5.png b/docs/0_internal/images/4_b_1_unpause_5.png new file mode 100644 index 000000000..fb023f8d0 Binary files /dev/null and b/docs/0_internal/images/4_b_1_unpause_5.png differ diff --git a/docs/0_internal/images/4_b_1_unpause_6.png b/docs/0_internal/images/4_b_1_unpause_6.png new file mode 100644 index 000000000..02d376a92 Binary files /dev/null and b/docs/0_internal/images/4_b_1_unpause_6.png differ diff --git a/docs/0_internal/images/4_b_1_unpause_7.png b/docs/0_internal/images/4_b_1_unpause_7.png new file mode 100644 index 000000000..4b2ba49a1 Binary files /dev/null and b/docs/0_internal/images/4_b_1_unpause_7.png differ diff --git a/docs/0_internal/images/4_b_1_unpause_8.png b/docs/0_internal/images/4_b_1_unpause_8.png new file mode 100644 index 000000000..8729d1a5d Binary files /dev/null and b/docs/0_internal/images/4_b_1_unpause_8.png differ diff --git a/docs/0_internal/images/4_b_1_unpause_9.png b/docs/0_internal/images/4_b_1_unpause_9.png new file mode 100644 index 000000000..702b23666 Binary files /dev/null and b/docs/0_internal/images/4_b_1_unpause_9.png differ diff --git a/docs/0_internal/images/4_b_2_approve_unpause_1.png b/docs/0_internal/images/4_b_2_approve_unpause_1.png new file mode 100644 index 000000000..3995be78e Binary files /dev/null and b/docs/0_internal/images/4_b_2_approve_unpause_1.png differ diff --git a/docs/0_internal/images/4_b_2_approve_unpause_2.png b/docs/0_internal/images/4_b_2_approve_unpause_2.png new file mode 100644 index 000000000..6b18ad5f8 Binary files /dev/null and b/docs/0_internal/images/4_b_2_approve_unpause_2.png differ diff --git a/docs/0_internal/images/4_b_2_approve_unpause_3.png b/docs/0_internal/images/4_b_2_approve_unpause_3.png new file mode 100644 index 000000000..b6d188ccf Binary files /dev/null and b/docs/0_internal/images/4_b_2_approve_unpause_3.png differ diff --git a/docs/0_internal/images/4_b_2_approve_unpause_4.png b/docs/0_internal/images/4_b_2_approve_unpause_4.png new file mode 100644 index 000000000..5177ec83f Binary files /dev/null and b/docs/0_internal/images/4_b_2_approve_unpause_4.png differ