Skip to content

Commit 5564687

Browse files
committed
chore: update SDK contracts
1 parent b527bf2 commit 5564687

File tree

5 files changed

+51
-126
lines changed

5 files changed

+51
-126
lines changed

contracts/script/DeployMockAvs.s.sol

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ import "forge-std/console.sol";
66

77
// forge script script/DeployMockAvs.s.sol --rpc-url $RPC_URL --private-key $PRIVATE_KEY --etherscan-api-key $ETHERSCAN_API_KEY --broadcast --verify
88
contract DeployMockAvs is DeployMockAvsRegistries {
9-
MockAvsServiceManager public mockAvsServiceManager;
10-
MockAvsServiceManager public mockAvsServiceManagerImplementation;
11-
129
EmptyContract public emptyContract;
1310
ProxyAdmin public mockAvsProxyAdmin;
1411

@@ -21,38 +18,12 @@ contract DeployMockAvs is DeployMockAvsRegistries {
2118

2219
vm.startBroadcast();
2320

24-
// Deploy proxy admin for ability to upgrade proxy contracts
25-
// Note: can't deploy ProxyAdmin in setUp function, b/c its owner is not set correctly if so.
26-
// not sure why...
27-
emptyContract = new EmptyContract();
28-
mockAvsProxyAdmin = new ProxyAdmin();
29-
mockAvsServiceManager = MockAvsServiceManager(
30-
address(new TransparentUpgradeableProxy(address(emptyContract), address(mockAvsProxyAdmin), ""))
31-
);
32-
MockAvsContracts memory mockAvsContracts = _deploymockAvsRegistryContracts(
33-
eigenlayerContracts, addressConfig, mockAvsServiceManager, mockAvsServiceManagerImplementation
34-
);
21+
MockAvsContracts memory mockAvsContracts = _deploymockAvsRegistryContracts(eigenlayerContracts, addressConfig);
3522

36-
console.log("HERE16");
3723
console.logAddress(address(mockAvsContracts.registryCoordinator));
3824
console.logAddress(address(eigenlayerContracts.avsDirectory));
3925
console.logAddress(address(eigenlayerContracts.rewardsCoordinator));
4026
console.logAddress(address(eigenlayerContracts.allocationManager));
41-
mockAvsServiceManagerImplementation = new MockAvsServiceManager(
42-
mockAvsContracts.registryCoordinator,
43-
eigenlayerContracts.avsDirectory,
44-
eigenlayerContracts.rewardsCoordinator,
45-
eigenlayerContracts.allocationManager
46-
);
47-
48-
console.log("HERE17");
49-
50-
mockAvsProxyAdmin.upgradeAndCall(
51-
TransparentUpgradeableProxy(payable(address(mockAvsServiceManager))),
52-
address(mockAvsServiceManagerImplementation),
53-
abi.encodeWithSelector(mockAvsServiceManager.initialize.selector, addressConfig.communityMultisig)
54-
);
55-
require(Ownable(address(mockAvsServiceManager)).owner() != address(0), "Owner uninitialized");
5627

5728
if (block.chainid == 31337 || block.chainid == 1337) {
5829
_writeContractsToRegistry(contractsRegistry, eigenlayerContracts, mockAvsContracts);

contracts/script/DeployMockAvsRegistries.s.sol

Lines changed: 37 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,20 @@ import "eigenlayer-contracts/src/contracts/permissions/PauserRegistry.sol";
77
import {IDelegationManager} from "eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol";
88
import {IStrategyManager, IStrategy} from "eigenlayer-contracts/src/contracts/interfaces/IStrategyManager.sol";
99
import "eigenlayer-contracts/src/test/mocks/EmptyContract.sol";
10-
import "eigenlayer-middleware/src/RegistryCoordinator.sol" as blsregcoord;
1110
import {IServiceManager} from "eigenlayer-middleware/src/interfaces/IServiceManager.sol";
1211
import {
13-
IBLSApkRegistry,
14-
IIndexRegistry,
15-
IStakeRegistry,
16-
StakeType
17-
} from "eigenlayer-middleware/src/RegistryCoordinator.sol";
18-
import {BLSApkRegistry} from "eigenlayer-middleware/src/BLSApkRegistry.sol";
19-
import {IndexRegistry} from "eigenlayer-middleware/src/IndexRegistry.sol";
20-
import {StakeRegistry} from "eigenlayer-middleware/src/StakeRegistry.sol";
12+
ISlashingRegistryCoordinator,
13+
ISlashingRegistryCoordinatorTypes
14+
} from "eigenlayer-middleware/src/interfaces/ISlashingRegistryCoordinator.sol";
15+
import {SlashingRegistryCoordinator} from "eigenlayer-middleware/src/SlashingRegistryCoordinator.sol";
16+
import {BLSApkRegistry, IBLSApkRegistry} from "eigenlayer-middleware/src/BLSApkRegistry.sol";
17+
import {IndexRegistry, IIndexRegistry} from "eigenlayer-middleware/src/IndexRegistry.sol";
18+
import {StakeRegistry, IStakeRegistry, IStakeRegistryTypes} from "eigenlayer-middleware/src/StakeRegistry.sol";
19+
import {SocketRegistry, ISocketRegistry, IRegistryCoordinator} from "eigenlayer-middleware/src/SocketRegistry.sol";
2120
import {OperatorStateRetriever} from "eigenlayer-middleware/src/OperatorStateRetriever.sol";
2221
import {MockAvsContracts} from "./parsers/MockAvsContractsParser.sol";
2322
import {EigenlayerContracts, EigenlayerContractsParser} from "./parsers/EigenlayerContractsParser.sol";
2423
import {ConfigsReadWriter} from "./parsers/ConfigsReadWriter.sol";
25-
import {MockAvsServiceManager} from "../src/MockAvsServiceManager.sol";
2624
import {ContractsRegistry} from "../src/ContractsRegistry.sol";
2725
import "forge-std/Script.sol";
2826
import "forge-std/console.sol";
@@ -36,13 +34,15 @@ contract DeployMockAvsRegistries is Script, ConfigsReadWriter, EigenlayerContrac
3634
IIndexRegistry indexRegistryImplementation;
3735
IStakeRegistry stakeRegistry;
3836
IStakeRegistry stakeRegistryImplementation;
37+
ISocketRegistry socketRegistry;
38+
ISocketRegistry socketRegistryImplementation;
3939
}
4040

4141
struct DeployedContracts {
4242
ProxyAdmin proxyAdmin;
4343
PauserRegistry pauserReg;
44-
blsregcoord.RegistryCoordinator coordinator;
45-
blsregcoord.IRegistryCoordinator coordinatorImplementation;
44+
SlashingRegistryCoordinator coordinator;
45+
ISlashingRegistryCoordinator coordinatorImplementation;
4646
OperatorStateRetriever stateRetriever;
4747
EmptyContract emptyContract;
4848
}
@@ -67,20 +67,18 @@ contract DeployMockAvsRegistries is Script, ConfigsReadWriter, EigenlayerContrac
6767

6868
function _deploymockAvsRegistryContracts(
6969
EigenlayerContracts memory eigenlayerContracts,
70-
MockAvsOpsAddresses memory addressConfig,
71-
MockAvsServiceManager manager,
72-
MockAvsServiceManager managerImpl
70+
MockAvsOpsAddresses memory addressConfig
7371
) internal returns (MockAvsContracts memory) {
7472
_deployPauserRegistry(addressConfig);
7573
_deployProxies();
7674
deployed.stateRetriever = new OperatorStateRetriever();
77-
_deployAndUpgradeImplementations(eigenlayerContracts, manager);
75+
_deployAndUpgradeImplementations(eigenlayerContracts);
7876
_initializeRegistryCoordinator(addressConfig);
7977

8078
require(Ownable(address(deployed.coordinator)).owner() != address(0), "Owner uninitialized");
81-
_writeDeploymentOutput(manager, managerImpl);
79+
_writeDeploymentOutput();
8280

83-
return MockAvsContracts(manager, deployed.coordinator, deployed.stateRetriever);
81+
return MockAvsContracts(deployed.coordinator, deployed.stateRetriever);
8482
}
8583

8684
function _deployPauserRegistry(MockAvsOpsAddresses memory config) internal {
@@ -97,7 +95,7 @@ contract DeployMockAvsRegistries is Script, ConfigsReadWriter, EigenlayerContrac
9795
if (address(deployed.proxyAdmin) == address(0)) {
9896
deployed.proxyAdmin = new ProxyAdmin();
9997
}
100-
deployed.coordinator = blsregcoord.RegistryCoordinator(_deployProxy());
98+
deployed.coordinator = SlashingRegistryCoordinator(_deployProxy());
10199
registries.blsApkRegistry = IBLSApkRegistry(_deployProxy());
102100
registries.indexRegistry = IIndexRegistry(_deployProxy());
103101
registries.stakeRegistry = IStakeRegistry(_deployProxy());
@@ -108,25 +106,28 @@ contract DeployMockAvsRegistries is Script, ConfigsReadWriter, EigenlayerContrac
108106
address(new TransparentUpgradeableProxy(address(deployed.emptyContract), address(deployed.proxyAdmin), ""));
109107
}
110108

111-
function _deployAndUpgradeImplementations(EigenlayerContracts memory eigen, MockAvsServiceManager manager)
112-
internal
113-
{
109+
function _deployAndUpgradeImplementations(EigenlayerContracts memory eigen) internal {
114110
registries.blsApkRegistryImplementation = new BLSApkRegistry(deployed.coordinator);
115111
_upgradeProxy(address(registries.blsApkRegistry), address(registries.blsApkRegistryImplementation));
116112

117113
registries.indexRegistryImplementation = new IndexRegistry(deployed.coordinator);
118114
_upgradeProxy(address(registries.indexRegistry), address(registries.indexRegistryImplementation));
119115

120-
registries.stakeRegistryImplementation =
121-
new StakeRegistry(deployed.coordinator, eigen.delegationManager, eigen.avsDirectory, manager);
116+
registries.stakeRegistryImplementation = new StakeRegistry(
117+
deployed.coordinator, eigen.delegationManager, eigen.avsDirectory, eigen.allocationManager
118+
);
122119
_upgradeProxy(address(registries.stakeRegistry), address(registries.stakeRegistryImplementation));
123120

124-
deployed.coordinatorImplementation = new blsregcoord.RegistryCoordinator(
125-
blsregcoord.IServiceManager(address(manager)),
126-
blsregcoord.IStakeRegistry(address(registries.stakeRegistry)),
127-
blsregcoord.IBLSApkRegistry(address(registries.blsApkRegistry)),
128-
blsregcoord.IIndexRegistry(address(registries.indexRegistry)),
129-
eigen.avsDirectory,
121+
registries.socketRegistryImplementation =
122+
new SocketRegistry(IRegistryCoordinator(address(deployed.coordinator)));
123+
_upgradeProxy(address(registries.socketRegistry), address(registries.socketRegistryImplementation));
124+
125+
deployed.coordinatorImplementation = new SlashingRegistryCoordinator(
126+
registries.stakeRegistry,
127+
registries.blsApkRegistry,
128+
registries.indexRegistry,
129+
registries.socketRegistry,
130+
eigen.allocationManager,
130131
deployed.pauserReg
131132
);
132133
}
@@ -137,11 +138,11 @@ contract DeployMockAvsRegistries is Script, ConfigsReadWriter, EigenlayerContrac
137138

138139
function _initializeRegistryCoordinator(MockAvsOpsAddresses memory config) internal {
139140
uint32 numQuorums = 0;
140-
blsregcoord.RegistryCoordinator.OperatorSetParam[] memory params =
141-
new blsregcoord.RegistryCoordinator.OperatorSetParam[](numQuorums);
141+
SlashingRegistryCoordinator.OperatorSetParam[] memory params =
142+
new SlashingRegistryCoordinator.OperatorSetParam[](numQuorums);
142143

143144
for (uint32 i = 0; i < numQuorums; i++) {
144-
params[i] = blsregcoord.IRegistryCoordinator.OperatorSetParam({
145+
params[i] = ISlashingRegistryCoordinatorTypes.OperatorSetParam({
145146
maxOperatorCount: 10000,
146147
kickBIPsOfOperatorStake: 15000,
147148
kickBIPsOfTotalStake: 100
@@ -150,14 +151,14 @@ contract DeployMockAvsRegistries is Script, ConfigsReadWriter, EigenlayerContrac
150151

151152
uint96[] memory minStake = new uint96[](numQuorums);
152153
IStakeRegistry.StrategyParams[][] memory strategyParams = new IStakeRegistry.StrategyParams[][](numQuorums);
153-
StakeType[] memory stakeTypes = new StakeType[](numQuorums);
154+
IStakeRegistryTypes.StakeType[] memory stakeTypes = new IStakeRegistryTypes.StakeType[](numQuorums);
154155
uint32[] memory lookAheadPeriods = new uint32[](numQuorums);
155156

156157
deployed.proxyAdmin.upgradeAndCall(
157158
TransparentUpgradeableProxy(payable(address(deployed.coordinator))),
158159
address(deployed.coordinatorImplementation),
159160
abi.encodeWithSelector(
160-
blsregcoord.RegistryCoordinator.initialize.selector,
161+
SlashingRegistryCoordinator.initialize.selector,
161162
config.communityMultisig,
162163
config.churner,
163164
config.ejector,
@@ -171,13 +172,11 @@ contract DeployMockAvsRegistries is Script, ConfigsReadWriter, EigenlayerContrac
171172
);
172173
}
173174

174-
function _writeDeploymentOutput(MockAvsServiceManager manager, MockAvsServiceManager managerImpl) internal {
175+
function _writeDeploymentOutput() internal {
175176
string memory parent = "parent object";
176177
string memory addresses = "addresses";
177178

178179
vm.serializeAddress(addresses, "proxyAdmin", address(deployed.proxyAdmin));
179-
vm.serializeAddress(addresses, "mockAvsServiceManager", address(manager));
180-
vm.serializeAddress(addresses, "mockAvsServiceManagerImplementation", address(managerImpl));
181180
vm.serializeAddress(addresses, "registryCoordinator", address(deployed.coordinator));
182181
vm.serializeAddress(addresses, "registryCoordinatorImplementation", address(deployed.coordinatorImplementation));
183182
string memory output =
@@ -191,7 +190,6 @@ contract DeployMockAvsRegistries is Script, ConfigsReadWriter, EigenlayerContrac
191190
EigenlayerContracts memory eigen,
192191
MockAvsContracts memory avs
193192
) internal {
194-
registry.registerContract("mockAvsServiceManager", address(avs.mockAvsServiceManager));
195193
registry.registerContract("mockAvsRegistryCoordinator", address(avs.registryCoordinator));
196194
registry.registerContract("mockAvsOperatorStateRetriever", address(avs.operatorStateRetriever));
197195
registry.registerContract("delegationManager", address(eigen.delegationManager));

contracts/script/DeployTokensStrategiesCreateQuorums.s.sol

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ import {IStrategyManager, IStrategy} from "eigenlayer-contracts/src/contracts/in
88
import {StrategyBaseTVLLimits} from "eigenlayer-contracts/src/contracts/strategies/StrategyBaseTVLLimits.sol";
99

1010
import "eigenlayer-middleware/src/interfaces/IStakeRegistry.sol";
11-
import "eigenlayer-middleware/src/RegistryCoordinator.sol" as regcoord;
12-
import {StakeType} from "eigenlayer-middleware/src/interfaces/IStakeRegistry.sol";
11+
import {ISlashingRegistryCoordinatorTypes} from "eigenlayer-middleware/src/interfaces/ISlashingRegistryCoordinator.sol";
12+
import {SlashingRegistryCoordinator} from "eigenlayer-middleware/src/SlashingRegistryCoordinator.sol";
13+
import {IStakeRegistryTypes} from "eigenlayer-middleware/src/interfaces/IStakeRegistry.sol";
1314

1415
import {MockERC20, IERC20} from "../src/MockERC20.sol";
1516
import "./parsers/EigenlayerContractsParser.sol";
@@ -96,20 +97,19 @@ contract DeployTokensStrategiesCreateQuorums is Script, EigenlayerContractsParse
9697
return (IERC20(mockERC20), erc20MockStrategy);
9798
}
9899

99-
function _createQuorum(regcoord.RegistryCoordinator mockAvsRegCoord, IStrategy strat) internal {
100+
function _createQuorum(SlashingRegistryCoordinator mockAvsRegCoord, IStrategy strat) internal {
100101
// for each quorum to setup, we need to define
101102
// quorumsOperatorSetParams, quorumsMinimumStake, and quorumsStrategyParams
102-
regcoord.RegistryCoordinator.OperatorSetParam memory quorumOperatorSetParams = regcoord
103-
.IRegistryCoordinator
103+
SlashingRegistryCoordinator.OperatorSetParam memory quorumOperatorSetParams = ISlashingRegistryCoordinatorTypes
104104
.OperatorSetParam({
105105
// hardcoded for now
106106
maxOperatorCount: 10000,
107107
kickBIPsOfOperatorStake: 15000,
108108
kickBIPsOfTotalStake: 100
109109
});
110110
uint96 quorumMinimumStake = 0;
111-
IStakeRegistry.StrategyParams[] memory quorumStrategyParams = new IStakeRegistry.StrategyParams[](1);
112-
quorumStrategyParams[0] = IStakeRegistry.StrategyParams({
111+
IStakeRegistryTypes.StrategyParams[] memory quorumStrategyParams = new IStakeRegistryTypes.StrategyParams[](1);
112+
quorumStrategyParams[0] = IStakeRegistryTypes.StrategyParams({
113113
strategy: strat,
114114
// setting this to 1 ether since the divisor is also 1 ether
115115
// therefore this allows an operator to register with even just 1 token
@@ -118,7 +118,7 @@ contract DeployTokensStrategiesCreateQuorums is Script, EigenlayerContractsParse
118118
multiplier: 1 ether
119119
});
120120

121-
regcoord.RegistryCoordinator(address(mockAvsRegCoord)).createTotalDelegatedStakeQuorum(
121+
SlashingRegistryCoordinator(address(mockAvsRegCoord)).createTotalDelegatedStakeQuorum(
122122
quorumOperatorSetParams, quorumMinimumStake, quorumStrategyParams
123123
);
124124
}
Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,30 @@
11
// SPDX-License-Identifier: UNLICENSED
22
pragma solidity ^0.8.12;
33

4-
import {RegistryCoordinator} from "eigenlayer-middleware/src/RegistryCoordinator.sol";
4+
import {SlashingRegistryCoordinator} from "eigenlayer-middleware/src/SlashingRegistryCoordinator.sol";
55
import {OperatorStateRetriever} from "eigenlayer-middleware/src/OperatorStateRetriever.sol";
66

7-
import "../../src/MockAvsServiceManager.sol";
8-
97
import {ConfigsReadWriter} from "./ConfigsReadWriter.sol";
108
import "forge-std/StdJson.sol";
119

1210
struct MockAvsContracts {
13-
MockAvsServiceManager mockAvsServiceManager;
14-
RegistryCoordinator registryCoordinator;
11+
SlashingRegistryCoordinator registryCoordinator;
1512
OperatorStateRetriever operatorStateRetriever;
1613
}
1714

1815
contract MockAvsContractsParser is ConfigsReadWriter {
1916
function _loadMockAvsDeployedContracts() internal view returns (MockAvsContracts memory) {
2017
// Eigenlayer contracts
2118
string memory mockAvsDeployedContracts = readOutput("mockavs_deployment_output");
22-
MockAvsServiceManager mockAvsServiceManager =
23-
MockAvsServiceManager(stdJson.readAddress(mockAvsDeployedContracts, ".addresses.mockAvsServiceManager"));
24-
require(
25-
address(mockAvsServiceManager) != address(0), "MockAvsContractsParser: mockAvsServiceManager address is 0"
26-
);
27-
RegistryCoordinator registryCoordinator =
28-
RegistryCoordinator(stdJson.readAddress(mockAvsDeployedContracts, ".addresses.registryCoordinator"));
19+
SlashingRegistryCoordinator registryCoordinator =
20+
SlashingRegistryCoordinator(stdJson.readAddress(mockAvsDeployedContracts, ".addresses.registryCoordinator"));
2921
require(address(registryCoordinator) != address(0), "MockAvsContractsParser: registryCoordinator address is 0");
3022
OperatorStateRetriever operatorStateRetriever =
3123
OperatorStateRetriever(stdJson.readAddress(mockAvsDeployedContracts, ".addresses.operatorStateRetriever"));
3224
require(
3325
address(operatorStateRetriever) != address(0), "MockAvsContractsParser: operatorStateRetriever address is 0"
3426
);
3527

36-
return MockAvsContracts(mockAvsServiceManager, registryCoordinator, operatorStateRetriever);
28+
return MockAvsContracts(registryCoordinator, operatorStateRetriever);
3729
}
3830
}

contracts/src/MockAvsServiceManager.sol

Lines changed: 0 additions & 36 deletions
This file was deleted.

0 commit comments

Comments
 (0)