From e2950d44b682480f56b5c4c7a8dcc7b9c125206e Mon Sep 17 00:00:00 2001 From: zeroknots Date: Fri, 29 Mar 2024 15:22:05 +0700 Subject: [PATCH] fix: remove delegatecall in fallback fix: --- src/core/ModuleManager.sol | 11 ----------- test/MSA.t.sol | 11 ----------- 2 files changed, 22 deletions(-) diff --git a/src/core/ModuleManager.sol b/src/core/ModuleManager.sol index 0330ed4..e1abda1 100644 --- a/src/core/ModuleManager.sol +++ b/src/core/ModuleManager.sol @@ -296,16 +296,5 @@ abstract contract ModuleManager is AccountBase, Receiver { return(returnDataPtr, returndatasize()) } } - - if (calltype == CALLTYPE_DELEGATECALL) { - assembly { - calldatacopy(0, 0, calldatasize()) - let result := delegatecall(gas(), handler, 0, calldatasize(), 0, 0) - returndatacopy(0, 0, returndatasize()) - switch result - case 0 { revert(0, returndatasize()) } - default { return(0, returndatasize()) } - } - } } } diff --git a/test/MSA.t.sol b/test/MSA.t.sol index 7454837..f114a96 100644 --- a/test/MSA.t.sol +++ b/test/MSA.t.sol @@ -141,12 +141,6 @@ contract MSATest is TestBaseUtil { abi.encodePacked(MockFallback.callTarget.selector, CALLTYPE_SINGLE, "") ); - account.installModule( - MODULE_TYPE_FALLBACK, - address(fallbackModule), - abi.encodePacked(MockFallback.delegateCallTarget.selector, CALLTYPE_DELEGATECALL, "") - ); - account.installModule( MODULE_TYPE_FALLBACK, address(fallbackModule), @@ -172,11 +166,6 @@ contract MSATest is TestBaseUtil { assertEq(erc2771, address(this), "erc2771 should be the test contract"); assertEq(_this, address(fallbackModule), "this should be the fallback module"); - (ret, sender, _this) = MockFallback(address(account)).delegateCallTarget(1337); - assertEq(ret, 1337); - assertEq(sender, address(this)); - assertEq(_this, address(account)); - vm.startPrank(address(account)); account.uninstallModule( MODULE_TYPE_FALLBACK,