{
    "Function": "slitherConstructorConstantVariables",
    "File": "contracts/lib/openzeppelin-contracts/contracts/mocks/ERC777Mock.sol",
    "Parent Contracts": [
        "contracts/lib/openzeppelin-contracts/contracts/token/ERC777/ERC777.sol",
        "contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol",
        "contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777.sol",
        "contracts/lib/openzeppelin-contracts/contracts/utils/Context.sol"
    ],
    "High-Level Calls": [],
    "Internal Calls": [],
    "Library Calls": [],
    "Low-Level Calls": [],
    "Code": "contract ERC777Mock is Context, ERC777 {\n    event BeforeTokenTransfer();\n\n    constructor(\n        address initialHolder,\n        uint256 initialBalance,\n        string memory name,\n        string memory symbol,\n        address[] memory defaultOperators\n    ) ERC777(name, symbol, defaultOperators) {\n        _mint(initialHolder, initialBalance, \"\", \"\");\n    }\n\n    function mintInternal(\n        address to,\n        uint256 amount,\n        bytes memory userData,\n        bytes memory operatorData\n    ) public {\n        _mint(to, amount, userData, operatorData);\n    }\n\n    function mintInternalExtended(\n        address to,\n        uint256 amount,\n        bytes memory userData,\n        bytes memory operatorData,\n        bool requireReceptionAck\n    ) public {\n        _mint(to, amount, userData, operatorData, requireReceptionAck);\n    }\n\n    function approveInternal(\n        address holder,\n        address spender,\n        uint256 value\n    ) public {\n        _approve(holder, spender, value);\n    }\n\n    function _beforeTokenTransfer(\n        address,\n        address,\n        address,\n        uint256\n    ) internal override {\n        emit BeforeTokenTransfer();\n    }\n}"
}