ModuleMetadata: {
    $schema: LATEST;
    attributes: MetadataAttribute[];
    authors: string[];
    description: Markdown;
    initializeCalldataABI: string;
    initializeResultDataABI?: string;
    name: string;
    processCalldataABI: string;
    title: string;
}

The metadata standard for Lens Modules

Type declaration

  • $schema: LATEST

    The schema ID.

  • attributes: MetadataAttribute[]

    An arbitrary bag of attributes you wish to add to the metadata.

  • authors: string[]

    List of authors email addresses.

  • description: Markdown

    Markdown formatted description of the module.

    It should explain what this module does, how to use it, examples just like you would if you were building an NPM package. The more detail the better to allow dApp to easily integrate it.

  • initializeCalldataABI: string

    The Solidity JSON ABI as JSON-string describing the initialization function calldata.

    This will be used to encode the calldata for the initialization function.

    It will also be used by the consumers of this module to decode the initialization calldata so to infer the initialization criteria.

  • Optional initializeResultDataABI?: string

    The Solidity JSON ABI as JSON-string describing the initialization result data.

    This will be used by the consumers of this module to decode the result data from the initialization function so to infer the initialization result state.

  • name: string

    The name of the module.

  • processCalldataABI: string

    The Solidity JSON ABI as JSON-string describing the process function calldata.

    This will be used to encode the calldata for the process function.

    Some modules might non need to return any initialization result data.

  • title: string

    The human-friendly title for the module.