Skip to content

Commit

Permalink
fix: use distinct args for dynamic types
Browse files Browse the repository at this point in the history
  • Loading branch information
QGarchery committed Apr 3, 2024
1 parent 787e154 commit 725c9ee
Showing 1 changed file with 25 additions and 2 deletions.
27 changes: 25 additions & 2 deletions test/forge/HalmosTest.sol
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import "../../src/Morpho.sol";
import "../../src/libraries/ConstantsLib.sol";
import {MorphoLib} from "../../src/libraries/periphery/MorphoLib.sol";

/// @custom:halmos --solver-timeout-assertion 0
/// @custom:halmos --symbolic-storage --solver-timeout-assertion 0
contract HalmosTest is SymTest, Test {
using MorphoLib for IMorpho;
using MarketParamsLib for MarketParams;
Expand Down Expand Up @@ -74,7 +74,30 @@ contract HalmosTest is SymTest, Test {
}

function check_fee(bytes4 selector, address caller) public {
bytes memory args = svm.createBytes(1024, "data");
vm.assume(selector != morpho.extSloads.selector);

bytes memory emptyData = hex"";
uint256 assets = svm.createUint256("assets");
uint256 shares = svm.createUint256("shares");
address onBehalf = svm.createAddress("onBehalf");

bytes memory args;

if (selector == morpho.supply.selector) {
args = abi.encode(marketParams, assets, shares, onBehalf, emptyData);
} else if (selector == morpho.repay.selector) {
args = abi.encode(marketParams, assets, shares, onBehalf, emptyData);
} else if (selector == morpho.supplyCollateral.selector) {
args = abi.encode(marketParams, assets, onBehalf, emptyData);
} else if (selector == morpho.liquidate.selector) {
address borrower = svm.createAddress("borrower");
args = abi.encode(marketParams, borrower, assets, shares, emptyData);
} else if (selector == morpho.flashLoan.selector) {
address token = svm.createAddress("token");
args = abi.encode(marketParams, token, assets, emptyData);
} else {
args = svm.createBytes(1024, "data");
}

vm.prank(caller);
(bool success,) = address(morpho).call(abi.encodePacked(selector, args));
Expand Down

0 comments on commit 725c9ee

Please sign in to comment.