{
    "Function": "optIntoSlashing",
    "File": "src/contracts/core/Slasher.sol",
    "Parent Contracts": [
        "src/contracts/permissions/Pausable.sol",
        "src/contracts/interfaces/IPausable.sol",
        "src/contracts/interfaces/ISlasher.sol",
        "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol",
        "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol",
        "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol"
    ],
    "High-Level Calls": [
        "IDelegationManager"
    ],
    "Internal Calls": [
        "_optIntoSlashing",
        "require(bool,string)",
        "onlyWhenNotPaused"
    ],
    "Library Calls": [],
    "Low-Level Calls": [],
    "Code": "function optIntoSlashing(address contractAddress) external onlyWhenNotPaused(PAUSED_OPT_INTO_SLASHING) {\n        require(delegation.isOperator(msg.sender), \"Slasher.optIntoSlashing: msg.sender is not a registered operator\");\n        _optIntoSlashing(msg.sender, contractAddress);\n    }"
}