{
    "Function": "slitherConstructorConstantVariables",
    "File": "contracts/lib/openzeppelin-contracts/contracts/mocks/GovernorCompatibilityBravoMock.sol",
    "Parent Contracts": [
        "contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesComp.sol",
        "contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockCompound.sol",
        "contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSettings.sol",
        "contracts/lib/openzeppelin-contracts/contracts/governance/compatibility/GovernorCompatibilityBravo.sol",
        "contracts/lib/openzeppelin-contracts/contracts/governance/Governor.sol",
        "contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol",
        "contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol",
        "contracts/lib/openzeppelin-contracts/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol",
        "contracts/lib/openzeppelin-contracts/contracts/governance/extensions/IGovernorTimelock.sol",
        "contracts/lib/openzeppelin-contracts/contracts/governance/IGovernor.sol",
        "contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol",
        "contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol",
        "contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol",
        "contracts/lib/openzeppelin-contracts/contracts/utils/Context.sol"
    ],
    "High-Level Calls": [],
    "Internal Calls": [
        "keccak256(bytes)",
        "keccak256(bytes)"
    ],
    "Library Calls": [],
    "Low-Level Calls": [],
    "Code": "contract GovernorCompatibilityBravoMock is\n    GovernorCompatibilityBravo,\n    GovernorSettings,\n    GovernorTimelockCompound,\n    GovernorVotesComp\n{\n    constructor(\n        string memory name_,\n        ERC20VotesComp token_,\n        uint256 votingDelay_,\n        uint256 votingPeriod_,\n        uint256 proposalThreshold_,\n        ICompoundTimelock timelock_\n    )\n        Governor(name_)\n        GovernorTimelockCompound(timelock_)\n        GovernorSettings(votingDelay_, votingPeriod_, proposalThreshold_)\n        GovernorVotesComp(token_)\n    {}\n\n    function supportsInterface(bytes4 interfaceId)\n        public\n        view\n        virtual\n        override(IERC165, Governor, GovernorTimelockCompound)\n        returns (bool)\n    {\n        return super.supportsInterface(interfaceId);\n    }\n\n    function quorum(uint256) public pure override returns (uint256) {\n        return 0;\n    }\n\n    function state(uint256 proposalId)\n        public\n        view\n        virtual\n        override(IGovernor, Governor, GovernorTimelockCompound)\n        returns (ProposalState)\n    {\n        return super.state(proposalId);\n    }\n\n    function proposalEta(uint256 proposalId)\n        public\n        view\n        virtual\n        override(IGovernorTimelock, GovernorTimelockCompound)\n        returns (uint256)\n    {\n        return super.proposalEta(proposalId);\n    }\n\n    function proposalThreshold() public view override(Governor, GovernorSettings) returns (uint256) {\n        return super.proposalThreshold();\n    }\n\n    function propose(\n        address[] memory targets,\n        uint256[] memory values,\n        bytes[] memory calldatas,\n        string memory description\n    ) public virtual override(IGovernor, Governor, GovernorCompatibilityBravo) returns (uint256) {\n        return super.propose(targets, values, calldatas, description);\n    }\n\n    function queue(\n        address[] memory targets,\n        uint256[] memory values,\n        bytes[] memory calldatas,\n        bytes32 salt\n    ) public virtual override(IGovernorTimelock, GovernorTimelockCompound) returns (uint256) {\n        return super.queue(targets, values, calldatas, salt);\n    }\n\n    function execute(\n        address[] memory targets,\n        uint256[] memory values,\n        bytes[] memory calldatas,\n        bytes32 salt\n    ) public payable virtual override(IGovernor, Governor) returns (uint256) {\n        return super.execute(targets, values, calldatas, salt);\n    }\n\n    function _execute(\n        uint256 proposalId,\n        address[] memory targets,\n        uint256[] memory values,\n        bytes[] memory calldatas,\n        bytes32 descriptionHash\n    ) internal virtual override(Governor, GovernorTimelockCompound) {\n        super._execute(proposalId, targets, values, calldatas, descriptionHash);\n    }\n\n    /**\n     * @notice WARNING: this is for mock purposes only. Ability to the _cancel function should be restricted for live\n     * deployments.\n     */\n    function cancel(\n        address[] memory targets,\n        uint256[] memory values,\n        bytes[] memory calldatas,\n        bytes32 salt\n    ) public returns (uint256 proposalId) {\n        return _cancel(targets, values, calldatas, salt);\n    }\n\n    function _cancel(\n        address[] memory targets,\n        uint256[] memory values,\n        bytes[] memory calldatas,\n        bytes32 salt\n    ) internal virtual override(Governor, GovernorTimelockCompound) returns (uint256 proposalId) {\n        return super._cancel(targets, values, calldatas, salt);\n    }\n\n    function _executor() internal view virtual override(Governor, GovernorTimelockCompound) returns (address) {\n        return super._executor();\n    }\n}"
}