# Hats Modules Registry Schema ```javascript { "name": "<module's name (string)>", "details": [ "<first paragraph describing the module (string)>", "<second paragraph describing the module (string)>" ], ## new "admin-details": "<paragraph describing the module's admin or owner logic (string)>", "links": [ { "label": "<link's name/description>", "link": "<link's URL>" } ], "parameters": [ { "label": "<parameter's name/description>", "functionName": "<parameter's function name to retrieve the parameter from its instance>", "displayType": "<parameter's type of content, for display purpose>" } ], "type": { "eligibility": "<whether the module is an eligiblity module (boolean)>", "toggle": "<whether the module is a toggle module (boolean)>", "hatter": "<whether the module is a hatter module (boolean)>", ## new "eligibility-type": { "eligible-sensitive": "<whether the eligibility module sets the eligible value (boolean)>", "standing-sensitive": "<whether the eligibility module sets the standing value (boolean)>", "eligible-default": "<whether the default eligible value is true or false (boolean)>", "standing-default": "<whether the default standing value is true or false (boolean)>" } }, "implementationAddress": "<module's deployed implemenataion address (string)>", "supported-chainIds": ["<chainId A>", "<chainId B", "chainId N"], "creationArgs": { "useHatId": "<True if the hatId property should be set with the ID of the hat for which the module is deployed, otherwise false>", "immutable": [ { "name": "<argument's name (string)>", "description": "<short description (string)>", "type": "<argument's solidity type, e.g. 'uint256' (string)>", "example": "<example argument which will be used for automatic testing>", "displayType": "<parameter's type of content, for display purpose>" } ], "mutable": [ { "name": "<argument's name (string)>", "description": "<short description (string)>", "type": "<argument's solidity type, e.g. 'uint256' (string)>", "example": "<example argument which will be used for automatic testing>", "displayType": "<parameter's type of content, for display purpose>" } ] }, "abi": "<module's contract ABI>" } ```