UNPKG

@etherisc/registry-contracts

Version:

Etherisc's smart contracts for the registry.

1,442 lines 67.3 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": "balance", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "operator", "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": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "owner", "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": [ { "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": { "17": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/token/ERC721/IERC721.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/IERC721.sol", "exportedSymbols": { "IERC165": [ 17712 ], "IERC721": [ 16778 ] }, "id": 16779, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 16664, "literals": [ "solidity", "^", "0.8", ".0" ], "nodeType": "PragmaDirective", "src": "108:23:17" }, { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/introspection/IERC165.sol", "file": "../../utils/introspection/IERC165.sol", "id": 16665, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 16779, "sourceUnit": 17713, "src": "133:47:17", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [ { "baseName": { "id": 16667, "name": "IERC165", "nameLocations": [ "271:7:17" ], "nodeType": "IdentifierPath", "referencedDeclaration": 17712, "src": "271:7:17" }, "id": 16668, "nodeType": "InheritanceSpecifier", "src": "271:7:17" } ], "canonicalName": "IERC721", "contractDependencies": [], "contractKind": "interface", "documentation": { "id": 16666, "nodeType": "StructuredDocumentation", "src": "182:67:17", "text": " @dev Required interface of an ERC721 compliant contract." }, "fullyImplemented": false, "id": 16778, "linearizedBaseContracts": [ 16778, 17712 ], "name": "IERC721", "nameLocation": "260:7:17", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "documentation": { "id": 16669, "nodeType": "StructuredDocumentation", "src": "285:88:17", "text": " @dev Emitted when `tokenId` token is transferred from `from` to `to`." }, "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "id": 16677, "name": "Transfer", "nameLocation": "384:8:17", "nodeType": "EventDefinition", "parameters": { "id": 16676, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 16671, "indexed": true, "mutability": "mutable", "name": "from", "nameLocation": "409:4:17", "nodeType": "VariableDeclaration", "scope": 16677, "src": "393:20:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16670, "name": "address", "nodeType": "ElementaryTypeName", "src": "393:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 16673, "indexed": true, "mutability": "mutable", "name": "to", "nameLocation": "431:2:17", "nodeType": "VariableDeclaration", "scope": 16677, "src": "415:18:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16672, "name": "address", "nodeType": "ElementaryTypeName", "src": "415:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 16675, "indexed": true, "mutability": "mutable", "name": "tokenId", "nameLocation": "451:7:17", "nodeType": "VariableDeclaration", "scope": 16677, "src": "435:23:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 16674, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "435:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "392:67:17" }, "src": "378:82:17" }, { "anonymous": false, "documentation": { "id": 16678, "nodeType": "StructuredDocumentation", "src": "466:94:17", "text": " @dev Emitted when `owner` enables `approved` to manage the `tokenId` token." }, "eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "id": 16686, "name": "Approval", "nameLocation": "571:8:17", "nodeType": "EventDefinition", "parameters": { "id": 16685, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 16680, "indexed": true, "mutability": "mutable", "name": "owner", "nameLocation": "596:5:17", "nodeType": "VariableDeclaration", "scope": 16686, "src": "580:21:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16679, "name": "address", "nodeType": "ElementaryTypeName", "src": "580:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 16682, "indexed": true, "mutability": "mutable", "name": "approved", "nameLocation": "619:8:17", "nodeType": "VariableDeclaration", "scope": 16686, "src": "603:24:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16681, "name": "address", "nodeType": "ElementaryTypeName", "src": "603:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 16684, "indexed": true, "mutability": "mutable", "name": "tokenId", "nameLocation": "645:7:17", "nodeType": "VariableDeclaration", "scope": 16686, "src": "629:23:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 16683, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "629:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "579:74:17" }, "src": "565:89:17" }, { "anonymous": false, "documentation": { "id": 16687, "nodeType": "StructuredDocumentation", "src": "660:117:17", "text": " @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets." }, "eventSelector": "17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31", "id": 16695, "name": "ApprovalForAll", "nameLocation": "788:14:17", "nodeType": "EventDefinition", "parameters": { "id": 16694, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 16689, "indexed": true, "mutability": "mutable", "name": "owner", "nameLocation": "819:5:17", "nodeType": "VariableDeclaration", "scope": 16695, "src": "803:21:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16688, "name": "address", "nodeType": "ElementaryTypeName", "src": "803:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 16691, "indexed": true, "mutability": "mutable", "name": "operator", "nameLocation": "842:8:17", "nodeType": "VariableDeclaration", "scope": 16695, "src": "826:24:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16690, "name": "address", "nodeType": "ElementaryTypeName", "src": "826:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 16693, "indexed": false, "mutability": "mutable", "name": "approved", "nameLocation": "857:8:17", "nodeType": "VariableDeclaration", "scope": 16695, "src": "852:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 16692, "name": "bool", "nodeType": "ElementaryTypeName", "src": "852:4:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "802:64:17" }, "src": "782:85:17" }, { "documentation": { "id": 16696, "nodeType": "StructuredDocumentation", "src": "873:76:17", "text": " @dev Returns the number of tokens in ``owner``'s account." }, "functionSelector": "70a08231", "id": 16703, "implemented": false, "kind": "function", "modifiers": [], "name": "balanceOf", "nameLocation": "963:9:17", "nodeType": "FunctionDefinition", "parameters": { "id": 16699, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 16698, "mutability": "mutable", "name": "owner", "nameLocation": "981:5:17", "nodeType": "VariableDeclaration", "scope": 16703, "src": "973:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16697, "name": "address", "nodeType": "ElementaryTypeName", "src": "973:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "972:15:17" }, "returnParameters": { "id": 16702, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 16701, "mutability": "mutable", "name": "balance", "nameLocation": "1019:7:17", "nodeType": "VariableDeclaration", "scope": 16703, "src": "1011:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 16700, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1011:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1010:17:17" }, "scope": 16778, "src": "954:74:17", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "documentation": { "id": 16704, "nodeType": "StructuredDocumentation", "src": "1034:131:17", "text": " @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist." }, "functionSelector": "6352211e", "id": 16711, "implemented": false, "kind": "function", "modifiers": [], "name": "ownerOf", "nameLocation": "1179:7:17", "nodeType": "FunctionDefinition", "parameters": { "id": 16707, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 16706, "mutability": "mutable", "name": "tokenId", "nameLocation": "1195:7:17", "nodeType": "VariableDeclaration", "scope": 16711, "src": "1187:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 16705, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1187:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1186:17:17" }, "returnParameters": { "id": 16710, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 16709, "mutability": "mutable", "name": "owner", "nameLocation": "1235:5:17", "nodeType": "VariableDeclaration", "scope": 16711, "src": "1227:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16708, "name": "address", "nodeType": "ElementaryTypeName", "src": "1227:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "1226:15:17" }, "scope": 16778, "src": "1170:72:17", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "documentation": { "id": 16712, "nodeType": "StructuredDocumentation", "src": "1248:556:17", "text": " @dev Safely transfers `tokenId` token from `from` to `to`.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." }, "functionSelector": "b88d4fde", "id": 16723, "implemented": false, "kind": "function", "modifiers": [], "name": "safeTransferFrom", "nameLocation": "1818:16:17", "nodeType": "FunctionDefinition", "parameters": { "id": 16721, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 16714, "mutability": "mutable", "name": "from", "nameLocation": "1852:4:17", "nodeType": "VariableDeclaration", "scope": 16723, "src": "1844:12:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16713, "name": "address", "nodeType": "ElementaryTypeName", "src": "1844:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 16716, "mutability": "mutable", "name": "to", "nameLocation": "1874:2:17", "nodeType": "VariableDeclaration", "scope": 16723, "src": "1866:10:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16715, "name": "address", "nodeType": "ElementaryTypeName", "src": "1866:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 16718, "mutability": "mutable", "name": "tokenId", "nameLocation": "1894:7:17", "nodeType": "VariableDeclaration", "scope": 16723, "src": "1886:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 16717, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1886:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 16720, "mutability": "mutable", "name": "data", "nameLocation": "1926:4:17", "nodeType": "VariableDeclaration", "scope": 16723, "src": "1911:19:17", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes" }, "typeName": { "id": 16719, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1911:5:17", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "1834:102:17" }, "returnParameters": { "id": 16722, "nodeType": "ParameterList", "parameters": [], "src": "1945:0:17" }, "scope": 16778, "src": "1809:137:17", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "documentation": { "id": 16724, "nodeType": "StructuredDocumentation", "src": "1952:687:17", "text": " @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." }, "functionSelector": "42842e0e", "id": 16733, "implemented": false, "kind": "function", "modifiers": [], "name": "safeTransferFrom", "nameLocation": "2653:16:17", "nodeType": "FunctionDefinition", "parameters": { "id": 16731, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 16726, "mutability": "mutable", "name": "from", "nameLocation": "2687:4:17", "nodeType": "VariableDeclaration", "scope": 16733, "src": "2679:12:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16725, "name": "address", "nodeType": "ElementaryTypeName", "src": "2679:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 16728, "mutability": "mutable", "name": "to", "nameLocation": "2709:2:17", "nodeType": "VariableDeclaration", "scope": 16733, "src": "2701:10:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16727, "name": "address", "nodeType": "ElementaryTypeName", "src": "2701:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 16730, "mutability": "mutable", "name": "tokenId", "nameLocation": "2729:7:17", "nodeType": "VariableDeclaration", "scope": 16733, "src": "2721:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 16729, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2721:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "2669:73:17" }, "returnParameters": { "id": 16732, "nodeType": "ParameterList", "parameters": [], "src": "2751:0:17" }, "scope": 16778, "src": "2644:108:17", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "documentation": { "id": 16734, "nodeType": "StructuredDocumentation", "src": "2758:732:17", "text": " @dev Transfers `tokenId` token from `from` to `to`.\n WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n understand this adds an external call which potentially creates a reentrancy vulnerability.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n Emits a {Transfer} event." }, "functionSelector": "23b872dd", "id": 16743, "implemented": false, "kind": "function", "modifiers": [], "name": "transferFrom", "nameLocation": "3504:12:17", "nodeType": "FunctionDefinition", "parameters": { "id": 16741, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 16736, "mutability": "mutable", "name": "from", "nameLocation": "3534:4:17", "nodeType": "VariableDeclaration", "scope": 16743, "src": "3526:12:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16735, "name": "address", "nodeType": "ElementaryTypeName", "src": "3526:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 16738, "mutability": "mutable", "name": "to", "nameLocation": "3556:2:17", "nodeType": "VariableDeclaration", "scope": 16743, "src": "3548:10:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16737, "name": "address", "nodeType": "ElementaryTypeName", "src": "3548:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 16740, "mutability": "mutable", "name": "tokenId", "nameLocation": "3576:7:17", "nodeType": "VariableDeclaration", "scope": 16743, "src": "3568:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 16739, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3568:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "3516:73:17" }, "returnParameters": { "id": 16742, "nodeType": "ParameterList", "parameters": [], "src": "3598:0:17" }, "scope": 16778, "src": "3495:104:17", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "documentation": { "id": 16744, "nodeType": "StructuredDocumentation", "src": "3605:452:17", "text": " @dev Gives permission to `to` to transfer `tokenId` token to another account.\n The approval is cleared when the token is transferred.\n Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n Requirements:\n - The caller must own the token or be an approved operator.\n - `tokenId` must exist.\n Emits an {Approval} event." }, "functionSelector": "095ea7b3", "id": 16751, "implemented": false, "kind": "function", "modifiers": [], "name": "approve", "nameLocation": "4071:7:17", "nodeType": "FunctionDefinition", "parameters": { "id": 16749, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 16746, "mutability": "mutable", "name": "to", "nameLocation": "4087:2:17", "nodeType": "VariableDeclaration", "scope": 16751, "src": "4079:10:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16745, "name": "address", "nodeType": "ElementaryTypeName", "src": "4079:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 16748, "mutability": "mutable", "name": "tokenId", "nameLocation": "4099:7:17", "nodeType": "VariableDeclaration", "scope": 16751, "src": "4091:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 16747, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4091:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "4078:29:17" }, "returnParameters": { "id": 16750, "nodeType": "ParameterList", "parameters": [], "src": "4116:0:17" }, "scope": 16778, "src": "4062:55:17", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "documentation": { "id": 16752, "nodeType": "StructuredDocumentation", "src": "4123:309:17", "text": " @dev Approve or remove `operator` as an operator for the caller.\n Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n Requirements:\n - The `operator` cannot be the caller.\n Emits an {ApprovalForAll} event." }, "functionSelector": "a22cb465", "id": 16759, "implemented": false, "kind": "function", "modifiers": [], "name": "setApprovalForAll", "nameLocation": "4446:17:17", "nodeType": "FunctionDefinition", "parameters": { "id": 16757, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 16754, "mutability": "mutable", "name": "operator", "nameLocation": "4472:8:17", "nodeType": "VariableDeclaration", "scope": 16759, "src": "4464:16:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16753, "name": "address", "nodeType": "ElementaryTypeName", "src": "4464:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 16756, "mutability": "mutable", "name": "_approved", "nameLocation": "4487:9:17", "nodeType": "VariableDeclaration", "scope": 16759, "src": "4482:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 16755, "name": "bool", "nodeType": "ElementaryTypeName", "src": "4482:4:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "4463:34:17" }, "returnParameters": { "id": 16758, "nodeType": "ParameterList", "parameters": [], "src": "4506:0:17" }, "scope": 16778, "src": "4437:70:17", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "documentation": { "id": 16760, "nodeType": "StructuredDocumentation", "src": "4513:139:17", "text": " @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist." }, "functionSelector": "081812fc", "id": 16767, "implemented": false, "kind": "function", "modifiers": [], "name": "getApproved", "nameLocation": "4666:11:17", "nodeType": "FunctionDefi