@@ -66,34 +66,40 @@ interface IModularAccount {
6666 /// @return An array containing the return data from the calls.
6767 function executeBatch (Call[] calldata calls ) external payable returns (bytes [] memory );
6868
69- /// @notice Execute a call using a specified runtime validation.
69+ /// @notice Execute a call using the specified runtime validation.
7070 /// @param data The calldata to send to the account.
71- /// @param authorization The authorization data to use for the call. The first 24 bytes specifies which runtime
72- /// validation to use, and the rest is sent as a parameter to runtime validation.
71+ /// @param authorization The authorization data to use for the call. The first 24 bytes is a ModuleEntity which
72+ /// specifies which runtime validation to use, and the rest is sent as a parameter to runtime validation.
7373 function executeWithRuntimeValidation (bytes calldata data , bytes calldata authorization )
7474 external
7575 payable
7676 returns (bytes memory );
7777
7878 /// @notice Install a module to the modular account.
7979 /// @param module The module to install.
80- /// @param manifest the manifest describing functions to install
81- /// @param moduleInstallData Optional data to be used by the account to handle the initial execution setup,
82- /// data encoding is implementation-specific.
83- function installExecution (
84- address module ,
85- ExecutionManifest calldata manifest ,
86- bytes calldata moduleInstallData
87- ) external ;
80+ /// @param manifest the manifest describing functions to install.
81+ /// @param installData Optional data to be used by the account to handle the initial execution setup. Data
82+ /// encoding
83+ /// is implementation-specific.
84+ function installExecution (address module , ExecutionManifest calldata manifest , bytes calldata installData )
85+ external ;
86+
87+ /// @notice Uninstall a module from the modular account.
88+ /// @param module The module to uninstall.
89+ /// @param manifest the manifest describing functions to uninstall.
90+ /// @param uninstallData Optional data to be used by the account to handle the execution uninstallation. Data
91+ /// encoding is implementation-specific.
92+ function uninstallExecution (address module , ExecutionManifest calldata manifest , bytes calldata uninstallData )
93+ external ;
8894
8995 /// @notice Installs a validation function across a set of execution selectors, and optionally mark it as a
90- /// global validation.
96+ /// global validation function .
9197 /// @dev This does not validate anything against the manifest - the caller must ensure validity.
9298 /// @param validationConfig The validation function to install, along with configuration flags.
9399 /// @param selectors The selectors to install the validation function for.
94- /// @param installData Optional data to be used by the account to handle the initial validation setup, data
100+ /// @param installData Optional data to be used by the account to handle the initial validation setup. Data
95101 /// encoding is implementation-specific.
96- /// @param hooks Optional hooks to install and associate with the validation function, data encoding is
102+ /// @param hooks Optional hooks to install and associate with the validation function. Data encoding is
97103 /// implementation-specific.
98104 function installValidation (
99105 ValidationConfig validationConfig ,
@@ -104,27 +110,17 @@ interface IModularAccount {
104110
105111 /// @notice Uninstall a validation function from a set of execution selectors.
106112 /// @param validationFunction The validation function to uninstall.
107- /// @param uninstallData Optional data to be used by the account to handle the validation uninstallation, data
108- /// encoding is implementation-specific.
109- /// @param hookUninstallData Optional data to be used by the account to handle hook uninstallation, data
113+ /// @param uninstallData Optional data to be used by the account to handle the validation uninstallation. Data
110114 /// encoding is implementation-specific.
115+ /// @param hookUninstallData Optional data to be used by the account to handle hook uninstallation. Data
116+ /// encoding
117+ /// is implementation-specific.
111118 function uninstallValidation (
112119 ModuleEntity validationFunction ,
113120 bytes calldata uninstallData ,
114121 bytes [] calldata hookUninstallData
115122 ) external ;
116123
117- /// @notice Uninstall a module from the modular account.
118- /// @param module The module to uninstall.
119- /// @param manifest the manifest describing functions to uninstall.
120- /// @param moduleUninstallData Optional data to be used by the account to handle the execution uninstallation,
121- /// data encoding is implementation-specific.
122- function uninstallExecution (
123- address module ,
124- ExecutionManifest calldata manifest ,
125- bytes calldata moduleUninstallData
126- ) external ;
127-
128124 /// @notice Return a unique identifier for the account implementation.
129125 /// @dev This function MUST return a string in the format "vendor.account.semver". The vendor and account
130126 /// names MUST NOT contain a period character.
0 commit comments