UNPKG

@etherisc/registry-contracts

Version:

Etherisc's smart contracts for the registry.

357 lines 13.8 kB
{ "abi": [ { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ], "allSourcePaths": { "28": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/introspection/ERC165.sol", "29": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/introspection/IERC165.sol" }, "ast": { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/introspection/ERC165.sol", "exportedSymbols": { "ERC165": [ 17700 ], "IERC165": [ 17712 ] }, "id": 17701, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 17678, "literals": [ "solidity", "^", "0.8", ".0" ], "nodeType": "PragmaDirective", "src": "99:23:28" }, { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/introspection/IERC165.sol", "file": "./IERC165.sol", "id": 17679, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 17701, "sourceUnit": 17713, "src": "124:23:28", "symbolAliases": [], "unitAlias": "" }, { "abstract": true, "baseContracts": [ { "baseName": { "id": 17681, "name": "IERC165", "nameLocations": [ "754:7:28" ], "nodeType": "IdentifierPath", "referencedDeclaration": 17712, "src": "754:7:28" }, "id": 17682, "nodeType": "InheritanceSpecifier", "src": "754:7:28" } ], "canonicalName": "ERC165", "contractDependencies": [], "contractKind": "contract", "documentation": { "id": 17680, "nodeType": "StructuredDocumentation", "src": "149:576:28", "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 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 ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation." }, "fullyImplemented": true, "id": 17700, "linearizedBaseContracts": [ 17700, 17712 ], "name": "ERC165", "nameLocation": "744:6:28", "nodeType": "ContractDefinition", "nodes": [ { "baseFunctions": [ 17711 ], "body": { "id": 17698, "nodeType": "Block", "src": "920:64:28", "statements": [ { "expression": { "commonType": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "id": 17696, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 17691, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 17685, "src": "937:11:28", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "expression": { "arguments": [ { "id": 17693, "name": "IERC165", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 17712, "src": "957:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC165_$17712_$", "typeString": "type(contract IERC165)" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_type$_t_contract$_IERC165_$17712_$", "typeString": "type(contract IERC165)" } ], "id": 17692, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, "src": "952:4:28", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, "id": 17694, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "952:13:28", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$17712", "typeString": "type(contract IERC165)" } }, "id": 17695, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "966:11:28", "memberName": "interfaceId", "nodeType": "MemberAccess", "src": "952:25:28", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "src": "937:40:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 17690, "id": 17697, "nodeType": "Return", "src": "930:47:28" } ] }, "documentation": { "id": 17683, "nodeType": "StructuredDocumentation", "src": "768:56:28", "text": " @dev See {IERC165-supportsInterface}." }, "functionSelector": "01ffc9a7", "id": 17699, "implemented": true, "kind": "function", "modifiers": [], "name": "supportsInterface", "nameLocation": "838:17:28", "nodeType": "FunctionDefinition", "overrides": { "id": 17687, "nodeType": "OverrideSpecifier", "overrides": [], "src": "896:8:28" }, "parameters": { "id": 17686, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 17685, "mutability": "mutable", "name": "interfaceId", "nameLocation": "863:11:28", "nodeType": "VariableDeclaration", "scope": 17699, "src": "856:18:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 17684, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "856:6:28", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "src": "855:20:28" }, "returnParameters": { "id": 17690, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 17689, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 17699, "src": "914:4:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 17688, "name": "bool", "nodeType": "ElementaryTypeName", "src": "914:4:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "913:6:28" }, "scope": 17700, "src": "829:155:28", "stateMutability": "view", "virtual": true, "visibility": "public" } ], "scope": 17701, "src": "726:260:28", "usedErrors": [] } ], "src": "99:888:28" }, "bytecode": "", "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", "compiler": { "evm_version": "istanbul", "optimizer": { "enabled": true, "runs": 200 }, "version": "0.8.19+commit.7dd6d404" }, "contractName": "ERC165", "coverageMap": { "branches": {}, "statements": {} }, "dependencies": [ "OpenZeppelin/openzeppelin-contracts@4.8.2/IERC165" ], "deployedBytecode": "", "deployedSourceMap": "", "language": "Solidity", "natspec": { "details": "Implementation of the {IERC165} interface. Contracts that want to implement ERC165 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); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.", "kind": "dev", "methods": { "supportsInterface(bytes4)": { "details": "See {IERC165-supportsInterface}." } }, "version": 1 }, "offset": [ 726, 986 ], "opcodes": "", "pcMap": {}, "sha1": "b3cc6713a4ecd5a40a432dd8a7382c609564ee1a", "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 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 *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n", "sourceMap": "", "sourcePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/introspection/ERC165.sol", "type": "contract" }