@@ -68,47 +68,58 @@ contract SharesFactoryTests is BaseTest {
6868 uint256 aliceBalBefore = addrAlice.balance;
6969 uint256 bobBalBefore = addrBob.balance;
7070 uint256 referrerBalBefore = referralReceiver.balance;
71- // uint256 factoryBalBefore = aWETH.balanceOf(address(sharesFactory));
7271 uint256 depositedETHAmountBefore = sharesFactory.depositedETHAmount ();
7372
73+ (
74+ uint256 buyPriceAfterFee ,
75+ uint256 buyPrice ,
76+ uint256 referralFee ,
77+ uint256 creatorFee
78+ ) = sharesFactory.getBuyPriceAfterFee (0 , 1 , referralReceiver);
7479 _buyShare (addrBob, 0 , 1 , referralReceiver);
7580
7681 uint256 aliceBalAfter = addrAlice.balance;
7782 uint256 bobBalAfter = addrBob.balance;
7883 uint256 referrerBalAfter = referralReceiver.balance;
79- // uint256 factoryBalAfter = aWETH.balanceOf(address(sharesFactory));
8084 uint256 depositedETHAmountAfter = sharesFactory.depositedETHAmount ();
8185
82- assertEq (bobBalBefore - bobBalAfter, 5500450999999993 ); // Bob buy 1 share
83- assertEq (aliceBalAfter - aliceBalBefore, 250020499999999 ); // Alice receive creator fee
84- assertEq (referrerBalAfter - referrerBalBefore, 250020499999999 ); // referral receive fee
85- // assertEq(factoryBalAfter - factoryBalBefore, 5000409999999995); // Factory aWETH balance with rounding error
86- assertEq (depositedETHAmountAfter - depositedETHAmountBefore, 5000409999999995 ); // Factory records ETH Amount
86+ assertEq (bobBalBefore - bobBalAfter, buyPriceAfterFee); // Bob buy 1 share
87+ assertEq (aliceBalAfter - aliceBalBefore, creatorFee); // Alice receive creator fee
88+ assertEq (referrerBalAfter - referrerBalBefore, referralFee); // referral receive fee
89+ assertEq (depositedETHAmountAfter - depositedETHAmountBefore, buyPrice); // Factory records ETH Amount
8790
8891 uint256 bobShareBal = sharesNFT.balanceOf (addrBob, 0 );
8992 assertEq (bobShareBal, 2 );
9093 }
9194
95+ function test_buyShareWithHighVolume () public view {
96+ (uint256 buyPriceAfterFee ,,,) = sharesFactory.getBuyPriceAfterFee (0 , 100000 , referralReceiver);
97+ console.log ("test_buyShareWithHighVolume " , buyPriceAfterFee);
98+ }
99+
92100 function test_sellShares () public {
93101 uint256 aliceBalBefore = addrAlice.balance;
94102 uint256 bobBalBefore = addrBob.balance;
95103 uint256 referrerBalBefore = referralReceiver.balance;
96- // uint256 factoryBalBefore = aWETH.balanceOf(address(sharesFactory));
97104 uint256 depositedETHAmountBefore = sharesFactory.depositedETHAmount ();
98105
106+ (
107+ uint256 sellPriceAfterFee ,
108+ uint256 sellPrice ,
109+ uint256 referralFee ,
110+ uint256 creatorFee
111+ ) = sharesFactory.getSellPriceAfterFee (1 , 1 , referralReceiver);
99112 _sellShare (addrAlice, 1 , 1 , referralReceiver);
100113
101114 uint256 aliceBalAfter = addrAlice.balance;
102115 uint256 bobBalAfter = addrBob.balance;
103116 uint256 referrerBalAfter = referralReceiver.balance;
104- // uint256 factoryBalAfter = aWETH.balanceOf(address(sharesFactory));
105117 uint256 depositedETHAmountAfter = sharesFactory.depositedETHAmount ();
106118
107- assertEq (aliceBalAfter - aliceBalBefore, 4500163999999998 ); // Alice sell 1 share
108- assertEq (bobBalAfter - bobBalBefore, 250009111111111 ); // Bob receive creator fee
109- assertEq (referrerBalAfter - referrerBalBefore, 250009111111111 ); // Referral receive fee
110- // assertEq(factoryBalBefore - factoryBalAfter, 5000182222222220); // Factory aWETH balance with rounding error
111- assertEq (depositedETHAmountBefore - depositedETHAmountAfter, 5000182222222220 ); // Factory records ETH Amount
119+ assertEq (aliceBalAfter - aliceBalBefore, sellPriceAfterFee); // Alice sell 1 share
120+ assertEq (bobBalAfter - bobBalBefore, creatorFee); // Bob receive creator fee
121+ assertEq (referrerBalAfter - referrerBalBefore, referralFee); // Referral receive fee
122+ assertEq (depositedETHAmountBefore - depositedETHAmountAfter, sellPrice); // Factory records ETH Amount
112123
113124 uint256 aliceShareBal = sharesNFT.balanceOf (addrAlice, 1 );
114125 assertEq (aliceShareBal, 0 );
0 commit comments