Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit b0cbf0b

Browse files
ypatil120xClandestinebowenli86
committedMay 30, 2025
feat: redistribution upgrade script (#1396)
**Motivation:** Redistribution upgrade script. **Modifications:** **Deployment Process:** 1. `SlashingEscrowFactory` and `SlashEscrow` are two _new_ deployed contracts a. We deploy a new proxyAdmin to upgrade the `SlashingEscrowFactory`. The owner of this proxyAdmin is the community multisig 3. Upgrades the following contracts: a. DelegationManager b. AllocationManager c. Strategymanager d. EigenPodManager e. EigenStrategy f. StrategyBeacon g. StrategyBaseTVLLimits (pre-longtail strats) **Zeus Config Updates:** In Zeus config, we add a `GLOBAL_SLASH_DELAY` value. On all testnets (preprod, testnet, testnet-hoodi, tesnet-sepolia) this value is 5 blocks (1 min). On mainnet this value is 28,800 (4 days in blocks) Run `zeus env show <environment>` to double check. **Important Checks:** 1. Ensure the `_globalBurnOrRedistributionDelay` is properly set 2. Upgradability of the `SlashEscrowFactory` is controlled by a new `SlashEscrowProxyAdmin`. The owner of this contract is the `CommunityMultisig`. **Result:** Updated deploy scripts. --------- Co-authored-by: clandestine.eth <96172957+0xClandestine@users.noreply.github.com> Co-authored-by: bowenli86 <bowenli86@gmail.com>
1 parent 0c1af9a commit b0cbf0b

File tree

7 files changed

+676
-300
lines changed

7 files changed

+676
-300
lines changed
 

‎script/releases/Env.sol

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ import "src/contracts/core/RewardsCoordinator.sol";
1515
import "src/contracts/interfaces/IRewardsCoordinator.sol";
1616
import "src/contracts/core/StrategyManager.sol";
1717

18+
/// slashEscrow/
19+
import "src/contracts/core/SlashEscrow.sol";
20+
import "src/contracts/core/SlashEscrowFactory.sol";
21+
1822
/// permissions/
1923
import "src/contracts/permissions/PauserRegistry.sol";
2024
import "src/contracts/permissions/PermissionController.sol";
@@ -76,6 +80,10 @@ library Env {
7680
return _envAddress("operationsMultisig");
7781
}
7882

83+
function communityMultisig() internal view returns (address) {
84+
return _envAddress("communityMultisig");
85+
}
86+
7987
function protocolCouncilMultisig() internal view returns (address) {
8088
return _envAddress("protocolCouncilMultisig");
8189
}
@@ -88,6 +96,10 @@ library Env {
8896
return _envAddress("proxyAdmin");
8997
}
9098

99+
function slashEscrowProxyAdmin() internal view returns (address) {
100+
return _envAddress("slashEscrowProxyAdmin");
101+
}
102+
91103
function ethPOS() internal view returns (IETHPOSDeposit) {
92104
return IETHPOSDeposit(_envAddress("ethPOS"));
93105
}
@@ -148,6 +160,10 @@ library Env {
148160
return _envU256("REWARDS_COORDINATOR_PAUSE_STATUS");
149161
}
150162

163+
function SLASH_ESCROW_DELAY() internal view returns (uint32) {
164+
return _envU32("SLASH_ESCROW_DELAY");
165+
}
166+
151167
/**
152168
* core/
153169
*/
@@ -318,6 +334,27 @@ library Env {
318334
return StrategyFactory(_deployedImpl(type(StrategyFactory).name));
319335
}
320336

337+
/**
338+
* slashEscrow/
339+
*/
340+
function slashEscrow(
341+
DeployedImpl
342+
) internal view returns (SlashEscrow) {
343+
return SlashEscrow(_deployedImpl(type(SlashEscrow).name));
344+
}
345+
346+
function slashEscrowFactory(
347+
DeployedProxy
348+
) internal view returns (SlashEscrowFactory) {
349+
return SlashEscrowFactory(_deployedProxy(type(SlashEscrowFactory).name));
350+
}
351+
352+
function slashEscrowFactory(
353+
DeployedImpl
354+
) internal view returns (SlashEscrowFactory) {
355+
return SlashEscrowFactory(_deployedImpl(type(SlashEscrowFactory).name));
356+
}
357+
321358
/**
322359
* token/
323360
*/

0 commit comments

Comments
 (0)
Please sign in to comment.