{
    "Function": "slitherConstructorConstantVariables",
    "File": "contracts/lib/openzeppelin-contracts/contracts/mocks/AccessControlCrossChainMock.sol",
    "Parent Contracts": [
        "contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol",
        "contracts/lib/openzeppelin-contracts/contracts/access/AccessControlCrossChain.sol",
        "contracts/lib/openzeppelin-contracts/contracts/crosschain/CrossChainEnabled.sol",
        "contracts/lib/openzeppelin-contracts/contracts/access/AccessControl.sol",
        "contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol",
        "contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol",
        "contracts/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol",
        "contracts/lib/openzeppelin-contracts/contracts/utils/Context.sol"
    ],
    "High-Level Calls": [],
    "Internal Calls": [
        "keccak256(bytes)"
    ],
    "Library Calls": [],
    "Low-Level Calls": [],
    "Code": "contract AccessControlCrossChainMock is AccessControlCrossChain, CrossChainEnabledArbitrumL2 {\n    constructor() {\n        _setupRole(DEFAULT_ADMIN_ROLE, _msgSender());\n    }\n\n    function setRoleAdmin(bytes32 roleId, bytes32 adminRoleId) public {\n        _setRoleAdmin(roleId, adminRoleId);\n    }\n\n    function senderProtected(bytes32 roleId) public onlyRole(roleId) {}\n\n    function crossChainRoleAlias(bytes32 role) public pure virtual returns (bytes32) {\n        return _crossChainRoleAlias(role);\n    }\n}"
}