{
    "Function": "getSupportedInterfaces",
    "File": "contracts/src/vendor/openzeppelin-solidity/v4.8.3/contracts/utils/introspection/ERC165Checker.sol",
    "Parent Contracts": [],
    "High-Level Calls": [],
    "Internal Calls": [
        "supportsERC165InterfaceUnchecked",
        "supportsERC165"
    ],
    "Library Calls": [],
    "Low-Level Calls": [],
    "Code": "function getSupportedInterfaces(address account, bytes4[] memory interfaceIds)\n        internal\n        view\n        returns (bool[] memory)\n    {\n        // an array of booleans corresponding to interfaceIds and whether they're supported or not\n        bool[] memory interfaceIdsSupported = new bool[](interfaceIds.length);\n\n        // query support of ERC165 itself\n        if (supportsERC165(account)) {\n            // query support of each interface in interfaceIds\n            for (uint256 i = 0; i < interfaceIds.length; i++) {\n                interfaceIdsSupported[i] = supportsERC165InterfaceUnchecked(account, interfaceIds[i]);\n            }\n        }\n\n        return interfaceIdsSupported;\n    }"
}