Skip to content
Lattice

IERC6900Account

Git Source

The modular account surface: execution + module configuration.

Functions

execute

function execute(address target, uint256 value, bytes calldata data) external payable returns (bytes memory);

Parameters

NameTypeDescription
targetaddress
valueuint256
databytes

Returns

NameTypeDescription
<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

NameTypeDescription
callsCall[]

Returns

NameTypeDescription
<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

NameTypeDescription
databytes
authorizationbytes

Returns

NameTypeDescription
<none>bytes

installExecution

function installExecution(address module, ExecutionManifest calldata manifest, bytes calldata installData) external;

Parameters

NameTypeDescription
moduleaddress
manifestExecutionManifest
installDatabytes

uninstallExecution

function uninstallExecution(address module, ExecutionManifest calldata manifest, bytes calldata uninstallData)
        external;

Parameters

NameTypeDescription
moduleaddress
manifestExecutionManifest
uninstallDatabytes

installValidation

function installValidation(
        ValidationConfig validationConfig,
        bytes4[] calldata selectors,
        bytes calldata installData,
        bytes[] calldata hooks
    ) external;

Parameters

NameTypeDescription
validationConfigValidationConfig
selectorsbytes4[]
installDatabytes
hooksbytes[]

uninstallValidation

function uninstallValidation(
        ModuleEntity validationFunction,
        bytes calldata uninstallData,
        bytes[] calldata hookUninstallData
    ) external;

Parameters

NameTypeDescription
validationFunctionModuleEntity
uninstallDatabytes
hookUninstallDatabytes[]

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

NameTypeDescription
<none>string

Events

ExecutionInstalled

event ExecutionInstalled(address indexed module, ExecutionManifest manifest);

Parameters

NameTypeDescription
moduleaddress
manifestExecutionManifest

ExecutionUninstalled

event ExecutionUninstalled(address indexed module, bool onUninstallSucceeded, ExecutionManifest manifest);

Parameters

NameTypeDescription
moduleaddress
onUninstallSucceededbool
manifestExecutionManifest

ValidationInstalled

event ValidationInstalled(address indexed module, uint32 indexed entityId);

Parameters

NameTypeDescription
moduleaddress
entityIduint32

ValidationUninstalled

event ValidationUninstalled(address indexed module, uint32 indexed entityId, bool onUninstallSucceeded);

Parameters

NameTypeDescription
moduleaddress
entityIduint32
onUninstallSucceededbool