22pragma solidity ^ 0.8.19 ;
33
44import {BaseAccount} from "@eth-infinitism/account-abstraction/core/BaseAccount.sol " ;
5- import {EnumerableMap} from "@openzeppelin/contracts/utils/structs/EnumerableMap.sol " ;
6- import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol " ;
75import {IEntryPoint} from "@eth-infinitism/account-abstraction/interfaces/IEntryPoint.sol " ;
8- import {IERC165 } from "@openzeppelin/contracts/utils/introspection/IERC165.sol " ;
96import {UserOperation} from "@eth-infinitism/account-abstraction/interfaces/UserOperation.sol " ;
107import {UUPSUpgradeable} from "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol " ;
8+ import {IERC165 } from "@openzeppelin/contracts/utils/introspection/IERC165.sol " ;
9+ import {EnumerableMap} from "@openzeppelin/contracts/utils/structs/EnumerableMap.sol " ;
10+ import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol " ;
1111
12+ import {FunctionReferenceLib} from "../helpers/FunctionReferenceLib.sol " ;
13+ import {_coalescePreValidation, _coalesceValidation} from "../helpers/ValidationDataHelpers.sol " ;
14+ import {IPlugin, PluginManifest} from "../interfaces/IPlugin.sol " ;
15+ import {IPluginExecutor} from "../interfaces/IPluginExecutor.sol " ;
16+ import {FunctionReference, IPluginManager} from "../interfaces/IPluginManager.sol " ;
17+ import {IStandardExecutor, Call} from "../interfaces/IStandardExecutor.sol " ;
1218import {AccountExecutor} from "./AccountExecutor.sol " ;
1319import {AccountLoupe} from "./AccountLoupe.sol " ;
1420import {AccountStorage, HookGroup, getAccountStorage, getPermittedCallKey} from "./AccountStorage.sol " ;
1521import {AccountStorageInitializable} from "./AccountStorageInitializable.sol " ;
16- import {FunctionReference, FunctionReferenceLib} from "../helpers/FunctionReferenceLib.sol " ;
17- import {IPlugin, PluginManifest} from "../interfaces/IPlugin.sol " ;
18- import {IPluginExecutor} from "../interfaces/IPluginExecutor.sol " ;
19- import {IPluginManager} from "../interfaces/IPluginManager.sol " ;
20- import {IStandardExecutor, Call} from "../interfaces/IStandardExecutor.sol " ;
2122import {PluginManagerInternals} from "./PluginManagerInternals.sol " ;
22- import {_coalescePreValidation, _coalesceValidation} from "../helpers/ValidationDataHelpers.sol " ;
2323
2424contract UpgradeableModularAccount is
2525 AccountExecutor ,
@@ -34,6 +34,7 @@ contract UpgradeableModularAccount is
3434{
3535 using EnumerableMap for EnumerableMap.Bytes32ToUintMap;
3636 using EnumerableSet for EnumerableSet.Bytes32Set;
37+ using FunctionReferenceLib for FunctionReference;
3738
3839 struct PostExecToRun {
3940 bytes preExecHookReturnData;
@@ -437,7 +438,7 @@ contract UpgradeableModularAccount is
437438 ++ i;
438439 }
439440 } else {
440- if (preRuntimeValidationHook == FunctionReferenceLib._PRE_HOOK_ALWAYS_DENY) {
441+ if (preRuntimeValidationHook. eq ( FunctionReferenceLib._PRE_HOOK_ALWAYS_DENY) ) {
441442 revert AlwaysDenyRule ();
442443 }
443444 // Function reference cannot be 0 or _RUNTIME_VALIDATION_ALWAYS_ALLOW.
@@ -457,7 +458,7 @@ contract UpgradeableModularAccount is
457458 } else {
458459 if (runtimeValidationFunction.isEmpty ()) {
459460 revert RuntimeValidationFunctionMissing (msg .sig );
460- } else if (runtimeValidationFunction == FunctionReferenceLib._PRE_HOOK_ALWAYS_DENY) {
461+ } else if (runtimeValidationFunction. eq ( FunctionReferenceLib._PRE_HOOK_ALWAYS_DENY) ) {
461462 revert InvalidConfiguration ();
462463 }
463464 // If _RUNTIME_VALIDATION_ALWAYS_ALLOW, just let the function finish.
0 commit comments