|
2 | 2 | pragma solidity 0.8.25;
|
3 | 3 |
|
4 | 4 | import { console } from "forge-std/console.sol";
|
| 5 | +import { SafeCastLib } from "solady/utils/SafeCastLib.sol"; |
5 | 6 | import { SharesFactoryV1 } from "contracts/core/SharesFactoryV1.sol";
|
6 | 7 | import { IYieldAggregator } from "contracts/interface/IYieldAggregator.sol";
|
7 | 8 | import { BaseTest } from "../BaseTest.t.sol";
|
@@ -92,11 +93,6 @@ contract SharesFactoryTests is BaseTest {
|
92 | 93 | assertEq(bobShareBal, 2);
|
93 | 94 | }
|
94 | 95 |
|
95 |
| - function test_buyShareWithHighVolume() public view { |
96 |
| - (uint256 buyPriceAfterFee,,,) = sharesFactory.getBuyPriceAfterFee(0, 100000, referralReceiver); |
97 |
| - console.log("test_buyShareWithHighVolume", buyPriceAfterFee); |
98 |
| - } |
99 |
| - |
100 | 96 | function test_sellShares() public {
|
101 | 97 | uint256 aliceBalBefore = addrAlice.balance;
|
102 | 98 | uint256 bobBalBefore = addrBob.balance;
|
@@ -385,6 +381,19 @@ contract SharesFactoryTests is BaseTest {
|
385 | 381 | }
|
386 | 382 |
|
387 | 383 | function test_getBuyPriceAfterFeeFailed() public {
|
| 384 | + // When the quantity is 5_000 that reach th |
| 385 | + uint256 gasBefore = gasleft(); |
| 386 | + sharesFactory.getBuyPriceAfterFee(0, 5_000, referralReceiver); |
| 387 | + uint256 gasAfter = gasleft(); |
| 388 | + console.log("gas usage", gasBefore - gasAfter); |
| 389 | + |
| 390 | + // Expect revert if supply is over `2**32 -1` (uint32) |
| 391 | + vm.expectRevert(); |
| 392 | + sharesFactory.getSubTotal(SafeCastLib.toUint32(2**32), 1, 0); |
| 393 | + |
| 394 | + // Expect success if supply is lower than `2**32` (uint32) |
| 395 | + sharesFactory.getSubTotal(SafeCastLib.toUint32(2**32 - 1), 1, 0); |
| 396 | + |
388 | 397 | vm.expectRevert(bytes("Invalid shareId"));
|
389 | 398 | sharesFactory.getBuyPriceAfterFee(999, 0, referralReceiver);
|
390 | 399 |
|
@@ -525,7 +534,6 @@ contract SharesFactoryTests is BaseTest {
|
525 | 534 |
|
526 | 535 | function _buyShare(address sender, uint256 shareId, uint32 quantity, address referral) internal {
|
527 | 536 | (uint256 buyPriceAfterFee,,,) = sharesFactory.getBuyPriceAfterFee(shareId, quantity, referral);
|
528 |
| - // console.log("buyPriceAfterFee", buyPriceAfterFee, shareId, quantity, referral); |
529 | 537 | vm.prank(address(sender));
|
530 | 538 | sharesFactory.buyShare{ value: buyPriceAfterFee }(shareId, quantity, referral);
|
531 | 539 | }
|
|
0 commit comments