UNPKG

witnet-solidity-bridge

Version:

Witnet Solidity Bridge contracts for EVM-compatible chains

352 lines 15.4 kB
{ "contractName": "ERC165", "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.30+commit.73712a01\"},\"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\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC-165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ```\",\"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[ERC 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/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "immutableReferences": {}, "generatedSources": [], "deployedGeneratedSources": [], "sourceMap": "", "deployedSourceMap": "", "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC165} from \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC-165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n */\nabstract contract ERC165 is IERC165 {\n /// @inheritdoc IERC165\n function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n", "sourcePath": "@openzeppelin\\contracts\\utils\\introspection\\ERC165.sol", "ast": { "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", "exportedSymbols": { "ERC165": [ 616 ], "IERC165": [ 628 ] }, "id": 617, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 594, "literals": [ "solidity", "^", "0.8", ".20" ], "nodeType": "PragmaDirective", "src": "114:24:5" }, { "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", "file": "./IERC165.sol", "id": 596, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 617, "sourceUnit": 629, "src": "140:38:5", "symbolAliases": [ { "foreign": { "id": 595, "name": "IERC165", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 628, "src": "148:7:5", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "abstract": true, "baseContracts": [ { "baseName": { "id": 598, "name": "IERC165", "nameLocations": [ "688:7:5" ], "nodeType": "IdentifierPath", "referencedDeclaration": 628, "src": "688:7:5" }, "id": 599, "nodeType": "InheritanceSpecifier", "src": "688:7:5" } ], "canonicalName": "ERC165", "contractDependencies": [], "contractKind": "contract", "documentation": { "id": 597, "nodeType": "StructuredDocumentation", "src": "180:479:5", "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC-165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```" }, "fullyImplemented": true, "id": 616, "linearizedBaseContracts": [ 616, 628 ], "name": "ERC165", "nameLocation": "678:6:5", "nodeType": "ContractDefinition", "nodes": [ { "baseFunctions": [ 627 ], "body": { "id": 614, "nodeType": "Block", "src": "812:64:5", "statements": [ { "expression": { "commonType": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "id": 612, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 607, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 602, "src": "829:11:5", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "expression": { "arguments": [ { "id": 609, "name": "IERC165", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 628, "src": "849:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC165_$628_$", "typeString": "type(contract IERC165)" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_type$_t_contract$_IERC165_$628_$", "typeString": "type(contract IERC165)" } ], "id": 608, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967269, "src": "844:4:5", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, "id": 610, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "844:13:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$628", "typeString": "type(contract IERC165)" } }, "id": 611, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "858:11:5", "memberName": "interfaceId", "nodeType": "MemberAccess", "src": "844:25:5", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "src": "829:40:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 606, "id": 613, "nodeType": "Return", "src": "822:47:5" } ] }, "documentation": { "id": 600, "nodeType": "StructuredDocumentation", "src": "702:23:5", "text": "@inheritdoc IERC165" }, "functionSelector": "01ffc9a7", "id": 615, "implemented": true, "kind": "function", "modifiers": [], "name": "supportsInterface", "nameLocation": "739:17:5", "nodeType": "FunctionDefinition", "parameters": { "id": 603, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 602, "mutability": "mutable", "name": "interfaceId", "nameLocation": "764:11:5", "nodeType": "VariableDeclaration", "scope": 615, "src": "757:18:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 601, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "757:6:5", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "src": "756:20:5" }, "returnParameters": { "id": 606, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 605, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 615, "src": "806:4:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 604, "name": "bool", "nodeType": "ElementaryTypeName", "src": "806:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "805:6:5" }, "scope": 616, "src": "730:146:5", "stateMutability": "view", "virtual": true, "visibility": "public" } ], "scope": 617, "src": "660:218:5", "usedErrors": [], "usedEvents": [] } ], "src": "114:765:5" }, "compiler": { "name": "solc", "version": "0.8.30+commit.73712a01.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.4.16", "updatedAt": "2025-10-15T14:34:45.318Z", "devdoc": { "details": "Implementation of the {IERC165} interface. Contracts that want to implement ERC-165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ```", "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[ERC 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 } }