UNPKG

@etherisc/registry-contracts

Version:

Etherisc's smart contracts for the registry.

1,484 lines (1,483 loc) 197 kB
{ "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "allSourcePaths": { "16": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/token/ERC721/ERC721.sol", "17": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/token/ERC721/IERC721.sol", "19": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/token/ERC721/extensions/ERC721Enumerable.sol", "20": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/token/ERC721/extensions/IERC721Enumerable.sol", "21": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/token/ERC721/extensions/IERC721Metadata.sol", "23": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/Context.sol", "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/token/ERC721/extensions/ERC721Enumerable.sol", "exportedSymbols": { "Address": [ 17676 ], "Context": [ 16878 ], "ERC165": [ 17700 ], "ERC721": [ 15797 ], "ERC721Enumerable": [ 12088 ], "IERC165": [ 17712 ], "IERC721": [ 16778 ], "IERC721Enumerable": [ 12485 ], "IERC721Metadata": [ 17346 ], "IERC721Receiver": [ 17319 ], "Math": [ 13636 ], "Strings": [ 17301 ] }, "id": 12089, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 11736, "literals": [ "solidity", "^", "0.8", ".0" ], "nodeType": "PragmaDirective", "src": "128:23:19" }, { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/token/ERC721/ERC721.sol", "file": "../ERC721.sol", "id": 11737, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 12089, "sourceUnit": 15798, "src": "153:23:19", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/token/ERC721/extensions/IERC721Enumerable.sol", "file": "./IERC721Enumerable.sol", "id": 11738, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 12089, "sourceUnit": 12486, "src": "177:33:19", "symbolAliases": [], "unitAlias": "" }, { "abstract": true, "baseContracts": [ { "baseName": { "id": 11740, "name": "ERC721", "nameLocations": [ "450:6:19" ], "nodeType": "IdentifierPath", "referencedDeclaration": 15797, "src": "450:6:19" }, "id": 11741, "nodeType": "InheritanceSpecifier", "src": "450:6:19" }, { "baseName": { "id": 11742, "name": "IERC721Enumerable", "nameLocations": [ "458:17:19" ], "nodeType": "IdentifierPath", "referencedDeclaration": 12485, "src": "458:17:19" }, "id": 11743, "nodeType": "InheritanceSpecifier", "src": "458:17:19" } ], "canonicalName": "ERC721Enumerable", "contractDependencies": [], "contractKind": "contract", "documentation": { "id": 11739, "nodeType": "StructuredDocumentation", "src": "212:199:19", "text": " @dev This implements an optional extension of {ERC721} defined in the EIP that adds\n enumerability of all the token ids in the contract as well as all token ids owned by each\n account." }, "fullyImplemented": true, "id": 12088, "linearizedBaseContracts": [ 12088, 12485, 15797, 17346, 16778, 17700, 17712, 16878 ], "name": "ERC721Enumerable", "nameLocation": "430:16:19", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 11749, "mutability": "mutable", "name": "_ownedTokens", "nameLocation": "591:12:19", "nodeType": "VariableDeclaration", "scope": 12088, "src": "535:68:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" }, "typeName": { "id": 11748, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { "id": 11744, "name": "address", "nodeType": "ElementaryTypeName", "src": "543:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "535:47:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { "id": 11747, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { "id": 11745, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "562:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", "src": "554:27:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { "id": 11746, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "573:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } } }, "visibility": "private" }, { "constant": false, "id": 11753, "mutability": "mutable", "name": "_ownedTokensIndex", "nameLocation": "709:17:19", "nodeType": "VariableDeclaration", "scope": 12088, "src": "673:53:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" }, "typeName": { "id": 11752, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { "id": 11750, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "681:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", "src": "673:27:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { "id": 11751, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "692:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "visibility": "private" }, { "constant": false, "id": 11756, "mutability": "mutable", "name": "_allTokens", "nameLocation": "805:10:19", "nodeType": "VariableDeclaration", "scope": 12088, "src": "787:28:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[]" }, "typeName": { "baseType": { "id": 11754, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "787:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 11755, "nodeType": "ArrayTypeName", "src": "787:9:19", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, "visibility": "private" }, { "constant": false, "id": 11760, "mutability": "mutable", "name": "_allTokensIndex", "nameLocation": "922:15:19", "nodeType": "VariableDeclaration", "scope": 12088, "src": "886:51:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" }, "typeName": { "id": 11759, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { "id": 11757, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "894:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", "src": "886:27:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { "id": 11758, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "905:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "visibility": "private" }, { "baseFunctions": [ 14964, 17711 ], "body": { "id": 11783, "nodeType": "Block", "src": "1113:114:19", "statements": [ { "expression": { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 11781, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "id": 11776, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 11771, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11763, "src": "1130:11:19", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "expression": { "arguments": [ { "id": 11773, "name": "IERC721Enumerable", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12485, "src": "1150:17:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IERC721Enumerable_$12485_$", "typeString": "type(contract IERC721Enumerable)" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_type$_t_contract$_IERC721Enumerable_$12485_$", "typeString": "type(contract IERC721Enumerable)" } ], "id": 11772, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, "src": "1145:4:19", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, "id": 11774, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1145:23:19", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721Enumerable_$12485", "typeString": "type(contract IERC721Enumerable)" } }, "id": 11775, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "1169:11:19", "memberName": "interfaceId", "nodeType": "MemberAccess", "src": "1145:35:19", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "src": "1130:50:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "arguments": [ { "id": 11779, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11763, "src": "1208:11:19", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } ], "expression": { "id": 11777, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -25, "src": "1184:5:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_super$_ERC721Enumerable_$12088_$", "typeString": "type(contract super ERC721Enumerable)" } }, "id": 11778, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1190:17:19", "memberName": "supportsInterface", "nodeType": "MemberAccess", "referencedDeclaration": 14964, "src": "1184:23:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", "typeString": "function (bytes4) view returns (bool)" } }, "id": 11780, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1184:36:19", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "1130:90:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 11770, "id": 11782, "nodeType": "Return", "src": "1123:97:19" } ] }, "documentation": { "id": 11761, "nodeType": "StructuredDocumentation", "src": "944:56:19", "text": " @dev See {IERC165-supportsInterface}." }, "functionSelector": "01ffc9a7", "id": 11784, "implemented": true, "kind": "function", "modifiers": [], "name": "supportsInterface", "nameLocation": "1014:17:19", "nodeType": "FunctionDefinition", "overrides": { "id": 11767, "nodeType": "OverrideSpecifier", "overrides": [ { "id": 11765, "name": "IERC165", "nameLocations": [ "1081:7:19" ], "nodeType": "IdentifierPath", "referencedDeclaration": 17712, "src": "1081:7:19" }, { "id": 11766, "name": "ERC721", "nameLocations": [ "1090:6:19" ], "nodeType": "IdentifierPath", "referencedDeclaration": 15797, "src": "1090:6:19" } ], "src": "1072:25:19" }, "parameters": { "id": 11764, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11763, "mutability": "mutable", "name": "interfaceId", "nameLocation": "1039:11:19", "nodeType": "VariableDeclaration", "scope": 11784, "src": "1032:18:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 11762, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "1032:6:19", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "src": "1031:20:19" }, "returnParameters": { "id": 11770, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11769, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 11784, "src": "1107:4:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 11768, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1107:4:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "1106:6:19" }, "scope": 12088, "src": "1005:222:19", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "baseFunctions": [ 12476 ], "body": { "id": 11811, "nodeType": "Block", "src": "1412:147:19", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 11801, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 11796, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11789, "src": "1430:5:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "arguments": [ { "id": 11799, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11787, "src": "1455:5:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "id": 11797, "name": "ERC721", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 15797, "src": "1438:6:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ERC721_$15797_$", "typeString": "type(contract ERC721)" } }, "id": 11798, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1445:9:19", "memberName": "balanceOf", "nodeType": "MemberAccess", "referencedDeclaration": 14988, "src": "1438:16:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, "id": 11800, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1438:23:19", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1430:31:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "455243373231456e756d657261626c653a206f776e657220696e646578206f7574206f6620626f756e6473", "id": 11802, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1463:45:19", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c", "typeString": "literal_string \"ERC721Enumerable: owner index out of bounds\"" }, "value": "ERC721Enumerable: owner index out of bounds" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c", "typeString": "literal_string \"ERC721Enumerable: owner index out of bounds\"" } ], "id": 11795, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "1422:7:19", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 11803, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1422:87:19", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 11804, "nodeType": "ExpressionStatement", "src": "1422:87:19" }, { "expression": { "baseExpression": { "baseExpression": { "id": 11805, "name": "_ownedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11749, "src": "1526:12:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", "typeString": "mapping(address => mapping(uint256 => uint256))" } }, "id": 11807, "indexExpression": { "id": 11806, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11787, "src": "1539:5:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1526:19:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, "id": 11809, "indexExpression": { "id": 11808, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11789, "src": "1546:5:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1526:26:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 11794, "id": 11810, "nodeType": "Return", "src": "1519:33:19" } ] }, "documentation": { "id": 11785, "nodeType": "StructuredDocumentation", "src": "1233:68:19", "text": " @dev See {IERC721Enumerable-tokenOfOwnerByIndex}." }, "functionSelector": "2f745c59", "id": 11812, "implemented": true, "kind": "function", "modifiers": [], "name": "tokenOfOwnerByIndex", "nameLocation": "1315:19:19", "nodeType": "FunctionDefinition", "overrides": { "id": 11791, "nodeType": "OverrideSpecifier", "overrides": [], "src": "1385:8:19" }, "parameters": { "id": 11790, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11787, "mutability": "mutable", "name": "owner", "nameLocation": "1343:5:19", "nodeType": "VariableDeclaration", "scope": 11812, "src": "1335:13:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 11786, "name": "address", "nodeType": "ElementaryTypeName", "src": "1335:7:19", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 11789, "mutability": "mutable", "name": "index", "nameLocation": "1358:5:19", "nodeType": "VariableDeclaration", "scope": 11812, "src": "1350:13:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11788, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1350:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1334:30:19" }, "returnParameters": { "id": 11794, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11793, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 11812, "src": "1403:7:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 11792, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1403:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1402:9:19" }, "scope": 12088, "src": "1306:253:19", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "baseFunctions": [ 12466 ], "body": { "id": 11822, "nodeType": "Block", "src": "1700:41:19", "statements": [ { "expression": { "expression": { "id": 11819, "name": "_allTokens", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11756, "src": "1717:10:19", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, "id": 11820, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1728:6:19", "memberName": "length", "nodeType": "MemberAccess", "src": "1717:17:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 11818, "id": 11821, "nodeType": "Return", "src": "1710:24:19" } ] }, "documentation": { "id": 11813, "nodeType": "StructuredDocumentation", "src": "1565:60:19", "text": " @dev See {IERC721Enumerable-totalSupply}." }, "functionSelector": "18160ddd", "id": 11823, "implemented": true, "kind": "function", "modifiers": [], "name": "totalSupply", "nameLocation": "1639:11:19", "nodeType": "FunctionDefinition", "overrides": { "id": 11815, "nodeType": "OverrideSpecifier", "overrides": [], "src": "1673:8:19" }, "parameters": { "id": 11814,