From 49c7e8c42433c036198ec2bef2fefbaff68d5aa6 Mon Sep 17 00:00:00 2001 From: highskore Date: Thu, 28 Nov 2024 22:05:16 +0100 Subject: [PATCH] chore: rename file --- src/Modules.sol | 2 +- ...IERC7579Modules.sol => IERC7579Module.sol} | 0 .../erc7579/helpers/ExecutionHelper.sol | 134 ++++++++++++++++++ .../erc7579/interfaces/IERC7579Bootstrap.sol | 2 +- src/accounts/kernel/KernelFactory.sol | 4 +- src/accounts/kernel/interfaces/IKernel.sol | 2 +- .../kernel/interfaces/IValidationManager.sol | 2 +- src/accounts/kernel/lib/ValidationTypeLib.sol | 2 +- src/accounts/kernel/mock/MockFallback.sol | 2 +- .../nexus/interfaces/INexusBootstrap.sol | 2 +- src/integrations/registry/ExampleFactory.sol | 2 +- src/module-bases/ERC7579ExecutorBase.sol | 2 +- src/module-bases/ERC7579FallbackBase.sol | 2 +- src/module-bases/ERC7579HookBase.sol | 2 +- src/module-bases/ERC7579HookDestruct.sol | 2 +- src/module-bases/ERC7579ModuleBase.sol | 2 +- src/module-bases/interfaces/IPolicy.sol | 2 +- src/test/ModuleKitHelpers.sol | 2 +- src/test/RhinestoneModuleKit.sol | 2 +- src/test/helpers/HelperBase.sol | 2 +- src/test/helpers/KernelHelpers.sol | 2 +- src/test/helpers/SafeHelpers.sol | 2 +- src/test/helpers/interfaces/ISmartSession.sol | 2 +- test/Diff.t.sol | 2 +- test/integrations/SmartSession.t.sol | 2 +- test/mocks/MockK1Validator.sol | 2 +- .../MockK1ValidatorUncompliantUninstall.sol | 2 +- 27 files changed, 160 insertions(+), 26 deletions(-) rename src/accounts/common/interfaces/{IERC7579Modules.sol => IERC7579Module.sol} (100%) create mode 100644 src/accounts/erc7579/helpers/ExecutionHelper.sol diff --git a/src/Modules.sol b/src/Modules.sol index 2abb20e0..042552bb 100644 --- a/src/Modules.sol +++ b/src/Modules.sol @@ -14,7 +14,7 @@ import { IExecutor as IERC7579Executor, IFallback as IERC7579Fallback, IHook as IERC7579Hook -} from "src/accounts/common/interfaces/IERC7579Modules.sol"; +} from "src/accounts/common/interfaces/IERC7579Module.sol"; import { ERC7484RegistryAdapter } from "src/module-bases/ERC7484RegistryAdapter.sol"; import { ERC7579ModuleBase } from "src/module-bases/ERC7579ModuleBase.sol"; import { TrustedForwarder } from "src/module-bases/utils/TrustedForwarder.sol"; diff --git a/src/accounts/common/interfaces/IERC7579Modules.sol b/src/accounts/common/interfaces/IERC7579Module.sol similarity index 100% rename from src/accounts/common/interfaces/IERC7579Modules.sol rename to src/accounts/common/interfaces/IERC7579Module.sol diff --git a/src/accounts/erc7579/helpers/ExecutionHelper.sol b/src/accounts/erc7579/helpers/ExecutionHelper.sol new file mode 100644 index 00000000..bc4838ac --- /dev/null +++ b/src/accounts/erc7579/helpers/ExecutionHelper.sol @@ -0,0 +1,134 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.23; + +import { Execution } from "../../common/interfaces/IERC7579Account.sol"; + +/** + * @title Execution + * @dev This contract executes calls in the context of this contract. + * @author zeroknots.eth | rhinestone.wtf + * shoutout to solady (vectorized, ross) for this code + * https://github.com/Vectorized/solady/blob/main/src/accounts/ERC4337.sol + */ +contract ExecutionHelper { + error ExecutionFailed(); + + event TryExecuteUnsuccessful(uint256 batchExecutionindex, bytes result); + + function _execute(Execution[] calldata executions) internal returns (bytes[] memory result) { + uint256 length = executions.length; + result = new bytes[](length); + + for (uint256 i; i < length; i++) { + Execution calldata _exec = executions[i]; + result[i] = _execute(_exec.target, _exec.value, _exec.callData); + } + } + + function _tryExecute(Execution[] calldata executions) + internal + returns (bytes[] memory result) + { + uint256 length = executions.length; + result = new bytes[](length); + + for (uint256 i; i < length; i++) { + Execution calldata _exec = executions[i]; + bool success; + (success, result[i]) = _tryExecute(_exec.target, _exec.value, _exec.callData); + if (!success) emit TryExecuteUnsuccessful(i, result[i]); + } + } + + function _execute( + address target, + uint256 value, + bytes calldata callData + ) + internal + virtual + returns (bytes memory result) + { + /// @solidity memory-safe-assembly + assembly { + result := mload(0x40) + calldatacopy(result, callData.offset, callData.length) + if iszero(call(gas(), target, value, result, callData.length, codesize(), 0x00)) { + // Bubble up the revert if the call reverts. + returndatacopy(result, 0x00, returndatasize()) + revert(result, returndatasize()) + } + mstore(result, returndatasize()) // Store the length. + let o := add(result, 0x20) + returndatacopy(o, 0x00, returndatasize()) // Copy the returndata. + mstore(0x40, add(o, returndatasize())) // Allocate the memory. + } + } + + function _tryExecute( + address target, + uint256 value, + bytes calldata callData + ) + internal + virtual + returns (bool success, bytes memory result) + { + /// @solidity memory-safe-assembly + assembly { + result := mload(0x40) + calldatacopy(result, callData.offset, callData.length) + success := call(gas(), target, value, result, callData.length, codesize(), 0x00) + mstore(result, returndatasize()) // Store the length. + let o := add(result, 0x20) + returndatacopy(o, 0x00, returndatasize()) // Copy the returndata. + mstore(0x40, add(o, returndatasize())) // Allocate the memory. + } + } + + /// @dev Execute a delegatecall with `delegate` on this account. + function _executeDelegatecall( + address delegate, + bytes calldata callData + ) + internal + returns (bytes memory result) + { + /// @solidity memory-safe-assembly + assembly { + result := mload(0x40) + calldatacopy(result, callData.offset, callData.length) + // Forwards the `data` to `delegate` via delegatecall. + if iszero(delegatecall(gas(), delegate, result, callData.length, codesize(), 0x00)) { + // Bubble up the revert if the call reverts. + returndatacopy(result, 0x00, returndatasize()) + revert(result, returndatasize()) + } + mstore(result, returndatasize()) // Store the length. + let o := add(result, 0x20) + returndatacopy(o, 0x00, returndatasize()) // Copy the returndata. + mstore(0x40, add(o, returndatasize())) // Allocate the memory. + } + } + + /// @dev Execute a delegatecall with `delegate` on this account and catch reverts. + function _tryExecuteDelegatecall( + address delegate, + bytes calldata callData + ) + internal + returns (bool success, bytes memory result) + { + /// @solidity memory-safe-assembly + assembly { + result := mload(0x40) + calldatacopy(result, callData.offset, callData.length) + // Forwards the `data` to `delegate` via delegatecall. + success := delegatecall(gas(), delegate, result, callData.length, codesize(), 0x00) + mstore(result, returndatasize()) // Store the length. + let o := add(result, 0x20) + returndatacopy(o, 0x00, returndatasize()) // Copy the returndata. + mstore(0x40, add(o, returndatasize())) // Allocate the memory. + } + } +} diff --git a/src/accounts/erc7579/interfaces/IERC7579Bootstrap.sol b/src/accounts/erc7579/interfaces/IERC7579Bootstrap.sol index 14bbad7a..2757ded8 100644 --- a/src/accounts/erc7579/interfaces/IERC7579Bootstrap.sol +++ b/src/accounts/erc7579/interfaces/IERC7579Bootstrap.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity >=0.8.23 <0.9.0; -import { IModule } from "../../common/interfaces/IERC7579Modules.sol"; +import { IModule } from "../../common/interfaces/IERC7579Module.sol"; struct BootstrapConfig { address module; diff --git a/src/accounts/kernel/KernelFactory.sol b/src/accounts/kernel/KernelFactory.sol index cd759377..a4534f5c 100644 --- a/src/accounts/kernel/KernelFactory.sol +++ b/src/accounts/kernel/KernelFactory.sol @@ -8,8 +8,8 @@ import { IEntryPoint } from "@ERC4337/account-abstraction/contracts/interfaces/I import { ENTRYPOINT_ADDR } from "../../test/predeploy/EntryPoint.sol"; import { ValidatorLib } from "src/accounts/kernel/lib/ValidationTypeLib.sol"; import { ValidationId } from "src/accounts/kernel/types/Types.sol"; -import { IValidator } from "src/accounts/common/interfaces/IERC7579Modules.sol"; -import { IHook } from "src/accounts/kernel/interfaces/IERC7579Modules.sol"; +import { IValidator } from "src/accounts/common/interfaces/IERC7579Module.sol"; +import { IHook } from "src/accounts/kernel/interfaces/IERC7579Module.sol"; import { IAccountFactory } from "src/accounts/interface/IAccountFactory.sol"; import { MockHookMultiPlexer } from "src/Mocks.sol"; import { KernelPrecompiles } from "src/test/precompiles/KernelPrecompiles.sol"; diff --git a/src/accounts/kernel/interfaces/IKernel.sol b/src/accounts/kernel/interfaces/IKernel.sol index 021c79ca..7c583843 100644 --- a/src/accounts/kernel/interfaces/IKernel.sol +++ b/src/accounts/kernel/interfaces/IKernel.sol @@ -5,7 +5,7 @@ import { IERC7579Account } from "./IERC7579Account.sol"; import { IAccount, ValidationData } from "./IAccount.sol"; import { IAccountExecute } from "./IAccountExecute.sol"; import { ValidationId, ValidationConfig } from "../lib/ValidationTypeLib.sol"; -import { IHook } from "./IERC7579Modules.sol"; +import { IHook } from "./IERC7579Module.sol"; import { PackedUserOperation } from "@ERC4337/account-abstraction/contracts/core/UserOperationLib.sol"; import { ExecMode } from "../lib/ExecLib.sol"; diff --git a/src/accounts/kernel/interfaces/IValidationManager.sol b/src/accounts/kernel/interfaces/IValidationManager.sol index e45e7ae1..99495a9d 100644 --- a/src/accounts/kernel/interfaces/IValidationManager.sol +++ b/src/accounts/kernel/interfaces/IValidationManager.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity >=0.8.23 <0.9.0; -import { IHook, ISigner } from "src/accounts/common/interfaces/IERC7579Modules.sol"; +import { IHook, ISigner } from "src/accounts/common/interfaces/IERC7579Module.sol"; import { PassFlag, PolicyData, ValidationId, PermissionId } from "../lib/ValidationTypeLib.sol"; // erc7579 plugins diff --git a/src/accounts/kernel/lib/ValidationTypeLib.sol b/src/accounts/kernel/lib/ValidationTypeLib.sol index 4cda97cf..42fbc6bc 100644 --- a/src/accounts/kernel/lib/ValidationTypeLib.sol +++ b/src/accounts/kernel/lib/ValidationTypeLib.sol @@ -3,7 +3,7 @@ pragma solidity >=0.8.23 <0.9.0; import { IValidator, IPolicy, IHook, ISigner -} from "src/accounts/common/interfaces/IERC7579Modules.sol"; +} from "src/accounts/common/interfaces/IERC7579Module.sol"; import { PassFlag, ValidationType, diff --git a/src/accounts/kernel/mock/MockFallback.sol b/src/accounts/kernel/mock/MockFallback.sol index 0cd3ff51..881c7702 100644 --- a/src/accounts/kernel/mock/MockFallback.sol +++ b/src/accounts/kernel/mock/MockFallback.sol @@ -2,7 +2,7 @@ pragma solidity >=0.8.23 <0.9.0; import { IERC7579Account } from "../interfaces/IERC7579Account.sol"; -import { IFallback } from "../interfaces/IERC7579Modules.sol"; +import { IFallback } from "../interfaces/IERC7579Module.sol"; import { CallType, ExecType, ExecMode, ExecLib } from "../lib/ExecLib.sol"; import { EXEC_MODE_DEFAULT } from "../types/Constants.sol"; diff --git a/src/accounts/nexus/interfaces/INexusBootstrap.sol b/src/accounts/nexus/interfaces/INexusBootstrap.sol index 207b843f..7e200925 100644 --- a/src/accounts/nexus/interfaces/INexusBootstrap.sol +++ b/src/accounts/nexus/interfaces/INexusBootstrap.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity >=0.8.23 <0.9.0; -import { IModule as IERC7579Module } from "src/accounts/common/interfaces/IERC7579Modules.sol"; +import { IModule as IERC7579Module } from "src/accounts/common/interfaces/IERC7579Module.sol"; import { IERC7484 } from "src/Interfaces.sol"; struct BootstrapConfig { diff --git a/src/integrations/registry/ExampleFactory.sol b/src/integrations/registry/ExampleFactory.sol index 56248117..466f7446 100644 --- a/src/integrations/registry/ExampleFactory.sol +++ b/src/integrations/registry/ExampleFactory.sol @@ -4,7 +4,7 @@ pragma solidity >=0.8.23 <0.9.0; import { IMSA } from "src/accounts/erc7579/interfaces/IMSA.sol"; import { FactoryBase } from "./FactoryBase.sol"; import { IERC7579Bootstrap } from "src/accounts/erc7579/interfaces/IERC7579Bootstrap.sol"; -import { IModule as IERC7579Module } from "src/accounts/common/interfaces/IERC7579Modules.sol"; +import { IModule as IERC7579Module } from "src/accounts/common/interfaces/IERC7579Module.sol"; import { ERC7579Precompiles } from "src/test/precompiles/ERC7579Precompiles.sol"; contract ExampleFactory is FactoryBase, ERC7579Precompiles { diff --git a/src/module-bases/ERC7579ExecutorBase.sol b/src/module-bases/ERC7579ExecutorBase.sol index e9833d3d..5d5e06cb 100644 --- a/src/module-bases/ERC7579ExecutorBase.sol +++ b/src/module-bases/ERC7579ExecutorBase.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.0 <0.9.0; -import { IExecutor as IERC7579Executor } from "src/accounts/common/interfaces/IERC7579Modules.sol"; +import { IExecutor as IERC7579Executor } from "src/accounts/common/interfaces/IERC7579Module.sol"; import { IERC7579Account } from "src/accounts/common/interfaces/IERC7579Account.sol"; import { Execution, diff --git a/src/module-bases/ERC7579FallbackBase.sol b/src/module-bases/ERC7579FallbackBase.sol index b0b889ab..77d27b76 100644 --- a/src/module-bases/ERC7579FallbackBase.sol +++ b/src/module-bases/ERC7579FallbackBase.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.0 <0.9.0; -import { IFallback as IERC7579Fallback } from "src/accounts/common/interfaces/IERC7579Modules.sol"; +import { IFallback as IERC7579Fallback } from "src/accounts/common/interfaces/IERC7579Module.sol"; import { ERC7579ModuleBase } from "./ERC7579ModuleBase.sol"; abstract contract ERC7579FallbackBase is IERC7579Fallback, ERC7579ModuleBase { diff --git a/src/module-bases/ERC7579HookBase.sol b/src/module-bases/ERC7579HookBase.sol index 0c6a74fe..f98e6f23 100644 --- a/src/module-bases/ERC7579HookBase.sol +++ b/src/module-bases/ERC7579HookBase.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.0 <0.9.0; -import { IHook as IERC7579Hook } from "src/accounts/common/interfaces/IERC7579Modules.sol"; +import { IHook as IERC7579Hook } from "src/accounts/common/interfaces/IERC7579Module.sol"; import { ERC7579ModuleBase } from "./ERC7579ModuleBase.sol"; import { TrustedForwarder } from "./utils/TrustedForwarder.sol"; diff --git a/src/module-bases/ERC7579HookDestruct.sol b/src/module-bases/ERC7579HookDestruct.sol index ccc01a4f..023f2987 100644 --- a/src/module-bases/ERC7579HookDestruct.sol +++ b/src/module-bases/ERC7579HookDestruct.sol @@ -2,7 +2,7 @@ pragma solidity >=0.8.0 <0.9.0; import { IERC7579Account } from "src/accounts/common/interfaces/IERC7579Account.sol"; -import { IHook as IERC7579Hook } from "src/accounts/common/interfaces/IERC7579Modules.sol"; +import { IHook as IERC7579Hook } from "src/accounts/common/interfaces/IERC7579Module.sol"; import { ExecutionLib, Execution } from "src/accounts/erc7579/lib/ExecutionLib.sol"; import { ModeLib, diff --git a/src/module-bases/ERC7579ModuleBase.sol b/src/module-bases/ERC7579ModuleBase.sol index f9ae7172..a35d9a56 100644 --- a/src/module-bases/ERC7579ModuleBase.sol +++ b/src/module-bases/ERC7579ModuleBase.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.0 <0.9.0; -import { IModule as IERC7579Module } from "src/accounts/common/interfaces/IERC7579Modules.sol"; +import { IModule as IERC7579Module } from "src/accounts/common/interfaces/IERC7579Module.sol"; abstract contract ERC7579ModuleBase is IERC7579Module { uint256 internal constant TYPE_VALIDATOR = 1; diff --git a/src/module-bases/interfaces/IPolicy.sol b/src/module-bases/interfaces/IPolicy.sol index 675f1c7e..c16dbc96 100644 --- a/src/module-bases/interfaces/IPolicy.sol +++ b/src/module-bases/interfaces/IPolicy.sol @@ -7,7 +7,7 @@ import { IModule as IERC7579Module, VALIDATION_SUCCESS, VALIDATION_FAILED -} from "src/accounts/common/interfaces/IERC7579Modules.sol"; +} from "src/accounts/common/interfaces/IERC7579Module.sol"; import { IERC165 } from "forge-std/interfaces/IERC165.sol"; type ConfigId is bytes32; diff --git a/src/test/ModuleKitHelpers.sol b/src/test/ModuleKitHelpers.sol index 8657703a..ee4217f0 100644 --- a/src/test/ModuleKitHelpers.sol +++ b/src/test/ModuleKitHelpers.sol @@ -14,7 +14,7 @@ import { import { PackedUserOperation } from "../external/ERC4337.sol"; import { ERC4337Helpers } from "./utils/ERC4337Helpers.sol"; import { HelperBase } from "./helpers/HelperBase.sol"; -import { MODULE_TYPE_HOOK } from "src/accounts/common/interfaces/IERC7579Modules.sol"; +import { MODULE_TYPE_HOOK } from "src/accounts/common/interfaces/IERC7579Module.sol"; import { Execution } from "src/accounts/erc7579/lib/ExecutionLib.sol"; import { prank, diff --git a/src/test/RhinestoneModuleKit.sol b/src/test/RhinestoneModuleKit.sol index 920e6f3c..cf0256f7 100644 --- a/src/test/RhinestoneModuleKit.sol +++ b/src/test/RhinestoneModuleKit.sol @@ -17,7 +17,7 @@ import { PackedUserOperation, IStakeManager, IEntryPoint } from "../external/ERC import { ENTRYPOINT_ADDR } from "./predeploy/EntryPoint.sol"; import { SMARTSESSION_ADDR } from "./precompiles/SmartSessions.sol"; import { ISmartSession, ISessionValidator } from "src/test/helpers/interfaces/ISmartSession.sol"; -import { IValidator as IERC7579Validator } from "src/accounts/common/interfaces/IERC7579Modules.sol"; +import { IValidator as IERC7579Validator } from "src/accounts/common/interfaces/IERC7579Module.sol"; import { MockValidator, MockStatelessValidator } from "../Mocks.sol"; import { getAccountEnv, diff --git a/src/test/helpers/HelperBase.sol b/src/test/helpers/HelperBase.sol index 27d3728b..1f53f5c4 100644 --- a/src/test/helpers/HelperBase.sol +++ b/src/test/helpers/HelperBase.sol @@ -18,7 +18,7 @@ import { MODULE_TYPE_EXECUTOR, MODULE_TYPE_HOOK, MODULE_TYPE_FALLBACK -} from "src/accounts/common/interfaces/IERC7579Modules.sol"; +} from "src/accounts/common/interfaces/IERC7579Module.sol"; import { PackedUserOperation } from "../../external/ERC4337.sol"; import { AccountInstance } from "../RhinestoneModuleKit.sol"; import "../utils/Vm.sol"; diff --git a/src/test/helpers/KernelHelpers.sol b/src/test/helpers/KernelHelpers.sol index 91eb22c7..2fb6dded 100644 --- a/src/test/helpers/KernelHelpers.sol +++ b/src/test/helpers/KernelHelpers.sol @@ -22,7 +22,7 @@ import { MockFallback } from "src/accounts/kernel/mock/MockFallback.sol"; import { HelperBase } from "./HelperBase.sol"; import { IKernel } from "src/accounts/kernel/interfaces/IKernel.sol"; import { etch } from "../utils/Vm.sol"; -import { IValidator, IModule } from "src/accounts/common/interfaces/IERC7579Modules.sol"; +import { IValidator, IModule } from "src/accounts/common/interfaces/IERC7579Module.sol"; import { IERC1271, EIP1271_MAGIC_VALUE } from "src/Interfaces.sol"; import { CallType } from "src/accounts/common/lib/ModeLib.sol"; import { Execution } from "src/accounts/erc7579/lib/ExecutionLib.sol"; diff --git a/src/test/helpers/SafeHelpers.sol b/src/test/helpers/SafeHelpers.sol index 7a3d55d3..1425b7ec 100644 --- a/src/test/helpers/SafeHelpers.sol +++ b/src/test/helpers/SafeHelpers.sol @@ -11,7 +11,7 @@ import { MODULE_TYPE_VALIDATOR, MODULE_TYPE_EXECUTOR, MODULE_TYPE_FALLBACK -} from "src/accounts/common/interfaces/IERC7579Modules.sol"; +} from "src/accounts/common/interfaces/IERC7579Module.sol"; import { IERC7579Account } from "src/accounts/common/interfaces/IERC7579Account.sol"; import { HookType } from "src/accounts/safe/types/DataTypes.sol"; import { IAccountFactory } from "src/accounts/interface/IAccountFactory.sol"; diff --git a/src/test/helpers/interfaces/ISmartSession.sol b/src/test/helpers/interfaces/ISmartSession.sol index b97adac1..484e8a34 100644 --- a/src/test/helpers/interfaces/ISmartSession.sol +++ b/src/test/helpers/interfaces/ISmartSession.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: LGPL-3.0-only pragma solidity >=0.8.0 <0.9.0; -import { IModule } from "src/accounts/common/interfaces/IERC7579Modules.sol"; +import { IModule } from "src/accounts/common/interfaces/IERC7579Module.sol"; import { PackedUserOperation } from "src/external/ERC4337.sol"; diff --git a/test/Diff.t.sol b/test/Diff.t.sol index 5f2f187c..6268c0a2 100644 --- a/test/Diff.t.sol +++ b/test/Diff.t.sol @@ -11,7 +11,7 @@ import { MODULE_TYPE_FALLBACK, VALIDATION_SUCCESS, VALIDATION_FAILED -} from "src/accounts/common/interfaces/IERC7579Modules.sol"; +} from "src/accounts/common/interfaces/IERC7579Module.sol"; import { CALLTYPE_SINGLE } from "src/accounts/common/lib/ModeLib.sol"; import { getAccountType, InstalledModule } from "src/test/utils/Storage.sol"; import { toString } from "src/test/utils/Vm.sol"; diff --git a/test/integrations/SmartSession.t.sol b/test/integrations/SmartSession.t.sol index 8e04af4a..2c6e79ab 100644 --- a/test/integrations/SmartSession.t.sol +++ b/test/integrations/SmartSession.t.sol @@ -2,7 +2,7 @@ pragma solidity >=0.8.23 <0.9.0; // Constants -import { MODULE_TYPE_VALIDATOR } from "src/accounts/common/interfaces/IERC7579Modules.sol"; +import { MODULE_TYPE_VALIDATOR } from "src/accounts/common/interfaces/IERC7579Module.sol"; // Libraries import { ModuleKitHelpers, AccountInstance } from "src/ModuleKit.sol"; diff --git a/test/mocks/MockK1Validator.sol b/test/mocks/MockK1Validator.sol index 6cbdc237..07c2e5e1 100644 --- a/test/mocks/MockK1Validator.sol +++ b/test/mocks/MockK1Validator.sol @@ -6,7 +6,7 @@ import { VALIDATION_SUCCESS, VALIDATION_FAILED, MODULE_TYPE_VALIDATOR -} from "src/accounts/common/interfaces/IERC7579Modules.sol"; +} from "src/accounts/common/interfaces/IERC7579Module.sol"; import { PackedUserOperation } from "src/external/ERC4337.sol"; import { ECDSA } from "solady/utils/ECDSA.sol"; import { SignatureCheckerLib } from "solady/utils/SignatureCheckerLib.sol"; diff --git a/test/mocks/MockK1ValidatorUncompliantUninstall.sol b/test/mocks/MockK1ValidatorUncompliantUninstall.sol index 1d643c39..a61d19a6 100644 --- a/test/mocks/MockK1ValidatorUncompliantUninstall.sol +++ b/test/mocks/MockK1ValidatorUncompliantUninstall.sol @@ -6,7 +6,7 @@ import { VALIDATION_SUCCESS, VALIDATION_FAILED, MODULE_TYPE_VALIDATOR -} from "src/accounts/common/interfaces/IERC7579Modules.sol"; +} from "src/accounts/common/interfaces/IERC7579Module.sol"; import { PackedUserOperation } from "src/external/ERC4337.sol"; import { ECDSA } from "solady/utils/ECDSA.sol"; import { SignatureCheckerLib } from "solady/utils/SignatureCheckerLib.sol";