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
To deploy a new implementation, you can follow the steps below.
3
4
5
+
## Prerequisites
6
+
7
+
1. Make sure you have set the `.env`, `DEPLOY_CONFIG_PATH` and `BATCHER_PAYMENT_SERVICE_CONFIG_PATH` as specified in the [Deploy Contracts Guide](./2_deploy_contracts.md).
8
+
9
+
2. Add the following variables to the `.env` file:
This will show two addresses. The first one is the `alignedLayerServiceManager` address, and the second one is the new implementation address of `alignedServiceManagerImplementation`.
57
+
58
+
> [!NOTE]
59
+
>
60
+
> Make sure the `alignedLayerServiceManager` address is the same as the one you deployed in the [Deploy Contracts Guide](./2_deploy_contracts.md).
61
+
>
62
+
> Make sure the `alignedServiceManagerImplementation` address is the same as the one you deployed in this guide.
63
+
64
+
65
+
### Deploy New Implementation for BatcherPaymentService
66
+
67
+
1. Deploy the new implementation by running:
68
+
69
+
```shell
70
+
make upgrade_batcher_payment_service
71
+
```
72
+
73
+
If the new implementation is correctly deployed, the script will show the following message:
74
+
75
+
```
76
+
You can propose the upgrade transaction with the multisig using this calldata
77
+
<calldata>
78
+
```
79
+
80
+
You should save this `calldata` for later use.
81
+
82
+
2. Get the `upgradeTo` function signature:
83
+
84
+
```bash
85
+
cast sig "upgradeTo(address)"
86
+
```
87
+
88
+
This will show the `upgradeTo` signature hash: `0x3659cfe6`.
This will show two addresses. The first one is the `registryCoordinator` address, and the second one is the new implementation address of `registryCoordinatorImplementation`.
135
+
136
+
> [!NOTE]
137
+
>
138
+
> Make sure the `registryCoordinator` address is the same as the one you deployed in the [Deploy Contracts Guide](./2_deploy_contracts.md).
139
+
>
140
+
> Make sure the `registryCoordinatorImplementation` address is the same as the one you deployed in this guide.
141
+
142
+
143
+
## Next Steps
144
+
145
+
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).
146
+
147
+
Send the new address and `calldata` to the multisig participants to propose the upgrade transaction.
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
+
>
49
+
> The first 10 characters must be the same the signature hash obtained in the previous step.
50
+
>
51
+
> Make sure the `alignedLayerServiceManager` address is the same as the one you deployed in the [Deploy Contracts Guide](./2_deploy_contracts.md).
52
+
>
53
+
> Make sure the `alignedServiceManagerImplementation` address is the same as the one you deployed in this guide.
54
+
55
+
Else, if you are upgrading the BatcherPaymentService, you can validate the calldata by running:
1. Deploy the new implementation following the [Deploy New Implementation Guide](./3_b_1_deploy_new_impl.md).
41
+
42
+
2. Once you have deployed the new implementation, you can propose the upgrade transaction with the multisig following the [Propose Upgrade Guide](./3_b_2_propose_upgrade.md).
36
43
37
-
The first step is to deploy the new implementation of the contract.
44
+
3. After the upgrade is proposed, multisig participants can approve the upgrade following the [Approve Upgrade Guide](./3_b_3_approve_upgrade.md).
38
45
39
-
You need to
46
+
Finishing the approval process, the contract will be upgraded to the new implementation.
0 commit comments