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: docs/0_internal/3_b_1_deploy_new_impl.md
+13-53Lines changed: 13 additions & 53 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,18 +2,13 @@
2
2
3
3
To deploy a new implementation, you can follow the steps below.
4
4
5
+
5
6
## Prerequisites
6
7
7
8
1. Make sure you have set variables as specified in the [Deploy Contracts Guide](./2_deploy_contracts.md).
8
9
9
10
2. Set ```MULTISIG=true``` on the ```.env``` used to deploy. ```contracts/scripts/.env.mainnet``` or ```contracts/scripts/.env.holesky``` or ```contracts/scripts/.env.sepolia```
10
11
11
-
## What contracts can be upgraded?
12
-
13
-
You can deploy the new implementation of the following contracts:
14
-
15
-
- AlignedLayerServiceManager
16
-
- BatcherPaymentService
17
12
18
13
## Deploy New Implementation for AlignedLayerServiceManager
19
14
@@ -39,36 +34,16 @@ You can deploy the new implementation of the following contracts:
39
34
40
35
If the new implementation is correctly deployed, the terminal will show the following message:
41
36
42
-
```sh
37
+
```
43
38
The new aligned layer service manager implementation is <new_aligned_layer_service_manager_implementation>
44
39
45
40
You can propose the upgrade transaction with the multisig using this calldata
46
-
<calldata>
47
-
```
48
-
49
-
You should save this `calldata`for later use.
50
-
51
-
2. Get the `upgrade`functionsignature:
52
-
53
-
```sh
54
-
cast sig "upgrade(address, address)"
41
+
<calldata>
55
42
```
56
43
57
-
This will show the `upgrade` signature hash: `0x99a88ec4`.
58
-
59
-
Verify the first 8 digits of the `calldata` are the same as the signature hash obtained in this step.
60
-
61
-
3. Validate the contracts addresses of the `calldata` by running:
This will show two addresses. The first one is the `alignedLayerServiceManager` address, and the second one is the new implementation address of `alignedServiceManagerImplementation`.
68
-
69
-
Make sure the `alignedLayerServiceManager` address is the same as the one you deployed in the [Deploy Contracts Guide](./2_deploy_contracts.md).
44
+
Also, the ```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``` file will be updated with the new implementation address depending on the network you are deploying.
70
45
71
-
Make sure the `alignedServiceManagerImplementation` address is the same as the one you deployed in this guide.
46
+
2. Create a PR with the new address for the AlignedLayerServiceManagerImplementation.
72
47
73
48
74
49
## Deploy New Implementation for BatcherPaymentService
@@ -95,33 +70,18 @@ You can deploy the new implementation of the following contracts:
95
70
96
71
If the new implementation is correctly deployed, the script will show the following message:
97
72
98
-
`You can propose the upgrade transaction with the multisig using this calldata <calldata>`
99
-
100
-
You should save this `calldata`for later use.
101
-
102
-
2. Get the `upgradeTo`functionsignature:
103
-
104
-
```bash
105
-
cast sig "upgradeTo(address)"
106
-
```
107
-
108
-
This will show the `upgradeTo` signature hash: `0x3659cfe6`.
109
-
110
-
Verify the first 8 digits of the `calldata` are the same as the signature hash obtained in this step.
This will show the `batcherPaymentServiceImplementation` address.
74
+
The new Batcher Payment Service Implementation is <new_batcher_payment_service_implementation>
119
75
120
-
Make sure the `batcherPaymentServiceImplementation` address is the same as the one you deployed in this guide.
76
+
You can propose the upgrade transaction with the multisig using this calldata
77
+
<calldata>
78
+
```
79
+
80
+
Also, the ```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``` file will be updated with the new implementation address depending on the network you are deploying.
81
+
82
+
2. Create a PR with the new address for the BatcherPaymentServiceImplementation.
121
83
122
84
123
85
## Next Steps
124
86
125
87
Once you have deployed the new implementation of the contract you want to upgrade, you need to propose the upgrade transaction to the mulstisig, following this [guide](./3_b_2_propose_upgrade.md).
126
-
127
-
You must also send the contracts addresses and `calldata` you gathered from this guide, to all the multisig participants.
Copy file name to clipboardExpand all lines: docs/0_internal/3_b_2_propose_upgrade.md
+9-71Lines changed: 9 additions & 71 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,75 +2,33 @@
2
2
3
3
After deploying a new implementation candidate for the upgrade, you need to propose the upgrade transaction using the multisig wallet.
4
4
5
-
## Prerequisites
6
-
7
-
- You need to have deployed the new implementation following the [Deploy New Implementation Guide](./3_b_1_deploy_new_impl.md).
8
-
9
-
- Upgrade `calldata` obtained from the deployment of the new implementation.
10
-
11
5
## Propose transaction
12
6
13
7
To propose the upgrade transaction you can follow the steps below:
14
8
15
-
1. Get the function signature
16
-
17
-
If you are upgrading the AlignedLayerServiceManager or the RegistryCoordinator, you can get the function signature by running:
18
-
19
-
```bash
20
-
cast sig "upgrade(address, address)"
21
-
```
22
-
23
-
This will show the `upgrade` signature hash: `0x99a88ec4`.
9
+
1. If you want to upgrade the ```alignedLayerServiceManager``` get the ```alignedLayerServiceManager``` and ```alignedServiceManagerImplementation``` 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```.
10
+
11
+
If you want to upgrade the ```batcherPaymentService``` get the ```batcherPaymentServiceImplementation``` 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```.
24
12
25
-
Else, if you are upgrading the BatcherPaymentService, you can get the functionsignature by running:
13
+
2. If you want to upgrade the ```alignedLayerServiceManager``` generate the `calldata` for the upgrade transaction by running:
If you are upgrading the AlignmentLayerServiceManager, the first one is the `alignedLayerServiceManager` address, and the second one is the new implementation address of `alignedServiceManagerImplementation`.
44
-
45
-
If you are upgrading the RegistryCoordinator, the first one is the `registryCoordinator` address, and the second one is the new implementation address of `registryCoordinatorImplementation`.
46
-
47
-
> [!NOTE]
48
-
> The first 10 characters must be the same the signature hash obtained in the previous step.
49
-
>
50
-
> Make sure the `alignedLayerServiceManager` address is the same as the one you deployed in the [Deploy Contracts Guide](./2_deploy_contracts.md).
51
-
>
52
-
> Make sure the `alignedServiceManagerImplementation` address is the same as the one you deployed in this guide.
53
-
54
-
Else, if you are upgrading the BatcherPaymentService, you can validate the calldata by running:
> Make sure to set the path to the correct deployment output file.
41
+
7. Get the `ProxyAdmin` 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```, and paste it on `Enter Address or ENS Name`
104
42
105
43
8. Once you paste the `ProxyAdmin` address, the ABI should be automatically filled.
0 commit comments