IModule
Git Source (opens in a new tab)
Inherits: IERC165
Interface for the Module system. A module can be installed within the context of a world, either as a root or non-root module. This interface adheres to the ERC-165 standard for determining interface support.
Functions
installRoot
Installs the module as a root module.
This function is invoked by the World contract during installRootModule
process.
The module expects to be called via the World contract and thus installs itself on the msg.sender
.
function installRoot(bytes memory encodedArgs) external;
Parameters
Name | Type | Description |
---|---|---|
encodedArgs | bytes | The ABI encoded arguments that may be needed during the installation process. |
install
Installs the module.
This function is invoked by the World contract during installModule
process.
The module expects to be called via the World contract and thus installs itself on the msg.sender
.
Logic might differ from installRoot
, for example, this might accept namespace parameters.
function install(bytes memory encodedArgs) external;
Parameters
Name | Type | Description |
---|---|---|
encodedArgs | bytes | The ABI encoded arguments that may be needed during the installation process. |
Errors
Module_RootInstallNotSupported
Errors to represent non-support of specific installation types.
error Module_RootInstallNotSupported();
Module_NonRootInstallNotSupported
error Module_NonRootInstallNotSupported();
Module_AlreadyInstalled
error Module_AlreadyInstalled();
Module_MissingDependency
error Module_MissingDependency(address dependency);