Skip to content

Commit

Permalink
test: custom errors EigenPodManager
Browse files Browse the repository at this point in the history
  • Loading branch information
0xClandestine committed Sep 25, 2024
1 parent 662fb30 commit 471264d
Showing 1 changed file with 16 additions and 16 deletions.
32 changes: 16 additions & 16 deletions src/test/unit/EigenPodManagerUnit.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ contract EigenPodManagerUnitTests_CreationTests is EigenPodManagerUnitTests, IEi
}

function test_createPod_revert_alreadyCreated() public deployPodForStaker(defaultStaker) {
cheats.expectRevert("EigenPodManager.createPod: Sender already has a pod");
cheats.expectRevert(IEigenPodManager.EigenPodAlreadyExists.selector);
eigenPodManager.createPod();
}
}
Expand Down Expand Up @@ -193,28 +193,28 @@ contract EigenPodManagerUnitTests_ShareUpdateTests is EigenPodManagerUnitTests {
function testFuzz_addShares_revert_notDelegationManager(address notDelegationManager) public filterFuzzedAddressInputs(notDelegationManager){
cheats.assume(notDelegationManager != address(delegationManagerMock));
cheats.prank(notDelegationManager);
cheats.expectRevert("EigenPodManager.onlyDelegationManager: not the DelegationManager");
cheats.expectRevert(IEigenPodManager.UnauthorizedCaller.selector);
eigenPodManager.addShares(defaultStaker, 0);
}

function test_addShares_revert_podOwnerZeroAddress() public {
cheats.prank(address(delegationManagerMock));
cheats.expectRevert("EigenPodManager.addShares: podOwner cannot be zero address");
cheats.expectRevert(IEigenPod.InputAddressZero.selector);
eigenPodManager.addShares(address(0), 0);
}

function testFuzz_addShares_revert_sharesNegative(int256 shares) public {
cheats.assume(shares < 0);
cheats.prank(address(delegationManagerMock));
cheats.expectRevert("EigenPodManager.addShares: shares cannot be negative");
cheats.expectRevert(IEigenPodManager.SharesNegative.selector);
eigenPodManager.addShares(defaultStaker, uint256(shares));
}

function testFuzz_addShares_revert_sharesNotWholeGwei(uint256 shares) public {
cheats.assume(int256(shares) >= 0);
cheats.assume(shares % GWEI_TO_WEI != 0);
cheats.prank(address(delegationManagerMock));
cheats.expectRevert("EigenPodManager.addShares: shares must be a whole Gwei amount");
cheats.expectRevert(IEigenPodManager.SharesNotMultipleOfGwei.selector);
eigenPodManager.addShares(defaultStaker, shares);
}

Expand All @@ -239,22 +239,22 @@ contract EigenPodManagerUnitTests_ShareUpdateTests is EigenPodManagerUnitTests {
function testFuzz_removeShares_revert_notDelegationManager(address notDelegationManager) public filterFuzzedAddressInputs(notDelegationManager) {
cheats.assume(notDelegationManager != address(delegationManagerMock));
cheats.prank(notDelegationManager);
cheats.expectRevert("EigenPodManager.onlyDelegationManager: not the DelegationManager");
cheats.expectRevert(IEigenPodManager.UnauthorizedCaller.selector);
eigenPodManager.removeShares(defaultStaker, 0);
}

function testFuzz_removeShares_revert_sharesNegative(int256 shares) public {
cheats.assume(shares < 0);
cheats.prank(address(delegationManagerMock));
cheats.expectRevert("EigenPodManager.removeShares: shares cannot be negative");
cheats.expectRevert(IEigenPodManager.SharesNegative.selector);
eigenPodManager.removeShares(defaultStaker, uint256(shares));
}

function testFuzz_removeShares_revert_sharesNotWholeGwei(uint256 shares) public {
cheats.assume(int256(shares) >= 0);
cheats.assume(shares % GWEI_TO_WEI != 0);
cheats.prank(address(delegationManagerMock));
cheats.expectRevert("EigenPodManager.removeShares: shares must be a whole Gwei amount");
cheats.expectRevert(IEigenPodManager.SharesNotMultipleOfGwei.selector);
eigenPodManager.removeShares(defaultStaker, shares);
}

Expand All @@ -269,7 +269,7 @@ contract EigenPodManagerUnitTests_ShareUpdateTests is EigenPodManagerUnitTests {

// Remove shares
cheats.prank(address(delegationManagerMock));
cheats.expectRevert("EigenPodManager.removeShares: cannot result in pod owner having negative shares");
cheats.expectRevert(IEigenPodManager.SharesNegative.selector);
eigenPodManager.removeShares(defaultStaker, sharesRemoved);
}

Expand Down Expand Up @@ -314,20 +314,20 @@ contract EigenPodManagerUnitTests_ShareUpdateTests is EigenPodManagerUnitTests {

function test_withdrawSharesAsTokens_revert_podOwnerZeroAddress() public {
cheats.prank(address(delegationManagerMock));
cheats.expectRevert("EigenPodManager.withdrawSharesAsTokens: podOwner cannot be zero address");
cheats.expectRevert(IEigenPod.InputAddressZero.selector);
eigenPodManager.withdrawSharesAsTokens(address(0), address(0), 0);
}

function test_withdrawSharesAsTokens_revert_destinationZeroAddress() public {
cheats.prank(address(delegationManagerMock));
cheats.expectRevert("EigenPodManager.withdrawSharesAsTokens: destination cannot be zero address");
cheats.expectRevert(IEigenPod.InputAddressZero.selector);
eigenPodManager.withdrawSharesAsTokens(defaultStaker, address(0), 0);
}

function testFuzz_withdrawSharesAsTokens_revert_sharesNegative(int256 shares) public {
cheats.assume(shares < 0);
cheats.prank(address(delegationManagerMock));
cheats.expectRevert("EigenPodManager.withdrawSharesAsTokens: shares cannot be negative");
cheats.expectRevert(IEigenPodManager.SharesNegative.selector);
eigenPodManager.withdrawSharesAsTokens(defaultStaker, defaultStaker, uint256(shares));
}

Expand All @@ -336,7 +336,7 @@ contract EigenPodManagerUnitTests_ShareUpdateTests is EigenPodManagerUnitTests {
cheats.assume(shares % GWEI_TO_WEI != 0);

cheats.prank(address(delegationManagerMock));
cheats.expectRevert("EigenPodManager.withdrawSharesAsTokens: shares must be a whole Gwei amount");
cheats.expectRevert(IEigenPodManager.SharesNotMultipleOfGwei.selector);
eigenPodManager.withdrawSharesAsTokens(defaultStaker, defaultStaker, shares);
}

Expand Down Expand Up @@ -399,21 +399,21 @@ contract EigenPodManagerUnitTests_BeaconChainETHBalanceUpdateTests is EigenPodMa
function testFuzz_recordBalanceUpdate_revert_notPod(address invalidCaller) public filterFuzzedAddressInputs(invalidCaller) deployPodForStaker(defaultStaker) {
cheats.assume(invalidCaller != address(defaultPod));
cheats.prank(invalidCaller);
cheats.expectRevert("EigenPodManager.onlyEigenPod: not a pod");
cheats.expectRevert(IEigenPodManager.UnauthorizedCaller.selector);
eigenPodManager.recordBeaconChainETHBalanceUpdate(defaultStaker, 0);
}

function test_recordBalanceUpdate_revert_zeroAddress() public {
IEigenPod zeroAddressPod = _deployAndReturnEigenPodForStaker(address(0));
cheats.prank(address(zeroAddressPod));
cheats.expectRevert("EigenPodManager.recordBeaconChainETHBalanceUpdate: podOwner cannot be zero address");
cheats.expectRevert(IEigenPod.InputAddressZero.selector);
eigenPodManager.recordBeaconChainETHBalanceUpdate(address(0), 0);
}

function testFuzz_recordBalanceUpdate_revert_nonWholeGweiAmount(int256 sharesDelta) public deployPodForStaker(defaultStaker) {
cheats.assume(sharesDelta % int256(GWEI_TO_WEI) != 0);
cheats.prank(address(defaultPod));
cheats.expectRevert("EigenPodManager.recordBeaconChainETHBalanceUpdate: sharesDelta must be a whole Gwei amount");
cheats.expectRevert(IEigenPodManager.SharesNotMultipleOfGwei.selector);
eigenPodManager.recordBeaconChainETHBalanceUpdate(defaultStaker, sharesDelta);
}

Expand Down

0 comments on commit 471264d

Please sign in to comment.