{ "contractName": "IERC165", "abi": [ { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "immutableReferences": {}, "generatedSources": [], "deployedGeneratedSources": [], "sourceMap": "", "deployedSourceMap": "", "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n", "sourcePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", "ast": { "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", "exportedSymbols": { "IERC165": [ 1856 ] }, "id": 1857, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 1846, "literals": [ "solidity", "^", "0.8", ".0" ], "nodeType": "PragmaDirective", "src": "100:23:11" }, { "abstract": false, "baseContracts": [], "canonicalName": "IERC165", "contractDependencies": [], "contractKind": "interface", "documentation": { "id": 1847, "nodeType": "StructuredDocumentation", "src": "125:279:11", "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}." }, "fullyImplemented": false, "id": 1856, "linearizedBaseContracts": [ 1856 ], "name": "IERC165", "nameLocation": "415:7:11", "nodeType": "ContractDefinition", "nodes": [ { "documentation": { "id": 1848, "nodeType": "StructuredDocumentation", "src": "429:340:11", "text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas." }, "functionSelector": "01ffc9a7", "id": 1855, "implemented": false, "kind": "function", "modifiers": [], "name": "supportsInterface", "nameLocation": "783:17:11", "nodeType": "FunctionDefinition", "parameters": { "id": 1851, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1850, "mutability": "mutable", "name": "interfaceId", "nameLocation": "808:11:11", "nodeType": "VariableDeclaration", "scope": 1855, "src": "801:18:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 1849, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "801:6:11", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "src": "800:20:11" }, "returnParameters": { "id": 1854, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1853, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 1855, "src": "844:4:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1852, "name": "bool", "nodeType": "ElementaryTypeName", "src": "844:4:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "843:6:11" }, "scope": 1856, "src": "774:76:11", "stateMutability": "view", "virtual": false, "visibility": "external" } ], "scope": 1857, "src": "405:447:11", "usedErrors": [] } ], "src": "100:753:11" }, "legacyAST": { "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", "exportedSymbols": { "IERC165": [ 1856 ] }, "id": 1857, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 1846, "literals": [ "solidity", "^", "0.8", ".0" ], "nodeType": "PragmaDirective", "src": "100:23:11" }, { "abstract": false, "baseContracts": [], "canonicalName": "IERC165", "contractDependencies": [], "contractKind": "interface", "documentation": { "id": 1847, "nodeType": "StructuredDocumentation", "src": "125:279:11", "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}." }, "fullyImplemented": false, "id": 1856, "linearizedBaseContracts": [ 1856 ], "name": "IERC165", "nameLocation": "415:7:11", "nodeType": "ContractDefinition", "nodes": [ { "documentation": { "id": 1848, "nodeType": "StructuredDocumentation", "src": "429:340:11", "text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas." }, "functionSelector": "01ffc9a7", "id": 1855, "implemented": false, "kind": "function", "modifiers": [], "name": "supportsInterface", "nameLocation": "783:17:11", "nodeType": "FunctionDefinition", "parameters": { "id": 1851, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1850, "mutability": "mutable", "name": "interfaceId", "nameLocation": "808:11:11", "nodeType": "VariableDeclaration", "scope": 1855, "src": "801:18:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 1849, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "801:6:11", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "src": "800:20:11" }, "returnParameters": { "id": 1854, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1853, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 1855, "src": "844:4:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1852, "name": "bool", "nodeType": "ElementaryTypeName", "src": "844:4:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "843:6:11" }, "scope": 1856, "src": "774:76:11", "stateMutability": "view", "virtual": false, "visibility": "external" } ], "scope": 1857, "src": "405:447:11", "usedErrors": [] } ], "src": "100:753:11" }, "compiler": { "name": "solc", "version": "0.8.11+commit.d7f03943.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.4.4", "updatedAt": "2021-12-29T22:14:28.602Z", "devdoc": { "details": "Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.", "kind": "dev", "methods": { "supportsInterface(bytes4)": { "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas." } }, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }