Skip to content

Commit 510fc9c

Browse files
committed
enh(ATokenVaultMerklRewardClaimer): address feedback on additional tests and cleanup
1 parent 558c9ef commit 510fc9c

File tree

3 files changed

+8
-85
lines changed

3 files changed

+8
-85
lines changed

test/ATokenVaultMerklRewardClaimer.t.sol

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,11 @@ contract ATokenVaultMerklRewardClaimerTest is ATokenVaultBaseTest {
111111
assertGt(user1ATokenBalanceAfter, user1ATokenBalanceBefore);
112112
uint256 user2ATokenBalanceAfter = vault.previewRedeem(user2ShareBalanceAfter);
113113
assertGt(user2ATokenBalanceAfter, user2ATokenBalanceBefore);
114+
115+
// Check that emergency rescue is not allowed
116+
vm.expectRevert(bytes("CANNOT_RESCUE_ATOKEN"));
117+
vm.prank(OWNER);
118+
vault.emergencyRescue(address(_aDai), address(this), vaultATokenBalanceAfter);
114119
}
115120

116121
function testClaimMerklRewardsIfUnderlyingTokenAndRescue() public {

test/ATokenVaultMerklRewardClaimerFork.t.sol

Lines changed: 3 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -45,27 +45,7 @@ contract ATokenVaultMerklRewardClaimerForkTest is ATokenVaultBaseTest {
4545
_deployATokenVaultMerklRewardClaimer(ETHEREUM_RLUSD, ETHEREUM_HORIZON_POOL_ADDRESSES_PROVIDER);
4646
}
4747

48-
/*//////////////////////////////////////////////////////////////
49-
ETHEREUM FORK TESTS
50-
//////////////////////////////////////////////////////////////*/
51-
52-
function testEthereumForkWorks() public {
53-
assertEq(vm.activeFork(), ethereumFork);
54-
}
55-
56-
function testEthereumForkAtExpectedBlock() public {
57-
assertEq(block.number, ETHEREUM_FORK_BLOCK);
58-
}
59-
60-
function testEthereumForkBalanceOfAddressWithClaimableRewards() public {
61-
assertEq(ADDRESS_WITH_CLAIMABLE_REWARDS.balance, 154288817306978598);
62-
}
63-
64-
/*//////////////////////////////////////////////////////////////
65-
MERKL REWARDS CLAIM TESTS
66-
//////////////////////////////////////////////////////////////*/
67-
68-
function testOwnerCanClaimMerklRewards() public {
48+
function testOwnerCanClaimMerklRewards() public {
6949
_setMerklDistributor();
7050
// Set the code for an address that has claimable rewards as of the fork block
7151
// We will use this in place of the vault deployment
@@ -76,6 +56,8 @@ contract ATokenVaultMerklRewardClaimerForkTest is ATokenVaultBaseTest {
7656

7757
(address[] memory tokens, uint256[] memory amounts, bytes32[][] memory proofs) = _buildMerklRewardsClaimData();
7858

59+
vm.expectEmit(true, true, false, true, ADDRESS_WITH_CLAIMABLE_REWARDS);
60+
emit IATokenVaultMerklRewardClaimer.MerklRewardsClaimed(MERKL_DISTRIBUTOR, tokens, amounts);
7961
vm.prank(OWNER);
8062
IATokenVaultMerklRewardClaimer(ADDRESS_WITH_CLAIMABLE_REWARDS).claimMerklRewards(tokens, amounts, proofs);
8163

@@ -87,67 +69,6 @@ contract ATokenVaultMerklRewardClaimerForkTest is ATokenVaultBaseTest {
8769
assertEq(IERC20(WRAPPED_A_HOR_RWA_RLUSD).balanceOf(ADDRESS_WITH_CLAIMABLE_REWARDS), beforeBalanceOfWrappedAHorRwaRLUSD);
8870
}
8971

90-
function testClaimMerklRewardsEmitsEvent() public {
91-
_setMerklDistributor();
92-
// Set the code for an address that has claimable rewards as of the fork block
93-
// We will use this in place of the vault deployment
94-
_etchVault(ADDRESS_WITH_CLAIMABLE_REWARDS);
95-
96-
(address[] memory tokens, uint256[] memory amounts, bytes32[][] memory proofs) = _buildMerklRewardsClaimData();
97-
98-
vm.prank(OWNER);
99-
vm.expectEmit(true, true, false, true, ADDRESS_WITH_CLAIMABLE_REWARDS);
100-
emit IATokenVaultMerklRewardClaimer.MerklRewardsClaimed(MERKL_DISTRIBUTOR, tokens, amounts);
101-
IATokenVaultMerklRewardClaimer(ADDRESS_WITH_CLAIMABLE_REWARDS).claimMerklRewards(tokens, amounts, proofs);
102-
}
103-
104-
function testClaimMerklRewardsRevertsIfMerklDistributorNotSet() public {
105-
(address[] memory tokens, uint256[] memory amounts, bytes32[][] memory proofs) = _buildMerklRewardsClaimData();
106-
107-
vm.prank(OWNER);
108-
vm.expectRevert(bytes("MERKL_DISTRIBUTOR_NOT_SET"));
109-
IATokenVaultMerklRewardClaimer(address(vault)).claimMerklRewards(tokens, amounts, proofs);
110-
}
111-
112-
function testClaimMerklRewardsRevertsIfNotOwner() public {
113-
(address[] memory tokens, uint256[] memory amounts, bytes32[][] memory proofs) = _buildMerklRewardsClaimData();
114-
115-
vm.expectRevert(bytes("Ownable: caller is not the owner"));
116-
IATokenVaultMerklRewardClaimer(address(vault)).claimMerklRewards(tokens, amounts, proofs);
117-
}
118-
119-
function testSetMerklDistributor() public {
120-
vm.prank(OWNER);
121-
IATokenVaultMerklRewardClaimer(address(vault)).setMerklDistributor(MERKL_DISTRIBUTOR);
122-
assertEq(IATokenVaultMerklRewardClaimer(address(vault)).getMerklDistributor(), MERKL_DISTRIBUTOR);
123-
124-
address newMerklDistributor = makeAddr("newMerklDistributor");
125-
vm.prank(OWNER);
126-
IATokenVaultMerklRewardClaimer(address(vault)).setMerklDistributor(newMerklDistributor);
127-
assertEq(IATokenVaultMerklRewardClaimer(address(vault)).getMerklDistributor(), newMerklDistributor);
128-
}
129-
130-
function testSetMerklDistributorEmitsEvent() public {
131-
vm.prank(OWNER);
132-
vm.expectEmit(true, true, false, true, address(vault));
133-
emit IATokenVaultMerklRewardClaimer.MerklDistributorUpdated(address(0), MERKL_DISTRIBUTOR);
134-
IATokenVaultMerklRewardClaimer(address(vault)).setMerklDistributor(MERKL_DISTRIBUTOR);
135-
}
136-
137-
function testSetMerklDistributorAllowsZeroAddress() public {
138-
vm.prank(OWNER);
139-
IATokenVaultMerklRewardClaimer(address(vault)).setMerklDistributor(MERKL_DISTRIBUTOR);
140-
assertEq(IATokenVaultMerklRewardClaimer(address(vault)).getMerklDistributor(), MERKL_DISTRIBUTOR);
141-
vm.prank(OWNER);
142-
IATokenVaultMerklRewardClaimer(address(vault)).setMerklDistributor(address(0));
143-
assertEq(IATokenVaultMerklRewardClaimer(address(vault)).getMerklDistributor(), address(0));
144-
}
145-
146-
function testSetMerklDistributorRevertsIfNotOwner() public {
147-
vm.expectRevert(bytes("Ownable: caller is not the owner"));
148-
IATokenVaultMerklRewardClaimer(address(vault)).setMerklDistributor(MERKL_DISTRIBUTOR);
149-
}
150-
15172
function _buildMerklRewardsClaimData() internal pure returns (address[] memory tokens, uint256[] memory amounts, bytes32[][] memory proofs) {
15273
tokens = new address[](1);
15374
tokens[0] = address(WRAPPED_A_HOR_RWA_RLUSD);

test/mocks/MockMerklDistributor.sol

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,6 @@ contract MockMerklDistributor is IMerklDistributor {
3333
}
3434
}
3535
}
36-
_recipients = new address[](0);
37-
_tokens = new address[](0);
38-
_amounts = new uint256[](0);
3936
}
4037

4138
function mockTokensToSend(

0 commit comments

Comments
 (0)