Assessment reports>Security Policy>Threat Model>checkAndEnableModule

Function: checkAndEnableModule(address _module)

This checks and enables a module without setting up.

Inputs

  • _module

    • Control: Full.

    • Constraints: Must be a contract && must be attested.

    • Impact: The module to be checked and enabled.

Branches and code coverage (including function calls)

Intended branches

  • Validates the module against the registry using the check* functions.

  • Calls the ModuleManager, calling execTransactionFromModule -> enableModule.

Function call analysis

  • _module.isContract()

    • What is controllable? _module.

    • If return value controllable, how is it used and how can it go wrong? Is a contract.

    • What happens if it reverts, reenters, or does other unusual control flow? N/A.

  • call(gas(), caller()...)

    • What is controllable? Everything except the calldata used for the call to execTranscationFromModule.

    • If return value controllable, how is it used and how can it go wrong? N/A.

    • What happens if it reverts, reenters, or does other unusual control flow? N/A.

Zellic © 2024Back to top ↑