Skip to content

Commit e918943

Browse files
committed
docs: add Multisig docs
1 parent d18e3c6 commit e918943

File tree

3 files changed

+44
-0
lines changed

3 files changed

+44
-0
lines changed

README_INFRASTRUCTURE.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
- [Explorer](#explorer)
99
- [Notes on project creation / devnet deployment](#notes-on-project-creation--devnet-deployment)
1010
- [Tests](#tests)
11+
- [Multisig Usage](#multisig-usage)
1112

1213
## Local Devnet Setup
1314

@@ -788,3 +789,46 @@ To run the go tests
788789
```bash
789790
make test
790791
```
792+
793+
## Multisig Usage
794+
795+
You can create a Multisig wallet using [Safe](https://safe.global/).
796+
797+
Once you have a Multisig, you can deploy the contracts using the Multisig wallet address as the upgrader, pauser, etc.
798+
799+
In order to upgrade a contract using the Multisig, you have to run:
800+
801+
```bash
802+
make upgrade_aligned_contracts
803+
```
804+
805+
Then, if the new implementation is correctly deployed, the script will show the following message:
806+
807+
```bash
808+
To send the transaction using multisig use this calldata
809+
<calldata>
810+
```
811+
812+
You can use this calldata to send the transaction using the Multisig wallet in the transaction builder provided by Safe
813+
814+
![multisig_1.png](images/multisig_1.png)
815+
816+
For example, if you are upgrading the ServiceManager, fill the data with the ProxyAdmin address and ABI
817+
818+
To get the ProxyAdmin address for Holesky you can run
819+
820+
```bash
821+
jq -r ".addresses.alignedLayerProxyAdmin" contracts/script/output/holesky/alignedlayer_deployment_output.json | pbcopy
822+
```
823+
824+
To get the ABI you can run
825+
826+
```bash
827+
jq ".abi" contracts/out/ProxyAdmin.sol/ProxyAdmin.json | pbcopy
828+
```
829+
830+
Then, you can paste the ABI in the ABI field
831+
832+
![multisig_2.png](images/multisig_2.png)
833+
834+
If the transaction is correctly created, you have to wait until required Multisig member sign the transaction to send it

images/multisig_1.png

16.2 KB
Loading

images/multisig_2.png

70.7 KB
Loading

0 commit comments

Comments
 (0)