@@ -16,7 +16,7 @@ import { FeeOracle } from "../../src/FeeOracle.sol";
1616import { Verifier } from "../../src/Verifier.sol " ;
1717import { ParametersRegistry } from "../../src/ParametersRegistry.sol " ;
1818import { ExitPenalties } from "../../src/ExitPenalties.sol " ;
19- import { OperatorsData } from "../../src/OperatorsData .sol " ;
19+ import { MetaOperatorRegistry } from "../../src/MetaOperatorRegistry .sol " ;
2020import { CuratedGate } from "../../src/CuratedGate.sol " ;
2121import { CuratedGateFactory } from "../../src/CuratedGateFactory.sol " ;
2222
@@ -51,7 +51,6 @@ struct GateCurveParams {
5151 uint256 allowedExitDelay;
5252 uint256 exitDelayFee;
5353 uint256 maxElWithdrawalRequestFee;
54- uint256 depositAllocationWeight;
5554}
5655
5756struct CuratedGateConfig {
@@ -115,8 +114,6 @@ struct CuratedDeployParams {
115114 uint256 defaultAllowedExitDelay;
116115 uint256 defaultExitDelayFee;
117116 uint256 defaultMaxElWithdrawalRequestFee;
118- uint256 defaultDepositAllocationWeight;
119- uint256 identifiedCommunityStakersGateDepositAllocationWeight;
120117 // Curated gates
121118 CuratedGateConfig[] curatedGates;
122119 // GateSeal
@@ -149,7 +146,7 @@ abstract contract DeployBase is Script {
149146 Verifier public verifier;
150147 HashConsensus public hashConsensus;
151148 ParametersRegistry public parametersRegistry;
152- OperatorsData public operatorsData ;
149+ MetaOperatorRegistry public metaOperatorsRegistry ;
153150 CuratedGateFactory public curatedGateFactory;
154151 address [] public curatedGateInstances;
155152 address internal curatedGateImpl;
@@ -219,6 +216,18 @@ abstract contract DeployBase is Script {
219216
220217 accounting = Accounting (_deployProxy (deployer, address (dummyImpl)));
221218
219+ MetaOperatorRegistry metaOperatorsRegistryImpl = new MetaOperatorRegistry (
220+ address (curatedModule),
221+ locator.stakingRouter ()
222+ );
223+ metaOperatorsRegistry = MetaOperatorRegistry (
224+ _deployProxy (
225+ config.proxyAdmin,
226+ address (metaOperatorsRegistryImpl)
227+ )
228+ );
229+ metaOperatorsRegistry.initialize (deployer);
230+
222231 oracle = FeeOracle (_deployProxy (deployer, address (dummyImpl)));
223232
224233 FeeDistributor feeDistributorImpl = new FeeDistributor ({
@@ -277,9 +286,7 @@ abstract contract DeployBase is Script {
277286 defaultAllowedExitDelay: config.defaultAllowedExitDelay,
278287 defaultExitDelayFee: config.defaultExitDelayFee,
279288 defaultMaxElWithdrawalRequestFee: config
280- .defaultMaxElWithdrawalRequestFee,
281- defaultDepositAllocationWeight: config
282- .defaultDepositAllocationWeight
289+ .defaultMaxElWithdrawalRequestFee
283290 })
284291 });
285292
@@ -386,12 +393,6 @@ abstract contract DeployBase is Script {
386393 curveId,
387394 params.maxElWithdrawalRequestFee
388395 );
389- if (params.depositAllocationWeight != 0 ) {
390- parametersRegistry.setDepositAllocationWeight (
391- curveId,
392- params.depositAllocationWeight
393- );
394- }
395396 }
396397 accounting.revokeRole (
397398 accounting.MANAGE_BOND_CURVES_ROLE (),
@@ -407,7 +408,8 @@ abstract contract DeployBase is Script {
407408 lidoLocator: config.lidoLocatorAddress,
408409 parametersRegistry: address (parametersRegistry),
409410 accounting: address (accounting),
410- exitPenalties: address (exitPenalties)
411+ exitPenalties: address (exitPenalties),
412+ metaOperatorsRegistry: address (metaOperatorsRegistry)
411413 });
412414
413415 {
@@ -454,19 +456,11 @@ abstract contract DeployBase is Script {
454456
455457 strikes.initialize (deployer, address (ejector));
456458
457- address operatorsDataImpl = address (
458- new OperatorsData (locator.stakingRouter ())
459- );
460- operatorsData = OperatorsData (
461- _deployProxy (config.proxyAdmin, operatorsDataImpl)
462- );
463- operatorsData.initialize (deployer);
464-
465459 curatedGateImpl = address (
466460 new CuratedGate (
467- address (curatedModule),
468461 config.stakingModuleId,
469- address (operatorsData)
462+ address (curatedModule),
463+ address (metaOperatorsRegistry)
470464 )
471465 );
472466
@@ -638,12 +632,12 @@ abstract contract DeployBase is Script {
638632 gate.revokeRole (gate.DEFAULT_ADMIN_ROLE (), deployer);
639633 }
640634
641- operatorsData .grantRole (
642- operatorsData .DEFAULT_ADMIN_ROLE (),
635+ metaOperatorsRegistry .grantRole (
636+ metaOperatorsRegistry .DEFAULT_ADMIN_ROLE (),
643637 config.aragonAgent
644638 );
645- operatorsData .revokeRole (
646- operatorsData .DEFAULT_ADMIN_ROLE (),
639+ metaOperatorsRegistry .revokeRole (
640+ metaOperatorsRegistry .DEFAULT_ADMIN_ROLE (),
647641 deployer
648642 );
649643
@@ -687,6 +681,14 @@ abstract contract DeployBase is Script {
687681 deployJson.set ("ChainId " , chainId);
688682 deployJson.set ("CuratedModule " , address (curatedModule));
689683 deployJson.set ("CuratedModuleImpl " , address (curatedModuleImpl));
684+ deployJson.set (
685+ "MetaOperatorRegistry " ,
686+ address (metaOperatorsRegistry)
687+ );
688+ deployJson.set (
689+ "MetaOperatorRegistryImpl " ,
690+ address (metaOperatorsRegistryImpl)
691+ );
690692 deployJson.set ("ParametersRegistry " , address (parametersRegistry));
691693 deployJson.set (
692694 "ParametersRegistryImpl " ,
@@ -705,8 +707,6 @@ abstract contract DeployBase is Script {
705707 deployJson.set ("ValidatorStrikesImpl " , address (strikesImpl));
706708 deployJson.set ("HashConsensus " , address (hashConsensus));
707709 deployJson.set ("Verifier " , address (verifier));
708- deployJson.set ("OperatorsData " , address (operatorsData));
709- deployJson.set ("OperatorsDataImpl " , address (operatorsDataImpl));
710710 deployJson.set ("CuratedGateFactory " , address (curatedGateFactory));
711711 deployJson.set ("CuratedGates " , curatedGateInstances);
712712 deployJson.set ("LidoLocator " , config.lidoLocatorAddress);
@@ -766,7 +766,10 @@ abstract contract DeployBase is Script {
766766 address (gate)
767767 );
768768 }
769- operatorsData.grantRole (operatorsData.SETTER_ROLE (), address (gate));
769+ metaOperatorsRegistry.grantRole (
770+ metaOperatorsRegistry.SET_OPERATOR_INFO_ROLE (),
771+ address (gate)
772+ );
770773 gate.grantRole (gate.PAUSE_ROLE (), config.resealManager);
771774 gate.grantRole (gate.RESUME_ROLE (), config.resealManager);
772775 gate.grantRole (
@@ -847,8 +850,8 @@ abstract contract DeployBase is Script {
847850 parametersRegistry.DEFAULT_ADMIN_ROLE (),
848851 config.secondAdminAddress
849852 );
850- operatorsData .grantRole (
851- operatorsData .DEFAULT_ADMIN_ROLE (),
853+ metaOperatorsRegistry .grantRole (
854+ metaOperatorsRegistry .DEFAULT_ADMIN_ROLE (),
852855 config.secondAdminAddress
853856 );
854857 for (uint256 i = 0 ; i < curatedGateInstances.length ; i++ ) {
0 commit comments