IERC6900Account
The modular account surface: execution + module configuration.
Functions
execute
function execute(address target, uint256 value, bytes calldata data) external payable returns (bytes memory);Parameters
| Name | Type | Description |
|---|---|---|
| target | address | |
| value | uint256 | |
| data | bytes |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | bytes |
executeBatch
If target is an installed module the call SHOULD revert; any sub-call reverting MUST revert all.
function executeBatch(Call[] calldata calls) external payable returns (bytes[] memory);Parameters
| Name | Type | Description |
|---|---|---|
| calls | Call[] |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | bytes[] |
executeWithRuntimeValidation
authorization: first 24 bytes is the ModuleEntity selecting runtime validation, rest is its param.
function executeWithRuntimeValidation(bytes calldata data, bytes calldata authorization)
external
payable
returns (bytes memory);Parameters
| Name | Type | Description |
|---|---|---|
| data | bytes | |
| authorization | bytes |
Returns
| Name | Type | Description |
|---|---|---|
| <none> | bytes |
installExecution
function installExecution(address module, ExecutionManifest calldata manifest, bytes calldata installData) external;Parameters
| Name | Type | Description |
|---|---|---|
| module | address | |
| manifest | ExecutionManifest | |
| installData | bytes |
uninstallExecution
function uninstallExecution(address module, ExecutionManifest calldata manifest, bytes calldata uninstallData)
external;Parameters
| Name | Type | Description |
|---|---|---|
| module | address | |
| manifest | ExecutionManifest | |
| uninstallData | bytes |
installValidation
function installValidation(
ValidationConfig validationConfig,
bytes4[] calldata selectors,
bytes calldata installData,
bytes[] calldata hooks
) external;Parameters
| Name | Type | Description |
|---|---|---|
| validationConfig | ValidationConfig | |
| selectors | bytes4[] | |
| installData | bytes | |
| hooks | bytes[] |
uninstallValidation
function uninstallValidation(
ModuleEntity validationFunction,
bytes calldata uninstallData,
bytes[] calldata hookUninstallData
) external;Parameters
| Name | Type | Description |
|---|---|---|
| validationFunction | ModuleEntity | |
| uninstallData | bytes | |
| hookUninstallData | bytes[] |
accountId
Unique id in the format "vendor.account.semver"; vendor/account names MUST NOT contain a period.
function accountId() external view returns (string memory);Returns
| Name | Type | Description |
|---|---|---|
| <none> | string |
Events
ExecutionInstalled
event ExecutionInstalled(address indexed module, ExecutionManifest manifest);Parameters
| Name | Type | Description |
|---|---|---|
| module | address | |
| manifest | ExecutionManifest |
ExecutionUninstalled
event ExecutionUninstalled(address indexed module, bool onUninstallSucceeded, ExecutionManifest manifest);Parameters
| Name | Type | Description |
|---|---|---|
| module | address | |
| onUninstallSucceeded | bool | |
| manifest | ExecutionManifest |
ValidationInstalled
event ValidationInstalled(address indexed module, uint32 indexed entityId);Parameters
| Name | Type | Description |
|---|---|---|
| module | address | |
| entityId | uint32 |
ValidationUninstalled
event ValidationUninstalled(address indexed module, uint32 indexed entityId, bool onUninstallSucceeded);Parameters
| Name | Type | Description |
|---|---|---|
| module | address | |
| entityId | uint32 | |
| onUninstallSucceeded | bool |