diff --git a/src/contracts/core/RewardsCoordinator.sol b/src/contracts/core/RewardsCoordinator.sol index 03e9f9a32c..a62547cadb 100644 --- a/src/contracts/core/RewardsCoordinator.sol +++ b/src/contracts/core/RewardsCoordinator.sol @@ -448,6 +448,7 @@ contract RewardsCoordinator is function _setDefaultOperatorSplit( uint16 split ) internal { + require(split <= ONE_HUNDRED_IN_BIPS, SplitExceedsMax()); emit DefaultOperatorSplitBipsSet(defaultOperatorSplitBips, split); defaultOperatorSplitBips = split; } diff --git a/src/test/unit/RewardsCoordinatorUnit.t.sol b/src/test/unit/RewardsCoordinatorUnit.t.sol index 418af9206c..a3e659b75f 100644 --- a/src/test/unit/RewardsCoordinatorUnit.t.sol +++ b/src/test/unit/RewardsCoordinatorUnit.t.sol @@ -369,14 +369,23 @@ contract RewardsCoordinatorUnitTests_initializeAndSetters is RewardsCoordinatorU } function testFuzz_setDefaultOperatorSplit(uint16 defaultSplitBips) public { + defaultSplitBips = uint16(bound(defaultSplitBips, 0, ONE_HUNDRED_IN_BIPS)); cheats.startPrank(rewardsCoordinator.owner()); + uint16 oldDefaultSplitBips = rewardsCoordinator.defaultOperatorSplitBips(); cheats.expectEmit(true, true, true, true, address(rewardsCoordinator)); - emit DefaultOperatorSplitBipsSet(rewardsCoordinator.defaultOperatorSplitBips(), defaultSplitBips); + emit DefaultOperatorSplitBipsSet(oldDefaultSplitBips, defaultSplitBips); rewardsCoordinator.setDefaultOperatorSplit(defaultSplitBips); assertEq(defaultSplitBips, rewardsCoordinator.defaultOperatorSplitBips(), "defaultOperatorSplitBips not set"); cheats.stopPrank(); } + function testFuzz_setDefaultOperatorSplit_Revert_WhenSplitGreaterThan100(uint16 defaultSplitBips) public { + defaultSplitBips = uint16(bound(defaultSplitBips, ONE_HUNDRED_IN_BIPS + 1, type(uint16).max)); + cheats.startPrank(rewardsCoordinator.owner()); + cheats.expectRevert(SplitExceedsMax.selector); + rewardsCoordinator.setDefaultOperatorSplit(defaultSplitBips); + } + function testFuzz_setDefaultOperatorSplit_Revert_WhenNotOwner(address caller, uint16 defaultSplitBips) public filterFuzzedAddressInputs(caller)