@@ -104,6 +104,11 @@ contract FeeForkTest is Test {
104104 console.log ("feeContractVaultShares " , feeContractVaultShares);
105105 assertEq (feeContractVaultShares, d.vaultShares);
106106
107+ // confirm that the asset is in the userVaultOrPoolAssetAddresses set
108+ address [] memory userVaultOrPoolAssetAddresses = feeViewsFacet.userVaultOrPoolAssetAddresses (APP_USER_ALICE);
109+ assertEq (userVaultOrPoolAssetAddresses.length , 1 );
110+ assertEq (userVaultOrPoolAssetAddresses[0 ], address (morphoVault));
111+
107112 // find the underlying morpho market and advance timestamp to 1 week from now to accrue interest, to simulate profit
108113 uint256 withdrawalQueueLength = morphoVault.withdrawQueueLength ();
109114 console.log ("withdrawalQueueLength " , withdrawalQueueLength);
@@ -134,6 +139,10 @@ contract FeeForkTest is Test {
134139 assertEq (d.vaultShares, 0 );
135140 assertEq (d.vaultProvider, 0 );
136141
142+ // confirm that the asset is no longer in the userVaultOrPoolAssetAddresses set
143+ userVaultOrPoolAssetAddresses = feeViewsFacet.userVaultOrPoolAssetAddresses (APP_USER_ALICE);
144+ assertEq (userVaultOrPoolAssetAddresses.length , 0 );
145+
137146 // confirm the profit went to the fee contract, and some went to the user
138147 uint256 userBalance = underlyingERC20.balanceOf (APP_USER_ALICE);
139148 uint256 feeContractBalance = underlyingERC20.balanceOf (address (morphoPerfFeeFacet));
@@ -192,6 +201,11 @@ contract FeeForkTest is Test {
192201 console.log ("feeContractVaultShares " , feeContractVaultShares);
193202 assertEq (feeContractVaultShares, d.vaultShares);
194203
204+ // confirm that the asset is in the userVaultOrPoolAssetAddresses set
205+ address [] memory userVaultOrPoolAssetAddresses = feeViewsFacet.userVaultOrPoolAssetAddresses (APP_USER_ALICE);
206+ assertEq (userVaultOrPoolAssetAddresses.length , 1 );
207+ assertEq (userVaultOrPoolAssetAddresses[0 ], address (morphoVault));
208+
195209 // check that asset balance will be slightly lower if we withdraw now, due to fees / rounding
196210 uint256 expectedTotalWithdrawal = morphoVault.convertToAssets (d.vaultShares);
197211 console.log ("expectedTotalWithdrawal " , expectedTotalWithdrawal);
@@ -208,6 +222,10 @@ contract FeeForkTest is Test {
208222 assertEq (d.vaultShares, 0 );
209223 assertEq (d.vaultProvider, 0 );
210224
225+ // confirm that the asset is no longer in the userVaultOrPoolAssetAddresses set
226+ userVaultOrPoolAssetAddresses = feeViewsFacet.userVaultOrPoolAssetAddresses (APP_USER_ALICE);
227+ assertEq (userVaultOrPoolAssetAddresses.length , 0 );
228+
211229 // confirm there was no profit
212230 uint256 userBalance = underlyingERC20.balanceOf (APP_USER_ALICE);
213231 uint256 feeContractBalance = underlyingERC20.balanceOf (address (morphoPerfFeeFacet));
@@ -259,6 +277,11 @@ contract FeeForkTest is Test {
259277 console.log ("feeContractVaultShares " , feeContractVaultShares);
260278 assertEq (feeContractVaultShares, d.vaultShares);
261279
280+ // confirm that the asset is in the userVaultOrPoolAssetAddresses set
281+ address [] memory userVaultOrPoolAssetAddresses = feeViewsFacet.userVaultOrPoolAssetAddresses (APP_USER_ALICE);
282+ assertEq (userVaultOrPoolAssetAddresses.length , 1 );
283+ assertEq (userVaultOrPoolAssetAddresses[0 ], address (morphoVault));
284+
262285 // deposit again
263286 vm.startPrank (USDC_MINTER);
264287 underlyingERC20.mint (APP_USER_ALICE, depositAmount);
@@ -268,6 +291,11 @@ contract FeeForkTest is Test {
268291 morphoPerfFeeFacet.depositToMorpho (address (morphoVault), depositAmount);
269292 vm.stopPrank ();
270293
294+ // confirm that the asset is still in the userVaultOrPoolAssetAddresses set
295+ userVaultOrPoolAssetAddresses = feeViewsFacet.userVaultOrPoolAssetAddresses (APP_USER_ALICE);
296+ assertEq (userVaultOrPoolAssetAddresses.length , 1 );
297+ assertEq (userVaultOrPoolAssetAddresses[0 ], address (morphoVault));
298+
271299 // deposited twice, so total deposit amount is times 2
272300 depositAmount = depositAmount * 2 ;
273301
@@ -311,6 +339,10 @@ contract FeeForkTest is Test {
311339 assertEq (d.vaultShares, 0 );
312340 assertEq (d.vaultProvider, 0 );
313341
342+ // confirm that the asset is no longer in the userVaultOrPoolAssetAddresses set
343+ userVaultOrPoolAssetAddresses = feeViewsFacet.userVaultOrPoolAssetAddresses (APP_USER_ALICE);
344+ assertEq (userVaultOrPoolAssetAddresses.length , 0 );
345+
314346 // confirm the profit went to the fee contract, and some went to the user
315347 uint256 userBalance = underlyingERC20.balanceOf (APP_USER_ALICE);
316348 uint256 feeContractBalance = underlyingERC20.balanceOf (address (morphoPerfFeeFacet));
0 commit comments